Доброго времени суток.
Суть такая: в существующем БП Увольнение требуется добавить шаг, который найдёт запущенные пользователем БП указанных категорий (такие, как заявки на будущий отпуск, командировки и т.п.) и терминирует их. В идеале, чтобы происходило не бесследное удаление, а закрытие.
Т.к. в продукте, мягко говоря, новичок, проблемы возникли уже на 1 этапе. У меня вышло найти задачи с их атрибутами, но сменой атрибутов, кажется, это не решается.
Искал задачи так:
Смотрел
Но, честно, не въехал.
версия Битрикса 15.5.9, но в коде, который достался по наследству, найдены какие-то следы компонентов от 16 версии, так что пробовать можно всё...
Подскажите, в какую сторону копать, пожалуйста, и если кидайтесь, то помидорами, а не камнями)
Суть такая: в существующем БП Увольнение требуется добавить шаг, который найдёт запущенные пользователем БП указанных категорий (такие, как заявки на будущий отпуск, командировки и т.п.) и терминирует их. В идеале, чтобы происходило не бесследное удаление, а закрытие.
Т.к. в продукте, мягко говоря, новичок, проблемы возникли уже на 1 этапе. У меня вышло найти задачи с их атрибутами, но сменой атрибутов, кажется, это не решается.
Искал задачи так:
| Код |
|---|
$usr = {=Document:PROPERTY_TARGET_EMPLOYEE};
$founduser = substr($usr,5);
// searching for BPs
$arSelect = Array("ID", "CREATED_BY", "IBLOCK_ID", "NAME", "PROPERTY_*");
$arFilter = array(
"CREATED_BY" => intval($founduser),
array(
"LOGIC" => "OR",
array("ID" => CIBlockElement::SubQuery("ID", array("IBLOCK_ID" => 25, "!PROPERTY_STATUS" => "Отклонена","PROPERTY_FLAG_CLOSE_VALUE" => "Открыта"))), // Work trip
array("ID" => CIBlockElement::SubQuery("ID", array("IBLOCK_ID" => 26, "!PROPERTY_STATUS" => "Отклонена","PROPERTY_FLAG_CLOSE_VALUE" => "Открыта"))), // Vacation
array("ID" => CIBlockElement::SubQuery("ID", array("IBLOCK_ID" => 138, "!PROPERTY_STATUS" => "Отклонена","PROPERTY_FLAG_CLOSE_VALUE" => "Открыта"))), //Vacation confirmation
array("ID" => CIBlockElement::SubQuery("ID", array("IBLOCK_ID" => 121, "!PROPERTY_STATUS" => "Отклонена","PROPERTY_FLAG_CLOSE_VALUE" => "Открыта"))), //Apartments NOT TESTED
array("ID" => CIBlockElement::SubQuery("ID", array("IBLOCK_ID" => 137, "!PROPERTY_STATUS" => "Отклонена","PROPERTY_FLAG_CLOSE_VALUE" => "Открыта"))), // Planned vacation
array("ID" => CIBlockElement::SubQuery("ID", array("IBLOCK_ID" => 119, "!PROPERTY_STATUS" => "Отклонена","PROPERTY_FLAG_CLOSE_VALUE" => "Открыта"))), // Abscence
array("ID" => CIBlockElement::SubQuery("ID", array("IBLOCK_ID" => 100, "!PROPERTY_STATUS" => "Отклонена","PROPERTY_FLAG_CLOSE_VALUE" => "Открыта"))), // Docs
)
);
$rsItems = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
while($ob = $rsItems->GetNextElement()){
$arFields = $ob->GetFields();
print_r($arFields);
$arProps = $ob->GetProperties();
// Тут изменение параметров с помощью CIBlockElement::SetPropertyValuesEx - не уверен, что именно это нужно.
//print_r($arProps);
}
|
Но, честно, не въехал.
версия Битрикса 15.5.9, но в коде, который достался по наследству, найдены какие-то следы компонентов от 16 версии, так что пробовать можно всё...
Подскажите, в какую сторону копать, пожалуйста, и если кидайтесь, то помидорами, а не камнями)