Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «При установке значений списка пользовательского поля onCrmCompanyUserFieldSet…», проанализируем лучшие практики и покажем, как правильно использовать установке значений в реальных задачах.
При установке значений списка пользовательского поля onCrmCompanyUserFieldSetEnumValues
> Scope: crm
>
> Кто может подписаться: любой пользователь
Событие ONCRMCOMPANYUSERFIELDSETENUMVALUES сработает при установке значений списка для пользовательского поля компаний.
Что получает обработчик
Данные передаются в виде POST-запроса {.b24-info}
{
"event": "ONCRMCOMPANYUSERFIELDSETENUMVALUES",
"event_handler_id": "745",
"data": {
"FIELDS": {
"ID": "6979",
"ENTITY_ID": "CRM_COMPANY",
"FIELD_NAME": "UF_CRM_1743165530"
}
},
"ts": "1743165530",
"auth": {
"access_token": "s6p6eclrvim6da22ft9ch94ekreb52lv",
"expires_in": "3600",
"scope": "crm",
"domain": "some-domain.bitrix24.com",
"server_endpoint": "https://oauth.bitrix24.tech/rest/",
"status": "L",
"client_endpoint": "https://some-domain.bitrix24.com/rest/",
"member_id": "a223c6b3710f85df22e9377d6c4f7553",
"refresh_token": "4s386p3q0tr8dy89xvmt96234v3dljg8",
"application_token": "51856fefc120afa4b628cc82d3935cce"
}
}Параметртип | Описание |
|---|---|
eventstring | Символьный код события. В данном случае — |
event_handler_idinteger | Идентификатор обработчика события |
dataobject | Объект, содержащий информацию о пользовательском поле, для которого установлены значения списка. Содержит ключ |
data.FIELDSobject | Объект, содержащий информацию о полях пользовательского поля. Структура описана ниже |
tstimestamp | Дата и время отправки события из очереди событий |
authobject | Объект, содержащий параметры авторизации и данные о портале, на котором произошло событие. Структура описана ниже |
Параметр FIELDS {#fields}
Параметртип | Описание |
|---|---|
IDinteger | Идентификатор пользовательского поля |
ENTITY_IDstring | Идентификатор объекта, к которому относится пользовательское поле. В данном случае — CRM_COMPANY |
FIELD_NAMEstring | Название пользовательского поля |
Параметр auth {#auth}
- [](../../../../events/index)
- [](../../../../events/event-bind)
- [](./on-crm-company-user-field-add)
- [](./on-crm-company-user-field-update)
- [](./on-crm-company-user-field-delete)
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «При установке значений списка пользовательского поля onCrmCompanyUserFieldSet…» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru