Монитор входных документов


Инструментальная платформа ЭКСПРЕСС


Назначение
Принцип построения.
Структура метамодели типа документа.
Структура документа
Структура строки.
Отображение документа
Логика обработки
Описание логики работы типа документа.
Описание логики в типах строк.

Введение

В данном документе рассказывается об одном из компонентов КИС "Экспресс" - мониторе входных документов. Описывается его назначение, архитектура и основные принципы функционирования.

Назначение

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

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

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

 В дальнейшем описании будут использоваться следующие термины:

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

Тип входного документа - метаописание (модель) структуры, правил обработки и форм представления множества однотипных первичных документов. Примерами типов входных документов являются: «Накладные на отгрузку», «Приказы о принятии на работу», «Банковские справки» и т.д.

Входной документ - совокупность данных в информационной системе, относящихся к первичному документу и представленных в виде, соответствующем определенному типу входного документа; экземпляр типа входного документа. Примером экземпляра входного документа может быть: «Накладная на отгрузку от 25.04.2000 за номером 123\34-12», «Приказ о принятии на работу Каверина Андрея Алексеевича».

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

 

Принцип построения.

Монитор входных документов построен по принципу MDA (model-driven application), подразумевающему разделение исполняемого ядра и интерпретируемой модели. Модель представляет собой множество взаимосвязанных типов документов, на основании которых создаются и обрабатываются экземпляры входных документов. Множество типов документов неограниченно. Без вмешательства в исполняемое ядро можно создавать новые типы документов и  изменять существующие. Монитор представляет собой часть исполняемого ядра, в котором реализованы универсальные обобщенные свойства и правила обработки любого входного документа. В типе входного документа эти универсальные свойства доопределяются или переопределяются (по необходимости). Экземпляр же документа, содержит уже определенные значения этих свойств и характеристик.

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

«Монитор входных документов» - «Тип входного документа» - Экземпляр документа

Структура метамодели типа документа.

Метамодель типа документа состоит из трех основных частей:

-          Информационная структура

-          Представление

-          Логика обработки

Структура документа

Каждый документ состоит из заголовка и тела. Заголовок содержит набор атрибутов относящихся ко всему документу, таких как номер документа, дату его возникновения и так далее. Тело представляет собой множество типизированных строк документа.

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

Документ                  :=  <Заголовок> [<Тело>]

Заголовок                 :=  <Набор атрибутов>

Тело                         := <Строка> {<Строка>,…}

Набор атрибутов        := {Атрибут,…}

На рисунке приведена информационная структура документа

Рисунок 1. Структура входного документа.

 
Тело может содержать произвольное количество экземпляров строк. Структура строки определяется также в описании типа строка.

Структура строки документа

Строка представляет собой запись об операции или группе операций. Различают два основных класса типов строк:

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

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

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

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

 Строка := <Набор атрибутов> [{<Порождаемая строка>,…}]

Порождаемая строка:= <Строка>

 Основная строка в совокупности с описаниями связей и порождаемыми строками называется деревом строк.

 

Отображение документа

Каждому типу документа поставлено в соответствие множество форм представления:

-          форма списка экземпляров документов

-          форма раскрытого экземпляра документа

-          печатные формы экземпляра документа

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

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

Логика обработки

Логика обработки документа декомпозируется собственно на логику обработки документа и логику обработки строки (операции). Соответственно МВхД предоставляет возможность описывать логику на уровне документа и на уровне строки.

Описание логики работы типа документа.

Бизнес логика документа содержит несколько разделов, которые можно определить или переопределить. Во-первых, это декларативные описания, к которым относятся:

-          Класс типа входного документа (определяется модулем-владельцем, предопределенным классом, реализующим логику работы выбранного класса документов)

-          Список основных строк. Определяет возможность диалоговой регистрации указанного перечня основных строк, операций.

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

-          Описания связей между документами. Определяет типы взаимосвязанных документов

Во-вторых, это процедурные описания слабо формализуемых элементов бизнес - логики, которые создаются при помощи встроенного К-языка. Описания на К-языке используются при:

-          Переопределение стандартных реакций на события МВхД. Такие события, как «Чтение документа», «Удаление документа» и другие, чаще всего обрабатываются стандартными методами МВхД, но в случае необходимости имеется возможность описать собственную реакцию с изощренными алгоритмами.

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

Описание логики в типах строк.

Логика работы с строк локализуется в описаниях типов строк. Один тип строки может быть привязан к нескольким типам документов. Как и в случае с типами документов бизнес-логика представляется двумя видами: декларативным и процедурным. К декларативным описаниям относятся:

-          Класс типа входной строки (модуль-владелец).

-          Схема наследования значений. Дерево порождения строк. На основании описания дерева порождения строк МВхД автоматически порождает связанное дерево строк по значениям введенным для основной строки

-          реквизитный состав и форму представления для ввода и корректировки значений основной строки

-          условие порождения строки

Процедурные описания используются при:

-          Переопределение стандартной реакции на события МВхД при обработке строк.

-          Описание правил обработки диалоговых форм ввода и корректировки значений основных строк.

 

Заключение.

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