
Once in a sandbox, I told the story of the project "Accounting Creation", even offered to download the terms of reference. Man fifteen downloaded. Now, when the technical task has been completely and cardinally rewritten, I risk putting the material directly on Habré - in the hope of finding a reader, and maybe even an ally. The project is ambitious: a
social network of a fundamentally new type, which is thought of as the grave-digger of traditional accounting . This was not, to my knowledge.
I warn you:
- under the cat methodological development in the field of computer accounting, so do not count on entertaining reading. Although from the point of view of programming nothing complicated: ordinary relational tables;
- volume of material 4.5 copyright sheet. A thin brochure, half of which is occupied by diagrams and interface elements.
ACCOUNTING WORLD
New type of social network project
Developed on the basis of accountology
Section 1. INTRODUCTORY PART
1.1. Introduction
The program is a database with a special interface and allows the user to deploy a virtual image of the surrounding material world in an electronic environment. The tasks of control and management of economic activities are solved without the use of outdated accounting tools.
')
1.1.1. Methodological novelty
1. The definition of
nesting (components) and
materiality (substances) of objects. For example, the mechanism may consist of several nodes, which in turn consist of a variety of components, which are made of different alloys.
2. Correct work with time: registration of objects with adequate dates, incl. future ones. Accounting methodology does not register objects with future dates, for it the obligation is a specific current object. In a program, an obligation is an object that is registered with a future date of receipt or expenditure.
3. Waiver of double entry, characteristic of the accounting methodology. The debit and credit of the accounting methodology is replaced by the original and intuitive arrival and expense of objects.
4. Opportunity, due to the registration of causal (causal) relationships between objects, to take into account labor costs (time taken to manufacture the object).
5. Accounting, along with inanimate objects of the users themselves. People are the same objects of the world as inanimate things.
6. Correct work with reports: a fundamental rejection of ready-made (proposed to the user) reporting forms, with the ability to receive indicators for any analytics.
7. Refusal of an obligatory estimation of objects, characteristic for accounting methodology. Reports are formed by any numerical characteristic (cost or physical accounting), or by the number of objects (by object accounting), or by labor (labor accounting).
8. Networking orientation (virtual economic worlds of individual users can be merged into one). Achieved by two methods:
- Users set their own characteristics for the objects taken into account, but due to the uniform methodology and the uniqueness of each of the registered objects, the system preserves the integrity and consistency:
- Users can transfer objects to each other, the correctness of such manipulations is supported by the system automatically.
9. Database structure, which allows (when users work together) to manage with a limited number of fields for registering objects with an unlimited number of properties.
1.1.2. Application possibilities
The program can be used for warehouse, production or home accounting of property, but its final purpose is the
creation of a global network serving to coordinate and uniformly record every thing produced by humanity.The program relies on the fundamental laws of the universe, and not on some official rules, often contrary to common sense. Official rules can be integrated into the proposed new methodology to the extent that they are adequate to reality.
1.2. Theoretical platform
1.2.1. Material objects
The program is focused on joint accounting of things - material objects:
There are material objects of the following types:
1) an
elementary homogeneous object (not having mechanical components and consisting of a single substance - the composition of such objects is not determined: [
type_object ] = 1):

2) an
elementary inhomogeneous object (not having mechanical components, but consisting of several substances: [
type_object] = 2):

3)
compound object (having mechanical components: [
type_object ] = 3):

For a compound object, materiality (homogeneous or inhomogeneous) is not determined, since it is determined for each component separately.
As a special type of objects, the following subjects acting in the object world are the users:
4) user:

Users have special properties that are different from the properties of inanimate things.
1.2.2. Information objects
The program works with information: it allows you to take into account information objects, which are understood primarily as works of art: artistic texts, music and images. The program is not intended for working with the content side of the information.
When working with information objects, the program proceeds from the following premises:
a) any information object has a material carrier. Thus, the accounting of any information object is carried out within the framework of accounting for its material carrier.
The designation of the information object (object 2) recorded on the tangible medium (object 1):

b) an information object cannot be copied twice onto one material carrier;
c) an information object is assumed to be indestructible: it can be copied from past records even if deleted from all material carriers;
d) each elementary information object has a single author. The authorship of the elementary information object specified during its registration is not subject to change;
e) if the information object is composite, the rights to it belong to all authors in equal shares.
There are information objects of the following types:
1) complete information objects:

2) composite (synthetic) information objects:

3) parts of the information object:

A part can be taken from both the elementary and the composite information object.
1.2.3. Causal connection
Causal connections are causal dependencies arising between the objects of the surrounding world.
When working with causal connections, the program proceeds from the following premises:
a) material objects causally interact with each other;
b) one of the objects involved in the causal connection is the cause (
instrument ), the other object is the effect (
subject ).
In the program, the causal effect of an instrument on an item is denoted as:

c) causal connections are extended in time: the instrument begins its influence on the object, then the consequences of the action come;
d) the result of the impact of a tool on an object is, as a rule, a change in the object — some event expressed in the program of the operation. Therefore, in the general case, a causal connection indicates an object or objects arising from the operation (in fact, an operation). Causal connection of the specified type is
productive effects. However, in addition to the productive, there are
unproductive effects, in which the causal connection is established outside of any operation, directly between the objects. For example, an umbrella (implement) protects clothes (object) from rain. If not an umbrella, the clothes would get wet, that is, change the properties. Since the purpose of the umbrella is to prevent changes in the properties of clothing, the causal connection is established directly between the objects, and no operation takes place with the object of impact.
e) each material object can alternately act as a tool or object.
The hammer in relation to the nail acts as a tool, but when the hammer was made, with respect to the tools that were used, the hammer was an object. Each cause was once a consequence, etc., that is, there are extensive chains of causal connections.

As a person registers the products of his labor, these chains symbolize the production process;
e) the causal relations are calculated labor: the duration of causal effects on the subject.
h) causal chains are not infinite: they begin on a person and are broken by a person who is the original source of causality.

For each user, you can calculate the difference between what they produced and what they consumed (the
balance of labor ).
1.2.4. Single accounting space
The principal decision on the organization of a single information space is as follows:
- Objects are characterized by a limited number of properties (for the sake of saving computer resources, the program provides for 40 arbitrary properties of material objects: 33 text formats and 7 numbers);
- However, the properties are set by users arbitrarily, which ensures the flexibility of the accounting system;
- Material objects can be transferred to other users or share.
In the transfer of the essence of teamwork in the program. The user, on the basis of his ideas and needs, characterizes a material object in an arbitrary way, then transfers it to another user, who in turn characterizes the object in an arbitrary way, based on his own ideas and needs, and so on. The object is subject to various modifications, according to the above types of operations, but at the same time any modifications, including transfers of objects, are tracked. As a result, a unified network accounting universe is created, imitating the material world around us and based on the following principles:
- everything that you have registered in the accounting system is taken into account;
- you have the right to know everything about things that you have or promised you.
1.3. Development tools
The database is thought of as distributed: users install the program on personal computers or use programs located on sites. Only registration on the manufacturer’s server is centralized (so that users can send objects to each other like e-mails being sent).
Development tools are needed to create a program for installation on personal computers as well as for placement on websites.
Section 2. DATABASE
2.1. Database
The base consists of several interrelated (relational) tables:
- Material Objects ( OBJECT ),
- Subjects ( SUBJECT ),
- Operations ( OPERATION )
- Dictionary ( DICTIONARY );
- Transfer of objects ( TRANSFER );
- Information objects ( INFORMATION );
- Tangible media ( CARRIER ),
- Causality ( CAUSE ).
2.1.1. Material Objects ( OBJECT )

The table is designed to store data about objects: their keys and characteristics (both mandatory and assigned by users).
The fields indicated in the table of objects (under ordinal numbers) are used as follows:
- field 1 - object identifier;
- fields 6, 7 - object types (necessary to simplify algorithmization);
- Fields 9-10 are the phases of the existence of an object: arrival and consumption;
- fields 2-5, 11-51 - properties of the object (fields 2-3 - mandatory; fields 4, 11-51 - set by the user);
- field 6 is calculated.
2.1.2. Subjects ( SUBJECT )

