Добрый день, друзья)) Стоит задача по расписанию менять ответственных у сделок, и ответственных и постановщиков у задач.
С задачами проблем нет.
Но у сделок из агента ответственный не меняется. Простым скриптом работает отлично. Устанавливал модуль из маркет плэйс для запуска агентов в ручную. При запуске в ручную тоже отрабатывает как надо. Агенты работают на cron.
Прочитал все похожие темы на форуме.
Добавил в агент и
Пока временно сделал смену ответственного через DB->Update(), но это прям костыль. Не записывается история смены ответственного в сделку, естественно и бизнес процессы не будут стартовать, возможно ещё что то.
Так выглядит смена ответственного
С задачами проблем нет.
Но у сделок из агента ответственный не меняется. Простым скриптом работает отлично. Устанавливал модуль из маркет плэйс для запуска агентов в ручную. При запуске в ручную тоже отрабатывает как надо. Агенты работают на cron.
Прочитал все похожие темы на форуме.
Добавил в агент и
Код |
---|
global $USER; if (!is_object($USER)) { $USER = new CUser(); } и 'CHECK_PERMISSIONS' => 'N' в getList и $arOptions = array('CURRENT_USER' => 1, 'DISABLE_USER_FIELD_CHECK' => true)); |
В общем из логов видно что данные агент из getList получает. И что странно update возвращает 1 . Но по факту смены ответственного не происходит.
Ещё в логах есть такая строка
Цитата |
---|
bitrix/modules/main/classes/mysql/agent.php(163) : eval()'d code:1 |
Пока временно сделал смену ответственного через DB->Update(), но это прям костыль. Не записывается история смены ответственного в сделку, естественно и бизнес процессы не будут стартовать, возможно ещё что то.
Так выглядит смена ответственного
Код |
---|
$obCrmRes = $cDeal->GetList(array('DATE_CREATE' => 'DESC'), array('ASSIGNED_BY_ID' => $arUsersId, 'CLOSED' => 'N', 'CHECK_PERMISSIONS' => 'N'), array(), false); while ($res = $obCrmRes->Fetch()) { foreach ($arrOne as $key => $value) { if ($res['ASSIGNED_BY_ID'] == $value) { $res['ASSIGNED_BY_ID'] = $arrTwo[$key]; $upRes = $cDeal->Update($res['ID'], $res, true, true, $arOptions = array('CURRENT_USER' => 1, 'DISABLE_USER_FIELD_CHECK' => true)); } } } |
Подскажите если кто решал такую задачу