Наука к Образование
МГТУ им. Н.Э. Баумана
Сетевое научное издание
Наука и Образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2015. № 08. С. 252-268.
DOI: 10.7463/0815.0786571
Представлена в редакцию: Исправлена:
© МГТУ им. Н.Э. Баумана
УДК 004.423
Двухфазная технология формирования выходных документов в информационных системах на основе MS WORD
25.06.2015 11.07.2015
Большаков С. А.1' , Спиридонов С. Б.1
b olbhakovigbmbtij ли 1МГТУ им. Н.Э. Баумана, Москва, Россия
В данной статье рассмотрена двухфазная технология формирования и генерации выходных документов информационных систем основанная на универсальном текстовом процессоре MS Word. В ней изложены как технологические, так и программные аспекты подхода. Данная технология довольно успешно использовалась и используется в настоящее время в целом ряде информационных систем, что на практике показало эффективность и полезность деления этапов формирования выходных документов на две фазы. Суть изложенного подхода заключается в том, что процесс формирования документа разбивается на две этапа. На первом этапе в прикладной программе информационной системе с помощью доступных процедур выполняется выборка из БД, а результаты записываются в отдельный текстовый интерфейсный файл, который имеет заданную структуру. Эти действия выполняются прикладной программой, на том языке, на котором реализована вся информационная система. На втором этапе запускается текстовый редактор универсального типа (в нашем случае MS Word), который на основе встроенных программ - макросов в заранее подготовленный шаблон, выполняет окончательную генерацию выходного документа. Значительное удобство в сопровождении и автономной отладке позволило системам, которые на ней основаны, значительно увеличить жизненный цикл и служить основой для модернизации и сопровождения. Особое преимущество при использовании двухфазной технологии проявляется при отладке процедур формирования выходных документов, так как даже для сложных алгоритмов при разбиении процесса на две части наблюдается значительное упрощение процесса отладки, снижение его длительности и трудоемкости. В статье рассмотрены способы формирования простейшего вида выходного документа - справки. На основе представленного материала, алгоритмов и отлаженных процедур читатель самостоятельно сможет повторить данный процесс или даже создать свой собственный отчет на базе MS Word.
Ключевые слова: информационная система, программирование, выходной документ, генерация отчетов, выборка из базы данных, макрос, Visual Basic for Application (VBA), MS Word
Введение
Использование информационных технологий немыслимо без получения результирующей информации для дальнейшего применения. Эта информация с помощью прикладной программы может быть:
- оперативно выводиться на экран компьютера в виде экранной формы,
- сохраняться в электронном виде в файловой системе или БД,
- распечатываться на принтере в виде твердой копии (документа - отчета).
Для первого случая характерно использование данных без дальнейшего запоминания, так как они могут быть повторно и быстро получены при необходимости и являются оперативными. Для второго и третьего случая документы запоминаются в специальных архивах в электронном или бумажном виде. Принято называть такие данные информационных систем выходными документами [14] или отчетами (Reports). В зависимости от типа информационных систем выходные документы имеют разную форму и назначение: от квитанций для оплаты до специальных документов стандартизованного вида (договоров, справок и т.д.). Состав и структура выходных документов при создании информационных систем является предметом проектирования и, в целом, во многом определяет ценность самой информационной системы. Здесь можем также отметить, что развитие и сопровождение информационных систем тесно связано, а даже, возможно, определяется изменениями и развитием совокупностью выходных документов и их содержанием.
Так как выходные документы очень важны, то во всех системах программирования (и универсальных и специализированных) предусматриваются специальные средства для построения и вывода выходных документов (CTD, SQL Server, Oracle, C++, Delphi -[4,5,7,8,9,10]). Кроме этого, выпускаются специальные и универсальные программные продукты, ориентированные на построение отчетов (Report Builder, Cristal Reports [4,12,13,14]).
Однако использование данных инструментальных средств подготовки и вывода выходных документов имеет ряд недостатков, которые мы рассмотрим ниже. В этой же статье рассматривается альтернативный способ построения выходных документов, ориентированный на использование универсальных текстовых процессоров, таких как MS OFFICE WORD или MS OFFICE EXCEL [1,3]. Как будет показано ниже, такой подход позволяет снизить влияние недостатков универсальных систем формирования отчетов в информационных системах.
Разновидности технологий формирования отчетов
Принципиально возможны следующие варианты технологий формирования выходных документов:
- Применение специализированных продуктов - генераторов отчетов,
- Формирование вывода на печать или в файл прикладной программой и внутренними средствами систем программирования, в том числе и встроенных генераторов отчетов,
- Использование универсальных текстовых процессоров для окончательного оформления отчетного документа.
Генераторы отчетов являются [4,12,13,14] дорогостоящими программными продуктами и доступны в рамках сложных программных систем, требуют специалистов для их настройки, то есть их применение не всегда экономически целесообразно.
Формирование вывода на печать средствами систем программирования, которые не всегда удобны [4,5,8,9,10] или встроенных генераторов также приводит к дополнительным затратам требует также подготовленного пользователя (создание шаблонно вывода, управление запросами и т.д.). В этих случаях практически исключается окончательное форматирование выходного документа, которое необходимо в большинстве случаев, например разбивка на страницы, и при необходимости его изменение и корректировка, что часто необходимо при оперативной печати. Не всегда возможно сохранение копии документа в виде твердой копии и создание архивов выходных документов. Наблюдается зависимость прикладной системы от генератора отчетов.
При использовании универсальных текстовых процессоров, для окончательной обработки документа налицо преимущество - владение конечным пользователем технологией работы с ними (все делопроизводство на них основано) и доступность самих продуктов, входящих в комплекс программ рабочего места работника.
Кроме этого, возможны и комбинированные технологии работ с выходными документами, как например в MS Access и VBA [3,6].
Рассмотрим ниже технологию использования универсальных текстовых процессоров в контуре информационных систем с базами данных для окончательной обработки выходных документов в системе.
Двухфазная технология формирования выходных документов
На рисунке, расположенном ниже, представлены элементы и шаги двухфазной технологии формирования выходных документов в информационной системе. Эти фазы в общем виде означают следующее:
- Формирование в прикладной программе информационной системы интерфейсного файла с данными из БД,
- Обработка этого файла в MS WORD с помощью макроса и автоматическое построение отчетного документа.
Рисунок. 1 Двухфазная технология формирования отчетов
Более детально по шагам этот процесс выглядит так:
1-й шаг - Формирование выборки из БД ИС на основе конкретных запросов сформированных пользователем в прикладной программе. Такие запросы выполняются специализированными функциями и чаще всего основаны на SQL операторах, формируемых в программе.
2-й шаг - На основе полученной выборки формируется простой текстовый файл (у нас - интерфейсный файл), который содержит в упорядоченном виде информацию выборки. Упорядоченность необходима для дальнейшей однозначной интерпретации данных.
3-й шаг - Выполняется автоматизированный запуск универсального текстового процессора (в нашем случае MS WORD), с параметрами, указывающими какой из шаблонов, заранее подготовленных пользователем шаблонов, нужно использовать в данном конкретном случае.
4-й шаг - Текстовый процессор загружает заданный шаблон (в нашем случае -Report.doc) и вызывает программу (макрос) на Visual Basic for Application (VBA) [2,3], прикрепленную к данному шаблону (в нашем случае - макрос Formdoc).
5-й шаг - Программа макроса выполняется, причем она считывает данные из интерфейсного файла (6-й шаг) и вставляет эти данные в формируемый выходной документ (7-й шаг). Вставка в документ данных выполняется последовательно на основе закладок (Bookmark), которые предусмотрены в шаблоне документа. Далее документу может быть присвоено название файла, передаваемое из прикладной программы, а работа с ним может быть продолжена, как с любым документом, сделанным в универсальном текстовом редакторе.
Разновидности документов формируемых на основе двухфазной
технологии
На основе такой технологии могут быть разработаны выходные документы следующих типов:
- Выходной документ типа Справка (блок данных), в котором данные не имеют периодического характера, например сведения о сотруднике организации.
- Выходной документ типа Линейная выборка (таблица), в котором данные имеют повторяющий характер и записываются в простую таблицу текстового процессора, например список сотрудников отдела.
- Выходной документ типа Двумерная выборка (матрица), в котором данные имеют повторяющий характер и записываются в объемную таблицу текстового процессора, например список табельного учета сотрудников отдела по месяцам.
Во всех случаях основными отличиями разновидностей формируемых документов являются: структура интерфейсного файла, форма исходного шаблона документа и программа на VBA формирования выходного документа. Рассмотрим первоначально для ознакомления простейший вид отчетного документа, позволяющего сформировать справку и данных сотрудника.
Достоинства и недостатки двухфазной технологии
Двухфазная технология имеет достоинства и недостатки. В качестве достоинств можно выделить следующие особенности:
- Программа, формирующая интерфейсный файл может быть написана на любом языке и в любой системе программирования, так как текстовый файл можно построить в любой инструментальной среде, в отличие форматов, используемых в генераторах отсчетов.
- Практически нет ограничений по размеру формируемой выборки, так как текстовые файлы (для интерфейсного файла) занимают минимальное место, а текстовые процессоры тоже рассчитаны на большие объемы.
- В программах макросов, написанных на VBA также минимальное число ограничений, так как это Объектно-ориентированный язык с универсальными возможностями.
- Распространенность среди пользователей MS Office и MS WORD, поэтому не нужна их специальная подготовка, при этом заметим, что большая часть информационных систем направлена именно на создание выходных документов.
- Возможность дополнительного форматирования выходного документа пользователем и внесение оперативных изменений в документ при необходимости.
- Возможность автономной отладки отдельных фаз технологии (двух): разработки макроса шаблона с текстовым интерфейсным файлом и отладки прикладной программы, по формированию интерфейсного файла.
- Незначительная добавочная стоимость для прикладной системы, так как в каждом офисе имеется в наличии используемый текстовый процессор.
- Относительно простое сопровождение программных продуктов с позиций разработчиков, так как включение новых документов не затрагивает всю систему, а только выборку данных и формирование автономных шаблонов.
В качестве недостатков двухфазной технологии можно выделить следующие особенности:
- Необходимость изменения прикладной программы и шаблонов документа при изменении требований и добавлении новых документов на этапе сопровождения программного продукта.
- Потребность в разработке новых шаблонов при новых пользовательских требованиях.
- Необходимость настройки и повторной отладки шаблонов и программ при использовании новых версий текстовых процессоров и новых версий используемых процессоров.
В качестве альтернативных вариантов двухфазной технологии формирования выходных документов можно выделить следующие:
- Использование АХ и СОМ инструментов для передачи текстовому редактору информации, полученной из БД. В этом случае создается СОМ - объект текстового процессора, а взаимодействие с ним выполняется на основе инкапсулированных методов
- Формирование выборки на основе ODBC источника, а обработку данных выполнять с помощью VBA макроса, как рассмотрено в основном варианте технологии [3].
Эти технологические возможности не рассматриваются в данной статье, хотя имеются положительные примеры их применения [11].
Пример реализации двухфазной технологии для отчета типа Справка
Рассмотрим на примере реализацию двухфазной технологии для формирования отчета типа Справка. Особенностью таких выходных документов является заранее известное и конечное число данных, которые нужно разместить в документе, например анкетные данные работника.
Предположим, что окончательный документ должен иметь следующий вид, представленный на рисунке 2, расположенном ниже. Поля, которые будут вставлены из БД в приложении, выделяются синим. Поля, которые сейчас не содержатся в БД, но могут быть изменены пользователем до печати отчета, помечаются зеленым цветом. Поля выделены цветом для пояснения. Кстати, если печать на принтере предполагается черно-белая, то можно безболезненно оставить их и в документе для визуального контроля.
Пример справки - выходного документа
Рассмотрим теперь отдельные шаги, которые необходимо сделать для формирования такого документа (см. рисунок 1).
Анкетные данные специалиста Фотокарточки Для паспорта (приклеить, заверить печатью)
Фамилия Петров № ноты (дела), год
Имя Сергей
Отчество Борисович
Число, месяц, год рождения 18.09.1962
Место рождения Москва
Семенное положение: холост
Место работы, должность Строительное управление, Инженер филиала
Номер н дата решения
Куда едет, на какой срок временные выезды
Кем командирован
Цель, поездки временные выезды
Рисунок. 2 Конечный вид формируемого документа
Интерфейсный файл
Определим структуру интерфейсного файла, посредством которого мы будем передавать информацию из прикладной программы информационной системы в шаблон MS Word документа. Эта структура линейная и содержит последовательность строк. В дополнение к непосредственно содержательной информации добавим в интерфейсный файл имя файла отчета и путь к нему, необходимое для эго запоминания (c:\belsib\dot\testrep1.doc) и ограничители ввода для нашей программы на VBA ("##" и "#"). Их назначение будет понятно при рассмотрении программы макроса на VBA. В нашем случае имя и расположение интерфейсного файла может быть любым. Однако, эти имена должны быть согласованы в прикладной программ и в программе макроса. У нас название файла - transfer.txt, а располагается он, для простоты, в корневом каталоге основного диска (с:). На рисунке 3 представлен пример этого файла для нашего случая.
Строител ьное у п ра влен ие
Рисунок. 3 Интерфейсный файл (transfer.txt) В файле 11 текстовых строк, красным цветом выделены разделители, а первая строка содержит имя и путь файла для запоминания.
Формирование интерфейсного файла
Формирование выборки из БД мы оставим за кадром (Шаг 1), в каждой системе программирования и для каждого СУБД, она формируется по-своему. Для нашего примера достаточно сформировать текстовый интерфейсный файл на основе обычных файловых операций доступных в любой системе программирования (Шаг 2). В нашем случае будем использовать С++ и стандартную библиотеку ввода/вывода (fopen - fputs -fclose). Фрагмент программы для формирования файла приведен на рисунке 4.
рр = (ореп( "с: \\transfer.txt", // открытие файла как текстового
// Формирование интерфейсного файла (transfer.txt) для отчета
Рисунок. 4 Формирование интерфейсного файла ( программа С++)
Формирование шаблона и вставка закладок
Для реализации двухфазной технологии необходим еще один подготовительный этап. Во-первых, нужно создать шаблон с программой, обрабатывающей интерфейсный файл и разметкой документа в соответствии с требованиями пользователя. Далее его
нужно детально проверить и отладить, так как содержимое интерфейсного файла и выборки из БД может быть произвольным. Рассмотрим эти действия.
Подготовка шаблона заключается в оформлении итогового документа в текстовом процессоре MS Word без информации, которая должна быть вставлена из БД (из интерфейсного файла). Так как шаблон предназначен для многократного использования, то мы отмечаем только позиции (место), где информация должна располагаться. Эти позиции помечаются закладками ( bookmark) , технология которых доступна в MS Word.
Процесс установки закладок прост, он описан в справочной информации и инструкциях по текстовому процессору MS Word [1,2]. Суть заключается в том, что курсор устанавливается в нужное место и вызывается окно вставки закладки, в котором задается имя новой закладки. В нашей технологии, для корректной работы макроса, мы заранее определяем имена закладок так, чтобы можно было бы в программе это имя вычислить. У нас имена такие: f1, f2, ... f8. Такое имя (строковая переменная) легко вычисляется в программе VBA конкатенацией префикса ("f") и текущего индекса закладки. Задание расположения и ввод имен закладок производится единожды на этапе подготовки шаблона и его разметки. Между закладками и строками расположения информации в интерфейсном файле предполагается взаимно - однозначное соответствие по номеру (строка - индекс).
Пример шаблона с закладками представлен на рисунке 5. Условно показано расположение таких закладок, они выделены синим цветом, хотя на самом деле в шаблоне в обычном режиме просмотра они невидимы.
Анкетные данные спец иалиста Фотокарточки Для паспорта (приклеить, заверить печатью)
Фамилия <3aMiaflKaf1> № ноты (дела), год
Имя <3акладка 12>
Отчество <3акладка f3>
Число, месяц, год рождения <3акладка Н>
Место рождения <3акладка 15>
Семенное положение: <3акладка 16>
Место работы, должность <3акладка 17> , <3акладка Т8> Ж. Ш'
Номер н дата решения
Куда едет, на какой срок временные выезды
Кем командирован
Цель поездки: временные выезды
Рисунок. 5 Шаблон документа с закладками (синий текст)
Создание процедуры для шаблона
Следующим этапом разработки шаблона является этап разработки и отладки программы на VBA, которая будет автоматически запускаться при открытии шаблона в текстовом редакторе MS Word. Назовем эту программу (макрос) formdoc. Подключение к текущему документу выполняется в редакторе Visual Basic. Вызов редактора выполняется так: Сервис -> Макросы -> Макросы... -> Создать или Сервис -> Макросы ->Редактор Visual Basic). В системе программирования VBA создается подпрограмма (Sub -Formdoc). Пример такой подпрограммы для нашего случая приведен на рисунке 6.
Rem Formdoc - Макрос на VBA для запуска шаблона Report.doc
Rem Программа: Настройка просмотра документа в MS WORD
Rem Ввод имени файла для сохранения готового документа у нас testrepl.doc
Rem Цикл 8 раз, т.к. число закладок в шаблоне = количеству значимых строк в trafsfer.txt Вычисление текущего имени закладки по номеру (например - fl)
Line Input #1, р$ Ввод текщей строки из интерфейсного файла в переменную р$
' Переход к редактированию по имени текущей закладки (point_$)
Вставка строки из файла р$ в текущее место документа
Rem Переключение в начало документа - Справки
Rem Сохранение готового документа отчета с заданным именем
Рисунок. 6 Программа на VBA для обработки документа
Поясним кратко работу алгоритма подпрограммы formdoc. Назначение переменных понятно из контекста программы. Важными переменными являются: p$ - строковая переменная, содержащая текущую строку интерфейсного файла, и point_$ - строковая переменная, содержащая имя текущей закладки. Число обрабатываемых закладок и строк задается в цикле по переменной i (у нас здесь - 8), хотя можно было бы воспользоваться ограничителем ("#") , не фиксируя заранее число циклов.
В программе первоначально открывается интерфейсный файл и запоминается имя файла документа для его последующего запоминания (переменная - fileoutput$). После открытия интерфейсного файла (переменная fileinput$ - c:\transfer.txt) начинается чтение содержательной информации со второй строки в переменную p$. Отметим, что если интерфейсный файл расположен в другом месте, то необходимо и в прикладной программе и в процедуре макроса согласовать их местонахождение. Например, с помощью настроечных файлов: win.ini (для VBA) и *.ini для прикладной программы. На каждом шаге цикла вычисляется имя закладки (1), читается строка из файла (2), выполняется переход к нужной закладке (3) и вставляется в это место строка (4), считанная из файла.
После завершения цикла вставки данных в отчет, в процедуре закрываются все вспомогательные файлы, и выполняется сохранение документа с заданным именем. Это необходимо сделать обязательно, чтобы наш шаблон сохранился для дальнейшего и многократного использования.
Отладка шаблона и алгоритма формирования выходного документа может быть выполнена автономно от прикладной программы (2-я фаза технологии). Достаточно вручную сформировать интерфейсный файл с нужным содержанием, загрузить шаблон в обычном режиме просмотра документа и вручную (Сервис -> Макросы -> Макросы. -> Выполнить) запустить макрос formdoc на выполнение. При обнаружении ошибок, нужно снова открыть шаблон, перейти в режим редактирования макроса (Сервис -> Макросы -> Макросы. -> Изменить). Процесс повторяется до полной отладки программы. После редактирования шаблон сохраняется с заданным именем ( у нас это Report.doc), а макрос с именем formdoc.
После этого можно автономно проверить правильность формирования интерфейсного файла из прикладной программы (1 -я) и выполнить комплексную проверку двухфазной технологии формирования выходных документов: формирование интерфейсного файла в прикладной программе и обработку его с помощью программы шаблона в MS Word. Для этого необходимо обеспечить автоматический вызов текстового процессора MS Word непосредственно из прикладной программы. Как это может быть сделано в прикладной программе показано на примере фрагмента на С++, на рисунке 7. Дадим краткие пояснения запуска MS Word.
Вызов MS Word из прикладной программы
Во-первых, нужно корректно прописать расположение программы текстового процессора (winword.exe), указав в кавычках путь к его каталогу. В языке С++ для задания слэша (\) используется дублирование, а для задания двойной кавычки перед ней ставиться тоже слэш (\"). Кавычки используются также для задания длинных имен и каталогов с пробелами в названиях ("Program Files"). Аналогичные правила действуют и для задания параметров с длинными именами. Смотрите тексты на рисунке 7. В нашем случае используется специальная строковая переменная (Com) для формирования команды, которая будет запускаться в режиме командной строки. Для этого используется функция system из библиотеки process.
II Вывод отчета с вызовом MS WORD
II Формирование текста для командной строки
strcat(Com , " c:\\belsib\\dot\\Report.doc /mFormdoc ");
II Вызов cmd.exe с параметром строки Com
Рисунок. 7 Запуск MS Word из прикладной программы с шаблоном (Report.doc)
При запуске MS Word указывается имя шаблона (Report.doc) и имя макроса, который будет выполняться при открытии документа (Formdoc), для этого используется параметр "^^акрос^'.
После запуска текстового процессора автоматически формируется документ в его среде. Он готов для печати, возможного дополнительного редактирования и сохранения с другим именем. На этом завершается вторая фаза формирования выходного документа.
Заключение
В данной статье описана двухфазная технология формирования выходных документов информационных систем на основе универсального текстового процессора MS Word. В ней изложены как технологические, так и программные аспекты подхода. Данная технология довольно успешно использовалась в целом ряде информационных систем [11], что показало эффективность и полезность деления этапов формирования выходных документов на две фазы.
Значительное удобство в сопровождении и автономной отладке позволило системам, которые на ней основаны, значительно увеличить жизненный цикл и служить основой для
модернизации и сопровождения. В целом ряде организаций (ФГУП СУ МИД РФ, МСПА МОССИБ) она успешно используется и в настоящее время.
Особое преимущество при использовании двухфазной технологии проявляется при отладке процедур формирования выходных документов, так как даже для сложных алгоритмов при разбиении процесса на части наблюдается значительное упрощение процесса и его технологичность.
В статье рассмотрены способы формирования простейшего вида выходного документа - справки. Думаем, что на основе представленного материала и отлаженных процедур читатель самостоятельно сможет повторить данный процесс или даже создать свой собственный отчет на базе MS Word. Отметим, что данная технология может использоваться и для табличных и для матричных отчетов. Алгоритмы формирования таких документов сложнее и имеют свои особенности. В дальнейших статьях по данной тематике мы намерены их рассмотреть. Кроме этого MS Word может эффективно использоваться и в прямом контакте с приложениями, основанном на COM/COM++ технологиях. Эти технологии и их алгоритмы мы планируем опубликовать в ближайшее время.
Список литературы
1. Назаров С.В., Мельников П.П., Смольников Л.П. и др. Программирование в пакетах MS Office: учеб. пособие / под ред. С.В. Назарова. М.: Финансы и статистика, 2007. 656 с.
2. Осетрова И.С., Осипов Н.А. Microsoft Visual Basic for Application: учеб. пособие. СПб.: НИУ ИТМО, 2013. 120 с.
3. Джелен Б., Сирстад Т. Применение VBA и макросов в Microsoft Excel: пер. с англ. М.: Издательский дом «Вильямс», 2006. 624 с.
4. Centura Report Builder / Business Reporting. GUPTA Technologies LLC, 2002. 224 p. Available at: www.guptatechnologies.com , accessed 01.07.2015.
5. Дарахвелидзе П.Г., Марков Е.П. Delphi 2005 для Win32. СПб.: БХВ-Петербург, 2005. 1136 с.
6. Кошелев В.Е. Access 2007. М.: ООО "Бином-Пресс", 2008. 598 с.
7. Пахомов Б.И. C/C++ и Visual C++ для начинающих. СПб.: БХВ-Петербург, 2011. 736 с.
8. Перри Д., Пост Д. Введение в Oracle 10g: пер. с англ. М.: Издательский дом «Вильямс», 2006. 704 с.
9. Станек У.Р. Microsoft SQL Server 2005. Справочник администратора: пер. с англ. М.: «Русская Редакция», 2008. 544 с.
10. Виейра Р. Программирование баз данных Microsoft SQL Server 2005 для профессионалов: пер. с англ. М.: Издательский дом «Вильямс», 2008. 1072 с.
11. Глава 8. Подсистема «Аспирантура» // Информационная управляющая система МГТУ им. Н.Э. Баумана «Электронный университет»: концепция и реализация / под ред. И.Б. Фёдорова, В.М. Черненького. М. Изд-во МГТУ им. Н.Э. Баумана, 2009. С. 245-259.
12. Мак-Амис Д. Профессиональная работа с Crystal Reports для Visual Studio .NET. М.: Издательский дом «Вильямс», 2003. 352 с.
13. Пек Дж. Полный справочник по Crystal Reports XI. М.: Издательский дом «Вильямс», 2006. 1088 с.
14. Маклаков С.В. Анализ данных. Генератор отчетов Crystal Reports. СПб.: БХВ-Петербург, 2003. 417 с.
Science and Education of the Bauman MSTU, 2015, no. 08, pp. 252-268.
DOI: 10.7463/0815.0786571
Received: Revised:
25.06.2015 11.07.2015
Science^Education
of the Bauman MSTU
I SS N 1994-0408 © Bauman Moscow State Technical Unversity
The MS WORD Based Two Phase Technique for Building Report from Information Systems
S.A. Bol'shakov1'*, S.B. Spiridonov1
b ol&hakov:Sbm5t]u ju
:Bauman Moscow State Technical University, Moscow, Russia
Keywords: information system, programming, output document, report building, database result set,
macros, Visual Basic for Application (VBA), MS Word
The article considers a universal MS Word processor-based two-phase technique to build and generate output documents of information systems. It describes technological and program aspects of the approach. This technique has been quite successfully using in a number of information systems to show in practice that breaking down a forming process of the output document into two stages is efficient and useful.
The approach concept is that the process of building output document has to be broken into two stages. At the first stage in the program applications to the information system, available procedures selects data from a DB and writes results in the separate text interface file of a specified structure. The program applications execute abovementioned actions in the language used by all information system. At the second stage, there is a start of the universal type text editor (MS Word in our case universal type) which provides final generation of output document using the built-in programs - macros realized in the built-in VBA language (Visual Basic for Application) in the pre-prepared template. The environment of a universal word processor also enables forming the template. Then, if necessary, it is possible to save the output document under a new name, edit and format it, in addition. The main thing is that an ordinary user applies the familiar environment of a universal text editor. A user has no difficulties in development, which are often available in work with universal generators of reports. We also note that new MS Office versions are interchangeable and allow easy using new versions without changing templates and generation programs of output documents.
Considerable convenience in maintenance and autonomous debugging allowed systems, grounded on it, to increase considerably a life cycle and form a basis for modernization and maintenance.
The particular advantage when using two-phase technology is shown when debugging procedures of the output documents formation because even for complicated algorithms, when splitting process into parts, considerable simplification of debugging process and its decreasing duration and labor input are observed. We also note that such approach can be also a basis for the of-
fice systems realization based on universal word processors. Then a DB can save document text content with a template type and name of document.
The article considers ways to build the elementary type of the output documents, i.e. reports. The presented material, algorithms and debugged procedures enable a reader to repeat independently this process or even to create the own report using MS Word. We note that this technique can be used as well for tabular and for matrix reports. Algorithms for building such documents are more difficult and have their features. We have intention to consider them in our further articles in the field concerned.
References
1. Nazarov S.V., Mel'nikov P.P., Smol'nikov L.P., et al. Programmirovanie vpaketakh MS Office [Programming in MS Office packages]. Moscow, Finansy i statistika Publ., 2007. 656 p. (in Russian).
2. Osetrova I.S., Osipov N.A. Microsoft Visual Basic for Application. St. Petersburg, NIU ITMO Publ., 2013. 120 p. (in Russian).
3. Jelen B., Syrstad T. VBA and Macros for Microsoft Excel. Que, 2004. (Russ. ed.: Jelen B., Syrstad T. Primenenie VBA i makrosov v Microsoft Excel. Moscow, Williams Publishing House, 2006. 624 p.).
4. Centura Report Builder / Business Reporting. GUPTA Technologies LLC, 2002. 224 p. Available at: www.guptatechnologies.com , accessed 01.07.2015.
5. Darakhvelidze P.G., Markov E.P. Delphi 2005 dlya Win32 [Delphi 2005 for Win32]. St. Petersburg, BKhV-Peterburg Publ., 2005. 1136 p. (in Russian).
6. Koshelev V.E. Access 2007. Moscow, Binom-Press, 2008. 598 p. (in Russian).
7. Pakhomov B.I. C/C++ i Visual C++ dlya nachinayushchikh [C/C++ and Visual C++ for beginners]. St. Petersburg, BKhV-Peterburg Publ., 2011. 736 p. (in Russian).
8. Perry J., Post G. Introduction to Oracle 10g. Pearson Education, 2006. (Russ. ed.: Perry J., Post G. Vvedenie v Oracle 10g. Moscow, Williams Publishing House, 2006. 704 p.).
9. Stanek W.R. Microsoft SQL Server 2005. Administrator's Pocket Consultant. Microsoft Press, 2005. 578 p. (Russ. ed.: Stanek W.R. Microsoft SQL Server 2005. Spravochnik administratora. Moscow, Russkaya Redaktsiya Publ., 2008. 544 p.).
10. Viera R. Professional SQL Server 2005 Programming. Wiley Publ., Inc., 2007. (Russ. ed.: Vieira R. Programmirovanie baz dannykh Microsoft SQL Server 2005 dlya professionalov. Moscow, Williams Publishing House, 2008. 1072 p.).
11. Fedorov I.B., Chernen'kii V.M., eds. Chapter 8. Subsystem "Postgraduate study". In: Informatsionnaya upravlyayushchaya sistema MGTU im. N.E. Baumana "Elektronnyi universitet: kontseptsiya i realizatsiya [Information Control Systems of the Bauman MSTU "Electronic University": concept and realization]. Moscow, Bauman MSTU Publ., 2009, pp. 245-259. (in Russian).
12. McAmis D. Professional Crystal Reports for Visual Studio .NET. Wiley Publ., Inc., 2002. (Russ. ed.: McAmis D. Professional'naya rabota s Crystal Reports dlya Visual Studio .NET. Moscow, Williams Publishing House, 2003. 352 p.).
13. Peck G. Crystal Reports XI: The Complete Reference. McGrow-Hill, 2005. (Russ. ed.: Peck G. Polnyi spravochnik po Crystal Reports XI. Moscow, Williams Publishing House, 2006. 1088 p.).
14. Maklakov S.V. Analiz dannykh. Generator otchetov Crystal Reports [Data analysis. Crystal Reports report generator]. St. Petersburg, BKhV-Peterburg Publ., 2003. 417 p. (in Russian).