The table is intended for storing data about the user and the settings specified by him.
The fields listed in the subjects table are used as follows:
- field 1 - subject identifier for the system;
- field 2 - subject identifier for the user;
- Fields 3-43 are the names of the properties specified by the user.
2.1.3. Operations ( OPERATION )

* - types of operations. For material objects: 0 - registration of an animated object (user); 1 - arrival of an inanimate object (thing); 2 - separation of an elementary homogeneous object into parts; 3 - separation of the compound object; 4 - separation of an elementary inhomogeneous object into substances; 5 - separation of an elementary heterogeneous object into parts; 6 - mechanical combination; 7 — chemical combination; 8 - change the properties of the object (except for the property "Subject"); 9 - disposal of the object; 10 - transfer of the object (change of the “Subject” property); 11 - exchange of objects. For information objects: 12 - object creation; 13 - merging several objects into one; 14 - copying part of the object (division); 15 - change the properties of the object; 16 - copying "your" object; 17 - copying the "alien" object by the user; 18 - moving object; 19 - delete object; 20 - information object exchange. For causal connections: 21 - connection between the object and the operation (productive); 22 - communication between two objects (non-productive).
The table is intended for storing data on operations (a set of records as a registration unit).
2.1.4. Dictionary ( DICTIONARY )

The table is intended for storing values ​​placed in dictionaries.
The fields specified in the dictionary are used as follows:
- field 1 - value identifier;
- field 2 - an indication of the user who owns the dictionary;
- field 3 - an indication of the field on which the dictionary is built;
- field 4 is the value itself.
2.1.5. Object Transfer ( TRANSFER )

The table is intended for storing data on transferred material objects.
The fields specified in the dictionary are used as follows:
- field 1 - transmission identifier ”;
- Fields 2-4 - data from the sender database;
- Fields 5-7 - data from the Recipient database;
- Field 7 indicates the exchange nature of the transfer.
Two users have the right to access this table:
sender and
receiver .
2.1.6. Information Objects ( INFORMATION )

The table is intended for storing data about information objects.
The fields specified in the dictionary are used as follows:
- field 1 is the identifier of the information object;
- field 2 is the time of creation of the information object;
- fields 3-8 - characteristics of the object;
- fields 9-10 - the status and type of the object;
- Fields 11-12 - indication of primary sources. If it is possible to combine more than two information objects, an appropriate number of source fields is required.
2.1.7. Tangible Media ( CARRIER )

The table is designed to store data on recording information on tangible media.
2.1.8. Causality (CAUSE)

The table is intended for storing data about causal relations.
2.2. Relationships between the main tables
The main tables of the system responsible for material objects: a table of objects and a table of operations. The conceptual relationships between them are as follows:

The logic of the program:
1) Each material object is recorded on arrival, then on consumption. If the object is registered only on arrival, it is considered present at the moment; if the object is registered both on arrival and on consumption, it is considered to be retired at the moment (standard accounting logic);
2) any transformation of a material object leads to its consumption and at the same time, if it is not removal, to the arrival of a material object with new properties;
3) “subject” is one of the properties of an object, therefore changing this property means transferring an object from one user to another (due to the fact that users work only with “their” objects).
4) there is a one-to-one correspondence between material objects and the operations by which their phases of existence (arrival and consumption) are registered, with which you can determine the “history” of an object, that is, follow the chain of “transformations” of an object by establishing links: an operation — an object according to the expenditure of this operation — the arrival of this object — an operation…. etc.

If the object to be studied splits, then (in different colors, the constituent parts of the object are indicated and further tracing of their “history”):

5) the presence of the object numerical properties makes it possible to generate reports on any of them, arbitrarily set by the user.
The principles of registration of information objects are different. An information object is created once and for all by writing to a tangible medium, after which it can be copied to other media or erased from them what is being recorded.

Thus, by the information object, besides the very fact of the existence of such an object with certain properties, the number of operations with it (copying to media and deletions from media) can be tracked.
Section 3. INTERFACE
3.1. General form
The program interface - a general view:

