ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

4
Publication date:
09 December 2024

The article was published in issue no. № 1, 2001
Abstract:
Аннотация:
Author: () -
Ключевое слово:
Page views: 13258
Print version
Full issue in PDF (1.22Mb)

Font size:       Font:

Основной проблемой, которую решают при автоматизации процедур бухгалтерского учета, является эффективное построение аналитической схемы, когда для детализации учетных данных, собираемых на синтетических счетах, вводятся аналитические уточнения, имеющие для каждого счета определенный экономический смысл [1]. Например, счет 10 «Материалы» обычно содержит два аналитических уточнения «Подразделение» и «Материально-ответственное лицо», а счет 51 «Расчетный счет» – «Банк» и «Контрагент».

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

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

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

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

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

Использование современных объектно-ориентированных методов [2] при разработке бухгалтерских систем и технологий работы в архитектуре клиент-сервер требуют новых проектных решений для ведения аналитического учета, обеспечивающих многоканальный доступ к учетной информации и сквозной анализ аналитических данных по всем уровням управленческого учета.

В качестве универсального средства для построения аналитической схемы любой сложности и с высоким уровнем презентативности учетных данных предлагается использовать механизм метассылок, в настоящее время реализованный в автоматизированной системе ОЛИМП [3] и апробированный при автоматизации бухгалтерских задач на ряде крупных промышленных предприятий. Механизм метассылок реализован на инструментальном уровне и является свойством среды программирования, а не прикладной программы.

Под метассылкой в данном контексте подразумевается динамическая связь, устанавливаемая между таблицами базы данных (БД) в процессе заполнения полей конкретными значениями, в отличие от простой связи, установленной при проектировании логической структуры БД и контролируемой средствами СУБД. В терминах объектно-ориентированного проектирования (ООП) метассылка является объектом, отражающим динамическую связь между двумя плоскими таблицами БД. Механизм метассылки на уровне взаимодействия с СУБД обеспечивает реализацию существенной идеи ООП: возможность одинаковой работы с объектами разной природы – полиморфизм (перегрузка методов) и наследование (в том числе множественное).

В настоящее время объектно-ориентированные СУБД распространены слабо, а СУБД, обеспечивающие полиморфизм, вообще отсутствуют. С другой стороны, для решения задач бухгалтерского учета наиболее подходят и в основной массе применяются реляционные СУБД [4]. Поэтому данный механизм реализуется в рамках реляционной СУБД и с точки зрения разработчиков и пользователей программного обеспечения является универсальным средством построения динамических связей, в частности, идеально подходящих для моделирования аналитической схемы бухгалтерского учета.

Остановимся более подробно на практической реализации механизма метассылок и способах обеспечения целостности БД, которые содержат динамические связи, порождаемые данным механизмом и не контролируемые средствами СУБД.

В интерфейс между прикладной программой и СУБД встраивается класс – метатаблица (MTab), обеспечивающая работу с метассылкой как информационным объектом.

MTab = < {A1...An},{M1...Mk} >,

где MTab – базовый класс, обеспечивающий реализацию механизма метассылок; Ai=1,n – атрибут, характеризующий некоторое свойство метассылки; Mj=1,k – метод, обеспечивающий взаимодействие с таблицами БД.

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

A = { NMTab,H,NT,O,C(Nc,Fc),S(Ns,Fs) },

где NMtab  – имя метассылки; H – заголовок мета- ссылки; NT – имя таблицы БД; O – ограничения доступа (фильтр); C – шифр, содержание которого определяется полем таблицы БД Nc и форматом отображения Fc; S – комментарий, содержание которого определяется полем таблицы БД Ns и форматом отображения Fs.

Множество методов в зависимости от потребностей решаемых задач может быть различным и включать механизмы создания и модификации метассылок, групповых операций над объектами. В системе ОЛИМП реализован один метод, обеспечивающий доступ к записям соответствующей таблицы БД и получение значения метассылки. При необходимости множество методов можно легко расширить: M ¸ Z*= j (Z,C,H,O), где j  – функция, реализующая доступ к записям таблицы БД; Z – старое значение метассылки; Z* – значение метассылки, полученное после применения метода; C – шифр (в случае с аналитической схемой является шифром аналитики); H – заголовок метассылки; O – фильтр, определяющий подмножество записей таблицы БД.

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

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

