СРЕДСТВА УПРАВЛЕНИЯ ДОКУМЕНТАМИ НА ОСНОВЕ MICROSOFT OFFICE: ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ - Студенческий научный форум

IV Международная студенческая научная конференция Студенческий научный форум - 2012

СРЕДСТВА УПРАВЛЕНИЯ ДОКУМЕНТАМИ НА ОСНОВЕ MICROSOFT OFFICE: ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
  Введение

Работа посвящена описанию системы Office Reporter, позволяющей автоматизировать процесс работы с отчетными документами на малых предприятиях. Данная система построена на основе интегрированного пакета офисных программ Microsoft Office с использованием таких технологий, как Visual Studio Tools for Office и Office Open XML.

Для всех крупных, иерархически организованных структур (министерств, ведомств, крупных фирм) одним из важнейших факторов обеспечения успешной деятельности является организация эффективного документооборота. При этом наиболее важной и, наверное, одной из самых сложных, является проблема получения информации и отчетности от подчиненных предприятий.

Зачастую эта проблема решается традиционным способом. Головные предприятия формируют бланки отчетов (в бумажном или электронном формате) и затем отправляют их в дочерние организации (по факсу, с курьером или по электронной почте). На местах эти бланки заполняются и затем отправляются обратно вышестоящему подразделению. После соответствующей обработки поступившей информации она становится доступной руководству для принятия управленческих решений.

Этот процесс может быть более длительным, если организация имеет широкую разветвленную иерархическую структуру. На длительность этого процесса могут также повлиять количество линейных подразделений, в которых формируется отчетность, и возможные ошибки, которые могут появиться на любом из этапов процесса.

Как мы видим, подобный процесс не подходит для многих организаций, т.к. не способен справиться с большим потоком информации и может длиться продолжительное время и тем самым является непригодным для принятия оперативных решений.

Однако на современном рынке программного обеспечения уже достаточно давно существуют системы, предназначенные для автоматизации процесса документооборота, так называемые системы электронного документооборота (СЭД). Они позволяют автоматизировать все процессы: создание документов, редактирование существующих, архивирование и т.д.

При этом системы ЭД тоже имеют некоторые ограничения в сфере применения. Большинство систем этого класса подходят только для крупных организаций: они имеют достаточно большую стоимость, их внедрение представляет сложный и длительный процесс, требующий привлечения квалифицированных специалистов и обучения конечных пользователей.

Таким образом, на сегодняшний день на рынке программного обеспечения практически нет программных систем, которые могли бы использоваться для автоматизации процесса документооборота на небольшом предприятии.

Однако создание такой системы «с нуля» не является удачным решением из-за больших денежных и временных затрат. К тому же, в результате избрания такого подхода может получиться система, не обладающая достаточной «гибкостью», т.е. возможностью расширения и интеграции.

Наиболее приемлемым вариантом решения является построение такой системы на базе существующего пакета офисных программ. В этом случае система не будет нуждаться в сложном процессе внедрения и развертывания, практически исключена необходимость дополнительного обучения конечных пользователей, т.к. они будут работать со знакомым интерфейсом.

Для конкретной реализации был избран пакет Microsoft Office, т.к. он является одним самых широко используемых офисных пакетов и к тому же обладает наибольшими возможностями для расширения.

Цель данной работы - создание системы, позволяющей автоматизировать процесс работы с отчетными документами на малых предприятиях, построенной на основе интегрированного пакета офисных программ Microsoft Office, удовлетворяющей следующим требованиям:

  • низкая стоимость;
  • простота внедрения и отсутствие необходимости доработки системы для конкретного предприятия;
  • отсутствие необходимости специального обучения конечных пользователей системы;
  • возможность будущего расширения системы без потери существующего функционала.

Microsoft Office как среда разработки

Microsoft Office является лидирующим в мире офисным продуктом для настольных компьютеров. Доля розничного рынка Microsoft Office составляет 84% при достаточно высокой стоимости пакета, а в корпоративном сегменте этот показатель еще выше.

Благодаря использованию приложений Microsoft Office в качестве интерфейса для разрабатываемых решений разработчики могут воспользоваться преимуществом привычных пользовательских интерфейсов системы Microsoft Office и таких средств, как обработка текстов в программе Word, функции анализа данных программы Excel и функции управления электронной почтой программы Outlook.

