What Does a 1С Developer Do?

Alex Lashkov
Yellow Universe
Published in
4 min readNov 3, 2021

--

1С developers create applications using the 1C:Enterprise platform. Today, we’ll discuss how exactly coding in the 1C:Enterprise is different from coding in other popular languages, and what a 1C developer deals with on a daily basis.

Required expertise

There’s a relatively low entry threshold for 1C development. The 1C:Enterprise platform provides a developer with a set of high-level metadata classes, each representing a specific business app entity, like a document, catalog, accounting register, payroll register, etc. Every metadata class is fully functional off the bat and comes with its own data structure, data processing logic, and UX/UI.

To develop using the Platform, you need to know your business logic (accounting, sales, payroll, etc.) and how to map it to the 1C:Enterprise classes. What you don’t need to know is how to implement the rest of it — what tables to use, how to read and write data, how to show it to users and how to process users’ input.

Just by creating metadata objects (inherited from the Platform metadata classes and deriving their properties and behaviors), you will get a fully functional (if rather simple) application or working prototype, without writing a single line of code.

Therefore, it’s very different from even high-level traditional languages like JavaScript or Python where everything starts with writing code and finishes with writing more and more code.

Here’s what a 1C developer doesn’t normally do:

  • worry about data structure, data integrity and transactional processing;
  • develop separate versions for the native client, browser client and mobile client;
  • develop a separate version for different operating systems;
  • refactor code or change the table structure when migrating to another DBMS.

All these tasks are covered by the 1C standard functionality, so the programmer doesn’t even need to know how to deal with them.

Comparing approaches

When developing a 1C:Enterprise app, you usually start with a no-code prototype and — for very simple and standard applications — may even get away without ever writing any code. Then you move on to the MVP stage of your app, starting to add some moderate amounts of code here and there to modify the app’s default behavior. This low-code approach might very well turn out to be good enough for your app if it’s relatively simple and doesn’t involve anything unusual.

If your client requires something very complex and/or unorthodox, you go full-code and use powerful 1C script language that still speaks to you in business terms and tries to hide from you as many low-level details as possible. This is one of the most high-level programming languages with a syntax resembling that of JavaScript.

Most of the manipulations are made with pre-configured objects and forms, so the 1C developer should be well familiar with the business requirements and understand the business logic of the project. Many standard programming tasks like building interfaces or choosing between different frameworks and libraries are eliminated.

When comparing a 1C approach and a traditional software development approach, the former can be likened to building a house out of blocks, while the latter is more like building a brick house and manufacturing those bricks at the same time. The main consequence of this is the amount of effort and time needed to develop a working product.

For example, when starting a project, a Java or Python developer can spend a few weeks preparing the project infrastructure and choosing the optimal tech stack. A 1C developer can skip this stage because the 1С:Enterprise platform is already fully configured for the development and there’s no need to pick tools.

With the traditional approach, the further development and testing stage can last for months before there’s an MVP that can be presented to the customer. The 1C developer can build a working product much faster since there’s no need to create components from scratch and make infrastructural decisions.

When it comes to upscaling the system or adapting it for various devices and platforms, the 1C platform is well-equipped as well: there’s no need for the developer to manually change the code or add anything, except for maybe minor edits. In the traditional development approach, migration to a different DBMS can be a complicated process, and a lot of code optimization might be needed as the system load increases. Besides, if you decide to add a mobile version of an application, you will most likely need to develop it from scratch, while with 1C, you can just run the same app in our mobile client and it will be automatically adapted to the smaller screen size and specific mobile UX/UI.

Limitations

However attractive it all may seem, there are certain limitations to 1C solutions.

The first one is a relatively narrow scope of application. 1C is best suited for developing business applications like ERP, BI and BPM systems. If you need a real-time missile control app or a mobile game, better choose another solution.

Secondly, while 1C allows for a speedy and simple development process, there’s less flexibility in terms of functionality and design. For example, there are certain limitations to changing interface color schemes, fonts, or visual appearances. Sometimes this can be a problem.

Final thoughts

Selecting 1C:Enterprise platform for your tech stack will allow you to build a full-fledged business system that would perfectly fit your business needs. Unlike a traditional development approach, 1C programming yields quick and tangible results and doesn’t require much training from a developer. Despite some limitations, this is an optimal way to create highly customized, adaptive, multiplatform and easily scalable business applications.

--

--