The dimensions of the left control panel and the working window can be mutually modified, if necessary.
Switches are designed to switch to different modes of operation.
On the top control panel there are some user settings (buttons and other elements).
3.2. Modes of operation
There are three working modes in total:
- Objects
- Operations
- Reports.
When switching to another mode, the interface of the top control panel and the working window changes accordingly. The left and bottom control panels remain unchanged.
3.2.1. Mode "Objects"
The main types in the "Objects" mode:
a) icons
b) table:
c) hierarchy
Names (purpose) of buttons and interface elements.
On the top control panel are located:
- timer (with adjacent button to set the current time). This is a common interface element for all modes.
Further (in the top row) follow the buttons:
Below on the top panel is the entry / edit line of the operation. This includes items:- mark as chemical compound / separation,
- enter operation (OK),
- refuse to enter operation (No).
The bottom control panel contains buttons: The
bottom control panel is a common element for all modes.3.2.2. Mode "Operations"
View of the program in the "Operations" mode.
The list of columns of the combined table and their names (working window) is always the same.The name of the buttons (on the top control panel) and their purpose: The
second timer also serves to further filter operations. In the “Objects” mode it is not needed: the objects are shown in the working window at the moment of time (the time parameter is one), but operations can be selected over a period of time (the time parameters are two). Two timers are used to set filtering parameters: show operations from the moment (inclusive) to the moment (inclusive).Thus, for filtering in the "Operations" mode can be used:- left panel
- timers
- window for additional filtering.
3.2.3. Mode "Reports"
View of the program in the "Reports".
The second timer in the "Reports" mode is needed to set the parameters of some reports (those in which turns are calculated).Element "Reports" is used to select the report that you want to build.The name of the buttons (on the top control panel) and their purpose:
3.3. Left panel
3.3.1. The purpose of the left panel
The left control panel is used for:- Data entry;
- Data filtering;
- View the values ​​of the current object.
The panel consists of two columns: the first column indicates the properties, the second - the values ​​for the current properties. For material objects, the following properties are required (always present on the left panel): “Subject”, “Object”, “Registration time”, “Mass”, “Information”: The
gray box opposite some lines is a dictionary call. The dictionary is invoked for text format properties.When viewing information objects, the left pane has a slightly different look: The
gray box here is not only a dictionary call, but also a file selection window call.Possible values ​​for “Status” or “no file” (with [status_info] = 0), or “private” (with [ status_info ] = 1), or “public” (with status_info = 1), or no value (if not specified file).The principles of working with the panel for information objects are the same as in the case of material objects.3.3.2. Using the left panel for data entry
3.4.2.1 Adding a new property
The user is allowed to add 33 text and 7 numerical properties of a material object to the left control panel. For information objects, the number of properties is limited.Adding properties is carried out when entering / editing an operation: let's say the user needs to characterize the material object being registered using a new property, and he adds this property to the left control panel. To do this, being in the input mode of the operation, it must go to the bottom empty line, designed to enter the name of the new property and the value on it.
If the number of valid properties has been exhausted, there is no empty string.As you can see in the figure, when you edit a material object, the Information property disappears (information objects are edited in a special interface), but the Icon property is added so that the user can specify the path to the icon. When editing is completed, the “Icon” from the left pane disappears.After the name of the new property of the object is typed (the user pressed "Enter" or moved to the right), a modal format selection window appears. The default is text.If the user entered a new property, but did not specify a value for it (assigned an empty value), after clicking on Enter, a message is displayed: The new field will not be created, since no value is specified for it.After the format and value of the added property are specified and the user has approved the operation, clicking OK, the following is recorded in the database (besides the operation itself).1) Subject registration registration is fixed.Table SUBJECT :id_subject : ...name_subjec t: ...grade_name_1 : set by usergrade_name_2-40 : Thepreviously filled values ​​are indicated by dots (and in this case, when a user is registered).If the user has chosen a numeric format, the dictionary is used starting from grade_name_34 (fields 34 to 40 are reserved for numeric fields). In this case, the corrections are as follows:TableSUBJECT :id_subjec t: ...name_subject : ...grade_name_1-33 :grade_name_34 : set by the usergrade_name_35-40 :Each new property is added to the new grade, and so on up to 40 (up to the limit number of properties set for one user).A property can be deleted (automatically, if there are no non-empty values ​​for it), then the “vacated” field can be occupied by a new property.For information objects, the number of properties in the dictionary is set and cannot be changed.3.4.2.2. Input value
When entering / editing an operation, the user enters new (or leaves unchanged) values ​​for the current (selected) object.3.4.2.3. Work with a dictionary
If the user, when entering a value, wants to use a dictionary (that is, previously filled values ​​for this field), he clicks the button located on the right side of the panel (opposite the properties). A modal window appears with a dictionary of this field.
Values ​​that were previously absent are entered into the dictionary.When adding from the keyboard, the presence of the added value in the dictionary is checked (when entering an operation).If the value is absent (i.e., not previously used), it is entered into the dictionary:Table DICTIONARY :id_dictionary : value code, automatically generatedid_subject : taken from id_subjectdictionary_number : unique dictionary code, taken as number from grade_name_Ngrade : entered by the user.Each time an object is deleted, it is checked whether this value is used with respect to other objects. If not, the corresponding entry is removed from the dictionary.Similarly, work is done with a dictionary for information objects.3.3.3. Use left panel to filter
When an operation is not entered / edited, the left panel can be used to filter objects in the working window, because the names of objects and properties are not unique and can be repeated.If the user clicks the filter button on the bottom panel and goes to the left pane, where he types the desired value, then after pressing Enter or going to the working window, objects with the typed value will remain in the working window.When values ​​are typed by two or more properties, the default filtering is performed according to the logical union “and”. To use the logical union "or" the user must specify in front of the value: II.The user can specify several values ​​in one cell, for example: Name 5 @ Name 1.That is, the notation is standard:@ Is a logical union "and",II is a logical union "or".To clear the filtering criteria, use the button to show all objects.To view the values ​​of the current object in the left panel (and not the filtering criteria), the filter button must be pressed.3.3.4. Use the left pane to view the values ​​of the current object.
If there is no input / editing operation and the filter button is pressed, the left panel is used to view the values ​​of the current (selected) object. Otherwise, if the object is not selected, the values ​​in the left panel (except for the subject value, which is always shown) are missing.Suppose, in the “Objects” mode, the user stands by the cursor on the object “Name 3”, then the values ​​for all properties of this object are highlighted in the left pane.
The same happens in tabular mode. At the same time, the object values ​​indicated in the table are repeated on the control panel (such repetition may be useful if there are many properties and they do not fit on the screen).The same happens if the user is in a hierarchical view.The properties of an object are displayed in a similar way in the “Operations” mode, if you position the cursor on an object in the formula, and in the “Reports” mode: if the grouping is performed on an item-by-object basis.If you leave the object, the values ​​will be cleared (regardless of the mode and type).3.4. Working window
3.4.1. Purpose of the working window
The working window is used to view objects at any time.Depending on the mode and parameters set on the left panel, the following are shown:- or icons of material or information objects (in the "Objects" mode):
- or a table (in the "Objects" and "Reports" modes):
- or a combination of both (formulas from icons as table values ​​- in the “Operations” mode):
- or icons arranged in a hierarchical order and displaying real continuity.
3.4.2. View past transactions
3.4.2.1 Browsing by hierarchy
The constituent parts (nesting) and the substances of which the object consists (materiality) are determined by past operations with it, because objects can only be united as a result of an operation. Thus, looking through past operations, the user becomes acquainted with the nesting and materiality of the object (and in general - with all the changes that have occurred with the object).
To view all past operations that have been with the selected object, the user uses the hierarchy button, after clicking on which the object appears in a hierarchical form, for example in this:

Each of the hierarchical levels presented here denotes an operation performed with an object (one of its component parts or a substance):
1) Receipt of the object:
2) Combining objects (chemical in the example):
3) Transfer facility:
4) Object separation:
5) Change the properties of the object:
This solution is similar to the Explorer of modern operating systems - with the difference that folders and files are not arbitrarily created by the user, but result from the operations performed by the user. Plus, small features of the graphical representation of the tree, designed to show the essence of operations that transform the object.
3.4.2.2 Viewing component parts of an object using icons or tables
Suppose that object 1 and object 2 were previously merged into object 3 (thus represent a composite object [
type_object ] = 3).
When the button for viewing icons is pressed, the user sees in the working window a composite object:

But if the user clicks on the object "Name 3", then "enter" the state of the object on the previous operation of the union,

in other words, go down the link:

Advance "in depth" on past operations is possible to [
type_operation ] = 1, i.e. initial object registration in the information system.
Browsing through a hierarchy using icons or a table only affects join operations (that is, those that make up the constituent parts of objects). To view all operations, use the tree.
3.4.2.3. View component parts of an object in a foreign database
The user can "go deep" not only into his own database, but also into someone else's - by the objects received from another user.
If the object has changed the value by the "Subject" property, it means that the object is received from another user (Sender). Then, having tried to “enter” the object, the Recipient will see how the object is characterized in the sender's database.
If it is impossible to contact the Sender, a warning message is issued.
There is no separator, as well as at the levels of nesting and materiality: viewing in a foreign database according to the hierarchy is impossible.
Being in a foreign database, the Recipient can view the properties of objects, but is not entitled to perform operations with them: he only becomes acquainted with the “history” of the received object, each of its constituent parts and substances - on that natural legal basis that he received the object, therefore, The recipient has the right to know everything about this object.
Return to your database by the user using the buttons "Return" and "Return Home", located on the bottom panel.
3.4.3. Work with information objects
3.4.3.1. View information objects in its database
To view information objects recorded on a material carrier, you need to step onto the corresponding material object and perform one of two actions:
a) or press the switch on the bottom control panel:
b) or move the cursor to the value on the property “Information” on the left control panel.
After this, information objects will appear in the working window (recorded on the current material carrier).

With information objects in the work window, you can perform operations.
You can return to the viewing mode of material objects by clicking on the same switch on the lower control panel or by moving the cursor to the “Media” property on the left control panel.
3.4.3.2. Search for information objects in another database
The user, not being on any of the material objects, goes into the mode of viewing information objects, and indicates the required properties of the object - searches for public information objects in the entire system.

The subject at the beginning of the search is not specified, of course. If, having carried out the search, the user gets on the found information object, he will see its properties, in the general order.
You can call this function using a separate button.
3.5. Timer and work with him
The timer is needed to view the status (registered objects) not only at the current time, but also past and future.
Suppose the user, 2012.09.12. at 13:01 registered compound object 3, sets the time one minute earlier. He will see the state at that time: that object 1 and object 2 appear separately, and not as part of object 3, into which they will be merged later. If the user sets the time for the moment when neither object 1 nor object 2 has been registered yet, he will see an empty working window. Thus, in the “Objects” mode, the timer shows the state of the database at the time set on it.
The timer operation:
- default state: shows current time (time is running);
- if necessary, the user can set a different time. In this case, the timer shows the time set by the user. The countdown of time is terminated, until the moment of returning to the current time (pressing the current time button).
- setting the time is done manually: the user simply types new parameters (without the punctuation marks, of course, they are static). Entering the last digit indicates that the parameters have been entered. If the user does not specify a time, but immediately switches to another window element, the default time is set to 00:00.
Error messages are issued in the following cases:
a) if the user entered an invalid character (digital or other not corresponding to the timer);
b) if the user does not specify a year, month or date.
When entering the operation, the countdown of the current time (if the current time is set) on the timer stops.
3.6. Transitions from mode to mode
Transitions from mode to mode are carried out according to the following rules:
- Transitions are carried out consistently, in accordance with the filtering criteria established on the left panel (objects, operations or objects for generating reports are filtered respectively);
- At the same time, if an object is selected, then when switching to another mode, the user is on the same selected object. This rule refers to viewing not only current, but also past operations (that is, when viewing nesting and realness of objects).
Section 4. DATA ENTRY
4.1. Standard user input actions
The standard user input actions are as follows:
1. The user selects the object and presses the desired edit button. (For some operations, it may be necessary to select a second object). As a result, a formula and a text commentary to it appear in a row on the top panel, for example:

