Битрикс. Работаем с пользовательскими полями в CRM

Итак, нужно вытащить значение или записать в нужное пользовательское поле в CRM? Тогда без всяких лишних слов сразу к делу.

Например, возьмем эту ситуацию. Она реальная и мне пришлось с ней столкнуться. Мне нужно было чтобы в реквизитах у "ИП" было поле "Дата свидетельства" (это для ОГРИП), что в дальнейшем использовалось бы в генерации различных документов. Создать поле как было в статье не составляет труда, а вот вытащить. Так как оно пользовательское, вытаскивается оно немножко по-другому и проще.

Итого, допустим есть реквизиты ИП с $ID = 6.

Инициализация

global $USER_FIELD_MANAGER;

Получаем значение пользовательского поля

$res = $USER_FIELD_MANAGER->GetUserFieldValue('CRM_REQUISITE', 'UF_CRM_1472230593',$ID); 
  1. 'CRM_REQUISITE' - объект к которому привязано пользовательское поле. Его можно узнать методом getUfId()
    $requisite = new \Bitrix\Crm\EntityRequisite();
    $ufid = $requisite->getUfId();
    echo $ufid;
  2. 'UF_CRM_1472230593' - имя поля, можно узнать через админку или в спике полей, настроить отображение ID и Имени полей.
  3. $ID - ID элемента. У нас это реквизит с ID = 6

Записываем значение пользовательского поля

$res = $USER_FIELD_MANAGER->Update('CRM_REQUISITE', $ID, array("UF_CRM_1472230593" => $value));  
  1. 'CRM_REQUISITE' - объект к которому привязано пользовательское поле.
  2. $ID - ID элемента. У нас это реквизит с ID = 6
  3. array("UF_CRM_1472230593" => $value) - массив с обновляемыми полями

P.S. Официальная документация оставляет желать лучшего.

Комментарии (0)

Написать комментарий