Универсальность механизма метассылок накладывает ограничение на таблицу БД, определяемую атрибутом NT®T.

Пусть запись Rq таблицы Tq имеет структуру, содержащую поля {P1,..., Pn}. Первичный ключ таблицы в общем случае включает подмножество полей записи и представляется как Kq={p}Í{P}. Чтобы использовать таблицу Tq для определения аналитической таблицы, необходимо и достаточно выполнить два условия: первичный ключ Kq должен быть простым, то есть состоять из одного поля Pk, и поле Pk должно быть целого типа (Integer):

Kq = Pk Î { P }, Type( Pk ) = Integer.

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

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

Первый тип данных MetaRef (указатель мета-ссылки) базируется на типе String и определяет, что в процессе работы с данным полем подключается механизм загрузки метассылки. Поле Pi таблицы T является указателем метассылки U(ATab), если

Pi ¸ Pi Î { P }, Type(Pi) = MetaRef,

Value(Pi) Î Æ È { NMTab }.

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

Pj ¸ Pi , Pj Î { P }, Type(Pj) = MetaValue,

Pi = U(MTab), Value(Pj) Î Æ È { Z (U)}.

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

Метассылка Wk представляет собой совокупность значений поля Pi (указатель метассылки) и Pj (значение метассылки) записи Rq таблицы Tq, непустые значения которых однозначно устанавливают связь между конкретной записью Rq таблицы Tq и множеством записей {Rv} таблицы Tv, где Pi = U(MTabk), NMTab = Name(Tv) и Pj = Kq.

Множество записей {Rv } содержит одну запись, если ключ Kq является уникальным для таблицы Tv, и несколько записей, если ключ Kq не уникальный и определяет некоторую совокупность записей. На практике данное свойство метассылки можно использовать следующим образом. Например, мета-ссылка «Контрагент», определяющая первую аналитику 62 счета, по своей сути однозначно идентифицирует конкретную внешнюю организацию, а мета-ссылка «Товарная спецификация» к счету 45 определяет несколько записей, которые являются строками спецификации, указанной в накладной на отпуск товаров.

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

После присвоения указателю метассылки Poledt _Ref имени метассылки NMTabm  через функцию jm(Zm,Cm,H m,Om) становится доступной для работы таблица БД Tm, в результате выполнения которой полю Poledy _Val присваивается значение первичного ключа Pm1. Формирование метассылки как объекта завершается, появляется прямой доступ к соответствующей записи таблицы и заполняются свойства метассылки «Шифр» и «Комментарий». Изменение указателя метассылки влечет за собой очистку поля со значением и повторный запуск механизма мета- ссылок.

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

Пусть {MTabi=1,m} – множество метатаблиц, определяющих метассылки как информационные объекты инструментальной среды проектирования; {Tq=1,d} – множество таблиц БД, участвующих в построении метассылок; {Wk=1,n} – множество метассылок, заданных в логической структуре БД.

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

1. {MTab} « {U(MTab)} – между множеством метатаблиц и указателями метассылок.

2. {MTab} « {T} – между множеством метатаблиц и множеством таблиц БД.

3. {R Î T} « {Z(U)} – между записями таблиц БД и значениями метассылок.

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

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

· привязка разнородных типов документов к договору (ссылка на документ по которому произошла оплата – вексель, платежное поручение, кассовый ордер, акт зачета взаимных требований);

· формирование спецификации, содержащей разнородные материальные ценности (материалы, малоценные и быстроизнашивающиеся предметы, основные средства, услуги);

· создание в интерактивном режиме информационных объектов с произвольными характеристиками.

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

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

Список литературы

1.     Кондраков Н.П. Бухгалтерский учет: Учебное пособие - М.: ИНФОРА-М, 1998.

2.     Буч Г. Объектно-ориентированный анализ и проектирование, 2-е изд. /Пер. с англ. - М.: Изд-во "Бином", СПб.: Невский диалект, 1999.

3.     Система ОЛИМП: Бухгалтесркий учет - Руководство разработчика. - М.: Росэкспертиза, 1999.

4.     Мейер Д. Теория реляционных баз данных. - М.: Мир, 1987.


Permanent link:
http://swsys.ru/index.php?id=777&lang=en&page=article
Print version
Full issue in PDF (1.22Mb)
The article was published in issue no. № 1, 2001

Perhaps, you might be interested in the following articles of similar topics: