Документация для разработчиков
Темная тема

Элементы смарт-процессов

Scope: crm Права на выполнение: для всех

Описание

Так как элементы каждого смарт-процесса хранятся в отдельной таблице, то идентификаторы элементов разных смарт-процессов могут совпадать.

Поэтому во все методы необходимо передавать внешний идентификатор смарт-процесса entityTypeId.


Права доступа

При обращении к методам REST учитываются права доступа пользователя, от которого осуществляется вызов методов.


Булевы значения

Значения некоторых полей имеют булевый тип (например, поле opened - "Доступно для всех").

В этом случае для изменения значения надо передавать "Y" или "N". В ответах на запросы они будут отображаться аналогично.


Привязка к реквизитам

Для управления привязкой реквизитов можно воспользоваться методами crm.requisite.link.*.

Особенности работы с названиями полей

В базе данных имена полей элементов хранятся в UPPER_CASE формате. Но при работе через REST мы преобразуем их в camelCase. Например, поле ASSIGNED_BY_ID преобразуется в assignedById.

Имена пользовательских полей, помимо символа _ и букв, могут содержать цифры. Обычно они идут раздельно, например, поле UF_CRM_10_5186744711 преобразуется в ufCrm10_5186744711.

Чтобы код выглядел более читаемым, подчеркивания между цифрами остаются, а остальные - убираются.

Проблемы начинаются, когда буквы и цифры в поле идут вперемешку. Например, UF_CRM_10_DIGIT10 преобразуется в ufCrm10Digit10. При обратном преобразовании нет никакой возможности определить, исходное поле называлось UF_CRM_10_DIGIT10 или UF_CRM_10_DIGIT_10.

Чтобы разрешить подобные конфликты, с версии CRM 21.1800.0 был внедрен механизм предварительного анализа названий полей, и если в них обнаружены конфликты, то название поля не преобразуется в camelCase, а остается как есть.

Кроме того, любые названия полей во всех методах можно передавать как в UPPER_CASE, так и в camelCase.

Например, у элемента есть два поля - UF_CRM_10_DIGIT_10 и UF_CRM_10_DIGIT10.

При вызове метода crm.item.fields название первого поля будет преобразовано в ufCrm10Digit10, а второе останется UF_CRM_10_DIGIT10. При этом по ключу upperName можно прочитать название поля в UPPER_CASE и во всех методах использовать его.

Методы

МетодыОписание
crm.item.fieldsОтдает информацию о полях смарт-процесса.
crm.item.getОтдает информацию об элементе смарт-процесса.
crm.item.listВозвращает массив элементов смарт-процесса.
crm.item.addСоздаёт создает новый элемент смарт-процесса.
crm.item.updateОбновляет элемент смарт-процесса.
crm.item.deleteУдаляет элемент смарт-процесса.

С версии crm 21.800.0

Появляется поддержка полей-родителей при чтении и изменении элементов смарт-процессов.

Каждое поле имеет код parentId + {parentEntityTypeId}.

  • Метод fields в списке полей будет отдавать информацию о полях с родителями.
  • Методы get и list будут отдавать значения полей родителей.
  • Методы add и update будут поддерживать изменения значений этих полей.

Дополнительно



© «Битрикс», 2001-2024, «1С-Битрикс», 2024