СЭД «ДЕЛО»
Руководство пользователя
×

Регистрация событий сложных объектов с событием завершения сохранения

Такими объектами в системе являются:
-                     РК документа – в конце сохранения данных вызывается процедура RC_SAVE
-                     РК проекта документа – в конце сохранения данных вызывается процедура PRJ_SAVE
-                     Поручение – в конце сохранения данных вызывается процедура RES_SAVE
-                     Пользователь – в конце сохранения данных вызывается процедура USER_SAVE
Для таких объектов модифицированы соответствующие процедуры сохранения, в них добавлен код вызова процедуры регистрации событий.
Например, если пользователь через приложение выполняет создание экземпляра такого объекта, с одновременным заполнением каких-либо данных в дочерних таблицах данного объекта, будет происходить следующее:
-                     Пользователь редактирует форму создания объекта.
-                     Пользователь выполняет действие "Сохранить" для объекта.
-                     Приложение выполняет операцию INSERT в "корневую" таблицу объекта.
-                     Приложение выполняет операцию INSERT в "дочерние" таблицы объекта, в зависимости от введенных пользователем данных, запись может быть выполнена в одну или несколько таблиц.
-                     Приложение выполняет вызов соответствующей хранимой процедуры.
При выполнении хранимой процедуры будет вызвана процедура регистрации события со значением 1 в параметре "Вид события".
При модификации объекта пользователем, выполняемые действия следующие:
-                     Пользователь редактирует форму редактирования объекта.
-                     Пользователь выполняет действие "Сохранить" для объекта.
-                     Приложение выполняет операцию UPDATE для "корневой" таблицы объекта (при необходимости).
-                     Приложение выполняет операции INSERT, UPDATE, DELETE для "дочерних" таблиц объекта (при необходимости).
-                     Приложение выполняет вызов соответствующей хранимой процедуры.
При выполнении хранимой процедуры будет вызвана процедура регистрации события со значением 2 в параметре "Вид события".
При удалении объектов, хранимые процедуры не вызываются, поэтому, вызов процедуры регистрации события делается в триггере, срабатывающем на удаление записей из "корневой" таблицы объекта.
Вызов процедуры регистрации событий выполняется со следующими значениями аргументов:
-                     Если тип события – добавление записи, то в процедуру в параметре "Вид события" передается значение – 1, иначе – 2.
-                     В параметре "Вид объекта" передается код, взятый из таблицы EOS_OBJECT, кроме таблицы RESOLUTION, для которой kind_object = 4
-                     В параметре "Идентификатор объекта" передается значение первичного ключа соответствующей записи таблицы (см. описание поля "Идентификатор объекта" таблицы хранения данных очередей событий)
-                     В параметре "Группа документов" передается значение DUE_DOCGROUP соответствующего объекта. Для поручений используется группа документов РК, которой поручение принадлежит.
-                     В параметре "Флаги операции" передается список флагов, установленных в триггерах при модификации таблиц, входящих в данный составной объект, и стандартные флаги операций.
Стандартные флаги редактирования сущностей.
Имена флагов формируются по схеме:
<I|U|D>_<TABLE_NAME>[_<OBJ>], где:
-                     I, U, D – признак операции – добавление, изменение, удаление  соответственно.
-                     TABLE_NAME – имя таблицы БД – например, DOC_RC, REF_SEND, REPLY и т.п.
-                     OBJ – только для таблицы REF_FILE – суффикс определяющий, к какому объекту принадлежит запись. Возможные значения: RC, RES, PRJ.
Примеры флагов:
-                     I_REF_CORRESP – была добавлена запись в раздел Корреспонденты РК.
-                     D_FORWARD – была выполнена операция отмены пересылки.
-                     I_REF_FILE_RES – добавлен файл отчета исполнителя резолюции.
Также, в флагах отмечается факт изменения дополнительных реквизитов РК и РКПД – в поле FLAGS пишется API_NAME измененного реквизита (см. Таблица Л. 1).
Таблица Л. 1 - Перечень флагов операций в событиях сложных объектов
Флаг
Описание
marksend
Проставляется, когда ожидается отправка для внешнего или внутреннего адресата (дата отправки заполнена).
forward
Проставляется при добавлении записи в журнале пересылок РК.
insrc
Проставляется при создании РК.
rcdel
Проставляется при удалении РК.
rcctrl
Проставляется при возникновении события, могущего повлиять на состояние контрольности РК.
adjlayer
Проставляется при  переносе  резолюции или куста резолюций на другой уровень.
outcard
Проставляется при добавлении или изменении исполнителя документа.
carddel
Проставляется при возникновении события, могущего привести к исключению РК из картотеки.
calcsend
Проставляется при добавлении, изменении или удалении адресата РК.
prjnewstage
Проставляется при создании новой версии РКПД.
resadd
Проставляется при добавлении резолюции, проекта резолюции и рассылке проекта резолюции.
rescard
Проставляется при изменении принадлежности поручения картотекам.
resdel
Проставляется при удалении поручения.
resprjdel
Проставляется при удалении проекта резолюции.
resctrlend
Проставляется при снятии поручения с контроля.
prjrcdel
Проставляется при удалении РКПД.
to_reestr
Включение РК в реестр или исключение РК из реестра
send_reestr
Реестр получил статус "отправлен"
mark_email
В РК отмечена "без реестровая" отправка, например, отправка по email
ACCEPT_EXECUTE
Поручение принято исполнителем на исполнение – заполнено поле REPLY.RECEPT_DATE
res_prj_approved_or_sent
Проект поручения был утвержден руководителем или утвержден и разослан
 
Онлайн помощь создана в Dr.Explain