... .com/uploaded/Valon.
... list: "Article of
", "Quantity", "Price", "Sum ...
original: http://habrahabr.ru/blogs/development/84818/
In our first article I rather generally described the idea of "program construction". A short introduction, few words about main elements of the system and download links - sure thing, one can hardly judge an idea for reasons given.
In order the idea would be understandable, I'll give an elementary example: how to make a management accounting program for sole prorietor or small business firm in half an hour.
Problem statement:
- Directories on clients and the goods;
- Operations of goods arrival / selling;
- Operations of money income / outlay;
- Balance on clients, the report on clients with open balance;
- Detailed elaboration in the client section about goods arrival / selling, money income / outlay;
- Detailed elaboration in the goods about arrival / selling;
- Remains of the goods, price-list of available goods;
- Reports on arrival and sellingof the goods for the period;
- Reports on income and outlay of money for the period;
- Generation of invoices, price coordination protocols, offers, motor waybills and payment orders.
Action #1.
Create "Clients" object in objects constructor, add "Address", "Phones", "E-mail", "Contact person" fields, add filter by name.
Create "Goods" object with "Marking", "Price" and "Description" fields and filters by name and marking.
Action #2.
Create "Goods arrival" operation with one list in operations constructor. Operation fields: "#" (sequence number), "Date", "Supplier" with filters by date and supplier. Fields of operation list: "Article of trade", "Quantity", "Price", "Sum". Thereafter I add summing field by "Sum" list.
The second operation, "Goods selling" is completely analogous to "Goods arrival". Except that we add copy field to the selling list with the value of article price, in order to put its price in "Price" field automatically when you select an article.
Add two more operations: "Money income" and "Money outlay" with the same set of fields: "#", "Date", "From / To whom", "Sum" and filter by date.
Action #3.
Now return to the objects.
Add two summing fields to "Goods", by "Arrival" and "Selling" operations and a calculated field "Remains".
And add summing fields to "Clients": "Goods arrived", "Money came", "Goods selled", "Money spent" and calculated fields "Arrival", "Selling" and a total "Balance" of the client.
Action #4 — reports.
The first– "Open balance". Displays information about clients with non-closed balance (loan, debit) for a given period. I start report by object, label fields to show: "Name" and "Balance", add filter by nonzero balance.
The second: "Goods arrived". The report contains information by goods arrival for a given period. Select list by "Goods arrival" operation with grouping by article. Add filters for start and end dates of reporting period.
The third: "Goods selled" - analogous to the second, but for "Goods selling" operation.
The forth and fifth reports contains information about money income and outlay.
Action #5, the last one!
To get detailed information in clients/goods about goods arrival/selling and money income/outlay I add links between objects and operations and specify fields required for display.
All that has remained is to create Word templates and specify field names there. When the document will be formed on the base of template, these names will be replaced with the values.
This is an example of very simple, but completely operational program. I spent about 20 minutes for it. Generally, they make additional functional demands to the program (many of them are carried out within the constructor). I made this example to show how easy you may combine a plain accounting program. While how much effort and time you need to obtain the same result using any other tools?
You can download projects and constructor by the links from the first article.