Доброго времени суток.
Суть такая: в существующем БП Увольнение требуется добавить шаг, который найдёт запущенные пользователем БП указанных категорий (такие, как заявки на будущий отпуск, командировки и т.п.) и терминирует их. В идеале, чтобы происходило не бесследное удаление, а закрытие.
Т.к. в продукте, мягко говоря, новичок, проблемы возникли уже на 1 этапе. У меня вышло найти задачи с их атрибутами, но сменой атрибутов, кажется, это не решается.
Искал задачи так:
Смотрел https://dev.1c-bitrix.ru/api_help/bizproc/bizproc_classes/CBPRuntime/index.php
Но, честно, не въехал.
версия Битрикса 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 версии, так что пробовать можно всё...
Подскажите, в какую сторону копать, пожалуйста, и если кидайтесь, то помидорами, а не камнями)