📜 ⬆️ ⬇️

Why 1C is bad and why 1C programmers don’t like it so much

We continue what we have already done a lot.

Chernomyrdin V.S.

Not so long ago, a client with a well-known problem addressed me once again. In his company installed updates 1C. And the work stopped, as the program stopped working correctly. I think that everyone who has come across software products from 1C as a programmer or user, is very familiar with this situation.

Of course, in this particular case, I tried to solve all the problems in the shortest possible time, and, as a result, the work of the office returned to its normal course. But even in this situation, I got a lot of negativity from the client. And then I thought about why so many problems constantly arise with 1C software products, why do so many negatives come from clients, and 1C programmers themselves are often not liked, including other programmers?

In this article, I decided to offer my version of the reasons that lead to such a negative. I will try to use as few specific terms as possible so that the text is understandable to as many readers as possible.
')
At the same time, I personally spent some time myself exclusively on 1C programming, and today I very actively use software products from 1C in my work, and I am very grateful to this company for giving me the opportunity to earn, including me.

But on the other hand, I believe that the reasons for the negative also need to understand. At least in order not to leave it all at the level of intuition and emotions.

How did 1C begin? Let's remember!


Personally, I started working with 1C software from version 6.0. I feel that this program was a little more complicated than the various accounting options that were conducted in Excel spreadsheets.

It was replaced by the 7th version, including its most successful release - 1C 7.7. It was already quite a powerful software product, which was very widely distributed throughout the post-Soviet space. By this time, most users are so used to working with 1C that the ability to use these programs has become one of the conditions for hiring accountants, various office staff, as well as managers, storekeepers, etc.

In principle, 1C 7.7 quite successfully solved the problems associated with various types of accounting. Moreover, this software product is still used in some cases, which also indicates its popularity.

Next, 1C developers presented a fundamentally new software product - 1C 8.0, and a bit later - version 8.2. Now the current version is number 8.3.

Now this software amazes with the breadth of possibilities and at the same time the complexity of the system .

Today, 1C provides for its customers a whole ecosystem:

At the same time, together and separately, all the components of this ecosystem do not function in the best way. Often there are problems, malfunctions, additional time and money are required, which, of course, causes rejection.

Updates 1C: how it works


I would like to remind you briefly how software products of the 1C family work today. In most cases, the user buys one or several software products consisting of a platform and an application written on this platform - the so-called configuration.

Further, the programmer adjusts the work of the selected configurations to the needs of a particular company, often installs additional plug-ins, refines certain reports, creates new documents that participate as internal workflow in this company, etc.

At the same time, both in the platform and in any configuration there is a fairly large number of bugs from the developer. And the system itself is so complex and voluminous that it is very difficult to fix these bugs by the 1C programmer and the most important thing is unprofitable for the end user. Moreover, both the platform and the configurations themselves are distinguished by such an unpleasant quality as the lack of modularity.

As a result, to fix bugs you have to install updates. At the same time, the entire platform and / or configuration is updated every time. Naturally, this solution takes a lot of time, and when it comes to configuration, the settings, additional plug-ins and other improvements made by the programmer will most likely have to be done anew.

But this is not the saddest thing in the situation with updates 1C. The saddest thing on the developer’s website is that the updates come out very often, sometimes even 3-4 times a month. In some cases, minor errors are fixed, in some - serious bugs related to the work of the entire system.

Each new version is the addition of functionality and a kind of “patch” to the previous bugs, which fixes old mistakes, but almost always carries new ones. Therefore, installing updates is a largely unpredictable process .

Lack of modularity: why it is so important


To begin, let's talk directly about the platform. 1C programmers know how cumbersome it has become. On the absence of modularity, I have already written above. In the product code there are so-called subsystems, but they do not meet the requirements of modularity, and therefore are just some kind of attempt to structure the code.

Why the lack of modularity, I personally consider a problem? Let's look at an example. Assume that there is a need to refine some functions necessary for the successful operation of the Trade Administration or to make changes in the means of storing balances. But in the 1C platform, everything is interconnected with each other, and therefore it is also necessary to drag out the updating of work with wages, accounting, etc. etc.

In the absence of modularity in order to make even the smallest changes, it is necessary to study the entire array, the entire platform.

At the same time, the 1C platform is very large and cumbersome. So much has been gathered in it today that at first it even causes admiration because of the wealth of possibilities. But as far as the use of this platform is concerned, admiration passes rather quickly. Developers of 1C, in an effort to make the program universal, have added many different possibilities to the platform.

And now you get at the same time a powerful tool, a convenient visual interface and .... many problems and bugs due to the complexity of the system.

I will give one more example. Suppose I only need Trade for work. The company no longer uses anything, neither the mobile interface, nor the accounting department, nor the online store, nor any other components. But regardless of anything, when I receive updates, I get the entire platform, including the functionality necessary for the work of those components that I don’t use. Those. Despite the fact that I use Trade, and the updates are designed to work with Accounting, I have to download and install the entire platform.

Licensing policy and system bugs


