Заметки
Как сохранить множественное поле смарт-процесса через фабрику
Для множественного пользовательского поля через D7 передают массив значений. Например, поле с пользователями получает числовые ID, а не строку 15,28.
Фрагмент выполняется после получения фабрики и существующего элемента:
$item->set('UF_CRM_18_COEXECUTORS', [15, 28]);
$result = $factory->getUpdateOperation($item)->launch();
if (!$result->isSuccess()) {
throw new RuntimeException(implode('; ', $result->getErrorMessages()));
} Замените код поля на свой и проверьте его тип. Для списка нужны ID вариантов, для файлов — свой формат; массив сам по себе не делает любое значение корректным.
Обычно передаваемый массив задаёт новый набор значений. Если требуется добавить одного участника, сначала получите текущий набор, объедините его с новым ID и уберите повторы. При параллельных изменениях двух обработчиков чтение и последующая запись могут затереть изменения друг друга.