I didn’t think of it, but I agree that
pain is needed to understand solutions and their usefulness, or, as the guys in costumes say,
pain . If you do not have difficulties with deficits, overstocks, overdue shipments, and other symptoms of poor planning, this is excellent, the article is not for you, and the problems listed here are not likely to respond to your soul.
If you have experienced, or are now experiencing the pain of planning in 1C, then let's get sick together and try to recover.
The article is written mainly about UPP. Part of the problems were removed in the ERP (at the same time adding new ones), but the pain has remained to this day.
')
So let's go.
Security
First and foremost, how do you know which needs are met and which are not? Here I have customer orders, or a sales plan, or internal orders, or production orders — these are my needs (or more precisely, buyers). There are stocks in warehouses, there are orders to suppliers (purchase and processing), there are plans for purchases in the end - these are my resources. How to answer the question - what needs are met and what are not? Well, immediately the accompanying question - and what is missing? What to buy or produce?
There is no simple answer to this question in 1C configurations. Although the task, at first glance, is trivial - take all the resources, distribute them according to needs, and you will be happy. It seems to be a simple report to help, but it is not.
I, like you probably did, such a report. For a rude answer to the question posed, the report will fit perfectly, but who needs a rude answer? People have a business, on the answer to the question depends on the expenditure of money, illiquid assets, cash gaps, relationships with customers.
In an attempt to clarify the answer, my report became overgrown with conditions and reservations. For example, this counterparty is the key one, he needs to give up stocks in the warehouse in the first place. But it makes no sense for him to take stocks from this warehouse - this is the other end of the country, only by plane it can be taken, and only in an emergency. Or this warehouse is only for division X, but in case of special need, by order of the director, guys from division Y can take something from this warehouse. But they have to issue an internal order that will be executed by movement.
The possibilities of the layout scheme and the query language are no longer enough to describe all the conditions for the calculation of security, and the tuning reference books appear. The report is increasingly starting to look like a scary monster, and here all the new data quality problems are constantly being discovered.
Then another nightmare happens - the business process changes, at the same time the staff structure, the units are mixed, there are twice as many warehouses, production plans appear, a new document, “Buyer's application”, which precedes the buyer's order, is invented, etc. In short, there are so many reasons for the death of the Report that it ceases to resist.
Planning assistant
Part of the calculation of security in SCP is solved by the “Planning Assistant”. I used to love this tool very much, it contains cool ideas and approaches. But, alas, it remained the prototype for solving real business problems. I will not tell you for a long time about the grandfather-assistant, if you wish, you can easily find a lot of information about its limitations (bottleneck, for example).
With regard to the calculation of security, the main drawback of the “Planning Assistant” is the need to
use it constantly. The real picture of security changes every minute, or at least every hour, and the assistant is designed for relatively infrequent use.
The second important drawback is that the assistant does not give an answer to the question “how is this secured?”. It only gives what is missing, i.e. answers the accompanying question, skipping the main one.
Reservation and accommodation
At a certain point I paid attention to reservations (in warehouses) and placement (in orders to suppliers and internal orders). Here it would seem, what I need! Reservation gives an unequivocal answer to the main question - due to which the need is provided. It is directly written there - take a piece of iron from this warehouse and go in peace, and the piece of wood will arrive in a week from the supplier for order No. 23123.
But the illusion has broken about reality. Reservation occurs at the time of the document (the order of the buyer, for example), and the place of the reserve (warehouse or order to the supplier) is stored in it. A man made a mistake three days ago - everything, the three-day reservation chain is going to hell. Canceled the order to the supplier two weeks ago - get cons in the register of reserves. They took it from the warehouse without reserve, or wrote off the shortage - everything from the stove to begin.
A glimpse of hope appeared in the form of the document “Reservation of Goods” - after all, it allows for the adjustment of all reserves in one sitting. Release, transfer, occupy more relevant resources - i.e. eliminates all the disadvantages described above
Hope lasted a long time, even turned into several projects. I, and surely you, did such things, such as auto-recalculation of reserves or a large automated workplace for managing reserves, so that the Big Dispatcher could transfer reserves back and forth, remove and install, taking into account the needs and all changes in real life. Manipulations of this person easily fit into the document "Reservation of goods", from the point of view of the programmer, he is simply beautiful - almost direct entry in the registers goes.
But here, not everything is smooth. Problems with the sequence remained in place, because a backdated change in the demand or reserve document can also take the register of reserves into a minus. The Big Dispatcher can no longer rely on data that is constantly changing. He has just distributed the reserves, after a minute he enters his AWP, and sees that he has distributed nonexistent resources (and naively also called people and promised something).
Plus, the same drawback as in the planning assistant - reservations, incl. ARM, you need to constantly
use . Go into it, follow it, press something. The big dispatcher, again, is needed.
The worst thing is that the reservation, as such, I did not need. I just wanted to find out what was provided for me, what it was provided for, and what I lack. And reservation is “my, don't touch!”, I.e. whole business process. Which, besides, in manufacturing plants, the guys in the warehouse like to break (where there are no cool WMS systems). There was such a person, he was a soul mate for the production, and upon receipt of scarce parts, he simply hid them in a corner, "so that the damned sellers would not take them away." What kind of reservation is there?
I, as probably you, tried to create an automatic reservation and allocation system. It seems that the task is simple, more technical, it looks like party accounting. It is necessary to take all the batches of reserves and distribute among those who need it. But the difficulties were born the same as in the party accounting - the need to restore the sequence, complex algorithms, critical to changes in business processes and accounting schemes.
But I just want to find out what is provided for me, what is provided for, and what should I buy.
Analogs
The topic is so hackneyed that it probably already does not come up at conferences. The years go by, the cart does not move from its place.
Everywhere, where I worked with planning, it was necessary to take into account analogues.
The simplest option is the usual interchangeability of parts. In machining, for example, a common case is a piece of iron that looks exactly the same, but made according to different versions of the design documentation. For example, from different steel grades. Or one - from forging, and the other - from stamping. Or one - own production, the other - the purchase. Or the roughness is different due to the different processing methods of suppliers.
It is possible to specify the interchangeability of such parts in both SCP and ERP. Somewhere this information will even be taken into account - for example, when selecting materials in a production report per shift. And when planning and calculating security, I want not to buy a part, the analogue of which I already have in stock.
In real life, accounting for analogs is, of course, more difficult.
For example, substitutability can depend on the client - one can use different steel, another should have 40X blood from the nose. One fits made in China, the other - a patriot.
But that is all - simple cases when analogs are connected one to one.
It can be more difficult. For example, when making a plastic packaging, take a film of suitable width. If the client ordered a roll of packing with a width of 1000 mm, we take a width of 1100 mm, cut it off at the edges by 50 mm (so that it was even), and everyone is happy. But there was a situation when we do not have a film with a width of 1100, but there is 1105 mm. We, of course, do not steam and take it - just a little more waste. And we can take 1110 mm, we can 1115 mm, we can even take 1300, if the burning order and the client are from the loved ones.
It turns out a complex formula for calculating the analogue. Each film is a separate nomenclature, i.e. There will be dozens of combinations for each film. But the applicability of combinations of analogs depends on the context - the width of the product that we need to get. Add here that the films of the same width are different in their properties, but can replace each other under certain conditions. A roll with a width of 1000 mm can be cut in half to fulfill an order where a width of 450 mm is required. And it can be cut into three parts, and not necessarily the same.
In short, hell is hellish. And I want it to somehow be taken into account, and the system gave an answer to the question “are we provided or not?”
You, for certain, know even more clever schemes of replacement of materials. Tell, do not hesitate. Anyway, no one plans to automate our accounting of analogues.
Flexibility
More precisely, not flexibility, but its absence. I, probably like you, have heard the phrase many times - it’s not necessary to adjust 1C for your processes, but your processes for 1C. When I worked in French, I myself loved this slogan to repeat to clients.
Flexibility in the planning and calculation of security in 1C is not. Flexibility is when you can, without a hell of programming, choose the most appropriate tool, tweak it a little and get the required planning scheme.
I am very good at SCP, but there is not much to choose from in the planning solution. It is not even flexibility, but the Great Nothing, the vacuum, the field is clean. Can one say that Nothing is flexible? Of course. This is the beauty of the UPP, for which I love him, especially in terms of planning - do what you want, it will not be worse.
For example, attaching to the SCP a procurement using the BWI method (drum-buffer-rope) is a simple task, even with ordinary programming, without any universal tools there. And it is impossible to spoil anything in the system with your modifications, since the work is in the Great Nothing is done. It's like blowing a nuclear bomb halfway from Mars to Venus - the solar system will not notice anything.
There is already plenty to choose from in ERP - there are four ways to meet the needs. But ERP, as its developers at a conference of partners say, is a process-oriented system written for processes. Changing the ways of providing in ERP is to blow up the same nuclear bomb, only now on Earth. Especially in view of the constant changes from editorial to editorial.
Nevertheless, the initiative is useful, there is plenty to choose from. I talked to the developers, asked them questions about my pain, I received disappointing answers - the pain is not treated with this pill. There is no report on security, there are no analogues, adding or changing the ways of providing - only through the configurator, it’s impossible to take into account the metadata objects in the support schemes.
I do not know about you, but in this comparison the Great Nothing is closer.
My metadata objects
Well, there’s nothing much to tell. Any metadata object added will not fall into any planning or provisioning scheme.
Examples of self-made objects of metadata and I, and you know a million. If you cross the SCP with industry solutions, then improvised objects will appear by themselves. None of them will participate in the planning, and without a configurator is not enough.
If a non-direct object is added, but a prop, for example, then still all right - at least it will appear in the selection of the planning assistant.
In the context of self-made objects, it is even good that in 1C such planning. Imagine if it would be like a RAUSE - whole, tested, working, self-sufficient. Many of us risked our lives by adding a completely new document on the movement of goods, and included it in all the chains of RAUS? Or added details in the nomenclature, which would affect the decision SLAU? And planning is not like that - it doesn’t matter to him that you’ve added it anyway, it’s still going by.
Summary
Previously, I often heard the phrase that planning is a unique process for each enterprise, and it is impossible to make a typical solution for all its options.
After this phrase, I fell in love with planning as a class of tasks.
On the one hand, the phrase eliminates 1C (and, in general, any developer) from the need to make a typical solution.
On the other hand, the phrase inspires the implementer - come on, act, there are no laws, rules, no right and wrong decisions in this field! Create!
I worked for several years, surely you too. Something worked out, something didn't, somewhere along the way were monstrous planning and reservation systems, wild reports with unreadable settings and algorithms that I now can not figure out myself.
And all because of this phrase. Create, create every time, because there is no standard solution.
Then it only came to the conclusion that the phrase was wrong, unsaid, something was missing in it.
There is no typical solution for the
client . Or in another way - there is no box solution for the
user . There is no such program in the world in which the user will do his own planning. There is a program where the user will do his own accounting, we all know it.
But the implementations are not rich in single users, there are also 1C programmers there. The user is able only to push buttons, and even that is wrong all the time. The programmer knows the code, writes the layout scheme, knows the data storage scheme, sees the metadata, knows the purpose of the planning, knows the processes ... Do you understand?
There is no standard solution to the planning problem for the user, but for the programmer.
There should be a typical solution to the problem of planning for the programmer . Tool,
- having a certain level of abstraction (but not as a configurator, of course);
- solving the basic algorithms of planning tasks so as not to sweat about them at each implementation;
- able to use all the necessary data systems for planning purposes;
- which does not require programming for setting, but does not roll into vulgar eniky.
In general, we need a tool created by programmers for programmers.
The closest clear analogy is
data conversion . Not very simple, but not complicated tool that solves a specific, understandable area of tasks - the exchange of data - and containing all the necessary functions to successfully solve this problem.
The conversion almost completely meets the criteria that I presented to the planning system:
- possesses a certain level of abstraction (knows nothing about metadata, knows how to work with different platforms, knows how to transfer everything or piece by piece, etc.);
- solves the basic algorithms of data transfer tasks, so as not to sweat about them at each implementation;
- able to use all the necessary data systems for the purpose of the transfer;
- it does not require programming * for setting, but does not roll into vulgar eniky.
* - that's just not true here, you usually have to program in the conversion. But there are plenty of examples when it is not necessary.
From my point of view, and in the context of the article, Data Conversion is almost an ideal example of a typical solution for a programmer. The conversion does not even try to pretend that it is for the user, so it does not have to drag usability, process approach, convenient settings, require special organization of data and other solutions ballasts for the user.
Another worth mentioning is
Budgeting in SCP . This is a system that allows you to collect any data from the system using queries, and build from them budget planning. Right out of the box usually does not work, but if you put the programmer for setting, then a positive result can be obtained quite quickly.
After all, I’ll mention a tool that I personally thought was right - the
ERP Monitor . The purpose of the tool is multifaceted, but at the same time it is very simple - to give information about the business in the right way. The main thing is that in the ERP monitor you can write layouts, define your indicators, the rules for calculating and controlling them. Of course, the user will not do this, although an attempt has been made to make the user interface settings - there are predefined indicators, strategies, goals. Plant a programmer with the correct formulation of the problem - he will make a smart controlling system for the enterprise.
Now, in fact, the
main question : where is the tool for setting up planning and calculating security, similar in its flexibility and capabilities to data conversion, budgeting, and the ERP monitor?
Typical configurations 1C - they, like, for "accounting and management." The basis of management is the plan and controlling. Controlling is somehow possible to build. It is practically impossible to build correct, modern planning that can quickly respond to environmental changes that take into account the peculiarities of the Russian approach to accounting.
Because and roll in the phrase "accounting and management" on the first word. And you want to be a balance, one thing from another should.
All the above is the personal opinion of the author, of course.
PS Well, I’m asking myself, very interesting, maybe you know - and who made the decisions, how to make a tool in SCP or ERP right and which one wrong? Why budgeting is right and planning is wrong.