Событие представляет собой сообщение, посылаемое объектом, чтобы сигнализировать о совершени какого-либо действия. Для каждого объекта bpm’online система генерирует ряд предопределенных событий, для которых можно реализовать пользовательскую обработку.
Чтобы отобразить список доступных для обработки событий объекта, нажмите на кнопку на вкладке [Свойства] (при этом сам объект должен быть выбран в области [Структура]) (рис. 1).
Рис. 1. — Отображение событий объекта
Обработчик события имеет название, которое формируется системой автоматически. Название обработчика включает в себя название объекта и суффикс, специфичный для конкретного события (см. Типы событий объекта).
Например: AccountSaved — обработчик события "После сохранения записи" объекта "Контрагент".
С точки зрения реализации обработчик события представляет собой событийный подпроцесс, который добавляется во встроенный процесс объекта.
Чтобы создать обработчик события, необходимо нажать на смарт-тэг в поле соответствующего события, после чего для обработчика автоматически сгенерируется его название и в дизайнере процессов откроется встроенный процесс объекта. Далее в процесс необходимо добавить событийный подпроцесс, в котором смоделировать порядок обработки события.
Типы событий объекта
Добавление
Перед добавлением записи (суффикс "Inserting") | Обрабатывается перед добавлением новой записи в объект. Например, по данному событию может генерироваться номер для нового документа. |
После добавления записи (суффикс "Inserted") | Срабатывает после добавления новой записи в объект. |
Сохранение
Проверка записи (суффикс "Validating") | Обрабатывается перед сохранением записи и используется, например, для проверки заполнения обязательных полей. |
Перед сохранением записи (суффикс "Saving") | Срабатывает перед сохранением записи и может использоваться для проверки корректности заполнения полей, например, если возраст контакта не может превышать определенное значение. |
После сохранения записи (суффикс "Saved") | Наступает при сохранении записи и используется, например, для добавления основного адреса контрагента в блок [Адреса] при сохранении новой записи о контрагенте. |
Ошибка при сохранении записи (суффикс "SaveError") | Наступает, если в процессе сохранения записи возникает ошибка. Например, если для записи не были заполнены все обязательные колонки. |
Обновление после сохранения
Перед обновлением записи (суффикс "Updating") | Cрабатывает при обновлении данных в записи и может использоваться для запрета изменения данных при определенных условиях, например, изменения суммы в оплаченных счетах. |
После обновления записи (суффикс "Updated") | Обрабатывается при сохранении изменений в записи и, например, может использоваться для обновления информации об основном адресе контрагента в блоке [Адреса]. |
Удаление
Перед удалением записи (суффикс "Deleting") | Наступает перед удалением записи из объекта и, например, используется для проверки наличия связанных записей в других объектах. |
После удаления записи (суффикс "Deleted") | Срабатывает после удаления записи и может использоваться, например, для удаления данных о карьере контакта при удалении этого контакта. |
Загрузка
После установки значений по умолчанию (суффикс "DefColumnValuesSet") |
Событие наступает после того, как для полей объекта были установлены значения по умолчанию. |
Перед загрузкой данных (суффикс "Loading") | Обрабатывается перед загрузкой данных в объект. |
После загрузки данных (суффикс "Loaded") | Наступает при загрузке данных в объект и, например, может использоваться при загрузке данных в реестр раздела. |
Значения колонок
Загрузка значения из потока (суффикс "ColumnBinaryValuePackageLoading") |
Обрабатывается при загрузке объемных данных и, например, может использоваться для отображения строки состояния отправки email-сообщения. |