В настоящее время Microsoft Office можно использоваться в качестве настоящей платформы для создания и развертывания бизнес-приложений, так называемых Office Business Applications (OBA). Бизнес-приложения на основе MS Office - это развивающийся класс приложений для решения практических задач и важных проблем бизнеса. Приложения создаются с помощью эффективной интеграции существующего программного обеспечения и различных приложений Office (Word, Excel, Outlook и SharePoint Server) с бизнес-системами, например SAP.

Разработка OBA-приложений для Microsoft Office

Visual Studio Tools for Office (VSTO) представляет собой набор средств разработки, интегрированных в Visual Studio, позволяющих Microsoft Office 2003 и более поздним версиям Office использовать все возможности .NET Framework (ADO.NET, LINQ, WPF, WCF и т.д.). VSTO - это мощный набор инструментов и функций, позволяющий разработчикам расширять и настраивать приложения Microsoft Office с помощью Visual Basic и C#. Он включает интеграцию разработки управляемого кода с Microsoft Office и Microsoft Office SharePoint. Он также содержит визуальный конструктор Ribbon для настройки Ribbon в Office и программирования с использованием простой модели программирования наподобие Windows Forms.

Кроме того, в состав VSTO входят визуальные конструкторы для программ Word и Excel, появляющиеся внутри среды IDE Visual Studio. Это позволяет документам выступать в качестве визуальной области проектирования, что упрощает создание мощных решений на основе документов. В VSTO также доступны возможности создания документов Word с помощью новых элементов управления содержимым Word с полной поддержкой привязки данных в стиле ADO.NET, перетаскивания из окна источников данных и сетки свойств.

VSTO поддерживает следующие версии Microsoft Office: 2003, 2007 и 2010. Библиотека классов VSTO поставляется в двух вариантах, по одной для каждой из версий Office с использованием разных наборов сборок.

В Visual Studio имеются следующие типы шаблонов проектов для разработки Office:

  • Настройки уровня документа. Этот тип решения связан с конкретным документом.
  • Надстройки уровня приложения. Этот тип решения связан с самим приложением.

Чтобы решить, какие из этих типов проектов оптимальны для данного решения, следует учесть то, должен ли код выполняться, только когда открыт определенный документ, или код должен быть доступен в любой момент, если запущено приложение Microsoft Office.

Описание системы Office Reporter

Основная цель системы Office Reporter: автоматизация процесса сбора и анализа отчетной документации.

Для осуществления данной цели система должна решать следующие задачи:

  • 1) Автоматизация процесса формирования и заполнения отчетной документации. Использование механизмов, позволяющих минимизировать пользовательский ввод и осуществлять проверку корректности введенной информации.
  • 2) Предоставление возможности анализа уже заполненной документации.

На рис. 1 схематично изображен рабочий процесс, используемый при работе с системой Office Reporter. Основными действующими лицами данного процесса являются:

  • 1) Руководитель организации (или старший менеджер). Его основной целью является получение и анализ отчетной информации о деятельности предприятия.
  • 2) Работник. Основная цель работника состоит в заполнении отчетной документации.
  • 3) Менеджер. Выполняет работу по консолидации уже заполненных отчетных документов и подготавливает их к последующему анализу.

Стоит отметить, что список действующих лиц заведомо избыточен. Функции менеджера могут быть выполнены непосредственно руководителем.

На первом этапе рабочего процесса руководитель выбирает те аспекты работы организации, информацию о которых ему необходимо получить (например, данные о продажах или заключенных сделках за определенный период времени).

На следующем этапе начинается работа с системой Office Reporter, которая позволяет значительно упростить процесс подготовки отчетной информации (рис. 2).

В процессе работы с системой первоначально формируется шаблон отчетного документа. Шаблон представляет собой размеченный особым образом документ Microsoft Word, содержащий метаданные, описывающие возможные типы данных, которыми может быть заполнен данный шаблон.

После подготовки шаблона, он рассылается работникам организации для его заполнения. В процессе ввода данных система контролирует корректность введенной информации, используя метаданные содержащиеся в данном шаблоне. После окончания ввода система сериализует все введенные данные в формате XML и сохраняет их в отдельном файле, который размещается внутри данного отчетного документа.