When updating the platform quite often, users are faced with the fact that license keys no longer work. If you have not personally encountered such a situation, simply type in the search system “After updating 1C stopped working” and you will see how common this problem is.

So imagine a situation. There is a company that employs, for example, 30 people. After the update, the program has stopped accepting license keys. The company's work is paralyzed. The company incurs losses.

An important problem: the unpredictable behavior of the platform during the upgrade.

In addition to the fact that a license often “flies”, after updating the platform, it may contain new functionality, which may also not work correctly. And to check the quality of work and identify new bugs of the new version of the program is possible only in practice, i.e. in progress.

I remind you that the platform is very large and cumbersome, and therefore it is simply unrealistic to test it with the programmer’s forces in a short time. And all this must be taken into account with each update.

So, the situation for the programmer looks like this:

Thus, the circle is closed. And the programmer has to install new versions from time to time, in spite of the new problems that they carry.

Why are there so many bugs?


The main reason for the abundance of bugs in my humble opinion is the complexity of the system. Remember, now 1C platform is available for Windows 32 and 64 bits, for Linux, server version, mobile, etc. The complexity of maintenance is very high, and as practice shows, 1C developers simply cannot cope with maintenance.

Due to the lack of modularity, additional difficulties also arise, since it is practically impossible to identify all errors and debug such a cumbersome software product. As a result, new updates are constantly being released.

Another very important reason for the constant presence of bugs and the situation with them is the lack of competition. In fact, 1C is now a monopolist.

Of course, alternative software products are being created, some of them are quite decent. But all of them for the time being are applied solutions capable of solving various tasks, while 1C is a whole ecosystem.

Moreover, 1C company is distinguished by very powerful and aggressive marketing, everyone knows about this software.

That's why I argue that today 1C does not exist a worthy competitor in the post-Soviet space. And the lack of competition always leads to a decrease in the quality of the product itself, which we observe in the example of 1C: constant “raw” updates, permanent bugs, lack of detailed documentation for updates, etc.
That is why I personally advise all my clients without a special need not to be updated. By the way, I myself received the same advice from one of the people who stood at the origins of 1C.

Of course, there are always some bugs in the current version, but if you work without problems in them, then these bugs are not critical for you. What will happen in the new version is impossible to predict. And because updates should be installed only when it becomes really necessary for work.

Flagships. Typical configurations


At the heart of the 1C software product line are typical configurations. On site 1C ready box solutions presented quite a lot.

But the majority of users works using only 4 configurations:

And each configuration has the same drawbacks as the platform:

At the same time, for each update, you need to analyze what exactly was updated, carry out the update itself, and reconfigure the configuration. But configuration updates also come out so often that it becomes problematic to understand them.

In addition, due to the lack of modularity, it is often necessary to update, even if the changes have affected functions that you do not use. Just because an error in this functionality can lead to incorrect operation of other modules.

If we talk about trade, my practice shows that in fact people use no more than 30% of the total functionality of this component. The situation is similar in other typical configurations. In pursuit of the implementation of the maximum number of opportunities, the developers have created very cumbersome and complex products, in which everything is interconnected, and therefore even disabling unnecessary functionality is not always realistic.

For example, when upgrading Commerce developers added a new bonus system. The client does not use bonuses at all. They do not need him. But if you try to disable these bonuses, the discount system starts to work incorrectly. I encountered this situation in practice. Of course, solving this problem required the help of a programmer.

Recently, I came to the conclusion that at the end of the project I advise all clients not to update at all. I set everything up as needed for work, together with the client and his staff, we tested the configuration work and made sure that everything works well. Therefore, there is no need to update the configuration until there is a need for major changes.

Aggressive marketing and its results


Very often, my clients install updates contrary to my advice. Why it happens?

Programmer Motivation

1C programmers are interested in the client to update the software as often as possible. It is simply profitable for them. Every update will require reconfiguration. And therefore, with the help of updates, they receive income literally "from the air."

Imagine a situation where a company works in a configuration without updates quietly and reliably. But there was a need, for example, to create another report or set additional processing. Naturally, in this case, turn to a specialist.

What happens next? The 1C programmer comes and sees that the program has not been updated for a long time. He tells the client how bad it is, explains that without updating the report needed by the customer or he cannot do other work, he is afraid of the large number of errors that are in the old version, etc. etc. In general, convinces a customer to buy and install updates.

In fact, in most cases there is no objective need for updates. But the amount of work a programmer and, accordingly, his fee increases significantly. By the way, many users therefore belong to 1C programmers with a negative. From their point of view, 90% of the amount they pay to the programmer for what worked fine before the start of its work, i.e. they have to pay the same functionality several times.

Aggressive marketing from 1C

The company 1C is also interested in the fact that users are updated as often as possible. As a result, users often receive reminders of new updates, warnings about the need to update the platform or configuration. But at the same time, the site does not have enough detailed information about what exactly the user will receive in the event of an update, what bugs are fixed, what opportunities have appeared. Those. objectively assess the need to install this or that update is impossible. As a result, many users are updated just in case.

Disadvantages of service and franchising


