How do we create a universal system of business management

Foreword

For those who are faced with the question of the organization of more than a couple of offices and a dozen employees, it is no secret that ready-made solutions to control business generates a huge amount of headaches as system administrators and owners.

Be it 1C Bitrix, Megaplan, or the more independent decisions – they require the installation of specific software, to establish remote access to the server through VPN or other solutions do not work with poor channels of communication – which are often found in shopping centers or remote offices, and certainly require uncommon skill workers to access from home or business trip.

Separately to say about the performance: for me, as a developer of high-load database systems, has always been a strange formation report in seconds and tens of minutes, holding documents holding in 1C minutes, and generally requires constant updating hardware with new versions of those same systems, with a fabulous server requirements. It was obvious that such simple operations how to calculate the balances of stock for the entire period of operation of a million documents, even MySQL will take seconds...

question

In General, when I faced a problem to put the accounting system on 5 remote stores, warehouse and office, the options of ready-made solutions looked a little pale. After thinking about teaching sellers (good sellers, but not users on the computer) – the first time I saw the mouse how to use 1S and endless travel for the network settings, it became clear that this is not our choice...

Like the following:
• Fully remote use with any operating system, tablet, smartphone
• Undemanding to as a communication channel
• User-friendly interface and usability
• Speed – any reports and documents in seconds.
• The ability to embed advanced Analytics

It is clear that one of the solutions, not to reinvent the wheel from scratch, was to make an online system based on our servers, working on the most simple mechanisms and structures. Endless tables describing the item, it also seemed redundant – dozen fields with label names for each option still works fine.

Development

Capacity on the servers enough, so for three evenings on the first bootstrap, PHP and MySQL was created a prototype that could lead the item count remains at warehouses and were simple documents of the primary accounting printed forms.

Of course, the most interesting was the process of the documents – that is the basis for all accounting. Because, with the exception of cosmetic differences, any document moves the goods from the warehouse source for the warehouse receiver (in some cases, it's not quite a warehouse, but the data structure does not change), it is enough just to create a convenient structure for conversion and storage of such isolated movements.

For the uninitiated, in brief, carrying out of documents is a process in which it is checked whether there is the right amount of goods or services in the relevant warehouse, and actually subtracts the product or service one, and shall credit to another. In the process it would be good to check the reserves of the goods not to accidentally cancel a reserved, correct prices, user rights on the transaction data, the customer's credit limit and so on... When it is worded in such a way is a good data structure, it remains only a matter of technology.
Another related problem is how to calculate the state of the warehouse at an arbitrary point in time. After sitting over images of intermediate indexes, I was just wondering, how many operations will need to be considered each time from scratch? and voila, three queries to the database solve this problem. In fact, the cheaper every time to consider all the goods and warehouses anew than to keep the endless indexes that regularly expire and still not meet the requirements of relevance...
So every time when we hold the document, we just take all the remains mentioned in the document of goods, consider them from scratch, and if all OK then do the operation for write-off of enrollment. It is clear that the sample for the normal number of 10-20 products from a well-structured table, even hundreds of thousands of rows – it is fractions of a second. Still, even on heavily-loaded applications, this works fine.

In the future, we taught the system to consider in this process of the party (when and how was delivered this product to accurately calculate the margin on the transaction, not the average for the hospital), different types of prices and more information of the GTD type.

All these thoughts, by the way, killed me all the faith in the decisions of type 1C. If the database is arranged at least just "adequate", then all the data on the firm can be counted in seconds. Highlight EVERYTHING and right at the same time. What does this monster when reposting documents or reports all clear. Even very slow PHP script without php-cgi, simple MySQL is not optimized for a specific database and are uploaded by other projects to the eyeballs cheated inventory from scratch, without intermediate data for 3 years within a fraction of a second.

The same problem on the 1S, on the same firm for the same 3 years took 15-20 minutes, although there were only a few thousand documents of 5-10 items for each...
30 thousands entries in 15 minutes... Someone must think this is quick.

Introduction

The implementation process was simple and after training mail.ru he went unnoticed. Even sellers of age, per week, could cheerfully see the remains of warehouses, place of sale, to control the conformity of the goods with actual availability. The first month has revealed a lot of needs: the necessary reports were written, the documents vastly expanded, introduced many of the differences in access rights.
Most importantly – any reports formed in a split second, and sitting in the subway in another city or driving in the car I opened the report from your smartphone with a diagonal of 3.5” (Yes, at that time it was a normal screen) and saw all the figures on the business that interested me.

The result is a system that is entirely on our servers had a backup every two hours, advanced access control and logging. System accessible via any browser with iPhone, smartphone or tablet running Android, worked under Opera, Firefox, Chrome same. Almost unchanged, she worked for several years.

We could open the access to the selected warehouses to our individual counterparties and dealers, all necessary accounting reports to on-the-fly shopping was quite cheap 3G Internet, but the chief accountant has uploaded data with one click in 1C for their work.

image

Partners

Pretty quickly, our partners and friends began to embrace the idea, but before the first major commercial implementation has passed a considerable period. The chance to really test the system for reliability on critical factors presented themselves in the face of a large company for the sale of spare parts, having a large number of branches in different cities and complex range of hundreds of thousands of unrelated positions. Ready-made solutions in this area it was impossible to imagine, therefore, all the activities were bespoke solutions that were far from ideal. Reports as the class no, the database was very confusing...

Flowing lyrics, translations of all branches of our system took less than 3 months together with training, importing the data, access rights, and adjustment of the business model. Years were spent to develop solutions that yield results, months on the implementation along with the development of specific intelligence for specific tasks of the company.

image
Under the requests of partners we built the first CRM module, and later the production and control of tasks with the delegation. For managerial work — analysis and planning of logistics cost control; leadership – budget planning, and powerful analytical reports, the preparation of which manually takes a week.

At the moment 300 thousand items in warehouses, nomenclature reference more than 100 thousand items, with reference to catalogues and price lists, hundreds of new documents per day is not are difficulty in processing.

Now the system is at bmsys.org – there you can read about the list of features and modules working at the moment.
Article based on information from habrahabr.ru

Комментарии

Популярные сообщения из этого блога

Fresh hay from the cow, or 3000 icons submitted!

Knowledge base. Part 2. Freebase: make requests to the Google Knowledge Graph

Group edit the resources (documents) using MIGXDB