Задача
Необходимо автоматизировать заполнение большого количества однотипных документовWord данными из Excel. Например, такими данными как ФИО клиента, номер договора и так далее.
Проблема №1. Заполнение документов. Вручную заполнение десятков документов занимает приличное время. И повышает вероятность ошибок. Поэтому необходимо из формы в Excel заполнять данные в документах в автоматическом режиме.
Проблема №2. Сохранение данных в реестре на отдельном листе. Структурированные данные удобно обрабатывать, а также по ним можно заново сгенерировать документы. Да и просто удобнее хранить эти данные в табличной форме, а не в ворохе документов word.
Проблема №3. Повторяющаяся информация. Некоторые данные, например информация о юридических лицах, с которыми компания клиента часто работает, имеет однотипный характер. Поэтому необходимо автоматизировать внесение этой информации.
Реализация
Для начала необходимо указать программе, где хранятся шаблоны заполнения документов, и куда складывать готовые документы. Этот функционал был реализован через отдельный лист Excel. При нажатии на кнопку рядом с пунктом меню открывается диалоговое окно выбора папки, поэтому нет необходимости копировать пути из проводника.
Заполнение документов
Разобравшись с настройками, переходим к основному функционалу. Для начала необходимо пояснить, что есть шаблон для автоматического заполнения документов. Шаблон имеет следующий вид:
Это обычный документ word, который лежит в папке шаблонов, указанной в настройках программы. Внутри документа в тексте расставлены специальные метки, которые будут заменяться на данные из файла Excel при генерации документов. На картинке выше метки выделены желтым цветом. Метка имеет вид {Название метки}, где название метки — это название поля формы в Excel. Например, как выделенное фиолетовой рамкой поле «Номер договора» на картинке ниже.
При этом, при подготовке шаблонов, нет необходимости вводить эти метки вручную. Достаточно дважды кликнуть по названию поля формы и в буфер обмена будет скопирована нужная метка. Останется только вставить ее в документ Word (сочетание клавиш Ctrl + C).
После ввода данных нужно лишь нажать кнопку «Подготовить документы» на ленте меню и все документы из папки шаблонов будут обработаны, а готовые файлы будут сохранены в папке итоговых файлов, которая тоже указана в меню программы.
Однако при такой работе, после нескольких генераций, в папке итоговых файлов оказывается очень больше количество документов. Дабы упорядочить хранение файлов одно из полей формы выбирается для создания подпапок. В данном случае это поле «Гос. Знак тс цедента». То есть, при создании документов в папке итоговых файлов будет создана дополнительная директория с номером ТС. И уже в нее будут сохранятся документы. Но вообще поле может быть любым, также можно создать многоуровневую систему, основанную на нескольких полях. Например, подпапка с «Гос. знаком тс», а в ней подпапка с «номер договора».
Кнопка очистить форму служит, как ясно из названия для быстрой очистки формы.
Сохранение данных в реестре на отдельном листе
После создания документов данные записываются в реестр. При этом ключевым полем является номер договора. Если в реестре нет такого номера, то данные добавляются. В противном случае программа запросит разрешение на перезапись данных. Так же стоит учесть, что в реестр попадают не все данные из формы, а только те, имена полей которых совпадают с названием столбцов в реестре. При этом не нужно совершать никаких дополнительных манипуляций. Программа сама найдет все сопоставления и вставит нужные данные.
Если поставить курсор на номер договора и нажать кнопку «Заполнить форму», то программа сама заполнит форму по тому же принципу соответствия названий. Что очень удобно если понадобится, например, внести изменения в документы. Загружаем данные в форму, редактируем данные. После чего нажимаем «Подготовить документы» и программа сама обновит данные в документах и внесет изменения в реестр, запросив на это разрешения.
Повторяющаяся информация
Этот функционал был реализован через умные таблицы и формулы на форме. Сам список компаний выглядит так:
Это умная таблица, что позволяет добавлять и удалять любое количество данных, не внося изменения в формулы формы.
При воде в поле «Страховая» данные для полей «Ген. Дир. Страховой» и «Р/С Страховой» подтягиваются автоматически, если имя компании присутствует в таблице компаний.
Итог
Таким образом большой объем ручной работы решается очень быстро. Достаточно лишь ввести данные в форму и нажать «Подготовить документы», если этих данных нет в реестре. А если эти данные присутствуют, то решение этой задачи занимает буквально несколько кликов мыши. К тому же, значительно снижается вероятность ошибок. И появляется возможность анализа данных, благодаря хранению всех данных в реестре.