Добавление простого поля на форму заявки ЛКС
Добавление простого поля на форму заявки ЛКС
:::tip Конструктор заявок доступен Визуальный конструктор форм теперь реализован. Добавлять и настраивать поля рекомендуется через Конструктор заявок в разделе «Администратор» ЛКС.
Инструкция ниже описывает ручное редактирование JSON — актуально для продвинутых сценариев и параметров, не поддерживаемых конструктором визуально. :::
Пока конструктора нет, следует придерживаться следующего порядка действий.
Рассмотрим добавление полей для ввода текста, для вложения файлов и статичных полей (просто надпись)
- Открыть меню "ЛК сотрудника"
- Перейти в справочник "Типы заявок"
- Открыть карточку требуемого типа
- На закладке "Настройки front-end" переключиться на закладку "Шаблоны"
-
Выделить всё, скопировать, в блокнот, сохранить. На случай, если придется вернуться к виду "как было".
-
Описание каждого поля начинается с "{" и заканчивается "}", блоки разделяются запятыми. В текущей или любой другой заявке нужно найти пример такого блока.
Для поля ввода текса нужно найти блок с типом "type": "textarea",
Для поля вложения файлов - "type": "file-multi",
Для простого текста - "type": "static",Далее нужно скопировать описание поля в буфер обмена
- Нужно спозиционироваться между теми блоками, между которыми должно появиться новое поле и вставить код нового блока
- Если нужен точно такой же блок - менять ничего не нужно. Если нужно изменить название, содержимое и прочее - необходимо изменить значения параметров.
Везде очень важно не потерять кавычки и разделители и не поставить лишних- Для файлов
"type": "file-multi", - не меняем, всегда такой
"formControlName": "files", - как будет называться поле на форме (служебное название), важно чтобы названия в рамках одной формы не повторялись
"label": "ru='Скан паспорта';en='Scan of passport'", - как будет называться поле на форме - что будет видеть пользователь
"gridClasses": ["col-md-12"], - не менять
"disabled": false, - не менять
"edited": true, - не менять
"validations": ["required"] - если в квадратных скобках "required", поле будет обязательным, если в квадратных скобках пусто - необязательным - Для поля ввода текста
type": "textarea", - не меняем
"formControlName": "message", - как будет называться поле на форме (служебное название), важно чтобы названия в рамках одной формы не повторялись
"label": "ru='Место работы';en='Place of work'", - как будет называться поле на форме - что будет видеть пользователь
"gridClasses": ["col-md-12"], - не меняем
"disabled": false, - не меняем
"edited": true, - не меняем
"validations": [] - если в квадратных скобках "required", поле будет обязательным, если в квадратных скобках пусто - необязательным - Для надписи
"type": "static", - не меняем
"value": "ru='Если Вы хотите изменить даты отпуска или отменить отпуск, просим обратиться в отдел по работе с персоналом.' - какой текст будет отображаться в русском варианте ЛКС
;en='If you want to change the dates of the vacation, please contact the HR department'", - какой текст будет отображаться в английском варианте ЛКС
"gridClasses": ["col-md-12"],
- Для файлов
- Если добавляли поле для вложения файлов, проверить, что в правом поле "Настройки" есть строка "loadFileType": "base64",. Если нет - добавить.
- Переключиться на закладку "Поля формы" и нажать "Заполнить поля формы"
- Записать и закрыть
- Открыть фронт клиента
- Залогиниться под любым пользователем
- Проверить, что форма отображается корректно, не заполняя ничего нажать "Отправить" - так проверяется обязательность полей (обязательные подсвечиваются красной рамкой)
- Если всё сломалось и нужно вернуть как было, вернуться к п.5, вставить сохраненный шаблон, записать и закрыть. Начать сначала.
- Если есть сложности - лучше обращаться к команде разработки.
Ограничения
Существуют так называемые "статичные" формы. Это формы с дополнительной логикой, которая обрабатывается на фронте (на стороне браузера).
С ними нужно быть осторожнее. Добавлять поля можно только в конце. Под остальными полями. Иначе можно сломать логику.
В связи с этим проверять их после изменения следует тоже более внимательно.
Отличить их можно по заполненному полю "Алиас" и флагу "Использовать статичный шаблон"
Это, например, Командировки и Служебные поездки.
Менять значение поля Алиас без согласования с фронтенд-разработчиками не стоит - всё сломается