После этого менеджер или непосредственно сам руководитель подготавливают данные, содержащиеся в заполненных шаблонах, к анализу. С помощью приложения Office Reporter Exporter ответственное лицо выбирает данные, которые должны быть проанализированы и экспортирует их в приложение Microsoft Excel.

После экспорта с помощью средств, предоставляемых Microsoft Excel, проводится подробный анализ выбранных аспектов работы организации и принимаются соответствующие управленческие решения.

Архитектура системы Office Reporter

Модульная структура

Система Office Reporter имеет модульную структуру и состоит из трех основных модулей:

  • OfficeReporterWordAddIn - надстройка уровня приложения для MicrosoftWord, позволяющая упростить процесс создания и заполнения отчетной документации.
  • OfficeReporterExporter - оконное приложение, предоставляющее возможность первоначального анализа документов, созданных с помощью WordAddIn, а также возможность экспорта бизнес-данных в MicrosoftExcel.
  • OfficeReporterShellExtension - внутрипроцессный COM-сервер, расширяющий контекстное меню Windows Explorer.

На рис. 3 изображена архитектура системы. Каждый блок представляет отдельное приложение системы. Также для каждого приложения указаны использовавшиеся платформа и технологии.

Использование технологии VSTO возможно только на платформе .NET, поэтому это единственный возможный выбор для приложения Word AddIn.

Основная причина выбора платформы .NET для приложения Exporter является использование пакета Open XML SDK 2.0, значительно упрощающего работу с форматом OOXML по сравнению с использованием W3C DOM.

Для приложения Shell Extension естественным выбором является платформа COM и язык C++, т.к. Windows Explorer также представляет COM-приложение. Хотя возможен вариант с использованием управляемого кода и платформы .NET, однако его использование не рекомендуется Microsoft, из-за его неэффективности.

Взаимодействие модулей

На рис. 4 изображено взаимодействие приложений системы. Пакет Office Reporter интегрирует два основных приложения пакета Microsoft Office: Word и Excel. С помощью приложения Shell Extension они могут взаимодействовать через Windows Explorer.

Приложение Office Reporter Word AddIn

Приложение Office Reporter Word AddIn построено с использованием технологии VSTO и оформлено в качестве надстройки уровня приложения (application-level add-in). Это означает, что все функции данного приложения будут доступны каждый раз при запуске Microsoft Word.

Технология VSTO, так же, как и все Windows-программы, для организации взаимодействия с пользователем использует механизм событий. Каждое событие генерируется в ответ на действия пользователя и/или приложения Microsoft Office. Поэтому, если требуется реакция в ответ на действие, повлекшее генерацию события, система должна быть соответствующим образом «подписана» на него.

Основными событиями являются: открытие/закрытие, сохранение документа, добавления нового элемента управления содержимым и т.д.

Интерфейс Office Reporter Word AddIn

Диалог с пользователем осуществляется с помощью основных элементов интерфейса приложений Microsoft Office: элементы управления содержимым (Content Controls - только в Microsoft Word), панель действий (Actions Pane) и элемента «Лента» (Ribbon).

Элемент «Лента» (Ribbon)

Начиная с версии 2007, в большей части приложений Microsoft Office классическое меню было заменено элементом Ribbon. Данный элемент совмещает в себе функции как меню, так и панели управления, что позволяет ускорить доступ к часто используемым пользователями функциям.

С помощью технологии VSTO, используя специальный визуальный дизайнер, можно разрабатывать свои собственные элементы Ribbon. В приложении Word AddIn элемент Ribbon используется, для обеспечения доступа к основным функциям: проверке заполненного шаблона, получения информации о текущем шаблоне и т.д. Пример приведен на рис. 5.

 

Панель задач (Task Pane)

Панель задач - это специализированная панель управления, размещаемая в области приложений Microsoft Office (Word или Excel). Ее также можно создавать с помощью специального визуального дизайнера. На панели действий могут размещаться элементы управления Windows Forms или Windows Presentation Foundation.

В приложении Office Reporter Word AddIn предпочтение отдается именно Windows Forms. На рис. 6 приведен пример такого элемента управления. Он состоит из списка, в котором содержатся информация обо всех управляемых элементах управления содержимым (Content Controls) данного документа, а также кнопок, с помощью которых можно осуществлять управление данными элементами управления (изменение, удаление).

