МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ Система подготовки документов NotarPro http://www.hot.ee/sva/articles/notar/index.html Система предназначена для использования в организациях и учреждениях, специализирующихся на подготовке текстовых документов с повышенными требованиями. Это в первую очередь нотариальные и юридические бюро, основной деятельностью которых является формирование стандартизованных юридических документов и их регистрация. Традиционным средством подготовки текстовых документов является Microsoft Word, входящий в семейство продуктов Microsoft Office. В свою очередь, для создания стандартных документов, в этом приложении используется механизм шаблонов (Templates). Рассмотрим типичный пример эволюции стандартного документа. При возникновении необходимости, в организации составляется обычный документ и сохраняется в памяти на “всякий случай”. Когда возникает необходимость составления аналогичного документа, сохраненный “первенец” извлекается из памяти и модифицируется “по месту”. Этот процесс продолжается до тех пор, пока исполнителю не надоедает стирать и замещать переменную информацию. Особенно надоедает многократное замещение нескольких вхождений одинаковых слов или предложений. В этом случае, для избежания ошибок, приходится прибегать к командам поиска и замены. Если редактируемый документ объемный, например “устав предприятия”, то трудно гарантировать, что в обновленном варианте не осталось нежелательных “хвостов” от старого текста. Для исключения ошибок, новый документ приходится тщательно прочитывать перед печатью. Накопившиеся отрицательные эмоции заставляют перейти к следующей стадии эволюции – составлению шаблона. Первоначальный шаблон представляет собой “очищенный” текст, снабженный отметками для указания позиций включения переменной информации. Неоценимым достоинством использования шаблонов является то, что “прототип” документа всегда остается неизменным, что исключает процедуру тщательной проверки. Следующим шагом в эволюции является превращение шаблона в “форму” путем включения специальных полей ввода в позиции, требующие переменной информации. К сожалению, этот метод применим к ограниченному числу документов, имеющих выраженную форму “бланков”. Если в документе присутствуют многократные вхождения одинакового текста, не обойтись без полей, перекрестных ссылок, закладок и МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ использования команд обновления. Это уже новая ступень эволюции, но далеко не предел совершенствования. Впереди вставка полей условий, слияния, автоматизации, и, наконец, VBA – лучшая в мире технология, позволяющая настроить документ в соответствии с запросами конечного пользователя. Рассмотрим теперь особенности нотариальных (юридических) документов. Первое, что бросается в глаза – это обилие текстового написания числовых значений и дат. Второе – это многократные вхождения имен и адресов. Третье – это наличие списков переменной длины (например, виды деятельности, состав участников, подписи сторон и т.д.). Еще одна особенность – это необходимость в формировании нескольких различных документов на одном множестве исходных данных (например, устав, учредительный договор, заявление о регистрации, протокол правления). И, наконец, главная особенность – необходимость в регистрации, сохранении и точном воспроизведении (при необходимости) копий документов. Все перечисленные выше методы реализованы, и отмеченные особенности учтены в новом продукте (solution), разработанном в рамках проекта Microsoft Office Extension. Разработка называется NotarPro и включает следующие компоненты. Две процедуры – утилиты, встраиваемые в Microsoft Word, предназначенные для преобразования обычных документов в шаблоны с полями для замещения переменной информацией. Рабочая книга Microsoft Excel, содержащая формы ввода и таблицы – списки для регистрации сформированных документов. В этом приложении содержатся также основные программы и классы объектов системы. Для успешной работы системы необходимо наличие шаблонов документов. Процесс настройки выглядит следующим образом. В Microsoft Word открывается обычный текстовый документ. В этом документе последовательно выбираются элементы (слова, словосочетания, предложения), на месте которых требуется вставить поле замещения. Вызывается процедура SetProperties, которая создает требуемое поле для каждого вхождения выбранного элемента в тексте всего документа (см. рис 1, 2). МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ Рис. 1 МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ Рис. 2 После подготовки шаблона, совокупность созданных полей замещения экспортируется в книгу Microsoft Excel, где на ее основе создается пара страниц: форма ввода и таблица для регистрации. При этом часть полей, которые могут формироваться автоматически (например, даты и суммы прописью) скрываются от пользователя, что существенно сокращает время заполнения формы в будущем. На рис. 3 показана форма, созданная на основе шаблона учредительного договора паевого товарищества. Рис. 3 Из рисунка видно, что в форме расположены пять командных кнопок и окно выбора варианта шаблона. Команды достаточно очевидны. Это “Открыть документ в Microsoft Word”, “Печать документа”, “Запомнить в картотеке”, “Найти в картотеке” и “Очистить форму”. Что касается окна выбора шаблона, то о нем следует сказать несколько слов. Дело в том, что система предполагает регистрацию всех созданных документов. Если у документов различные поля, то для их регистрации требуются и различные списки. Часто это нежелательно, поскольку документы относятся к одному классу (например, МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ учредительные документы). Для решения этой проблемы выбран следующий подход. Пара “форма + список” создается не для каждого шаблона, а для “семейства” шаблонов сходных документов. Это позволяет с помощью одной формы создавать различные документы и регистрировать все эти документы в едином списке. Формирование документов выполняется следующим образом. Заполняется форма и выбирается вариант шаблона. Если стандартный документ не требует доработки, то нажимается кнопка “Печать”. В результате появляется диалоговое окно, уточняющее количество экземпляров и производится печать документа. При завершении печати производится автоматическая регистрация в списке. Если документ хочется посмотреть или отредактировать вручную, нажимается кнопка с символом Microsoft Word. По заданному шаблону создается документ в работающем или открытом вновь текстовом процессоре. С этого момента приложения работают параллельно! Пользователь может делать с документом, все что ему потребуется, в том числе и печатать. Однако когда он закроет документ, это немедленно зарегистрируется в Microsoft Excel. И если пользователь сохранит документ на диске под уникальным именем, в списке регистрации будет создана гиперссылка, что позволит обратиться к сохраненному документу в любое время. Этим способом достигается оптимальность сохраняемых сведений о сформированных документах. Так, для полностью стандартных документов хранятся только замещающие поля и названия шаблонов, а для сохраненных документов хранятся еще и гиперссылки. На рис. 4 показан регистрационный список, соответствующий форме учредительного договора. МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ Рис. 4 Выбор в качестве базы данных списка Excel обеспечивает простоту реализации в сочетании с полноценным набором функций по обработке информации, начиная с поиска, сортировки, установки фильтров, кончая возможностью применения таких мощных средств, как Сводные таблицы (Pivot Table). Любители СУБД могут автоматически экспортировать такие списки, например в Microsoft Access. Простота реализации в данном случае, имеет определяющее значение, поскольку базу данных предполагается менять достаточно часто (например, при создании новых шаблонов). Для удобства пользователя, для каждого класса шаблонов выделяются ключевые поля для поиска. Эти поля помещаются в открывающийся список, который вызывается непосредственно при работе с формой. Для поиска по ключу достаточно набрать несколько первых букв (см. рис. 5). МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ Рис. 5 При формировании нотариальных документов, для повышения производительности труда, важную роль играют две функции: дата прописью и сумма прописью. В системе имеются обе эти функции, работающие на трех языках: русском, английском и эстонском. Функции универсальные, и могут быть легко распространены на другие языки (см. рис. 6). МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ Рис. 6 Наибольшую сложность при проектировании шаблонов вызывают списки переменной длины. Примеры таких списков – переменное количество сторон в договоре или перечни видов деятельности в учредительных документах. В описываемой разработке применен оригинальный подход, обеспечивающий абсолютную корректность таких включений (отсутствие лишних символов). В этом можно убедиться, проанализировав рис. 7, 8, соответствующие единому шаблону, для 3 и 1 участников договора. МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ Рис. 7. Три участника МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ Рис. 8. Один участник В заключение следует отметить одно важное обстоятельство. Указанная разработка не является законченным программным продуктом, предназначенным для широкого пользователя. Это объясняется тем, что предполагается постоянное пополнение коллекции шаблонов, обслуживаемых системой. Для модификации системы требуется помощь офисного программиста – специалиста, разбирающегося в тонкостях проектирования документов Microsoft Office. Процесс создания шаблона, формирование на его основе формы и списка занимает не менее 1-2 дней. Это следует учитывать потенциальным пользователям.