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

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

Оглавление

Введение

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

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

  • создавать почтовые события, предназначенные для отправки 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 - был добавлен новый результат.


Пользовательские комментарии

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

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Илья Артемьев
Сообщение непромодерировано, возможны ошибки и неточности.
Важно, файл обработчик должен содержать шаблон страницы. Иначе он не подключится.  
© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх