📜 ⬆️ ⬇️

1C: Enterprise Development Tools, or Eclipse in Russian



Meet - 1C: Enterprise Development Tools .

I'll start with the background.
')
Two years ago, Boris Nuraliev, director of 1C, gave a great interview to the INFOSTART.RU community . The most popular question was about the improvement of the development environment for 1C programmers.

The other day , there was a very interesting stage in the history of the development of 1C - a new development environment for 1C - 1C was released : Enterprise Development Tools .

1C: EDT is a new development environment for 1C: Enterprise 8, which is based on the Eclipse open platform.
Yes, yes, yes - meet, in all CIS countries and not only - Eclipse with the development in Russian!
(under a cat there are a lot of big pictures)

At the moment, this is just a trial version, there are not so many things here, and even the objects that are necessary for the full development of 1C. But this is not bad, as 1C officially stated the following:

"This version is not intended for full development, it can only be used to get acquainted with the concepts and technologies of the developed tool, as well as to develop small, simple configurations."

The list of restrictions at the current moment is overwhelming, but this is a very pleasant step by 1C, since previously they did not publish anything to the public, if it did not pass at least preliminary beta tests, and then they publish it anyway into sections for testing. This line is very clearly tracked by the 1C mobile platform.

Since 1C was taken as the basis for Eclipse, the following requirements turned out to be automatic:



Naturally, everything works on Windows 8 / 8.1, but in this case you need Java 8, not 7.

However, it is now possible to develop in the Mac OS environment.

But, for starters, before the Mac OS fans will be delighted, you should explain a little bit about how to work in Eclipse, in the case of 1C - Eclipse, this is a text editor that simply allows you to edit xml, which describe 1C objects, which means that you work not with the 1C base, as 1C programmers usually used to do, but only with the configuration, which you then update in a specific database.
And from this it follows that development under Mac OS, unlike Windows and Linux, can only consist in data editing, without the possibility of debugging that we are used to.

Well, as you can guess, debugging will not work without a full-fledged enterprise 1C and access to the configurator.
One of the key advantages (as for me) is that you can now connect n-projects to each database, i.e. Previously, we could not work with one database to develop several configurations. More precisely they could, but then it would be necessary to mess with two (three ... n) configurators, unload and load configurations, and in general - each configurator is a separate window. Now each configurator is, in fact, a separate project.

But, enough controversy, let's move on to actions and screenshots. From the above, it is clear that we need to have the installed version of 1C, full, well, now we need to download another additional file. All this can be downloaded here (only for those who are subscribed to the ITS). A help on this product is here .

On the download page, you select the desired version of 1C, as is usually done, and the desired version of 1C: EDT. Note that the bit width of EDT and Java must match, i.e. or both x86 or both x64.
Next, you need to install 1C itself, if you don’t install, nothing will work, i.e. you need to install exactly the version that is given on this page.

After this, you need to unzip the archive com._1c.g5.v8.dt.rcp-win32.win32.x86_64 , and you can start working in Eclipse. To do this, simply run the file dt.exe. But, before launching - make sure that you have more than 4GB of RAM, as with the default settings - the virtual machine eats up 3GB, if you have less RAM, you can change the settings in the dt.ini file, there is such a line -Xmx3072m, here’s a number - this is the amount of memory, it is better not to install less than 2GB, and that is fraught with an Out of memory error.

The archive itself is a compilation of Eclipse with pre-installed plugins. Those. in this case, it will not be possible to connect your plug-ins and settings from the standard version of Eclipse, as it can be done in the case of development for Android, when we simply specify the path, select the necessary objects and Eclipse automatically sets and updates everything. But, I think that 1C will do it soon. The first launch will be a long one, and it will always be, alas, as a virtual environment is created, which after the release is destroyed. But, on the other hand, this is not a big problem, since you will not need to open 100,500 Eclipse variants to work with different databases.

When you start, you will see this beautiful window:



So, after launching - for those who previously worked in Eclipse - there will be nothing particularly new. The default interface looks like this:



It is immediately clear that new perspectives have appeared:



Let's take a closer look at 1C perspective. At the bottom right there are available databases, and this is just a display of the connected databases from the current user. In this case, 1C simply reads the ibases.v8i file. So, the databases that you have previously connected to will be imported immediately.

The web server is also managed there:



There is nothing special here, the usual settings that are necessary for publishing the database. And all in English. In general, you need to get used to it, because the interface is Russian-English, and of course it will be fixed in the future.

Now you can add a configuration to the project:



For this, you must import it. After the import, the bases whose configurations have been imported from you will have an addition in the name in curly brackets, as in this case.

Next, objects of this configuration will become available to us, and we will see it already in our usual form:



Alas, too many properties and objects are currently unavailable. However, this does not prevent us from developing unpretentious configurations, for example, for the mobile 1C platform.

Here is the form of the document:



It is worth noting that in general - 1C managed to keep the usual form of drawing forms. But they also added a few goodies (or are these bugs?). For example, earlier - adding a field to a form - we did not see its type, and it is not terrible when the question concerned primitive types. But when you begin to specify links, you can get confused, especially when the form is large enough, and there are several options for displaying data, depending on the initial conditions. This is especially true of new configurations (for example, UNF).
And here we are immediately indicated and the type, well, is not it wonderful? It remains to hope that this is not a bug :)

Well, while the forms are crooked, but nevertheless, for the alpha release - I expected the worst.

Now I will connect another configuration, and see some code:



As you can see, now you can work with different objects of different configurations in the same environment at the same time, the list of functions and procedures is available on the left, the list is divided by areas (which are a little more than useless in the standard configurator).

The export functions, parameters are highlighted, and the current function in which you are located is highlighted, for example, this is how it looked earlier:



But all this is minor compared to what 1C did next. And then they made a convenient remote debugging function. Those. Now you can use a separate server to debug data. Unfortunately, there is little information on this. But, as you can guess from the settings, a certain web server is being raised for debugging and work is going on with it to debug all the platforms, including the mobile one.

And this, in turn, means that a convenient mechanism has been obtained, when 1C developers no longer need to base themselves on computers, because usually the test server environment does not have all the capabilities that are on their computers. And every time jumping from server to server was not cool.

Now you can manage a bunch of servers, remotely debug data, work in your environment on your computer. In addition, 1C made it possible to encrypt the data channel (which, alas, 99% of 1Snikov and admins will not pay attention).

In addition, all - 1C plug-ins to work with git. So soon, for all those who suffer from working with the configuration repository, you can safely switch to git. I see no point in describing work with a githab, there is “everything as usual”.

1C even created their own branch , where they put one of the demo configurations into free access.

But, on the background of the fact that 1C started working closely on the EDT project, they were forced to make several decisions, which they nevertheless implemented in the good old configurator:



I think there is nothing special to tell here, everything is clear from the screen.

Findings:

Thus, something happened that most non-1C programmers were afraid of - the Russian language goes to your ranks :)

On the other hand, for 1C programmers this is a big leap in development. Now the entry threshold has slightly increased, and I think a considerable part of programmers will fall off, remaining on older versions of the configurator, as was the case with 7.7. But those who will be able to master new paradigms and principles will be rewarded by learning to work in a popular environment. So, switching between different programming languages ​​will be much easier. And, as all odnesniki know - we are not limited to 1C, because we always need to finish something on JS, VBS, SQL, Bash, HTML, and with the release of the mobile platform - we will have to write more under Android, and here it is all in it will be possible to arrange one bottle.

Of course, it’s a shame that IDEA doesn’t have support, but I think it’s just around the corner, because when they chose this direction in 1C - IDEA was not very popular yet, even Android developers avoided it because of the lack of an environment for drawing forms that in 1C is a key functionality.

So wait, peace! We are going!

PS Especially for those who really want to see the Russian language in Eclipse and tell them that programming in Russian is squalor, then I ask for a spoiler:

Keep eyes safe

Here you can clearly see how the regions are conveniently implemented.



This is how debugging is implemented. Moreover, localhost with a port (top left) hints that there may be an ip address of another computer.



Well and at the end - the designer of requests loved by all of us.



Dmitry Sherstobitov

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


All Articles