Элементы управления Windows Forms

Перечисленных выше возможностей не хватает для полноценной организации диалога с пользователем. Более привычным для большинства пользователей способом взаимодействия с программными комплексами являются экранные формы. Для их создания также используется технология Windows Forms.

В приложении Word AddIn экранные формы используются для задания типов элементам управления содержимым. После добавления очередного элемента управления в документ, появляется экранная форма, с помощью которой пользователь может выбрать один из существующих типов или создать новый. Пример такой формы приведен на рис. 7.

Типы, используемые в Office Reporter Word AddIn

Для обеспечения контроля вводимых данных была разработана система пользовательских типов. Она представлена шестью типами и набором соответствующих ограничений. Данные типы используются для контроля вводимых в Content Controls данных.

Описание пользовательских типов данных:

  • - Текстовый - пользователь может вводить в поле соответствующего типа любые символьные данные.
    Ограничения: максимальная длина (может быть установлено максимальное число символов для конкретного поля).
  • - Целочисленный - в поле соответствующего типа могут быть введены только целые числа.
    Ограничения: минимальное значение (ограничивается минимальное допустимое значение введенного числа), максимальное значение (ограничивается максимальное допустимое значение введенного числа).
  • - Действительный - в поле соответствующего типа могут быть введены любые действительные числа.
    Ограничения: минимальное значение, максимальное значение.
  • - Перечислимый - пользователь указывает набор допустимых значений, которые будут доступны посредством выпадающих список (Combo Box, Drop-Down List).
  • - Дата и время - используется для контроля ввода данных, содержащих значения даты и/или времени в различных региональных форматах.
    Ограничения: минимальное значение, максимальное значение.
  • - Пользовательский - пользователю предоставляется возможность разработки собственного типа. Множество допустимых значений задается с помощью регулярных выражений.
  • - Специальные типы. Для удобства пользователя создан набор предустановленных типов (на базе пользовательского типа), которые наиболее часто используются в работе: «номер паспорта», «e-mail», «номер телефона» и т.п.

Каждый тип имеет один (или несколько) соответствующих элементов управления Word, совместно с которыми он должен использоваться. В табл. 1 показано соответствие между системой пользовательских типов и элементами управления.

Таблица 1. Соответствие между системой пользовательских типов и
элементами управления

Тип

Элемент управления

Текстовый

Plain Text Control, Rich Text Control

Целочисленный

Plain Text Control

Действительный

Plain Text Control

Перечислимый

Combo Box, Drop-Down List

Дата и время

Date Picker

Пользовательский

Plain Text Control, Rich Text Control

Внутреннее представление пользовательских типов

Для внутреннего представления пользовательских типов во время работы программы была разработана система классов. На рис. 8 изображена UML-диаграмма, представляющая иерархию классов, используемых для представления пользовательских типов.

В табл. 2 указано соответствие между описанной выше системой пользовательских типов данных и их внутренним представлением.

Таблица 2. Соответствие между системой пользовательских типов и
их внутренним представлением

Пользовательский тип данных

Внутреннее представление

Текстовый

TextType

Целочисленный

IntegerType

Действительный

FloatType

Перечислимый

EnumType

Дата и время

DateTimeType

Пользовательский

UserType

Специальные типы

SpecialTypes

Представление пользовательских типов во внешней памяти

Начиная с версии 2007 большинство приложений Microsoft Office перешли на использование нового формата хранения данных, построенного на основе XML. Например, документы Word или Excel, имеющие расширения .docx или .xslx соответственно, представляют собой архивы (сжатые по технологии ZIP), содержащие XML файлы, описывающие данные документы.

Для хранения информации между сеансами работы с системой принято решение использовать также формат XML. Для представления каждого пользовательского типа разработано свое особое представление. На рис. 9 представлен фрагмент такого описания.

Режимы работы Office Reporter Word AddIn

Система Office Reporter предназначена для работы в двух основных режимах: режиме формирования шаблона нового отчетного документа и в режиме заполнения шаблона.

Режим формирования шаблона

