Мастера

12 9

Еще один блок функциональности, появляющийся в версии 4.7 - это мастера действий.

Я не буду рассказывать о мастерах из стандартной поставки DIRECTUM, а остановлюсь на технических подробностях того, как все это задумано, устроено и работает.

Итак, назначение мастеров в DIRECTUM такое же, как и в любой другой системе: путем нескольких простых экранов помочь пользователю пройти некий бизнес-процесс. Рассмотрим на конкретном примере. Захотелось мне пойти в отпуск. В проводнике системы я нажимаю комбинацию клавиш Ctrl+R и вижу окно запуска. Пишу в нем "отпуск":

Быстрый поиск нашел мне все подходящие для этого способы. А на случай, если я не уверен и хочу все перепроверить, оставил полное дерево всех запускаемых объектов системы.

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

Убедившись, что автоматика не подвела, нажимаю "Далее".

Здесь уже приходится указать некоторые данные вручную, но есть целый арсенал подсказок:

  • общие (показываются сверху);
  • индивидуальные для каждого запрашиваемого параметра, заполнение которого неочевидно (специальные иконки значки "Имеется подсказка!", наводя на них, можно получить пояснение по правильному заполнению).

Жму "Далее" и вижу еще один экран:

Контроль. Убеждаюсь, что все написано правильно (умная система сама отличает отгул от отпуска) и нажимаю "Готово" (после этого вернуться назад и исправить что-то будет уже нельзя).

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

Не буду подробно расписывать здесь архитектуру мастеров (желающие без труда найдут эту информацию в документации), а остановлюсь на интересных моментах и фишках:

  1. Мастера действий - это не разработка, а настройка. Со всеми вытекающим последствиями:
    • для упрощения нельзя разрабатывать свои формы, можно лишь указать, что на форме нужны области текста (инструкции), запрашиваемые параметры и разделители;
    • можно переименовать существующие кнопки мастера, но нельзя удалить их или добавить свои; 
    • не требуется программировать отображение прогресса или засеривание запрещение кнопок на время перехода с одного шага на другой - все делается автоматически.
  2. Мастера работают не только в десктоп-клиенте, но и в веб-доступе (разумеется, если  разработчик соблюдает элементарное правило "не рисуй своих окошек"; для особых случаев при настройке мастера можно указать, что он будет недоступен в веб-доступе).
  3. Мастера являются более-менее обособленной функциональностью IS-Builder, что развязало нам руки в плане пользовательского интерфейса и дало возможность реализовать несколько нестандартных для DIRECTUM штук:
    • автоматический подбор размеров формы согласно содержимому (причем  размер формы просчитывается в начале для всех шагов мастера наперед);
    • автоматический подбор размеров текстовых полей (инструкций) — вы указываете максимальную высоту и, если реальный текст занимает меньше места, поле будет уменьшено и все, что находится ниже, подтянется наверх; 
    • уже упоминавший автоматический прогресс для вычислений на ISBL ("выполняется операция");
    • также упоминавшийся "Info provider" (по аналогии с "Error Provider" в .NET) — если для запрашиваемого параметра есть подсказка (hint), то справа автоматически рисуется специальная иконка специальный значок, при наведении на который и показывается эта подсказка.

Спасибо всем тем, кто дошел до конца, осилив так многа букав и картинок. Если у вас есть мысли по этому поводу, пишите их в комментариях.

Галина Мартынец

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

Дмитрий Тарасов

Я правильно понял, что при использовании мастера действий, доступного для web-доступа, я могу, например, зарегистрировать обращение гражданина? А учитывая тот факт, что web-доступ в 4.7 теперь позволяет просматривать справочники системы, можно организовать полноценную регистрацию обращений граждан через web-доступ?

Мария Макарцева

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

Дмитрий Тарасов

Ну это уже радует. Как сказал классик: "Верной дорогой идете, товарищи!" :)

Максим Галимов
при этом карточку самого создаваемого обращения показывать нельзя

можно, но только как факт: после создания, для просмотра.

 

Мастера действий - это не разработка, а настройка
...более-менее обособленной функциональностью IS-Builder

Приобретение IS-Builder для создания мастеров не требуется.
 

Дмитрий Абрамов

помочь пользователю пройти некий бизнес-процесс

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

Андрей Подкин
Т.к. бизнес-процесс чаще понимается как совокупность мероприятий или задач, направленных на создание определенного продукта или услуги, а действия мастера, на мой взгляд, не приводят к конечному продукту, а инициируют процесс, который приведет к продукту.
Это кто сказал, что действия мастера инициируют?
Если бизнес-процесс нельзя выполнить одномоментно, то никто не заставляет писать мастера строго на его инициацию. Если хотите - можете на завершение сделать. Или на какую-то часть в середине.
Вячеслав Смирнов

При запуске мастера действия, система сообщает, что параметр макет не заполнен. А где есть образец заявления на отпуск? В системе шаблон есть? Версия 4.8.

Дмитрий Пролеев

Добрый день. Верно, для работы этого мастера действий необходимо заполнение параметра Макет. Это электронный документ-макет, в который подставляются введённые на этапах мастера данные. Документ в системе уже есть. Называется "Макет заявления". Нужно просто заполнить параметр мастера.

Авторизуйтесь, чтобы написать комментарий