The method of elementary objects

The term "Good technology platform" includes a number of conflicting requirements. If you do not take into account the cost indicator, but only consider technical characteristics, there are conflict situations between the requirements of simplicity and universality. Usually, for a narrow class of solved problems, the toolkit created by the same developers looks simpler than for a wide class of various tasks. The consecutive increase of functionality leads to the appearance of new settings, properties, reservations, conventions, etc. Such a process can cross the border when the platform becomes inapplicable, not because of the lack of the necessary function, but because of its cumbersomeness, complexity in learning and exploitation.

But there is another way to extend the functionality. It consists in simplifying the mathematical representation of the automation object. The essence of the method is to express an applied task as an accounting object, then it is necessary to decompose it into elementary objects whose structure and methods of working with them do not depend on the application. Then the software created for working with an elementary object is also independent of the specific application, hence it will not grow in size when expanding the scope of application. Its growth occurs only in the direction of improving quality.

This article outlines the main provisions of the method of elementary objects: the idea of an elementary object and an elementary operation.

Elementary objects

The tasks of accounting and processing information in the management of the enterprise have different goals, different methods of processing and different forms of presentation of results. The same task at one or different enterprises has a different appearance.  

Each management task can be represented in the form of an accounting object, as a set of interrelated homogeneous elementary objects. Such elementary objects should possess the properties necessary for solving all tasks of management activity, and the composition and character of these properties should be the same for the whole set of solved problems. Considering an elementary object (EO) in a static state it is necessary and sufficient to describe identification, state, and internal connections.

Identification of an elementary object requires a unique key and uniquely defines a reference to a given elementary object within the entire accounting object. The requirement for a unique key does not depend on the accounting object.

The state of an elementary object is described by a set of parameters. This set depends on the accounting object. Elementary object parameters satisfy the following two requirements:

1. Group of the parameters is common for all elementary objects of a single accounting object.
2. The parameters of one elementary object do not depend on the parameters of other elementary objects.

Non-observance of any of these properties means an incorrect definition of an elementary object.

Internal connections of elementary objects reflect the relationships between the parameters of elementary objects. For example, when accounting materials, the "cost" parameter is equal to the product of the "price" and "quantity" parameters. Internal connection are the same for all elementary objects of the same accounting object. If this rule is violated, it means that the accounting object is incorrectly defined. It must be divided into parts to ensure this rule. In general, the parameters of an elementary object are combined into groups, each of which is designed to describe any particular aspect of the object. The selection of groups makes sense to simplify the procedures for calculating the parameters of elementary objects.

External relations of elementary objects determine the belonging of elementary objects to different groups, which unite them according to various factors. Examples of factors are a group of materials, the enterprise unit, and the city address. A set of factors is determined for each accounting object. Factors have a tree structure. Each point of the tree is for a given accounting point. The hanging top of the tree corresponds to the most detailed description of the object. The linkage of an elementary object is the value of the hanging vertex of the accounting factor assigned to an elementary object. In the general case, multidimensional analysis is applied, and simultaneously the object is accounted for by several factors. Each elementary object has as many parameters of external links as the factors accepted for the accounting object. Separation of the parameters of elementary objects into three groups allows us to divide the automation tasks of the accounting tasks into three groups:

- group of elementary objects
- description of object's condition
- a sampling of objects by accounting factors.

Since elementary objects have the same identification parameters, the method and software to support the composition of elementary objects are common for all accounting objects. Accounting for the internal state of an elemental object is determined by the internal parameters, properties of the accounting object and is independent of other objects. As a result of this method, working with internal parameters of elementary objects is local for each object. The absence of links with external objects determines the simplicity of their development and support. The methods of sampling elementary objects by accounting factors are common for different objects because of the homogeneity of the external links of elementary objects.

Based on the above properties of elementary objects and classification of problems, we can draw the following conclusions:
1. The structure of the database for accounting for elementary objects is the same for all managerial accounting tasks in terms of identifying elementary objects, combining elementary objects into groups and differs only in a set of internal parameters.
2. The software is the same for all managerial accounting tasks in terms of supporting the composition of elementary objects, the formation of various samples of elementary objects by accounting factors, and local, in other words, independent of other accounting objects in terms of balancing the internal parameters of elementary objects.

Elementary operations

The transition of an elementary object from one state to another is performed by an elementary operation. A state change is the change of at least one parameter of elementary objects. The values of the group of internal parameters or group of parameters of external links can change. The identification code cannot be changed since an elementary operation is performed on only one elementary object. The elementary operation is characterized by the following groups of parameters: 

- the identification code of the operation,
- the identification code of the object,
- time parameters,
- change of internal parameters of elementary objects,
- change the parameters of external links.