Данный режим предназначается для формирования структуры нового шаблона. С использованием стандартных средств форматирования приложений Microsoft Office создается стилистическое оформление шаблона. Затем с помощью вкладки Разработка (Developer) и панели управления пользователь формирует логическую структуру шаблона: добавляет элементы управления содержимым и назначает каждому из них соответствующий тип. Это обеспечит корректность вводимых данных при будущем заполнении шаблона.

Режим заполнения шаблона

В режиме заполнения пользователь наполняет ранее сформированную структуру шаблона конкретными данными. Пользователь может изменять только содержимое элементов управления содержимым, изменение остальных частей шаблона ему недоступно. При этом ему недоступны также средства, используемые в режиме формирования шаблона. При введении данных в один из элементов управления содержимым система проверяет соответствие их формата введенной информации и типа, назначенного данному элементу управления.

 Приложение Office Reporter Exporter

Office Reporter Exporter представляет собой стандартное оконное приложение Windows созданное с помощью технологии Windows Forms.

Основными задачами, выполняемыми с помощью Office Reporter Exporter являются:

  • 1. Первичный анализ файлов, созданных с помощью WordAddIn (управляемых файлов).
  • 2. Экспорт информации из управляемых файлов в Microsoft Excel для дальнейшего анализа.

Приложению в качестве параметров командной строки передаются имена управляемых файлов или название каталога, содержащего данные файлы. Открыть новые файлы можно также с помощью соответствующего пункта главного меню программы.

Программа производит проверку входных параметров и в случае их корректности начинает обработку указанных файлов. Из каждого управляемого файла извлекается информация, содержащаяся в специальном XML файле. Извлеченная информация проходит первичную обработку и поступает в специализированную структуру данных, которая затем используется для отображения полученной информации на экранной форме.

Интерфейс Office Reporter Exporter

Главная форма приложения Exporter изображена на рис. 10. Основной функционал приложения доступен посредством главного меню и панели управления, содержащей наиболее часто используемые функции. Внизу формы располагается статусная строка, на которой пользователь может увидеть информацию о результате произведенных им действий, например, о количестве экспортированных файлов.

 

На клиентской части формы располагаются два элемента управления List View, на которых отображается информация об экспортированных данных. На верхнем элементе управления информация представлена в структурированном виде: отображаются группы данных с одинаковым именем и типом. На нижнем элементе управления отображается более подробная информация о выбранной в данный момент времени группе.

С помощью элементов управления CheckBox пользователь может выбрать данные для экспорта.

Инструмент «Фильтр»

В случае, если число обрабатываемых с помощью приложения Office Reporter Exporter файлов велико, бывает затруднительно выбрать необходимые для экспорта данные. Инструмент «Фильтр» (рис. 11) предназначен именно для таких случаев. С его помощью можно пользователь может отфильтровать часть данных согласно одному или нескольким признакам.

Инструмент «Фильтр» запускается с помощью пункта меню «Фильтр» или соответствующей кнопки на панели управления. После этого на экране появляется форма, с помощью которой пользователь может выбрать условия для фильтрации.

Условия, используемые для фильтрации, состоят из трех частей:

  • имени атрибута («имя», «тип», «значение», «документ»);
  • значения атрибута;
  • условия, определяющего связь между ними («является», «не является», «содержит», «не содержит», «начинается с», «заканчивается на»).

После нажатия на кнопку «Применить» к обработанным данным последовательно начинают применяться все отмеченные фильтры.

Для реализации функционала данного инструмента широко использовались функциональные возможности, предоставляемые языком C# 4.0: лямбда-выражения и LINQ и так называемые «методы расширения» (extension methods).

Основной функционал сосредоточен в статическом классе FilterFactory. Данный класс содержит два вида полей, используемых при фильтрации:

•селекторы (IsASelector, IsNotASelector, ContainsSelector и т.д.), определяющие выполняется ли между значением аттрибута и значением, введеным пользователем в поле «Значение» заданное условие («является», «не является», «содержит» и т.д.);

•селекторы атрибутов (MainDocumentSelector, MainNameSelector), определяющие для какого именно атрибута выполняется заданное пользователем условие.

Реализация данных селекторов является достаточно примитивной и в основном использует существующие возможности класса System.String, входящего в .NET Framework.

