Функционал системы DIRECTUM постоянно развивается и совершенствуется. Изменения произошли в событиях ТКЭД, типов справочников, блоков заданий и уведомлений.
"Отмена До" и "Отмена После" (Запись)
Эти события отрабатывают при отмене изменений в карточке записи справочника или карточке электронного документа, как в визуальном, так и в невизуальном режиме. В момент срабатывания события "Отмена До" набор данных содержит те изменения, которые
будут отменены. В момент срабатывания события "Отмена После" в наборе данных уже восстановлено исходное состояние записи (состояние до начала отмененных изменений). Особенностью данных событий является
то, что генерация исключений в событиях не приведет к отмене процесса и изменения в записи все равно будут отменены.
Например, пользователь добавил запись в справочник "Совещания и заседания" и отменяет ее: в событии "Отмена До" на клиенте запись есть, на сервере нет. Таким образом, цепляемся за эту запись пока она не отменена, и удаляем резервирование, связанное с этим совещанием.
if Object.Inserted
// Удалить резервирования, если отменено создание совещания.
// Функция удаляет резервирование
MMDeleteReservations(Object; false)
Окружение('RESERVATION_CHANGED'; false)
endif
"Показ" и "Скрытие" (Форма-карточка)
События отрабатывают при визуальном показе форм-карточек справочников и документов, а также при смене текущей отображаемой записи (с помощью кнопок навигации, при вызове действий Добавить, Удалить, Отмена,
Выход). В событиях доступны предопределенные переменные Sender
типа IForm и Object типа IReference (для справочника) или IEDocument (для ТКЭД). Не рекомендуется в данных событиях выводить диалоговые окна.
В событии "Показ" удобно управлять доступностью элементов формы, например:
// Если реквизит Дополнение означен, запретить его изменение
DealReq = Object.Requisites('Дополнение')
DealControl = Sender.Controls.FindControlByRequisite(DealReq)
if Assigned(DealReq.Value)
DealControl.Enabled = false
else
DealControl.Enabled = true
endif
"Создание заданий" и "Создание уведомлений"
В блоки ТМ добавлены новые события: "Создание заданий" в блок задание и "Создание уведомлений" в блок уведомление. Данные события срабатывают на компьютере со службой Workflow в момент
создания заданий/уведомлений по данному блоку. В событиях доступны предопределенные переменные "CreatedJobs" и
"CreatedNotices" типа
IWorkflowParam с типом данных wdtJobCollection (в более поздних билдах изменился тип предопределенных переменных
CreatedJobs и CreatedNotices: был
IWorkflowParam (коллекция) стал IList (имена элементов списка не определены, значения -
IJobInfo и INoticeInfo соответственно)). В этих переменных находятся ссылки на созданные в рамках текущей итерации задания/уведомления.
Добавим в текст исходной задачи список ссылок на все созданные задания по блоку(событие "Создание заданий"):
if not VarIsClear(CreatedJobs)
Counter = 0
while Counter < CreatedJobs.Count
Work.ActiveText = Format("%s%sПользователю %s отправлено задание %s";
ArrayOf(Work.ActiveText; CR; CreatedJobs.Values(I).Performer.Name;
CreatedJobs.Values(I).Job.Hyperlink))
Counter = Counter + 1
endwhile
endif
Ура! Теперь тоже самое для событий типовых маршрутов сделайте!!!
Событие Отмена после - это просто моя мечта, когда пользователь решает прекратить задачу.
Авторизуйтесь, чтобы написать комментарий