Start "programming"

It is no accident that word "programming" is used within quotation marks in the title. Programming itself in its common use, writing code, is an essential part of 1C:Enterprise, but not the number one.

Since 1C:Enterprise, as it was said in Introduction, is a problem-oriented platform, it hides from the developer many boring routine actions. All 1C:Enterprise applications are built using the same design methods, each application is put together from ready-to-use building blocks. The number of building blocks is limited, the platform has implemented functions of all of them and how they interact between each other.

Therefore, a developer simply needs to add necessary building blocks to the infobase and it will work right away. The platform itself will ensure the proper functioning of building blocks.

Of course, the number of default functions is quite limited. In practice, everything is much more interesting and full of surprises. For this, there is a built-in script language, named 1C:Enterprise script, and a built-in query language, named 1C:Enterprise query language. With them, you can adjust the behavior of building blocks, define algorithms of interaction between building blocks, implement your own data processing algorithms, etc.

As it was said in Introduction, this tutorial is about writing "Hello, world!" using 1C:Enterprise. Therefore, you are going to use less of script and use close to no query language. The use of script and query language in 1C:Enterprise is a complicated subject that requires a separate book.

The current task is to create a simple application from building blocks. In other words, to demonstrate basics of the development process. Adding bells and whistles, improvement, and modification can be done later, if you are interested and have time to do it. However, it is still important that even in such a skeleton form, the application will be fully functional with minimum efforts.

Notice: To make sure, you can create an application with similar functions using any other universal IDE, and compare the necessary knowledge and time that you spent.

Now, get back to building blocks. Since purposes of 1C:Enterprise applications are predefined, building blocks are not abstract, but problem-oriented and related to practical entities. For example there are building blocks of catalogs and documents classes, which business and individuals use in daily work.

In 1C:Enterprise, these building blocks are called configuration objects. All configuration objects are grouped into a tree. Thus, by looking at the Configuration object tree, you can observe the architecture of any application. You can quickly locate the object and learn its properties.

Now the configuration is opened after you clicked Designer at the end of the previous chapter. To see the Configuration object tree, you need to click Open configuration .

Figure 2-1. Opening the Configuration object tree

For now, this tree is empty, it contains only top-level nodes, which can be found in any 1C:Enterprise infobase.

Figure 2-2. the Configuration object tree

The things that you will do next are adding configuration objects that are the basis of the Hello, 1C application. Along the way you do it, there will be some "bells and whistles" added, but without going into much detail.

What configuration objects shall you add? It depends on the purpose of the automation, which is reflected in project requirements.

In this tutorial, according to the project requirements, you will create a simple personal CRM (Customer Relationship Management) application. On the one hand, this application will store information about all your friends and acquaintances, in other words, maintain a contacts database. On the other hand, it will track different kinds of events, both past, and future. At the same time, it will be able to track financial activities: receipts and expenditures related to both your friends and events in your life. In addition, there will be added some features to make use of the application simple and easy.

That is it, nothing too complicated.

Next page: Subsystems