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

Обработчики статусов

Введение

Каждый результат в обязательном порядке должен обладать тем или иным статусом. При создании результата новый статус назначается в соответствии с флагом Присваивать данный статус всем новым документам по умолчанию (данный флаг может быть установлен только у одного статуса). В процессе работы статус у результата может меняться.

Для того, чтобы перехватить и обработать подобные смены статусов, в модуле Веб-формы существует возможность указать файл-обработчик каждой такой смены. В коде такого обработчика можно использовать любую функцию системы и выполнять любое действие, например:

  • создавать почтовые события, предназначенные для отправки e-mail сообщений;
  • производить привязку пользователя, изменившего статус, к другой группе пользователей (например, для того, чтобы открыть доступ к определённым частям сайта);
  • другие действия.

Файлы-обработчики

Файлы-обработчики представляют собой PHP-скрипты, которые подключаются в момент смены статуса. Они могут располагаться в любом каталоге относительно корня сайта; например, в каталоге /bitrix/php_interface/include/form/handlers/.

Для того, чтобы задать файл-обработчик, необходимо перейти на страницу редактирования параметров того или иного статуса. На данной странице будут доступны следующие параметры:

  • Файл-обработчик смены данного статуса на какой либо другой (либо удаление результата) - данный параметр может содержать путь относительно корня к файлу-обработчику, который будет подключен при смене у какого-либо результата данного статуса на иной статус; также он будет подключен при удалении результата, находящегося в данном статусе;
  • Файл-обработчик смены какого либо статуса на данный (либо добавление нового результата) - данный параметр может содержать путь относительно корня к файлу-обработчику, который будет подключен при смене у результата произвольного статуса на данный; также он будет подключен при создании нового результата и установки у него данного статуса.

Доступные переменные

Для обработчика, указанного в параметре "Файл-обработчик смены данного статуса на какой либо другой (либо удаление результата)", будут доступны следующие переменные.

Переменная Описание
$CURRENT_STATUS_ID ID текущего статуса результата (до его смены).
$NEW_STATUS_ID ID нового статуса, на который будет произведена смена.
$RESULT_ID ID результата, над которым происходит действие по смене статуса.
$arResult Массив, описывающий поля этого результата.
$ACTION Символьный код действия, производимого над результатом. Допустимы следующие значения:
  • UPDATE - результат был обновлен (модифицирован);
  • SET_STATUS - у результата напрямую сменили статус (например, из списка результатов);
  • DELETE - результат был удален.

Для обработчика, указанного в параметре "Файл-обработчик смены какого либо статуса на данный (либо добавление нового результата)", будут доступны следующие переменные.

Переменная Описание
$CURRENT_STATUS_ID ID текущего статуса.
$PREV_STATUS_ID ID предыдущего статуса.
$RESULT_ID ID результата, над которым происходит действие по смене статуса.
$arResult Массив, описывающий поля этого результата.
$ACTION Символьный код действия, производимого над результатом. Допустимы следующие значения:
  • UPDATE - результат был обновлен (модифицирован);
  • SET_STATUS - у результата напрямую сменили статус (например, из списка результатов);
  • ADD - был добавлен новый результат.


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