Сама проблема:
Допустим, я создаю новое поле для БП. Оно имеет тип - привязка к сотруднику, и оно множественное. С помощью уведомления я глянул, что содержится в этом поле: user_1, user_2, user_3, user_4 (это пример).
То есть я могу выделить отдельную переменную в БП, записать в неё эти значения. Затем в PHP коде сделать:
$rootActivity = $this->GetRootActivity();
$users = $rootActivity->GetVariable("user_array");//тут я получаю строку с пользователями
$userarr = explode(", ", $users);//а тут создаю массив из полученных пользователей без запятых и пробелов
Потом я провожу много всяких операций, но на выходе - записываю "свои" переменные в переменные БП (отдельно созданные с типом "привязка к сотруднику") так:
здесь 1-ый аргумент - куда я пишу, 2-ой аргумент - что я пишу.
$this->SetVariable('main_ing', $main_ing);
$this->SetVariable('us1', $us1);
$this->SetVariable('us2', $us2);
$this->SetVariable('us3', $us3);
$this->SetVariable('us4', $us4);
Я просто записал пользователей типо "user_1" в переменную. И так со всеми остальными.
А теперь самое странное. Я делаю задачу. Постановщик - Автор. Исполнитель - us1 (это записанная переменная БП и содержать она должна user_1), и соисполнители - us2, us3, us4.
Запускаю БП. Задача просто игнорируется. Значит где-то ошибка.
Предполагаю, что Битрикс наврал с идентификаторами пользователей. Как можно решить такую задачу?
Если просто подставить значение этого поля в задачу и в исполнителя и в соисполнителя, то задачу видит ИСКЛЮЧИТЕЛЬНО первый выбранный пользователь. Поэтому я вношу свои коррективы.
Допустим, я создаю новое поле для БП. Оно имеет тип - привязка к сотруднику, и оно множественное. С помощью уведомления я глянул, что содержится в этом поле: user_1, user_2, user_3, user_4 (это пример).
То есть я могу выделить отдельную переменную в БП, записать в неё эти значения. Затем в PHP коде сделать:
$rootActivity = $this->GetRootActivity();
$users = $rootActivity->GetVariable("user_array");//тут я получаю строку с пользователями
$userarr = explode(", ", $users);//а тут создаю массив из полученных пользователей без запятых и пробелов
Потом я провожу много всяких операций, но на выходе - записываю "свои" переменные в переменные БП (отдельно созданные с типом "привязка к сотруднику") так:
здесь 1-ый аргумент - куда я пишу, 2-ой аргумент - что я пишу.
$this->SetVariable('main_ing', $main_ing);
$this->SetVariable('us1', $us1);
$this->SetVariable('us2', $us2);
$this->SetVariable('us3', $us3);
$this->SetVariable('us4', $us4);
Я просто записал пользователей типо "user_1" в переменную. И так со всеми остальными.
А теперь самое странное. Я делаю задачу. Постановщик - Автор. Исполнитель - us1 (это записанная переменная БП и содержать она должна user_1), и соисполнители - us2, us3, us4.
Запускаю БП. Задача просто игнорируется. Значит где-то ошибка.
Предполагаю, что Битрикс наврал с идентификаторами пользователей. Как можно решить такую задачу?
Если просто подставить значение этого поля в задачу и в исполнителя и в соисполнителя, то задачу видит ИСКЛЮЧИТЕЛЬНО первый выбранный пользователь. Поэтому я вношу свои коррективы.