Продолжаем рассматривать Диалоги (часть 1, часть 2). Рассмотрим самый популярный кейс: как создать замещение без привлечения администраторов? В более ранних версиях системы Directum эта тема была постоянно актуальной и решалась, как правило, при помощи доработки функционала. В текущей версии при настройке параметров диалога добавлена возможность добавления записей в нужный справочник. Именно эту возможность и будем использовать при реализации данного кейса.
Обо всем по порядку... Поехали...
В данном случае их можно не создавать, так как параметры, которые будем использовать, при создании диалога стандартны и нет смысла создавать дублирующие записи. При желании всегда можно добавить отдельно для использования, например, для формирования документа с описанием замещения. Решение остается за Вами. Как создать параметры сущностей, можно посмотреть в первой части.
Переходим в раздел "Администрирование" - "Диалоги". Создаем карточку диалога и указываем модуль проводника, где данный диалог планируем вывести для отображения на обложке модуля:
Перейдем на вкладку "Диалог" и заполним сначала параметры, то есть сущности, которые будут использоваться, а справа добавим контролы (проще говоря поля ввода), которые и будут формировать внешний вид диалога.

Добавляем параметры, которые совпадают с параметрами справочника "Замещение". Укажем, что все параметры обязательны, кроме параметра "Основание". Параметры "Замещающий" и "Начало замещения" инициализируем заполнением полей при запуске диалога значениями текущего пользователя и текущей даты. Для этого на вкладке "События" добавляем параметры для инициализации:
Наш диалог практически готов, осталось сконфигурировать действие по кнопке "Готово".
Обратите внимание, что запись справочника создается в состоянии "Действующая", значит сотрудник, оформивший замещение, сразу после выполнения диалога получит доступ к документам и задачам замещаемого сотрудника. После сохранения диалога, запускаем его для проверки:
Исправляем данные упущения добавлением валидации параметров:
Для Даты окончания - чтобы сотрудники не смогли создать замещение больше чем на 30 дней.
Для Замещаемого - чтобы можно было выбрать сотрудника только своего подразделения, а также нельзя было выбрать самого себя. Параметры валидации можно настроить более точно по различным критериям.
Проверяем валидацию параметра, например дату окончания:
Отлично! Мы справились!
Вынесем за рамки данного материала формирование задачи или уведомления для направления по простому бизнес-процессу администраторам системы о создании замещения и конфигурирование обложки модуля. Как это сделать - рассмотрено в предыдущих статьях. Замечу, что формирование задачи или уведомления для администраторов системы - это практически обязательный шаг для контроля за пользователем. Если вы были внимательны, то на скриншоте конфигурирования действия по кнопке "Готово" указан параметр создания задачи при выполнении диалога.
Кейс реализован при помощи стандартного функционала системы. Разумеется, есть тонкости и ограничения, связанные с допущениями, но думаю, что их можно доработать по результатам тестирования. В настройках свойств создаваемой записи справочника можно указать в каком состоянии создается запись - "Действующая" или "Закрытая". При создании записи в состоянии "Закрытая" можно не выполнять валидацию поля "Замещаемый", так как в данном случае статус записи будет менять администратор системы после проверки.
Что бы я добавил? При разработке данного диалога я обратил внимание на пару моментов, которые можно добавить со стороны разработчиков при работе со справочником:
1. Если в текущей реализации есть возможность создать запись справочника, то неплохо было бы, если бы была возможность получения какого-либо параметра из справочника и его сохранения в переменную. Применительно к данному кейсу это может быть Id записи справочника для отображения в уведомлении для администратора при направлении по бизнес-процессу.
2. Возможность добавить условия создания записи справочника "Закрытая" или "Действующая" в зависимости от условий заполнения поля. Применительно к данному кейсу это может быть выбор замещаемого сотрудника.
Авторизуйтесь, чтобы написать комментарий