Панель отправки на ознакомление

Данный раздел содержит описание примера с элементом управления Панель отправки на ознакомление, который демонстрирует запуск бизнес-процесса из карточки документа и создание собственной боковой панели.

Ссылка на пример на GitHub: AcquaintancePanel.

Пример рассчитан на версию Web-клиента 6.1 или выше.

Перечень необходимых инструментов:

Проект "AcquaintancePanelDesignerExtension"

  1. Проект-расширение для конструктора разметок. Содержит описание элемента управления Пример боковой панели для программы Конструктор Web-разметок.

  2. Демонстрирует использование описания ЭУ в формате .xml, задание ему стандартных свойств, реализованных в программе Конструктор Web-разметок и добавление собственного свойства, используя класс PropretyDescription.

Проект "AcquaintancePanelServerExtension"

  • Проект-расширение для Web-клиент. Содержит бизнес-логику и реализацию элемента управления на клиенте.

  • Демонстрирует расширение функционала с помощью добавления новых сервисов, моделей, контроллеров.

  • Реализован контроллер LayoutBusinessProcessController с методом SendToAcquaintance, который вызывает сервис ILayoutBPService для отправки документа на ознакомление. В контроллере принудительно записан идентификатор бизнес-процесса.

  • Для старта этого бизнес-процесса необходимо передать в качестве параметров "Ознакомителей" (Performers), "Документ" (Document) и дату "Ознакомиться до" (EndDate).

Проект "AcquaintancePanelWebExtension"

  • Клиентский ЭУ представляет собой кнопку, при нажатии на которую появляется боковая панель.

  • Боковая панель включает в себя стандартные ЭУ Web-клиент:

    • Сотрудники для задания списка сотрудников, которым придет задание на ознакомление,

    • Дата/время, дата "Ознакомиться до".

  • При нажатии на кнопку Отправить на ознакомление происходит проверка параметров, и с помощью объекта requestManager отправляется запрос на сервер.

Сборка и установка

  1. Откройте /Samples.sln.

  2. Соберите проект Controls > AcquaintancePanel > AcquaintancePanelDesignerExtension.

  3. Соберите проект Controls > AcquaintancePanel > AcquaintancePanelServerExtension.

  4. Откройте консоль в папке Controls > AcquaintancePanel > AcquaintancePanelWebExtension и выполните команду npm install и npm run build:prod.

  5. Скопируйте каталог SamplesOutput\Plugins\AcquaintancePanelDesignerExtension в каталог Путь к директории с исполняемым файлом конструктора Web-разметок\Plugins.

  6. Скопируйте каталог SamplesOutput\Extensions\AcquaintancePanelServerExtension в каталог Путь к сайту Web-клиента\Extensions.

  7. Скопируйте файл SamplesOutput\Extensions\ru\AcquaintancePanelServerExtension.resources.dll в каталог Путь к сайту Web-клиента\Extensions\ru.

  8. Скопируйте файл SamplesOutput\Extensions\uk\AcquaintancePanelServerExtension.resources.dll в каталог Путь к сайту Web-клиента\Extensions\uk.

  9. Скопируйте каталог SamplesOutput\Content\Modules\AcquaintancePanel в каталог Путь к сайту Web-клиента\Content\Modules.

  10. Перезапустите dvwebclient.

Проверка примера

  1. Запустите конструктор разметок.

  2. Скопируйте любую разметку просмотра.

  3. Выберите условия использования этой разметки.

  4. Откройте разметку и добавьте в неё новый элемент управления Пример боковой панели.

  5. Задайте желаемые параметры элемента управления. Для корректной работы задайте editOperation = "Send for acquaintance" или "Отправка на ознакомление".

  6. Сохраните разметку.

  7. Перезапустите dvwebclient.

  8. Откройте карточку с этой разметкой.

  9. Убедитесь, что появился новый элемент управления, кнопку, при нажатии на которую появляется боковая панель.

  10. Заполните необходимые поля и нажмите Отправить на ознакомление.

  11. Должен запуститься бизнес-процесс, и указанным сотрудникам придет задание на ознакомление со ссылкой на документ.