"Документы для авторизации" (ModDocumentsAuth)

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

ВНИМАНИЕ! Представленный МОД работает совместно с МОДом "Авторизация командировок".

Кому будет полезен этот МОД:

Это клиентский МОД. Он доступен для подключения и использования только клиентам.

Он будет полезен клиентам, использующим авторизацию и желающим, чтобы пользователь перед инициализацией авторизации командировки заполнял некую форму документа (служебную записку, приказ, заявку и т.п.).

Подключение МОДа:

Для подключения МОДа необходимо перейти в раздел Marketplace:

 

Настройка и работа с МОДом:

Для настройки МОДа необходимо перейти в раздел “Расширения” и выбрать пункт “Авторизационные документы”

 

Начало работы с МОДом

  • Подготовить шаблон документа, можно также использовать нейтральный

  • Загрузить шаблон на сервер

  • Подготовить Json представление, которое позволит сгенерировать форму

  • Сгенерировать форму

  • Проверить сгенерированный документ

При включенном и настроенном моде происходит перезагрузка кнопки «Начать авторизацию» и пользователя перекидывает на заполнение формы, подготовленной на основе JSON. На основе заполненной формы будет заполнен шаблон документа, который автоматически прикрепится к командировке.
После включения мода необходима его настройка. Для этого надо пройти в административный раздел Настройки – Авторизационные документы. 



Административный интерфейс 

Подготовка документа

Необходимо загрузить документ в формате DOCX, в котором будут проставляться данные из формы, которую пользователь должен будет заполнить в момент отправки командировки на авторизацию. Сделать это можно двумя способами: 

1. Загрузить нейтральный шаблон. Отредактировать и загрузить обратно.

2. Создать свой документ, расставить в нём теги и загрузить в качестве шаблона. Как создавать/редактировать теги в документе, описано ниже.

 

Редактирование шаблона

Для редактирования документа необходимо открыть документ в Word’е перейти на вкладку РАЗРАБОТЧИК и включить режим конструктора (см скриншот). 

Выделить нужную область (1) в которую будут подставляться значения из формы, которую будут заполнять сотрудники при отправке командировки на авторизацию. После нажимаем на значок “Aa” (2) тем самым делаем метку что это будет элемент управления «форматированный текст» и нажимаем на кнопку свойства (3) (см скриншот).

 

Открывается диалоговое окно (4), где нужно заполнить название элемента и тег, причем они должны быть одинаковы

ВАЖНО! Заполняйте на английском языке. Для кодов тег должен соответствовать имени справочника кода.

Нажимаем «Ок» (5). На этом всё! Мы создали метку в документе.

Теперь создадим форму.

 

Создание формы

Форма создается автоматически, для этого необходимо указать требуемые поля в формате JSON, и нажать кнопку внизу страницу «Сохранить и показать форму».



Правила создания JSON

Разметка должна начинаться открывающей квадратной скобкой и заканчиваться закрывающей например [{ элемент формы } , { элемента формы }]

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

 

Допустимые элементы формы (text, select, date, textarea):

1. Текстовое поле (text)

Пример:

[ { "Type": "text", "DisplayName": "ФИО", "Name": "FullName", "NotOptional": true, "Placeholder": "фамилия, имя, отчество" } ]

Свойства “Type”- текстовое поле “DisplayName”- название элемента, которое будет видеть пользователь при заполнении формы. “Name” – название тега, которые вы указали в Word документе. “NotOptional” – необязательно(true) / обязательно(false) для заполнения поле. «Placeholder» - то что будет написано в форме

Результатом выполнения будет форма:

 

2. Добавим выпадающий список (select)

Пример

[ { "Type": "select", "DisplayName": "Структурное подразделение", "Name": "Department", "NotOptional": false, "Choices": [ "Департамент маркетинга", "Департамент управления", "Департамент HR" ] } ]

Свойства “Type”- выпадающий список “DisplayName”- название элемента, которое будет видеть пользователь при заполнении формы. “Name” – название тега, которые вы указали в Word документе. “NotOptional” – необязательно(true) / обязательно(false) для заполнения поле. «Placeholder» - то что будет написано в форме «Choices» - массив возможных вариантов поэтому в квадратных скобках [ “значение”, “значение” …. ]

Добавим данный элемента в JSON, результатом выполнения данной инструкции будет форма:

3. Календарь (date)

Пример:

 

[ { "Type": "date", "DisplayName": "Начало командировки", "Name": "DateStart", "NotOptional": false } ]

Свойства “Type”- календарь “DisplayName”- название элемента, которое будет видеть пользователь при заполнении формы. “Name” – название тега, которые вы указали в Word документе. “NotOptional” – необязательно(true) / обязательно(false) для заполнения поле.

Добавим два календаря в форму «Начало командировки» и «Окончание командировки» в JSON, результатом выполнения данной инструкции будет форма (добавилось 2 календаря):

 



4. Многострочное текстовое поле (textarea)

Пример:

[ { "Type": "textarea", "DisplayName": "Цель командировки", "Name": "Purpose", "NotOptional": false, "Placeholder": "напишите цель командировки" } ]

Свойства “Type”- текстовое поле “DisplayName”- название элемента, которое будет видеть пользователь при заполнении формы. “Name” – название тега, которые вы указали в Word документе. “NotOptional” – необязательно(true) / обязательно(false) для заполнения поле. «Placeholder» - то что будет написано в форме

Добавим данный элемента в JSON, результатом выполнения данной инструкции будет форма:

 

Вот так выглядит форма, когда пользователь нажмет кнопку «Начать авторизацию»

 

Пример JSON для нейтрального шаблона

[ { "Type": "text", "DisplayName": "ФИО", "Name": "FullName", "NotOptional": false, "Placeholder": "фамилия, имя, отчество" }, { "Type": "select", "DisplayName": "Организация", "Name": "Organization", "NotOptional": false, "Choices": [ "ООО \"Ритейл\"", "New Company 2" ] }, { "Type": "select", "DisplayName": "Структурное подразделение", "Name": "Department", "NotOptional": false, "Choices": [ "Департамент маркетинга", "Департамент управления", "Департамент HR" ] }, { "Type": "text", "DisplayName": "Должность", "Name": "Position", "NotOptional": false, "Placeholder": "занимаемая должность в компании" }, { "Type": "text", "DisplayName": "Место назначения", "Name": "Location", "NotOptional": false, "Placeholder": "страна, город назначения" }, { "Type": "text", "DisplayName": "Сроком на", "Name": "TotalDay", "NotOptional": false, "Placeholder": "количество дней" }, { "Type": "date", "DisplayName": "Начало командировки", "Name": "DateStart", "NotOptional": false }, { "Type": "date", "DisplayName": "Окончание командировки", "Name": "DateEnd", "NotOptional": false }, { "Type": "textarea", "DisplayName": "Цель командировки", "Name": "Purpose", "NotOptional": false }, { "Type": "text", "DisplayName": "Основание командировки", "Name": "Reason", "NotOptional": false, "Placeholder": "документ, номер, дата" } ]