При дальнейшем расширении возможностей инструмента достаточно определить необходимые селекторы и дополнить метод ApplyFilter соответствующим кодом.

Инструмент «Экспорт»

В случае, если шаблоны, заполненные с помощью Office Reporter Word AddIn, имеют значительный объем или содержат многочисленные числовые данные, бывает весьма затруднительно анализировать данные файлы.

С помощью инструмента «Экспорт» можно экспортировать бизнес-данные, содержащиеся в данных файлах, в Microsoft Excel, имеющий удобные средства для анализа. На рис. 12 изображен пример уже готового отчета, сформированного на основе 15 заполненных шаблонов.

В каждой строке содержатся данные, содержащиеся в соответствующем шаблоне. По умолчанию данные оформляются в виде таблицы с автофильтрами. С помощью них можно провести первоначальный анализ: найти минимум или максимум и т.д.

Весь функционал инструмента «Экспорт» сосредоточен в статическом классе Exporter. В нем содержатся методы, которые создают минимально полную структуры .xlsx файла, наполняют его данными, отмеченными пользователем для экспорта, и оформляют их в виде таблицы с некоторым оформлением.

Дальнейшее расширение функционала инструмента «Экспорт» предполагает:

  • 1) добавление в .xlsx файл вычислимых ячеек, рассчитывающих некоторые показатели по экспортируемым данным;
  • 2) добавление в .xlsx файл диаграммы, отображающей зависимости между экспортируемыми данными.

