Диалоги в Directum RX: расширяем коробку без разработки

3 0

👋 Всем привет!

21 августа мы провели вебинар по диалогам.
Хотелось меньше слайдов и больше практики, поэтому мы взяли конкретный кейс и на живом стенде собрали его с нуля, в прямом эфире, без среды разработки и единой строчки кода.

Кейс — оформление отсутствия. Выбрали его потому что в «коробке» под него уже есть и готовый процесс, и справочник отсутствий: не нужно ничего придумывать, чтобы показать механику. 

📺 Запись вебинара: rutube 
📎 Файл с готовыми настройкамиссылка

⚠️ Сразу важное: всё, что показано в записи и лежит в файле, рассчитано на версию 26.2 и выше. Часть возможностей появилась именно в 26.2 — выбор конкретного шаблона документа, настройки групп контролов и др.

🤔 Зачем вообще что-то дополнять


Звучит это обычно так: «нам нужно, чтобы сотрудник при уходе на больничный сразу прикладывал справку, а руководителю уходила служебная записка». Просьба понятная, и первое, что приходит в голову, — заводить доработку. А это бюджет и сроки.

Многие из таких просьб закрываются No-code настройкой. Диалог как раз про это — он становится удобной точкой входа перед стандартными процессами и по пути делает то, чего в коробке нет.

По кнопке «Готово» диалог умеет создавать документы — из файла или из шаблона, любого типа и вида, — заводить записи справочников, отправлять задачи, вызывать действия сущности и функции. То есть под диалог годится почти любой сценарий, который начинается словами «сотрудник должен что-то заполнить, а дальше система пусть сама».

🧩 Как было 


Сейчас в коробке сотрудник ищет действие «Оформление отсутствия», если пользуется им редко, то через кнопку «Прочее». Открывается карточка задачи, он заполняет период, причину, замещающего и жмёт «Отправить». Процесс уходит руководителю. Всё работает, но создаётся только сама задача, и заполняет он её в карточке со всеми её полями.


🧩Как стало


С диалогом путь короче.
Сотрудник заходит на обложку модуля «Компания», нажимает кнопку «Оформление отсутствия» и попадает в компактную форму:

Сотрудник уже автоматически подставлен, остаётся указать период, причину, при необходимости замещающего и приложить справку. По кнопке «Готово» система отправляет задачу на оформление отсутствия и кладёт в неё созданную служебную записку и справку. В правом верхнем углу всплывает сообщение «Отсутствие отправлено на оформление».

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

🎬 Что на записи


Основная часть эфира — настройка от начала до конца. Мы специально начали с пустого диалога, чтобы не было ощущения «а у вас там всё было заранее готово».

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

Дальше верстаем форму. Контролы перетаскиваются мышкой, объединяются в группы, внутри группы можно поставить горизонтальное размещение, а относительным размером прижать контрол, который занимает лишнее место. 

Потом добавляем логику. Событие «Инициализация» подставляет текущего пользователя в поля «Сотрудник» и «От». Обязательность, доступность и отображение контролов можно ставить не только галочкой, но и выражением — «Замещающий» доступен для редактирования, только пока не стоит «Продолжает работать», а поля «Отсутствие» и «Отменить отсутствие» показываются только при «Корректировке».

И только после этого начинается то, чего в коробке нет. Мы завели свои параметры: «Справка исходник» с типом «Файл», «Справка» с типом «Объект» и «Служебная записка» тоже «Объект». На записи отдельно разобрано, почему для справки нужны два параметра, а не один: в файл пользователь загружает документ, но пока из этого файла не создан объект, передать его дальше — в задачу, во вложения — не получится.

Действия навешиваются на кнопку «Готово»: «Документ из файла», «Документ из шаблона» с выбором конкретного шаблона, «Задача» с настройкой вложений и свойств, «Всплывающее сообщение». Самая рутинная часть здесь — сопоставить параметры диалога со свойствами создаваемых объектов. Делается один раз и минут за пять, зато дальше всё само раскладывается по местам.

В конце выводим диалог на обложку модуля и проверяем целиком: запуск с обложки, задание руководителю, справка и служебная записка во вложениях.

Отдельно советую не выключать запись после настройки. Вопросов в чате было столько, что ответы заняли ещё полчаса, и там разобрали то, чего нет ни в одной инструкции: можно ли пропустить согласование при создании замещения, можно ли положить диалог в карточку контрагента, а не на обложку, как связать вложенные документы между собой, почему сотрудник больше не может оформить отсутствие без задачи. И два ограничения, которые лучше знать до того, как начнёте проектировать диалог.

📦 Что в файле настроек


В файле лежит тот самый диалог, который мы собрали в эфире, в финальном виде. 

🔧 Что учесть до установки
Файл переносит только диалог, поэтому пара вещей останется за вами:

  • Шаблон служебной записки. В диалоге на него стоит ссылка, но сам шаблон в файл не входит. Мы брали коробочный, ничего необычного в нём нет. Если у вас шаблона с таким именем не окажется, перенастройте действие «Документ из шаблона» на свой.
  • Кнопка на обложке. Это отдельная настройка, в файл она не попала. После импорта диалог появится в справочнике «Диалоги», но на обложке его не будет. Добавите там, где удобно именно вам.
  • Вариант процесса. Мы использовали коробочный. Если у вас на оформление отсутствия свой вариант, обратите на это внимание.

Служебная записка создаётся всегда, в том числе когда сотрудник просто корректирует уже оформленное отсутствие, а никакой записки при этом не нужно. Условие на создание объекта в диалоге не поставить, поэтому обходить это лучше содержанием: развести два вида служебных записок и для корректировки писать свой текст.

▶️ Как установить


Откройте обложку модуля «Процессы и интерфейс».
В группе «Перенос настроек» выберите «Импорт настроек».
Укажите файл с настройками.

В окне результата должно быть «Импортировано: 1», «Неисправные: 0».
Проверьте себя: «Интерфейс» → «Диалоги» — там появилась запись «Оформление отсутствия» в состоянии «Действующая».
Не забудьте про права. Диалог видят только те, у кого есть права с операцией авторизации «Запуск диалога» — например, базовый тип прав «Запуск». Без этого рядовой сотрудник кнопку просто не найдёт.

📍 Как вынести на обложку


«Процессы и интерфейс» → «Интерфейс» → «Обложки и модули» → ваш модуль (в эфире это была «Компания»). Дотянитесь до места, куда хотите поставить кнопку: основное содержимое → левый столбец → нужный раздел. Дальше «Добавить» → «Действие», укажите имя и, если хочется, короткое описание. В типе действия выберите «Диалог» и найдите «Оформление отсутствия».

Итого: коробочную задачу мы не тронули, а сценарий для сотрудника стал короче и полезнее.

Поставьте файл на тестовый стенд, разберите его на части и попробуйте что-нибудь дописать. А если что-то не получится или чего-то в диалогах не хватает, пишите в комментариях. Мы читаем всё и передаём коллегам из разработки, так что часть ваших пожеланий с прошлых вебинаров уже доехала до продукта.

До встречи в следующих выпусках!

Пока комментариев нет.

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