The transaction identification code is intended for unambiguous reference to an elementary operation within a single accounting object.

The identification code of an elementary object determines the elementary object over which the operation is performed.

Time parameters determine the date and time of an elementary operation with the accuracy that is required in the object account.

Change of internal parameters of elementary objects is carried out in the form of increments. Values of related parameters are determined by the functional dependencies of these relationships.

Changing the parameters of external links is described by two states: the value of the parameter before the operation and after the operation. This representation of the communication parameters allows us to track the path of the movement (transformation) of an elementary object.

Thus, the separation of the solved administrative tasks of automated accounting and processing of information into objects that can be represented as elementary objects with the properties described above, and operations on them in the form of elementary operations make it possible to obtain the following possibilities:

1. The structure of the database for accounting for elementary operations is the same for all managerial accounting tasks in the part of identifying transactions, combining operations into groups, and differs only in a set of internal parameters.
2. The software is the same for all managerial accounting tasks in terms of processing elementary operations, forming various samples of transactions by accounting factors and independent of other accounting objects in terms of balancing the internal parameters of elementary objects when performing operations on them.

In practice, this reduces the cost and timing of software development, since the same software can be used to solve a variety of automation control tasks.

The possibility of unification of the software implementation processes bringing it to the level of technology.

Reducing the cost and complexity of operating systems by reducing the variety of software used.

Operation structure

Like any other computer system, automated management accounting is the interaction of the user and computer software. The user enters the necessary initial data; the software processes them and provides the results of the processing for decision making. Based on the decisions taken, the user can enter new data, etc.

The initial data for the software package are operations that describe certain actions with the accounting object. The same operation may require the formation of several documents. For example, the goods issue operation requires an invoice, an invoice for leave, a tax invoice and a pass for the gateway company. All these documents are an operation mapping and are generated automatically based on the same data. In one operation, a lot of actions are performed. In the accepted methodology of elementary objects, each action is displayed by one record which is an action on an elementary object. Many such actions constitute an operation.

- Operation code
- Number of elementary objects
- Elementary object code
- Links of an elementary object
- Elementary object parameters
- Results of the operation

The key parameter of the string is the code of the elementary object. It does not depend on the accounting object. The set of qualitative parameters depends on the accounting object and on the purpose of the operation, and the purpose of any operation is to change the state of the qualitative parameters.

The summary entry for the transaction is included in the operations register. It is designed to provide the user with a list of performed operations. The code of the operation, the comment and some results that are of particular interest to the user are entered in the register.

- Operation code
- A comment
- Some results

The operation code is compound. It includes the type of operation, number, and date. These parameters display the registry and the selection. To classify an operation by its intended use, the table of the structure of operations is used which is a tree-like grouping of operations by the generality of their properties.

Each operation has two states: held and unconstrained. A failed operation is a draft. It is not used by settlement procedures and is not included in the reports. The application of this method can be considered on the basis of the software complex "BAS"

The time factor in the database

The operating software complex uses different information from its database at any given time. Over time, some information becomes obsolete and replaced with a new one. Replacement is performed in the operating mode as necessary and without stopping the system since in a real operating enterprise such a stop is unacceptable. But such a replacement is associated with a number of problems, among which the following.

Return of the reporting period. In simple programs for processing information oriented to one user, the usual form of movement over time is the closing of the reporting period. By the time of closing, processing of the data of the reporting period is over, necessary reports are generated and the database is transferred to the state corresponding to the next period. Returning is possible only by restoring the database from the archives made before the closing of the period. With the increasing complexity of the system, such an approach becomes unacceptable, since it is almost impossible for all users to simultaneously finish work in the previous period and amicably move to the next. In the accounting department at the beginning of the next month, the information of the previous month is processed and the operations of the current one are entered.

The problem of recalculations. In the general case, if there is a need to recalculate some values for previous periods, it is necessary to perform recalculations of other quantities having a functional dependence on the first quantities. In fact, this is the execution of a new calculation for the specified period and placing the results of the changes in the current period. To provide such an opportunity in an automated system in operations, there must be a reference to the period for which the calculation is performed. In the absence of such a link, automatic recalculation is not possible.

Current reference books. The same information can be used at different time periods, and for different periods it has different meanings. The problem arises when in a multi-user system, different users work in different reporting periods. For example, if the name of the enterprise is in the directory and it has changed in the current period, then the reports of those users who work in the previous period use a new name.

Rules of payment. With the passage of time, the rules for performing settlements change. For example, starting from March 1, 2003, retention of 0.5% of the salary in the social insurance fund was canceled. At a certain point in time, these changes are made to the database. But the settlement procedure should continue to apply retention when calculating for February, and starting from March, do not do it.

