In my
first article, I rather chaotically and very briefly outlined the idea of "software engineering". A brief introduction, a few words about the primary elements of the mechanism and links to download the program - it is clear that it is almost impossible to judge the idea from this. Therefore, I accept the general outline of the critics that this is a new bicycle.
And in order for the idea to be understood at a minimum level, I decided to give the simplest example: how in 30 minutes to create a project that can be used by a private entrepreneur or a small organization to keep management accounting in trade.
Attention! Under the cut a lot of pictures.
')
Formulation of the problem:
- reference books on customers and products;
- operations of arrival / release of goods;
- operations of receipt / withdrawal of money;
- balance on clients, report on clients with open balance;
- details in the client about the arrival / release of goods, receipt / withdrawal of money;
- details in the product of the arrival / release.
- balances on goods, price list by availability;
- reports on the receipt and release of goods for the period;
- reports on the receipt and departure of money for the period;
- the formation of invoices, protocols for the coordination of prices with contracts, commercial offers, consignment notes and payment orders.
Action 1st.
In the object constructor I create the “Clients” object, add the “Address”, “Phones”, “E-mail”, “Contact” fields and a filter by name to it.
I create an object "Goods" with the fields "Article", "Price" and "Description" and filters by name and article.
Action 2nd.
In the constructor of operations I create a “Arrival of goods” with one list. Fields of operation: “No.”, “Date”, “Supplier” with filters by date and supplier. Fields of the operation: "Item", Quantity "," Price "," Amount ". After that, in the operation I add a summing field based on the “Sum” composition.
The second operation “Goods issue” is completely analogous to “Goods arrival”. Only as part of a vacation, we add a copy field with the price value from the product, so that when it is selected, its value will immediately be substituted in the Price field.
We add two more operations: “Cash flow” and “Money withdrawal” with the same set of fields: “№”, “Date”, “From / To”, “Amount” and filter by date.
3rd Action
Now back to the objects.
In “Products” we add two summing fields for operations: “Arrival” and “Vacation” and the calculated field “Balance”.
And for “Clients” we add summing fields: “Received goods”, “Received money”, “Goods released”, “Out of money” and settlement fields “Income”, “Vacation” and the final “Balance”, which contains the balance for the client.
Action 4th — reports.
The first is “Open Balance”. Displays information on clients with unclosed balance (credit, debit) for the selected period. Report on the object: note the displayed fields "Name" and "Balance", add a filter on a non-zero balance.
The second: "It came goods." Report on receipt of goods for the selected period. The list for the operation “Arrival of goods” with grouping by product. Filters at the beginning and end of the reporting period.
The third: “Goods released” - similar to the second, only under the operation “Goods release”.
The fourth and fifth reports - on the receipt and departure of money.
Act 5, last one!
To obtain information about the details in the clients / goods on arrival / release of goods and receipt / withdrawal of money, I create links of objects with operations, in which I specify the fields required for display.
All that is left now is to create Word templates in which to specify the names of the fields that will be replaced by the values of these fields when forming the document.
This is an example of a very simple, but completely working task. I made it in about 20 minutes. Usually additional functional requirements are imposed on the program (many of which are implemented in the constructor). In this case, I gave this example in order to show how easy a simple accounting program can be made. And how much time and effort will be needed to achieve a similar result by other means?
Download projects and constructor by the links from the
first article .