I believe that there is practically no service in 1C company. The company works great in sales, it is really very aggressive and, admittedly, an effective marketing policy. But if you need service, you will encounter a lot of difficulties.

The 1C website has a whole section where you can find certified partners in your region that provide services for the maintenance of 1C software products. These partners have been certified, pay affiliate fees. It would seem that everything is in order.

But in fact, the company 1C partners almost does not work:

The result of this policy is known to very many. The presence of a company in the list of partners 1C is not a guarantee of quality service.

I have already mentioned that 1C is a whole ecosystem. In some ways, it can even be compared with Apple. They built a whole system consisting of hardware, software and retailers. The 1C also has a platform, there are configurations, there are certified resellers.

But if Apple very tightly controls the quality at all stages - from production to the work of partners, and the highest quality is one of the important competitive advantages for this brand, then everything is completely different in 1C. Here, there is practically no service, no one controls the work of partners, as a result the quality of after-sales work with software is very low.

It is also interesting that 1C directs marketing efforts primarily to consumers of the product, i.e. on users. And work with configurations is completely focused on programmers. As a result, one is advertised, but in practice it turns out that the buyer received something completely different.

And here the reasons for the negative to the 1C programmers and to the software product itself also appear.
When I stopped working only with 1C and started doing business consulting, I started using a variety of software products in my work. These were sites on Drupal, and systems like ZOHO CRM, ATOL RMK, Redmine, and many other systems. And almost all of these services and programs do not require constant and frequent updates. And when upgrading does not arise so many problems.

While the company 1C earns in two directions: on sales and on constant updates. But where does the client? He is forced to pay and update, since there is no other way out. Moreover, it is necessary to update simultaneously all the products that are used in the enterprise.

For example, if you are using Trade, a really useful update has come to it, which fixes a bug that is relevant to you, you will definitely need to update the Accounting as well. Because data exchange is possible only between identical versions of configurations. If you decide to leave Accounting without updating, then uploading documents from Trade to Accounting will cease to work for you.

As a result, the client has to use a system that constantly breaks down, and regularly pay for the restoration of her work. Of course, the client appears negative. And he cannot leave for some other software product, he simply does not see a worthy alternative.

Yes, there are other accounting systems in our country, some of them even catch up gradually with 1C as possible. But marketing is a great thing! And because the client does not see the alternative, and, despite the constant negative, makes the next payment.

1C: Bitrix - complexity, features, marketing


Another product, which traditionally belongs to the 1C line, is the 1C-Bitrix site management system. At the same time, many users are sure that it is enough to buy Bitrix, and all the issues of website and data integration in 1C will be resolved.

A user who buys 1C software products and orders a website on 1C-Bitrix, sees a common brand and is confident that these are products of the same line that will always work together without problems.
In fact, CMS Bitrix is ​​a separate product, which was developed by experts who have no relation to the 1C company. Later on, integration tools with 1C products were added to this CMS, and a new name “1C-Bitrix” appeared. This happened because the 1C company bought out a large stake in Bitrix and decided to use this CMS along with its software.

What was the result?

Integration of the online store database and software 1C is indeed provided. But it is very difficult, and without the help of a specialist it is almost impossible to set up data exchange, and it is very difficult to change it.

Moreover, programmers who set up your work for 1C will not be able to install and configure Bitrix. Here you need a web programmer, a Bitrix specialist. Partially integration is configured by 1C-programmers, in part - by specialists in Bitrix. And there are such cases when the user does not know who to contact.

For example, I had this situation. After the next updates, my client stopped working with the site. I turned to specialist 1C, but he was unable to help us, because, in his opinion, the problem was on the side of Bitrix. We turned to a Bitrix programmer. He also threw up his hands and said that the problem is most likely on the 1C side. About 2 weeks data exchange with the site did not work. The client was forced to manually download prices and balances, unload orders from the site. In the end, we were lucky. I went to a programmer who understood both Bitrix and 1C at the same time, and he set up the work of the exchange module.

Bitrix and 1C: different systems, common disadvantages

Web developers who are familiar with the latest versions of Bitrix, I now understand. Just like the software 1C, the latest versions of Bitrix have become very powerful, with great features, but at the same time unnecessarily complex. Now, without the help of an administrator (web programmer) in Bitrix, the user most often cannot even set up new categories in the product catalog, since in order to organize a smart search, you must set your own parameters for each type of product.

At the same time, you need different specialists to maintain the site and 1C programs. After all, these are different products. They are used for different purposes, they have different platforms, to work with them they need knowledge of different technologies.

Instead of a resume


So let's summarize. The software products of the 1C line cause a negative for specialists for the following reasons:

All this concerns both the platform and any configuration 1C.

For users, the negative is caused by:

The negative with respect to 1C programmers also becomes clear:

These are the conclusions I personally made. Perhaps, in something I am not quite right, perhaps I missed something. In any case, I decided to write this article not for the sake of criticism as such, but in order to understand the reasons for the negative attitude to the programs of the 1C line and to the 1C programmers of the clients.

Source: https://habr.com/ru/post/244727/


All Articles