Сегодня мы хотим рассказать о том, как настроить выгрузку документов и добавить в эти документы автоматические склонения по падежам.
Сначала мы рассмотрим самый общий кейс:
Например, у вас в задаче есть поле «ФИО подписанта». Вы заполнили его значением:
Наручкина Светлана Петровна
Мы настроим приложение так, что при выгрузке документа word в текстовом шаблоне у вас автоматически будет выгружаться: Наручкиной Светлане Петровне.
После перейдем к кейсу посложнее:
Когда у вас в задаче есть несколько значений, которые нужно выгрузить в документ, и раз от раза их количество меняется.
Например, у вас есть документ, который должны согласовать от 2 до 5 человек, после чего его нужно напечатать в шаблонном файле word.
Работа должна выглядеть так:
Сотрудники открывают задачу, выбирают сколько участников должны подписать документ (например, 4).
Заполняют их имена и контактные данные.
Открывают документы на печать и получают сразу заполненный документ, где перечислены все 4 имени в дательном падеже.
Внимание! Для настройки второго кейса мы используем бизнес-процесс, который настраивали в этой статье. Поэтому, если вы хотите настроить такой же или похожий кейс, лучше сначала прочитать ее.
Для начала разберем как автоматически склонять слова в документах
Автоматическое склонение по падежам
Для того, чтобы просклонять значение в тексте нужно:
1. Открыть вкладку бизнес-процессы, и выбрать тот процесс, по которому вы хотите перенести значения из полей в документ
2. Открыть вкладку Документы
3. Перейти к Кодам полей для шаблонов
4. Скопировать Код поля, из которого вы хотите переносить информацию в документ
5. Открыть или создать документ .docx / .xlsx, который будет использоваться в качестве текстового шаблона. Вставить скопированный код в нужное место в документе
6. Вернуться в Neaktor. Открыть Коды для падежей и склонений
7. Скопировать код того падежа, в который будет склонятся значение
8. Открыть текстовый шаблон. Вставить код падежа рядом с кодом поля из пункта 5. Расположить код поля внутрь тегов падежа, чтобы был такой порядок:
{{Открывающий тег падежа}}{{код поля}}{{закрывающий тег падежа}}
{{#dat_p}}{{5fd379741c9d8d2004f738bf}}{{/dat_p}}
9. По аналогии добавить и другие склонения/коды полей в нужные места документа.
10. Сохранить текстовый документ. Вернутся в Neaktor на вкладку Загруженные шаблоны
11. Добавить новый шаблон. Выбрать сохраненный ранее текстовый документ.
12. Можно указать в названии файла коды полей из задачи по аналогии с текстовым шаблоном.
Тогда в названии файла будут сразу подставляться значения из задач
13. Сохраняем модель.
Готово! Теперь вы можете открыть задачу, перейти в пункт На печать и скачать заполненный документ себе на компьютер или сразу отправить его на печать.
Как просклонять и вставить в документ от 1 до 5 значений
Рассмотрим более сложный кейс о котором мы упоминали в начале.
У нас есть задача, в которой новые подписанты появляются по мере их надобности.
И каждый раз их может быть разное количество то 2, то 5 и так далее.
В чем тут сложность. Если мы просто подставим в документ 5 кодов с полями, у нас будут появляться лишние пробелы и запятые в нашем документе, если будут выбраны скажем двое из пяти.
Чтобы этого избежать, мы пойдем на небольшую хитрость: мы добавим новое техническое поле, куда будем подгружать фамилии участников, если они будут участвовать в задаче.
Ниже мы настроим несколько роботов, чтобы в это техническое поле автоматически переносились выбранные участники в нужном падеже.
В конце настройки, мы подставим код этого поля в шаблон нашего текстового документа, как мы делали выше.
Внимание! Здесь мы рассмотрим, только перенос данных из нескольких полей в документ, если вы не знаете, как добавляются и скрываются поля на форме задачи, можете почитать эту статью.
Итак, настройка:
1. Откроем нужный бизнес-процесс и перейдем на вкладку Поля и форма
2. Добавим поле с типом Текст на форму задачи. Назовем его «Техническое поле для склонений»
3. В Опциях отображения укажем В несколько строк и максимальное ограничение по символам 1000.
4. Открываем вкладку Роботы, добавляем нового.
5. Выбираем тип Пересчет и заполнение данных в полях
6. Пишем название, например «Робот для 1 подписанта». В условии Если, выбираем «ФИО подписанта 1». Ставим оператор Было изменено
7. Внизу страницы в блоке Тогда, выбираем «Техническое поле для склонений»
8. В меню справа открываем Падежи, выбираем нужный, например Дательный, вставляем значение в «Техническое поле»
9. В этом же меню ищем код поля «ФИО подписанта 1» и вставляем его между тэгами дательного падежа.
Должен получится такой формат.
{{#dat_p}}{{5fc8f2c9dca2cb0e1ce38134}}{{/dat_p}}
Осталось сохранить. Мы настроили первого робота. Он работает так:
Если поле «ФИО подписанта 1» будет изменено, тогда «Техническое поле» будет заполнено информацией «Фамилией подписанта 1» в дательном падеже.
Теперь, если вы заполните ФИО подписанта 1 каким-нибудь значением, например, «Проволочкин Сергей Александрович», тогда в техническом поле автоматически появится значение:
Проволочкину Сергею Александровичу
10. Теперь создадим робота на случай 2 подписантов. Напротив предыдущего робота нажимаем Копировать
11. Открываем робота.
Меняем название на «Робот для 2 подписантов». В условии Если удаляем поле «ФИО подписанта 1» и меняем его на «ФИО подписанта 2».
12. В блоке Тогда, копируем ранее вставленные коды, ставим запятую, вставляем предыдущее значение. Вместо кода внутри тэгов с родительным падежом, нужно вставить код поля «ФИО подписанта 2». Ищем его справа
В итоге у нас должен получится похожий пример:
{{#dat_p}}{{5fc8f2c9dca2cb0e1ce38134}}{{/dat_p}},
{{#dat_p}}{{5f8ffa58c0c11c3620d88c45}}{{/dat_p}}
То есть, если будет заполнено поле ФИО подписанта 2, например именем «Колючкина Вера Сергеевна», тогда робот заполнит техническое поле значениями из «ФИО подписанта 1» и «ФИО подписанта 2», получится:
Проволочкину Сергею Александровичу, Колючкине Вере Сергеевне.
13. Сохраняем робота. В списке робота, напротив только что добавленного кликаем по кнопке Отключено чтобы стало Включено.
Таким же образом создаем еще 3 робота, Для 3, 4 и 5 подписантов.
Готово! Осталось перенести наше техническое поле в шаблон документа.
14. Открываем вкладку документы. Добавляем новый.
15. Пишем название.
16. Копируем код технического поля, куда добавляются фамилии и имена в родительном падеже.
17. Теперь нам нужно открыть наш будущий текстовый шаблон в word или excel. И вставить скопированный код в нужное место в документе.
18. По аналогии добавьте и другие коды полей в нужные места документа.
19. Сохраните текстовый документ. Вернитесь в Neaktor на вкладку Загруженные шаблоны
20. Добавьте новый шаблон. Выберите сохраненный ранее текстовый документ.
21. Можно указать в названии файла коды полей из задачи по аналогии с текстовым шаблоном.
Чтобы в названии файла могло бы сразу подставляться значения из задач.
22. Сохраните модель. Готово!
Посмотрим что у нас получилось. Создадим новую задачу, выберем от 1 до 5 подписантов, например 4
Заполним данные.
Перейдем в блок На печать и скачаем документ
Как мы видим, у нас аккуратно перенеслись все четыре значения без каких-либо лишних запятых и пробелов
Оставьте комментарий