Договорные отношения давно и прочно закрепились в нашей жизни, договора встречаются везде и повсеместно, практически ничто уже не обходится без заключения какого-либо договора. Предоставление услуг, выполнение работ, поставка материальных ценностей, аренда имущества, купля-продажа и многое другое — все это договоры. Договоры, как правило, составляются юристами и учитывают все нюансы той или иной деятельности. Кураторы же имеют дело с типовыми формами договоров и производят с ними однотипные, повторяющиеся действия, которые можно и нужно автоматизировать.
Итак, менеджеры или кураторы договоров, используя текстовый редактор, (например Microsoft Word) вносят изменения в типовые формы, шаблоны, корректируя определенные поля, такие как номер и дата договора, наименование контрагента, стоимость договора, паспортные данные, банковские реквизиты. При этом пересчитываются различные суммы, такие например как НДС, кстати суммы в договорах зачастую дублируются прописью. Для составления преамбулы договора, такие параметры как имена, фамилии и должности склоняются в различные падежи. Все это требует повышенного внимания и приводит к зрительным нагрузкам. Чем объемнее договор, чем больше в нем различных форм и приложений, тем сильнее желание автоматизировать его заполнение.
Автозаполнение Формуляров и Документов на основе Excel
Надстройка для автоматизированного заполнения договоров в Word
Автоматическое заполнение договоров можно реализовать различными способами, но подробнее остановиться хотелось бы на наиболее удобном и доступном. И как ни странно такой способ заложен в самом текстовом редакторе Microsoft Word. Встроенный в редактор язык программирования Visual Basic for Application позволяет успешно автоматизировать рутинные задачи, к которым несомненно можно отнести и заполнение договоров. Видов договоров множество: договор подряда, договор поставки, договор аренды, договор купли-продажи, договор комиссии, кредитный договор и многое другое, но все они имеют приблизительно одинаковые поля для заполнения. Если эти поля разметить специальным образом в шаблоне договора, а необходимую информацию запросить у пользователя через диалоговое окно, то впоследствии можно программно заменить эти поля на необходимую информацию.
При этом часть рутинной работы пользователю выполнять все-таки придется при внесении данных в специальную форму — диалоговое окно, но лишь часть, все остальное будет делать уже машина. Запуск надстройки, вызов диалогового окна осуществляется нажатием кнопки, выведенной в меню, либо на ленту, в зависимости от приложения.
Использовать систему для ускоренного заполнения полей договора проще, чем кажется на первый взгляд. Для начала нужно определиться с теми параметрами, которые будут запрашиваться у пользователя надстройки и выбрать наиболее подходящую конфигурацию надстройки. Далее необходимо скачать и установить надстройку для Word по заполнению договоров.
Предварительно разметить свой шаблон договора метками, описанными в документации к надстройке. Открыть шаблон договора и вызвать диалоговое окно надстройки. Затем заполнить поля диалогового окна (вручную заполняется только часть полей, другая часть формируется автоматически, например суммы, написанные прописью и даты) и запустить программу нажатием кнопки «OK».
Автоматическое заполнение договора между двумя юридическими лицами
В случае заключения договора между юридическими лицами изменяемыми (запрашиваемыми у пользователя в диалоговом окне) являются: наименования организаций, фамилии их представителей, адреса и банковские реквизиты. Различаться также могут суммы, валюты и налоговые ставки. Все эти параметры договора вынесены для заполнения на специальную форму — диалоговое окно.
В надстройке реализован выбор валюты (по умолчанию установлены рубли), преобразование даты, автоматический подсчет НДС с округлением до двух знаков после запятой (при наличии этого налога), автоматическое написание суммы договора и налога прописью, автоматическое распознавание пола подписанта по имени и отчеству с последующим склонением в родительный падеж (для преамбулы) должности, фамилии, имени и отчества. Если в данных подписантов вместо полных имен используются инициалы, то программе будет необходима подсказка пола подписанта при помощи опции М/Ж. После автоматического заполнения полей сформированный договор сохраняется под уникальным именем в папку, в которой хранится шаблон.
На практике чаще используется упрощенная модель надстройки, когда «свои» реквизиты указываются в тексте договора и изменениям не подлежат, а в диалоговом окне запрашиваются только данные контрагента.
Автоматическое заполнение договора между юридическим и физическим лицом
Договоры между юридическими и физическими лицами отличаются наличием паспортных данных одной из сторон. Отсюда и несколько другой набор полей в диалоговом окне, где кроме паспортных данных присутствуют адреса и телефоны. В остальном все механизмы аналогичны описанным в предыдущем пункте.
Возможности надстроек для заполнения договоров
Надстройки позволяют осуществлять:
2) преобразование даты к виду «26» сентября 2013;
3) автоматический подсчет НДС с округлением до двух знаков после запятой (при наличии этого налога);
4) автоматическое написание суммы договора и налога прописью;
5) автоматическое распознавание пола подписанта по имени и отчеству с последующим склонением в родительный падеж должности, фамилии, имени и отчества (для преамбулы);
*Если в данных подписантов вместо полных имен используются инициалы, то программе будет необходима подсказка пола подписанта при помощи опции М/Ж.
6) автоматическое формирование инициалов подписантов;
7) автоматическое сохранение сформированного договора под уникальным именем в папку, в которой хранится шаблон;
8) импорт данных из диалогового окна в файл Excel;
9) экспорт данных из файла Excel в диалоговое окно.
Аналогичным образом можно настроить заполнение любых шаблонов документов для юристов, нотариусов, бухгалтеров, финансистов, сметчиков, риелторов и многих других.
Универсальная надстройка для Word по заполнению любых документов Word данными из Excel
Договоры, соглашения, доверенности, заказы, заявки, акты, квитанции и многое другое можно автоматически заполнять данными из Excel при помощи универсальной надстройки. Количество изменяемых полей в документе не привязано к полям диалогового окна поэтому пользователь сам определяет их количество и названия для кодов, используемых в шаблонах документов. Для заполнения активного документа Word достаточно указать файл Excel с исходными данными. Помимо этого предусмотрено массовое заполнение документов Word.
Возможна также доработка стандартных надстроек, представленных на этой странице под специфические параметры заказчика: удаление ненужных, добавление новых текстовых полей и выпадающих списков диалогового окна (цена договорная).
Надстройки для Excel по заполнению любых документов Word
Все рассмотренные выше надстройки устанавливаются в приложение Microsoft Word. Для заполнения шаблонов документов Word можно также использовать надстройки, которые устанавливаются в приложение Excel. При этом запускаться надстройка будет из Excel. В случае, когда исходные данные вносятся на рабочий лист книги Excel, логичнее использовать надстройку для Excel, чтобы не совершать лишних движений и не переходить из одного приложения в другое. Узнать больше об использовании надстроек для Excel.
Другие материалы по теме:
- Видео по подключению и отключению надстроек в Word
- Автозаполнение договоров в Word данными из Excel
- Видео по установке надстроек (шаблонов) для Word
- Видео по автоматическому заполнению договоров в Word данными из Excel
- Как установить надстройку для Word 2003/2007/2010/2013/2016? Шаблоны и их подключение
Источник: macros-vba.ru
Автоматическое заполнение файлами документов Word и подписей к ним с помощью Python и библиотеки docx
Рассмотрим пример простой программы на Python с помощью библотекы docx для автоматизации рабочего процесса, а именно автоматической вставки файлов (в данном случае изображений) и их подпись в документах Word (docx).
Данная статья будет интересна для начинающих изучающих Python, а также полезна для тех кто работает с большими объемами изображений, графиков, осциллограмм и тому подобное. В ней мы рассмотрим простой и удобный способ вставки изображений в Word и их подписью с помощью Python.
Я опишу свой максимально дубовый и непрофессиональный но простой код который Вы сможете повторить в своих проектах. (Полный код в низу статьи).
Цель
В жизни каждого инженера или аналитика или другого специалиста, наступает момент, когда нужно оформлять отчет. Часто это осциллограммы, графики, ВАХ или другие графические изображения. Отчет нужно оформить в вордовском файле, с приведением изображений и их подписью. Делать вручную это очень увлекательно и интересно долго, неэффективно, скучно и другие синонимы к етим словам.
Рассмотрим простой способ вставки изображений и их подписью в файл docx с помощью Python.
Начало написания программы
Сначала нам нужно добавить библиотеку docx для работы с файлами Word.
import docx
Давайте создадим блок в коде в котором укажем название docx файла и путь к нему, а также путь к папке с изображениями. Чтобы в дальнейшем для удобства было достаточно внести изменения путь к файлам только в верху кода.
Далее добавим объект doc из библиотеки и укажем путь к файлу с названием документа.
doc = docx.Document(folder_doc + name_doc) # Указываем параметры которые задавали в коде раньше (путь и имя)
Формируем последовательность вставки файлов
Исходя из названия файлов (изображений) нам нужно определить в какой последовательности мы будем вставлять изображения в Word.
В моем случае ето: Test_number1_Outside_humidity_10_Outside_temperature_25. Отличие в названии файлов есть в числах возле названия параметра (их мы и будем менять в коде для автоматического заполнения файла).
Создаем массивы с значениями этих чисел:
test_number = [1, 2, 3, 4, 5] # Указываем номер теста outside_humidity = [10, 20, 30, 40, 50, 60, 70, 80, 90] # Указываем влажность outside_temperature = [25, 50, 75, 100] # Указываем температуру
Основная часть программы
После того как мы разобрались с тем, как мы будем идентифицировать изображение для последующей вставки, нам необходимо определиться в порядке в котором будут идти изображения. У меня все картинки будут идти в таком порядке: test_number, outside_humidity, outside_temperature. Вы же можете сделать произвольный порядок.
Для этой реализации используем цикл for , который будет перебирать все значение из массива по очереди.
for r in range(len(test_number)): for d in range(len(outside_humidity)): for i in range(len(outside_temperature)):
Далее стандартными средствами библиотеки добавляем картинки в файл и создаем подписи.
doc.add_picture — добавляет изображения в файл Word
folder_png — это путь к папке которую мы указывали вверху кода
После этого мы указываем точное название файлов в папке, но вместо значений которые меняются вставляем в фигурные скобки.
В функции .format указываем те значения переменных которые меняются в каждом файле и которые мы внесли в цикле for . Эти значения будут применяться к каждому файлу, где мы указывали фигурные скобки (в той же последовательности).
Для подписи файла используем такой же алгоритм.
doc.add_paragraph — используем для записи параграфу
doc.add_paragraph(» «) — делаем отступ
doc.add_picture(folder_png + ‘/Test_number<>_Outside_humidity_<>_Outside_temperature_<>.png’ .format(test_number[r],outside_humidity[d], outside_temperature[i])) doc.add_paragraph(«Figure <>, Test number <>, Outside humidity = <> %, Outside temperature = <> C;» .format(i + 1, test_number[r], outside_humidity[d], outside_temperature[i])) doc.add_paragraph(» «)
doc.save(folder_doc + name_doc)
Меняем параметры изображения
Изображение будем вставлять размером 13.33 х 10 см, для этого воспользуемся дополнительными возможностями библиотеки docx.
Сначала напишем функцию которая будет конвертировать размер с inch в см.
def inch_to_cm(value): return value / 2.54
Теперь добавим данные параметры к основному коду:
doc.add_picture(folder_png + ‘/Test_number<>_Outside_humidity_<>_Outside_temperature_<>.png’ .format(test_number[r],outside_humidity[d], outside_temperature[i]), width=docx.shared.Inches(inch_to_cm(13.330)), height=docx.shared.Inches(inch_to_cm(9)))
Результат
В данной папке находится 180 изображений:
После запуска кода с помощью Python, в течение 5 секунд мы получаем следующий результат:
Вывод
Имея структурированные данные на базе данного кода с помощью Python и библиотеки docx можно в течение 10 минут написать свой код, который в течение нескольких секунд сделает всю грязную работу за Вас.
Разве не для этого придумывали компьютер?
Полный код программы
- Python
- Data Engineering
Источник: habr.com
Сообщество разработчиков скриптов Human Emulator
Разработка скриптов на заказ. Полезные материалы и примеры шаблонов Human Emulator.
Как написать простой скрипт автозаполнения веб форм на Human Emulator
Очень часто в интернете нам встречаются формы на web страницах.
Эти формы на веб страницах служат для подачи анкет, подачи объявлений, подачи различных заявок, отправки комментариев и много другого.
Часто так случается, что нам регулярно приходится заполнять одни и теже формы на одном или на разных сайтах, например:
подача объявлений на различные интернет доски. Этот процесс превращается в рутину и нам хочется от неё избавится.
Для этого вам всего лишь нужны программы, которые будут это делать за Вас — скажем программа для автоматической подачи объявлений,
или программа для автозаполнения форм или программа для автозаполнения документов и т.д.
На самом деле, всё что вам нужно это программа Human Emulator,
так как она делает все перечисленные выше действия.
К тому же Human Emulator заполняет веб формы любой сложности, написанные в том числе и с иcпользованием ajax и javascript-ов,
умеет обрабатывать капчи и много ещё чего умеет полезного делать,
что пригодится при решении задач типа заполнения веб форм или подачи объявлений.
Возможно вам также будет интересен наш парсер Авито Недвижимость
В этой статье мы расскажем как накидать простой скрипт автозаполнения форм с помощью Human Emulator на примере подачи объявления на доску авито
(avito.ru).
Для начала создаём новый скрипт и добавляем код для перехода на нужный нам сайт, в нашем случае это доска объявлений авито(avito.ru):
Источник: www.x-scripts.com