Автоматическое склонение по падежам в документах

Share

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

Сначала мы рассмотрим самый общий кейс:
Например, у вас в задаче есть поле «ФИО подписанта». Вы заполнили его значением:

Наручкина Светлана Петровна

Мы настроим приложение так, что при выгрузке документа 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

Заполним данные.

Перейдем в блок На печать и скачаем документ

Как мы видим, у нас аккуратно перенеслись все четыре значения без каких-либо лишних запятых и пробелов

;

Оставьте комментарий