The "BAS" software package is designed to accommodate the time factor. In it, each individual data processing task is allocated to a separate object based on a set of homogeneous elementary objects, and all operations in the system are treated as operations on elementary objects. The elementary object is described by three groups of parameters: identification code, internal parameters, and parameters of external links. An elementary operation contains information about the object and data about changing the parameters of the object. The time factor refers to the parameters of the external relations of the elementary object and the operation.

The solution of the task of changing the period in the system is made by dividing the period by purpose into two types: reporting and settlement. The reporting period is the period in which the operation is performed. The settlement period is the period for which the operation is performed. For example, if in August the salary for July is charged, then the reporting period is August, and the accounting period is July.

The value of the reporting period is individual for each user. He can arbitrarily change the period by moving to any next period or returning to any previous period. The limitation is the closing date of the period, which is common to all users of one module (accounting object). The system does not allow you to return in the reporting period preceding the closing date. This can be done only after the closing date has been shifted to an earlier period by the user having the appropriate access rights.

Being in any reporting period, the user can make a link to any settlement. Control of the correctness of links is performed either by the user himself or by the procedure that serves the data entry operation.

Practical implementation of accounting for time periods is carried out by entering two fields in the parameters of external links of the elementary operations table: the reporting dw code and the code of the calculation period dc. Data retrieval with dc Const allows you to do recalculations in the case of references to past periods, and sampling at dw = Const operations performed during the reporting period.

The main reference is a set of elementary objects that make up the accounting object and which is stored in the table of personal accounts. In order to isolate groups of parameters of an elementary object, a parameter table has been introduced in which for each group a special data type is entered that includes all the parameters of this group. Conditionally constant information is stored in this directory in the records for a given period of time. To do this, in the record with parameter values two fields: the code for the start of the dwn validity period and the code for the end of the dwk validity period. Within these periods, the values of the parameter group of the elementary object that is stored in this record are valid.

The system monitors the process of changing parameter values. This is allowed only if the reporting period in which the user is working coincides with the period of the beginning of the action of the parameters. For example, you will not be allowed to change the name of the employee in June, if data about it were entered in January. For such a change, the user must add a new validity period in June, the beginning of which corresponds to June, and enter a new surname. In this case, the old name closes in May. After such changes, regardless of the current period in which the user works, any report for the period from January to May uses the old name and reports from June a new surname.  The corresponding surname will also be selected when entering operations at different time periods.

The selection of the actual period of elementary objects when processing elementary operations is performed by comparing the factors of the time of the operation and the object. Practically this is realized by the condition block
where dw between dwn and dwk 
when selecting data for the reporting period and
dс between dwn and dwk 
provided that the references to the settlement period

Support for the current state of various reference data is realized through the use of tuning operations. The essence of their use is that the parameter values for the reference records are recorded in a special sheet, which is characterized by the date of creation and the period of validity of the reference data.  When changing the parameters of the reference records, a new list is created in which new parameter values are entered and a new period of their validity is assigned.

In the future, procedures that use reference data, select those operations that are relevant for the processing period from the setup operations. The most commonly used method is to search for a list of parameters whose date is the largest of the available operations but before the current one. From the operation found, the values of the reference records that are used in processing the operation data are read.

Accounting for the time factor in the rules of calculation is the most difficult aspect of this task. Its formal solution is available in the part of the calculation rules that is described by the setup tables. As for reference data, various rules are described in the setup tables: exception tables, input tables, and nonlinear function description tables.  Any of these tables has a validity period that is used when reading settlement rules. The choice of the actual table for reading is determined by the code of the reporting or estimated period of time, depending on the processing procedure.

The adopted method of time factor accounting in the "BAS" software complex has justified its effectiveness in various programs. It allowed solving almost all tasks of automatic execution of recalculations in the "Salary" program: income tax, pension fund, an additional payment to minimum earnings, various deductions and accruals.  In the "CRM-Services" program, recalculations are performed when tariffs or data on outages are changed in the previous months. In the program "Subscriber Service", recalculations are performed when subscriber data changes: privileges, family composition, etc.

The system provides the ability to promptly provide the user of the program with data on the history of charges and deductions, the progress of mutual settlements, etc. There is the possibility of simultaneous operation in different periods of time, which ensures a smooth completion of the reporting period and the possibility of starting operation with partial readiness for automation of individual sites, which is very important when implementing the system.

Приватне підприємство «Науково-дослідне і конструкторсько-технологічне бюро автоматизованих систем» (скорочено ПП «БАС») Частное предприятие «Научно-исследовательское и конструкторско-технологическое бюро автоматизированных систем» (сокращенно ЧП «БАС») Scientific-research and design-technological bureau of automated systems (abbreviated as BAS)