2. Then the user gets up on the object in the formula, which requires setting or correcting the properties, and setting the desired properties of the object in the left panel, also corrects the text comment.
3. After that, the user clicks OK. As a result, objects appear in the working window of the “Objects” mode in accordance with the operation performed. In the “Operations” mode, if you look in there, you will see a record of the operation performed.

4.2. Standard table entries
Most of the entries in the tables are repeated. When considering each operation repeatedly not to specify the standard, in fact, records, we indicate them immediately as samples.
1. Registration of the operation.OPERATION table:
id_operation : ... (automatically generated)
time : ... (user defined)
subject_operation : ... (taken from user id_subject)
type_operation : ... (determined by user actions)
comment : ... (user-defined)
actual : 1 if time <= current time; 2 if time> current time
2. Receipt of a material object.Registered with a new entry.
OBJECT table :
id_object : ... (automatically generated)
subject : ... (taken from user id_subject)
name_object : ... (specified by the user or determined by his actions)
av_http : ... (set by the user or determined by his actions)
massa : ... (set by the user or determined by his actions)
labor : ... (determined by calculation based on the type of operation: as the value of the labor costs of the component parts of the object plus the duration of the causal effect of the tools on the current operation)
information : ... (determined by user actions)
type_object : ... (determined by user actions)
enter : ... (taken from id_operation - an indication of the operation)
leave :
grade_1-33 : ... (set by the user or determined by his actions)
grade_34-40 : ... (set by the user or determined by his actions)
3. Disposal of a material object.When a material object is disposed of, an object about an object that already has a place is added by [leave]. In this case, in connection with the disposal of the object, [labor] is recalculated.
OBJECT table:
id_object : ...
subject : ...
name_object : ...
av_http : ...
massa : ...
labor : ... (determined by calculation based on the type of operation: how previously calculated value plus the duration of the causal effects of the tools on the object or the current operation)
information : ...
type_object : ...
enter : ...
leave : ... (taken from id_operation - an indication of the operation)
grade_1-33 : ...
grade_34-40 : ...
Both retirement and receipt of a material object can be registered in one operation from zero to two times, according to the number of incoming or outgoing objects.
Depends on the type of operation:
- on arrival ([ type_operation ] = 0 or 1) the object is registered on arrival, while there is no object registered on consumption;

- when you change the properties in ([ type_operation ] = 8) or transfer ([type_operation] = 10) an object with the same properties is recorded by consumption, and an object with new properties is registered by arrival;

- when dividing an object ([ type_operation ] = 2, or 3, or 4, or 5), the old object is registered by consumption, and new objects - by arrival;

- when combining objects ([ type_operation ] = 7 or 8), old objects are registered by consumption, and a new object - by arrival;

- upon retirement ([ type_operation ] = 9) the object is recorded by consumption, while the object recorded by arrival is absent;
4. Creating an information object.INFORMATION table:
id_info : ... (automatically generated)
time_info : ... (user defined)
name_info : ... (user defined)
author : ... (generated automatically as username)
description : ... (user defined)
version : ... (user defined)
av_http_info : ... (user defined)
file : ... (user defined)
status_info : ... (specified by the user or determined by his actions)
type_info : ... (determined by user actions)
parent _1 : ... (determined by user actions)
parent _2 : ... (determined by user actions)
For [
type_info ] = 1, primary sources (
parent ) are not indicated; for [
type_info ] = 2, one source is indicated; for [
type_info ] = 3 - two primary sources.
Information objects are created once and are not subject to retirement, only the facts from the recording on the media or deletions from the media are recorded (see below).
5. Record information object on the carrier.A new entry is being made.
CARRIER table:
id_carrier : ... (automatically generated)
id_subject : ... (link to user)
id_info : ... (link to recordable information object)
id_object : ... (reference to the material carrier)
enter_info : ... (taken from
id_operation - an indication of the operation)
leave_info :
6. Removal of the information object from the carrier.An entry about the information object on a tangible medium is added according to [
leave_info ].
CARRIER table:
id_carrier : ...
id_subject : ...
id_info : ...
id_object : ...
enter_info : ...
leave_info : ... (taken from
id_operation - an indication of the operation)
Now go directly to the operations.
4.3. User registration [ type_operation ] = 0
The user is registered in the standard view window, indicating (* - required):
- login*,
- password*,
- your weight (mass)
- http link to the image.
It is possible to specify other parameters, if necessary.
The formula of operation:

When registering, the following entries are added to the tables.
SUBJECT table:
id_subject : ... (automatically generated)
name_subject: ... (login - user defined)
grade_name_1-40 :
Next, standard recordings of the registration of the operation and the receipt of a material object are added (the name of the material object is the name of the user, that is, the user simultaneously acts as both a subject and an object).
Then the user enters the program under his login. Before it opens a program of the following type, in the "Objects" mode.

Ticking current time. All buttons, except the add object button, are dimmed. The only thing that is possible is to switch to another mode (where all the buttons are also damped) or to start work by adding the first object.
4.4. The receipt of a material (inanimate) object: [ type_operation ] = 1
The user clicks on the add object button. In the line for entering / editing a formula, a formula appears.

The cursor moves to the left control panel to enter object properties. The default object name is “Object”.
Standard entries are added to the tables:
- Registration of a transaction
- Object receipts.
As a result, the working field appears the registered object.
4.5. Union of material objects
There are two types of combinations:
- Mechanical (default).
- Chemical (when installing the label on the "chemical.").
The combination of two objects is considered (for the simplicity of displaying formulas), although methodologically it is not difficult to combine a larger number of objects.
4.5.1. Mechanical union: [ type_operation ] = 6
In a composite object, objects of any kind can be combined (and in any sequence, the order of the terms does not matter), with the exception of [
type_object ] = 0, i.e. user Components and substances cannot be combined (since they are already in the composition of the object).
Formulas of mechanical combination:

etc.
The user stands on the object and presses the merge button. In the line for entering / editing a formula, a corresponding formula appears. Then the user gets on the second object (which is going to merge with the first) and presses Enter or double-clicks the mouse.
The properties of the first two objects (terms) cannot be changed - they are known. The properties of the third object (amount) are subject to change in a general manner. By default, the properties of the object that is in the formula first are suggested.
If information objects were recorded on the united material carriers, the information objects are combined on a new carrier. For example, if a novel was written on one of the objects, and a novel was written on a second object, then a novel and a novel would appear on the resulting composite object.
When the properties are specified, the user clicks the Ok button, and the added object appears in the working window, and the objects that have become its component parts disappear.
Standard entries are added to the tables:
- Registration of a transaction
- Disposals of former material objects - twice,
- Receipts of a new material object
- Deletion of an information object from the previous carrier - by the number of available objects,
- Records of the information object to the new carrier - by the number of available objects.
4.5.2. Chemical Union: [ type_operation ] = 7
The formulas for chemical combining are generally similar to mechanical combining, with the difference that combining is allowed ([
type_object ] = 0, that is, a user, with a material inanimate object. In this case, the name of the resulting object is in any case the user name.
Chemical Formula:

etc.
Data entry is also similar to the previous option, but with the establishment of the label on the "chemical."
The value of [
type_object ] is assigned to the received objects as follows:

If information objects were recorded on chemically combined material objects, then the data information objects on the new media are erased.
The following entries are added to the tables:
- Registration of a transaction
- Disposals of former material objects - twice,
- Receipts of a new material object
- Deleting an information object from the previous carrier - by the number of objects available.
To write to a new media of any information object, you need to perform the corresponding operation, acting in the general order.
4.6. Separation of a material object
When splitting, the restriction is the same as when combining: an object can be divided no more than in two.
Three types of separation are possible:
- Separation of an elementary object
- Removal of a part of a non-elementary object,
- Separation of an elementary heterogeneous object into substances.
In all cases standard entries are added to the tables:
- Registration of a transaction
- Disposal of the former material object
- Receipts of new material objects - twice,
- Deletion of an information object from the previous carrier - by the number of available objects,
- Records of the information object to the new carrier - by the number of available objects.
4.6.1. Separation of an elementary homogeneous object: [type_operation] = 2
The formula of operation:

The first object in the formula (reduced) is the one that is divided. The second object (subtracted) is the one that separates from the first. The third object (difference) is the one that is obtained by separating the second from the first. All objects here have the same name, since
deductible and default differences are assigned values ​​of decreasing, but the user can correct the names during the editing process.Values ​​are entered in a general manner, similar to that discussed above. The specifics are as follows: if a new part is separated from the object (that is, the object was previously complete, but now divided in two), the values ​​are sequentially indicated for the second and third objects.When splitting, the properties of a numeric format behave in a special way. Values ​​of numeric formats are indicated only for the subtracted (the second object), and for the difference (the third object) they are calculated. For example, in the properties of object 8, [Weight] = 150 was specified. The user specifies [Weight] = 50 for the subtracted. Then, the difference is automatically set to [Weight] = 100, and the user cannot change this value otherwise than by changing the previous one, or changing this value changes the previous one accordingly. A value of 0 is allowed. These requirements are valid for each numeric field.When divided into user parts ([ type_object] = 0) one of the parts must retain its properties (that is, it is possible to separate any part from the user, but the user himself will remain).If information objects were recorded on a tangible material object, they are by default transferred to the media specified in the formula first. Thus, the separation of the material carrier leads to the fact that all information objects are on one of the newly formed media. To distribute information objects to carriers, it is necessary to perform the operation of moving information objects in a general manner.4.6.2. Splitting a composite object: [ type_operation ] = 3
Composite objects ([ type_object ] = 3) can only be separated by separating already existing parts. For example, if object 5 was formed from objects 4 and 3, and object 3 in turn from objects 2 and 1, then object 5 can be disassembled into objects 4 and 3, but earlier this cannot be separated from object 5 by object 2 or 1. Others In other words, a composite object is assembled in one sequence, and is understood strictly in the reverse.Operation formulas:
etc.
The user, having risen by the cursor on the compound object, presses the division button, and the formula is written in the line: the operation is ready for input, it remains only to write a text comment to it. The default for comments is: Disassembled.When splitting a composite object, the properties of parts are not subject to change: these objects are registered earlier, therefore, the properties for one object are not redefined, except for the operation time. Accordingly, the cursor is on the operation time, the rest of the properties are unavailable for changes.After clicking Ok, the composite object is divided into parts, which, in the form of independent objects, appear in the working window instead of the composite object.The entries in the tables are standard, with the specificity that the values ​​for some properties are determined algorithmically, according to the corresponding value of the object when it is added to the composite. In other words, the result of splitting a composite object is registered as new objects with the same properties, which the user does not have the right to change.If there were information objects on a composite material object, they are restored in accordance with the original position. If the information was recorded directly on a composite material object (and not before on its constituent parts), the information object is transferred to the object specified in the formula first (and the first object that was first in the formation of the composite object is indicated first).4.6.3. Separation of an elementary heterogeneous object into substances: [ type_operation ] = 4
As in the previous case, the separation is carried out according to no longer with nesting, but with realness (after all, substances can be chemically combined sequentially: first the first with the second, then the alloy with the third substance or even with the alloy, etc.).Operation formulas:
The operation specifics are as follows:- from a user ([ type_object ] = 0) one can “chemically isolate” a substance with any properties regardless of past operations;
- ([ type_object ] = 3), ([ type_object ] = 2), , , , ([ type_object ] = 1). , . , ( ) . , , , , , , ( ).
User actions are similar to the previous one. The user gets the cursor on an elementary heterogeneous object and presses the split button. In order to distinguish this type of operation from mechanical separation of an elementary heterogeneous object into parts ([ type_operation ] = 4), the user sets the label to "chemical" (when working with [ type_object ] = 0, the label is set automatically and cannot be removed) . The formula and text commentary are then modified accordingly.The properties of objects with ([ type_operation ] = 4 are not subject to change, except for the operation time, similar to the previous version, and properties of the number format (in some cases), also except for work with the user ([type_object ] = 0).The calculation of the numeric format is similar to the calculation for the mechanical separation of an elementary inhomogeneous object. For example, alloyed copper weighing 10 kg with iron weighing 5 kg. Then from the resulting piece cut 7.5 kg. In the separation of a new object in a chemical way will get 5 kg of copper and 2.5 kg of iron. Such a calculation is carried out automatically for all attributes of the number format.The entries in the tables are similar to the previous operation - the separation of the compound object into parts, with the difference that another type of operation takes place and the characteristics of the object’s chemical components that are not chemically combined are determined algorithmically.4.6.4. Splitting an elementary heterogeneous object into parts: [ type_operation ] = 5
Elementary heterogeneous object can be not only decomposed into substances (chemically), but also separated mechanically.
User actions are the same as when [ type_operation ] = 4, with the difference that the label is not set to "chemical."If information objects were recorded on a divided material object, they are transferred by default to the object specified in the formula first.4.7.Change the properties of a material object: [ type_operation ] = 8
The user may not add, merge or split objects, but only change the property of the object.Properties can change for objects of any type, with the exception of the user ([ type_object] = 0), while the type of the object itself remains the same.
The first in the formula object - with the same properties, the second - with the new. The second object is assigned the default values ​​of the first.It is allowed to change the properties [ name_object ], [ av_http ], [ massa ] or [ grade_1-40 ].It is forbidden to change the properties:- components and substances;
- objects formed by operations [ type_operation ] = 10 and 11.
If information objects were recorded on the material object that changed the properties, then these information objects are transferred to the new object.Standard entries are added to the tables:- Registration of a transaction
- Disposal of a material object with the same properties
- Receipts of a material object with new properties,
- Deletion of an information object from the previous carrier - by the number of available objects,
- Records of the information object to the new carrier - by the number of available objects.
Writing information to a material object is not considered a change in its properties.4.8.Disposal of a material object: ([ type_operation ] = 9)
Objects of any type are subject to retirement, with the exception of the user ([ type_object ] = 0): It is
prohibited to delete the component parts and substances of the object (you first need to separate them from the object, then you can delete them as a separate object).The user gets on the object and presses the delete button. The object is proposed for deletion. Naturally, you do not need to enter the properties of the object to be deleted: the user confirms the deletion operation or cancels it. Enter only the time of the operation and the text commentary on the operation.After clicking Ok, you are prompted to confirm the deletion. After confirmation, the deleted object disappears from the working window.Required records:- Registration of the operation
- Deleting a material object
- Deleting information objects recorded on a material object.
4.9. Transferring a material object to another user: [ type_operation ] = 10
The user can transfer the object to another user. This is done by changing the value of the "Subject" property, thus the formula coincides with the formula for changing the properties of an object (highlighted in a separate type in order to simplify algorithmization).It is allowed to transfer objects of any type, except for the user ([ type_object ] = 0):
User actions are identical to actions when the object's properties change, with the difference that it is necessary to change the “Subject” property, after which the object “goes into control” of the specified subject. Thus, two users take part in this operation: the Sender and the Receiver. If the Recipient is specified incorrectly (it is absent - it does not appear either in the database used by the Sender, or on the centralized server, or the Sender is specified), the operation is prohibited, and a corresponding message is issued.Allowed to change other properties of the object.The sender presses the OK button, and the object is transmitted, disappearing from the working window (temporarily if the transfer is rejected by the Recipient or permanently if approved).The transfer algorithm is as follows.1) The sender transmits the object to the receiver. As a result, the object is dropped from the Sender's database and enters the Recipient's database. An object that appears in the Recipient's working window is marked as “for review” using a question mark:
Entries in both databases are marked as “for review”. These records are taken into account in the working windows (the object disappears at the Sender, appears at the Recipient; or, another option, is shown damped, but so that it can be distinguished from the received object). At the same time, the completed operation does not participate in the report generation until it is updated.2) If the Recipient updates the operation, the operation is also updated at the Sender. Then the object begins to take part in the formation of reports. Records of information objects located on the transferred material carrier are made after the updated object has been updated.3) If the Recipient does not update (delete) the operation, then the operation at the Sender is also deleted. In this case, the object disappears from the Recipient's working window and reappears in the working window of the Sender, that is, it returns to its original position.When both bases are in direct access to each other (the base is not distributed), the transfer is carried out simultaneously. If the databases are not in direct access (the database is distributed), the object is transferred through the server. A database is created on the server, in which the data about the objects and the settings (the names of the object properties) of the Sender and Recipient are entered. When establishing communication with the Recipient, the necessary data is recorded in its database. Then, when accepting an object or abandoning it, the server communicates with the Sender and makes the necessary changes to its database. After making all the changes, the database on the server is cleared of entries that have become redundant.The following entries are made in the tables.At the Sender:- . , : [ actual ] = 3;
- .
:- . , : [ actual ] = 4;
- .
At the same time , the transfer of the object is recorded in the TRANSFER table . If the sender and recipient have combined databases, one record is executed: TRANSFERtable : id_transfer : ... (generated automatically) sender : ... (pointing to the Sender) object_sender : ... (taken from the sender's id_object - pointing to the transferred object) operation_sender : ... (taken from Sender's id_operation - an indication of the transfer operation) receiver : ... (pointing to the Recipient) object_receiver : ... (taken from the Recipient's id_object - indicating the received object)operation_receiver : ... (taken from the Recipient's id_operation - an indication of the receive operation)exchange_sender :exchange_receiver :If the databases are separated, a similar record is made in both bases, the Sender and the Recipient.4.10.Exchange of material objects: [ type_operation ] = 11
Exchange - two oncoming transmission of material objects. The establishment of a specific fee for the transferred object is not provided: it is assumed that users agree on this outside the system.Exchange is allowed objects of any type, with the exception of users ([ type_object] = 0).Operation formulas:
etc.
The sharing algorithm is as follows:- Subject A transmits an object to Subject B in a general order;
- Subject B, in the order of updating the operation, transmits to Subject A another object. If this transfer is updated by Subject A, the exchange is considered to have taken place, otherwise the entries are deleted.
The differences in the records in comparison with the transfer of the object is that instead of one there are two operations that are linked to each other by [ exchange_sender ] and [ exchange_receiver] . Filling in these fields indicates an exchange, not a donation.4.11.Creating an information object: [ type_operation ] = 12
Creation of an information object means that any information (information object) is recorded on the material medium. The program does not work with this information object, but deals with its registration - this applies to all operations with information objects.The type of information object does not depend on the type of media; any combination of information objects with material is possible, with the exception of recording information on the user ([ type_object ] = 0).
etc.
To create an information object, the user enters the mode of viewing information objects and presses the add button, then enters the necessary data.Standard entries are added to the tables:- Registration of a transaction
- Creating an information object
- Records of the information object on the carrier.
Creating an information object is allowed only after creating a material carrier, these are separate operations. First, paper is created (and, accordingly, registered in the system), then text is printed on the paper, as a result of which the paper becomes a material carrier. Similarly, a flash drive is first made, then information is recorded on a flash drive, and so on.The information object is created by the author: by the "Author" property, the object is assigned a user name, it is impossible to specify another name or to correct it later.4.12. Combining information objects: [ type_operation ] = 13
Operation formulas:
etc.
Synthetic (consolidated) information object is recorded on the media specified for the first object in the formula.Standard entries are added to the tables:- Registration of a transaction
- Creation of an information object (synthetic)
- Records of the created information object on the carrier.
The united information objects are not destroyed (in the formula they are indicated by dots for ease of perception), but remain recorded on their carriers. If the user combines, for example, music with an image, he will receive a movie, while the old objects will be visible in the working window (provided that they are recorded on one medium).4.13. Copying part of an information object (division): [ type_operation ] = 14
Operation formulas:
etc.
A part of an information object is considered to be a part of both a complete and synthetic object.At least one of the properties of new objects is subject to change, otherwise the operation is prohibited.Standard entries are added to the tables:- Registration of a transaction
- Creation of information object ([ type_info ] = 3),
- Records of the created information object on the carrier.
That is, a part is separated from the “parent” object, becoming an independent information object.4.14. Change information object properties: [ type_operation ] = 15
Operation formulas:
etc.
Naturally, the change preserves the types of both the information object and its material carrier.By default, the properties of the original object are specified. At least one of the properties of the new object is subject to change, otherwise the operation is prohibited.The following entries are added to the tables:- Registration of a transaction
- Corrections of the property specified by the user (from among the [ name_info ], [ description ], [ version ], [ av_http_info ], [ file ], [ status_info ]) available to it in the INFORMATION table .
Corrections are allowed only to the author!An information object changes its properties is not identical to a material object: it is a global change of this information object from the beginning of its registration. In this connection, this operation cannot be deleted (canceled).4.15. Copying an information object
4.15.1. Copying the “own” information object: [ type_operation ] = 16
Copying an information object in general: from its base to its own.Operation formulas:
etc.
By default, the properties of the original object are specified. Change of properties is prohibited, the user is immediately prompted to perform or cancel the operation.Standard entries are added to the tables:- Registration of a transaction
- Records information object to a new carrier.
4.15.2. Copying the “alien” information object: [ type_operation ] = 17
This refers to copying an information object from the base of another user to its own.Operation formulas:
etc.
To copy an information object registered by another user, you must first find this object, which is done from the search mode of the information object in a foreign database.The user finds the object and presses the copy button. The working window returns to the usual mode of viewing its own material objects. Then the user finds and indicates the material medium to which the information object should be copied.The following entries are added to the user (copier) tables:- Registration of the operation
- ,
- .
In addition, the recording is performed:Table TRANSFER :id_transfer : ... (generated automatically)sender : ... (pointing to the File Owner)object_sender : ... (taken from the Ow_ id_object of the file - pointing to the copied object)operation_sender :receiver : ... (pointing to the Copier)object_receiver : ... (taken from the copier's id_object - pointing to the copied object)operation_receiver : ... (taken from the copier's id_operation - indicating the copy operation)exchange_sender :exchange_receiver :If the Copier and the File Owner have separate bases, a similar entry is duplicated in the File Owner database.4.16. Moving information object: [ type_operation ] = 18
Operation formulas:
etc.
By default, the properties of the original object are specified. Change of properties is prohibited, the user is immediately prompted to perform or cancel the operation.Standard entries are added to the tables:- Registration of a transaction
- Deletion of the information object from the media,
- Records of the information object on the carrier.
4.17. Deleting information object from media: [ type_operatio n] = 19
It is allowed to remove from the media information objects of any type and regardless of the type of media.The formula of operation:
etc.
Standard entries are added to the tables:- Registration of a transaction
- Remove information object from the media.
As a result, the information object is removed from the working window.4.18. Exchange of informational and material objects: [ type_operation ] = 20
An information object can not only be made public, i.e. allowed to be copied by all users, but allowed to be copied in exchange for a material object.The operation is allowed for both informational and material objects of any type.Operation formulas:
etc.
On the other hand, the operation of the formula will be obtained respectively by the opposite:
The exchange algorithm is identical to the exchange algorithm of material objects.The entries are similar to the copying of a “foreign” information object ([ type_operation ] = 17), with a counter-reference to the exchange: [ exchange_sender ] and [ exchange_receiver ].Like the exchange of material objects, this operation requires updating.You cannot exchange two information objects.4.19. Establishing causal communication
There are causal effects of productive (between the object and the operation) and unproductive (between two objects).4.19.1. Establishing productive causal connection: [ type_operation ] = 21
A causal connection between a material object of any type and an operation of any type is allowed, with the exception of:a) [ type_operatio n] = 0;b) all operations with information objects, including [ type_operation ] = 20.Operation formulas:
etc.
To establish a causal connection, the user, selecting an object, presses the button of causal communication, then in the opened mode “Operations” indicates the operation and presses OK.The following entries are made in the tables:- Registration of a transaction
- Registrations of causal communication:
Table CAUSE :id_cause : ... (generated automatically)id_subject : ... (taken from user_id_subject )id_object_from : ... (specified by user)id_object_to :id_operation_to : ... (specified by user)time_from : ... (specified by user)time_to : ... (specified by user)B There are no visible changes in the "Objects" window.As a rule, productive causal connection is established in relation to the future operation. That is, the user intends to perform any operation (which is still future), for which he undertakes certain actions (long-term), which he registers as a productive causal connection. Upon the occurrence of the operation, the resulting object has a “reason” for its occurrence, “absorbing” the workload of the corresponding duration.When deleting an operation to which causal communication is applied, the causal communication operation is also subject to mandatory deletion.4.19.2. Establishing a non-productive causal connection: [ type_operation ] = 22
A causal connection is established between material objects of any type.Operation formulas:
etc.
The only exception is that communication between the information object (tool) and the user ([ type_object ] = 0) (subject) is allowed .
The records are almost identical, with the difference that the link is not given to the operation, but to the object:- Registration of a transaction
- Registrations of causal communication:
Table CAUSE :id_cause : ... (generated automatically)id_subject : ... (taken from user_id_subject )id_object_from : ... (specified by user)id_object_to : ... (specified by user)id_operation_to :time_from : ... (specified by user)time_to : ... (specified by user)In contrast to the productive connection, the unproductive causal connection is usually established by the current moment for a certain length. For example, the user intends to use the umbrella for half an hour or for an indefinite time (in the second case, the end time of exposure is not indicated), which is reflected in the record. Later entry can be adjusted. The record is subject to compulsory adjustment upon the disposal of the object on which it is directed: the causal connection is interrupted by this moment.4.19.3. Calculation of labor costs and labor balance
When calculating labor costs for inanimate objects ([ type_object ]! = 0), the following rules apply:- , , ( );
- ;
- . = 0 . = 0, ;
- [labour] ; [labour] . .
When calculating the balance of labor (for [type_object] = 0), the following rules apply:- when a person uses consumable material objects (food) consumption is considered based on labor costs for food. Writing to [labor] is made at the time of the merger;
- When a person uses tools affecting him, consumption is considered to be the duration of the useful impact of the tool on the person. Entry to the [labor] is at the end of the exposure;
- when a person uses an information object (an exception to the general case of establishing causal communication), consumption is considered according to the duration of such consumption. Entry in the [labor] is made at the end of exposure. Compensation for the use of an information object is distributed equally between, on the one hand, the authors of the information object, and on the other hand, the producers of the material carrier.
At the same time, entries are made in [labor] not only at the consumer, but at all manufacturers of this product. If the initial producer is unknown (the causal chain does not begin with the user, but with an inanimate material object), the corresponding value is recorded in the [labor] of only the consumer.Section 5. CORRECTION OF OPERATIONS
5.1. Editing operations
Operations can be edited. The user gets the cursor on the operation and presses the edit button. After that, the program switches from the “Operation” mode to the “Objects” mode. The timer sets the time of the operation being edited, the formula available for editing is displayed in the input / edit line, and the content of the operation being edited does not correspond to what is in the “Objects” mode working window.The user makes the necessary corrections and clicks OK. A check is made for the possibility of making changes. When permission to edit the database changes. As a result, the original position is restored, as if the operation had never been performed.5.2. Deleting operations
The user gets the cursor on the operation and presses the delete button.A check is performed on the possibility of deleting an operation. First of all, it is prohibited to delete those operations, at least one of the objects of which (added to the base as a result of this operation) is subsequently deleted ([ leave ]! = NULL). This check is necessary in order, for example, not to delete the data on the arrival of an object for which an expense was subsequently recorded: it is obvious that the object must first arrive, then it may already be deleted.About the impossibility of performing the operation, a message is displayed. If deletion is permitted, the original position is restored to the affected objects.5.3. Update of operations
Transmission operations ([ type_operation ] = 10) and exchange ([ type_operation ] = 11) are subject to approval - updating. This is necessary in view of two considerations:- The recipient may not want to accept the object;
- Since the set of properties in the databases of the Sender and the Recipient can (and most likely will) only partially coincide, the Recipient must also establish which of the properties characterize the resulting object. Properties whose names do not match are proposed to be written into the database at the request of the Recipient. The recipient has the right not to accept these properties, then in its database, when the operation is updated, the object will be registered as having no characteristics for them: the rejected properties will not appear on the left control panel at all. The accepted properties, on the contrary, will appear on the left control panel, and the object will be registered as having set values ​​for them.
Updates are also subject to future operations (registered by a future date), due to the fact that such an operation may not take place for any reason - it is also future.5.3.1. The actual transfer of the object
Apart from the fact that the Recipient must agree to accept the object transferred to him, he must define the properties by which the object will be characterized in its database, because the Recipient and the Sender characterize the objects each with their own set of properties.Suppose the Sender transferred to the Recipient an object characterized, in addition to the required properties, by the properties "Base", "Region", "Commodity Research" and "Urgency". And the Recipient does not have such properties, but there is a property similar to the “Base” - “Warehouse”.The recipient becomes the cursor on the transfer operation and presses the update button. A standard view window appears in which the nonstandard properties of an object in the sender's database are specified:
Working with the window is also standard: the user uses the arrows to transfer the properties that he wants to see in his database from the left list to the right. In the left list there are only those properties whose names do not match.The edit button (wavy line) is used to change the name of the property. In the above example, the user must click and in the right window in brackets type a new name: Base (warehouse). After clicking Ok, the operation is updated, and the values ​​for the selected properties are written to the Recipient's database. A correction is made to the Recipient's base: in the OPERATION table, instead of [ actual ] = 4, [ actual]] = 1 or 2 (the operation is defined as current or future in a general manner). The question mark is removed from the icon. At the same time, the [ actual ] = 1 or 2 is written to the Sender's base in the OPERATION table instead of [ actual ] = 3 (the operation is defined as current or future in a general order). If the Recipient refuses to update, he must delete the operation. In the bases of the Sender and Recipient, the original position is restored (the corresponding records are deleted or corrected: in the tables OPERATION and TRANSFER ). After updating remove operation ([ type_operation ] = 9, [ actual] = 1 or 2) becomes impossible (you can delete only the received object).5.3.2. Actual exchange of objects
In general, the exchange is updated in a manner similar to the actualization of the transfer of a material object.After approval by Subject B of the object received from Subject A, the update is not considered complete: in response, Subject B is invited to transfer any object to Subject A. After completing the transfer response, Subject B waits for the update from Subject A, after which the exchange is considered complete, and in the tables of both users appropriate entries are made.If one of the objects being exchanged is informational, then the file attached to the information object is allowed to be copied only after updating.5.3.3. Updating future operations
The user can register the arrival or departure of an object with a future date, while in the OPERATION table, the operation is marked as future: [ actual ] = 2. In the same way, the operation is marked if no registration time is specified.The principle of working with future operations is as follows:- The user clicks the browse button for operations that require updating (which include future operations);
- , , . OPERATION : [ actual ] = 1. , , , (, , , - ), . .
Working with future operations is working with commitments. The obligation is to transfer the thing to a future date, so it is never reliably known whether this event will take place or not (will the debtor return the money or not, or will you pay or not to your creditor). But when the deadline comes, you can always say whether the debt is repaid or not: if everything is repaid, as was previously supposed, everything is normal, the recording does not require adjustment, and if not, something went wrong, then the record (that is, the future operation a) need to be corrected or removed altogether. Of course, the debt can be repaid ahead of the expected date: in this case, the user corrects the date for the current one, then the current ([ actual ] = 1) becomes the operation.If a future operation is not updated and is not deleted, then after the registration time specified in it, it ceases to participate in the reports, becomes irrelevant.Suppose a transaction is registered on March 5 with a future date of March 23 (that is, on March 5, the user assumes that some operation will take place on March 23). Until March 23, the operation is a future. But here comes March 23. If the operation actually occurs as intended, the user updates it. If, say, the operation is postponed, the user edits it, indicating a later date. If it turns out that the operation will never take place, the user deletes this operation. If the user does nothing, the operation remains unchanged, but it stops taking part in the reports. Similar operations are determined by [actual]:- if [ actual ] = 2 and [ time ]> of the current time, then the future operation only approaches the current moment, it can still be updated (today is March 18, and the operation is registered on March 23);
- if if [ actual ] = 2 and [ time ] <= current time, then the update time is missed (the transaction was registered on March 23, and today is March 27).
Section 6. BUILDING REPORTS
6.1. General concepts
To build a report, the user switches to the "Reports" mode. By default, the simplest form of the report is constructed, based on the filtering criteria specified in the left control panel.
The general rules for building reports are as follows:1. The report is presented in tabular form (in the working window).Reporting table consists of:- property columns
- columns of indicators (highlighted by shading).
The tabular form can be converted according to the settings.2. Indicators are the values ​​of the numeric format - gauges.Valid meters are specified in the settings.3. Objects are reported according to filter criteria.If an object falls under the filtering criteria, it appears in the report, at least with zero values. If the object does not meet the filtering criteria, it is missing in the report (even a string with zero values).4. The program allows you to link to build a table of different users.
5. Reports can be exported.6.1. Setting report parameters
To customize the report, the user clicks the settings button and brings up a parameters window.
The buttons have the following purpose:
6.2.1. Report Title
Any report can be given a name.This parameter is optional: a report can be built even if its name is not specified. The name is necessary first of all to save the report, which is carried out from the “Reports” mode by pressing the corresponding button.The implementation of saving reports is at the discretion of the programmer.6.2.2. Setting the report time
Any report, depending on the meter used, is built at a specific point in time or on a specific date, thereby requiring two timers. The timers, primary and secondary (second), are located on the top panel of the “Reports” mode:6.2.3.
The meter indicates the numeric field used when building the report to calculate the indicators. For example, you can calculate the cost of objects, weight, area, etc.As gauges are allowed:1) the number of objects.The default meter.Number of objects - means that the number of objects selected during filtering appears as indicators. For example, at the moment of time, objects with the names “nut” (3 pcs.) And “puck” (5 pcs.) Were chosen. These indicators will appear in the report (at point-by-point calculation).2) mass.Mandatory property, for the rest does not differ from those indicated in the next paragraph.3) any of the user-defined number format properties(for example, the cost in rubles, the cost in dollars, area, volume, etc.);Users can set objects with not only text, but also numeric format. Properties of the number format can be used as indicators.4) labor costs.You can find out how much work has been invested in an object or group of objects.For ([ type_object ]! = 0), i.e. any objects except users.5) number of copies.For information objects, the number of copies may appear as an indicator. If one timer is used, this is the number of copies that exist on the physical media at the specified time; if two timers are used, the number of completed copy operations for the specified period.6.2.4. Reporting figures
Balances and turnovers - standard accounting reporting indicators:- residuals (balance) are calculated at a point in time;
- turnover calculated for the period.
The corresponding settings determine the number of columns of indicators.Below are the settings and, as a result, the column of indicators - from simple to complex:Option 1. It is installed by default.
Option 2.
Option 3.
Option 4.
6.2.5. Object Properties
The report may not contain all the properties involved by the user.The number of property columns is set in the standard way by dragging the properties in the report from the left list to the right one.
The program allows you to place in reports properties on objects related to other objects: for example, not only green objects, but also objects that were exchanged for green objects, provided that they were in turn exchanged for red objects, and .P.To establish a connection, the user clicks the add properties button, after which the required window appears: The
upper right list is the user base, the filtering criteria of which can be set in the right window. You can also establish a connection between objects, by any of the properties.In addition to the properties of the objects present in the left control panel, the following items appear in the list:- Object Type: [ type_object ],
- The phase of the existence of the object, which is understood as the arrival or expenditure of the object. That is, you can select objects that arrived or retired for a certain period,
- Operation Type: [ type_operation ],
- Comment to the operation: [ comment ],
- Relevance :: [ actual ].
The last three points are the characteristics of the operation that registered the receipt (by default) or the disposal of the object.Selection for some items in the filtering window is made from drop-down lists.If you wish to link objects, the user sets the filtering criteria, becomes the desired property and sets the flag on the “Link records”. The report will be able to contain records for several objects with the same values ​​for the specified property.
In the above example, the pucks will be associated with the objects for which they were exchanged.You can link several objects in the specified order, while new tables appear at the bottom.The user then clicks Ok and selects the properties of the related records that should appear in the report, regardless of which object they belong to.
The list of properties for clarity is shown in abbreviated form, the number in parentheses is the number of the related table.The object properties window can also be used for additional filtering.6.2.6. Item Accounting
Item-by-item accounting sets the item “Read item by item”. This element indicates the need to group or not to group in the calculation objects with the same properties.When the “Read item by item” checkbox is selected, indicators are calculated for individual objects, regardless of whether they have similar properties. Accordingly, when the “Read item by item” check box is cleared, the indicators are calculated by groups of objects with similar properties.Suppose that the columns “Object” and “Sort” are selected for presentation in the report. In accordance with the filtering criteria set on the left panel, two objects were selected, both of which have similar properties: [Object] = Washer; [Variety] = First. The size of the first object on the selected gauge is 25 units, the second object - 10 units.If the checkbox on “Read item by object” is checked, the report will have two lines:
If the checkbox on “Read item by item” is cleared, the report will have one line common to both objects with identical properties:
As you can see from the example, the “Type” column takes place that the report is considered item by object.6.2.7. Results
With the checkbox set on the "Show totals" element, the report for each column of indicators contains a summary line, for example:
6.2.8. Statement form
The user can change the form of the list, making it more convenient to view. To do this, he presses a button and brings up a window for changing the standard form.The following non-standard forms of statements are allowed.1. Statement with the location of properties in accordance with the hierarchy.
In the above example, there are two properties: "Object" and "Size". For each value, the involved values ​​are selected by the “Size” property by the “Object” property.The sequence of properties, thus the hierarchy, depends on the sequence of properties specified in the previous window.2. The statement with the location of indicators in a row.
3. ChessIt is necessary to specify the property to be displayed in the header. In the example below, this property is “Variety”, below in the header are the values ​​for this property.
4. Statement showing the periods.You must specify the periods to display: day, week, decade, month, quarter, year.
6.3. Data export
The built report can be exported. The table directly presented in the working window is exported. Export formats are at the discretion of the programmer. The interface is standard.CONCLUSION
The ideal distribution of the program is as follows:- Users purchase a program for home as well as warehouse (unofficial) accounting. To transfer an object from one user to another, users are registered in the Account Creation.
- . .
- It is becoming popular to receive information from stores about purchased goods. For this, shops also have to register in the Account Creation.
- In the accounting process are included not only sellers, but also manufacturers, because information about the object is created in the production process.
- The chains of participants in the program are expanded to the primary producers involved in the extraction of minerals.
- Uniform accounting is covered by the entire production process, as well as the process of consumption of manufactured products. The de facto global accounting system arises.
- Accounting the universe is subject to legislative regulation and completely replaces accounting.