Стоит отметить, что при добавлении в инструмент «Экспорт» нового функционала удобно воспользоваться специальной утилитой Open XML SDK 2.0 Productivity Tool. Данная утилита предоставляет возможности по генерации кода (на языке С#) на основе существующих OOXML файлов (в том числе и файлов .xlsx).

Приложение Office Reporter Shell Extension

Приложение Office Reporter Shell Extension представляет собой внутрипроцессный COM-сервер, расширяющий контекстное меню Windows Explorer. При выделении файлов, имеющих расширение .docx, и нажатии правой клавиши мыши в появившемся контекстном меню появляется дополнительный пункт, позволяющий запустить приложение Office Reporter Exporter для обработки выделенных файлов. Стоит отметить, что при выделении файлов, имеющих расширение, отличное от .docx, данный пункт будет недоступен.

На рис. 13 представлен пример использования данного приложения.

Архитектура Office Reporter Shell Extension

Основной функционал приложения сосредоточен в единственном коклассе сервера: CoOfficeReporterShellExtension. На рис. 14 схематически изображен данный кокласс и реализуемые им интерфейсы:

  • IUnknown - стандартный интерфейс, который должен реализовывать любой кокласс.
    Методы: AddRef, Release, QueryInterface.
    Предназначение: управление временем жизни объекта кокласса и предоставление доступа к другим интерфейсам, реализуемым данным классом.
  • IShellExtInit - интерфейс WindowsShell.
    Методы: Initialize.
    Предназначение: инициализация обработчика пункта контекстного меню, реализация логики, определяющей будет ли доступен новый пункт меню пользователю.
  • IContextMenu - интерфейс WindowsShell.
    Методы: GetCommandString, InvokeCommand, QueryContextMenu.
    Предназначение: определение внешнего вида нового пункта меню (загрука иконки и текста), определение команды, которая будет выполнена при нажатии пользователем на данный пункт меню.

 

Регистрация Office Reporter Shell Extension

Как и любой COM-сервер, приложение Office Reporter Shell Extension перед началом использования должно быть соответствующим образом зарегистрировано в реестре Windows. Помимо регистрации COM-составляющей, в реестре также должен быть зарегистрирован обработчик, вызываемый при нажатии на пункт контекстного меню.

В данной реализации для регистрации используются стандартные функции, экспортируемые DLL, в которой находится COM-сервер: DllRegisterServer, DllUnregisterServer.

Для регистрации приложения необходимо воспользоваться утилитой regsvr32.exe, находящейся в системном каталоге (обычно, это C:windowssystem32). Данную утилиту необходимо запустить из командной строки с использованием учетной записи администратора.

Для регистрации необходимо в командной строке необходимо набрать следующее:

regsvr32.exe OfficeReporterShellExtension.dll

Для отмены регистрации:

regsvr32.exe /u OfficeReporterShellExtension.dll

Заключение

На современном рынке корпоративного ПО системы электронного документооборота занимают лидирующее положение, и все больше организаций стремятся внедрить их в процесс своей работы. Однако большая часть систем данного класса ориентированы в первую очередь на крупные организации и их применение на малых предприятиях затруднительно, а зачастую просто невыгодно. Основными причинами этого являются: высокая стоимость систем ЭД (в случае проприетарных лицензий), сложность внедрения и поддержки, необходимость обучения конечных пользователей. К тому же зачастую функционал существующих систем ЭД намного превышает потребности малых предприятий, основными задачами для которых являются работа с отчетными документами.

Результатом данной работы является система Office Reporter, предназначенная для автоматизации процесса работы с отчетными документами.

Система состоит из трех приложений: Word AddIn, Exporter, Shell Extension, каждое из которых предназначено для выполнения определенной задачи.

Работа с Word AddIn разделяется на два этапа:

  • Первый - создание с помощью специальных средств, шаблона отчетного документа, формирование его логической структуры. В документе размещаются элементы управления, в которые будут вводиться данные (при этом никакие другие части документа не будут доступны для изменения), и задаются соответствующие типы, определяющие формат вводимых данных.
  • Второй - заполнение готового шаблона конкретными данными с контролем корректности. Если вводимая информация не соответствует заданному типу, то пользователь будет уведомлен об этом.

С помощью приложения Exporter пользователь может провести первоначальный анализ уже заполненных с помощью Word AddIn шаблонов, а также экспортировать их в Microsoft Excel для дальнейшего анализа.

Приложение Shell Extension предоставляет удобный способ запуска Exporter с помощью контекстного меню Windows Explorer.

Использование данной системы позволит упростить процесс работы с отчетными документами на малом предприятии. Однако стоит отметить, что данная система решает только очень узкий спектр задач автоматизации документооборота и предназначается в первую очередь для малых предприятий, численность сотрудников которых не превышает пятидесяти человек. Для более крупных организаций целесообразно использоваться полноценные системы ЭД (например, рассмотренные в главе 2) или рассмотреть возможности расширения данной системы.

В данной работе рассмотрена первая система Office Reporter, имеющая ограниченный функционал. Однако технология VSTO предоставляет огромные средства для интеграции и других приложений Microsoft Office, не рассмотренных в данной работе: Microsoft Outlook, Microsoft OneNote, Microsoft PowerPoint.

С помощью технологий VSTO и ADO.NET можно интегрировать данную систему с современными СУБД (Microsoft Sql Server, Oracle, MySql и т.д.). Это позволит решать задачи архивации данных и повысит надежность системы.

Благодаря открытому формату Office Open XML и соответствующему API, имеющему множество версий для различных языков программирования (C#, Java, C++, PHP и т.д.), возможна интеграция разработанной системы в одну из существующих СЭД.

С помощью Open XML SDK возможна автоматическая обработка отчетных документов, заполненных с помощью данной системы, даже без использования приложений Microsoft Office: извлечение данных из отчетных документов.

Библиографический список

  1. ЛанинВ.В., ЛядоваЛ.Н., РычковА.Ю. Системы управления электронными документами. - Пермь: Пермский университет. 2007. 87с.
  2. ЛанинВ.В., ЛядоваЛ.Н. Система оперативной подготовки отчетов Office CASE. Рекламно-техническое описание. 55с.
  3. ФедоровА.А. Office Business Applications. Ключевые сценарии и типовые подходы к реализации. М.: Русская редакция. 2007. 59с.
  4. BruneyA. Professional VSTO 2005: Visual Studio 2005 Tools for Office. Wiley Publishing, Inc. 2006. 339c.
  5. FoxS., SheldonB. Professional Office Business Application Development Using Microsoft Office SharePoint Server 2007 and VSTO. Wiley Publishing, Inc. 2006. 333c.
  6. McGrathK., StubbsP. VSTO for Mere Mortals. A VBA Developer´s Guide to Microsoft Office Development Using Visual Studio 2005 Tools for Office.
  7. Thangaswamy V. VSTO 3.0 for Office 2007 Programming. Packet Publishing. 2009. 260с.
  8. Wouter van Vugt. Open XML. The markup explained.
Просмотров работы: 23