The development of “new Designer” for 1C:Enterprise 8 platform is in progress. It is a new development environment for editing existing configurations or creating new applied solutions. It incorporates modern tools for individual and shared development, and has a great potential for expansion.
What is this?
The working title of the new development environment is 1C:Enterprise Development Tools. Its early access version is named Graphite.
The new development environment is a standalone application that is not included in the platform installation package. It is planned to be included in the platform distribution kit. It will not require an additional license. So you will be able to use 1C:Enterprise Development Tools without acquiring new licenses.
The new development environment is based on Eclipse technologies. We are creating a new generation tool using the extension capabilities of Eclipse platform. In addition to the functionality identical to that of 1C:Enterprise Designer, it has a potential for new powerful development options.
1C:Enterprise Development Tools combines 1C:Enterprise Designer features with Eclipse features. For example, support of a wide range of editors comes from Eclipse. And the Properties View (property palette), which provides the options for viewing and restricted editing of objects without opening the full editor, comes from Designer. Combining all these features ensures that your development skills will come handy when you start working with 1C:Enterprise Development Tools.
Advantages of the new development environment
1C:Enterprise Development Tools provides a wide range of features that are not available in 1C:Enterprise Designer.
Scalable architecture
The new development environment supports extensions. You can use the applied interface and plug-ins to extend the development tools functionality.
Run and debug configurations
To run (execute) or debug a configuration, you can create multiple “run configurations” and “debug configurations”. Each configuration stores the required platform version, client application, infobase (data stored in the configuration), and primary execution parameters (authentication, separator values, and so on).
Editing multiple configurations
You can edit multiple configurations simultaneously. Each configuration can be associated with a specific platform version.
Additional debug options
During the debug you can view the tree of variable values in a pop-up window. This gives you the option to look into object data at any depth level without leaving the module context. You can also change variable values during the debug, export and import breakpoints, and so on.
Version control systems
You can use your favorite version control system during the development. Support of some version control systems, such as Git and SVN, is provided explicitly. Support of other systems is based on Eclipse capabilities.
Infobase list
You can access the infobase list directly from the development environment. Available options include exporting configurations from infobases, importing configurations to infobases, publishing configurations to the web server, editing the tree structure, and more.
List of web server publications
The development environment automatically finds all installed web servers and displays the available publications as a tree. You can edit publications, move them between web servers, copy them within a single server, and so on.
Innovative and powerful editor for source script, queries, and access restriction templates
The development environment performs the syntax check of the script “on the fly”, right when you type it.
You can mark a selected script fragment as a region. A tree-like module structure is displayed in a separate pane. It includes preprocessor instructions, regions, procedures, and functions. Handlers and exported methods are highlighted. You can use the tree to change the order of procedures and functions and move them between regions.
Context-dependent tooltips use the descriptions of parameter types that you specify in the standard procedure or function comments. An additional context help window is displayed when you add handlers.
When you edit string literals, a character that marks carrying over to the next line is added automatically.
In the query editor, a full-featured context help for the query language is available.
Main methodology difference
While working with Designer, you learned that an infobase is a “development unit”. Even if you use shared development and your configuration is stored in a repository, you work with a specific debug infobase.
In 1C:Enterprise Development Tools, a configuration is a “development unit”. In Eclipse terms, a configuration is a project. A single project is a single configuration. A project is physically stored as a set of files and directories on the hard disk. During the startup, 1C:Enterprise Development Tools prompt you to specify a workspace. It is a directory that stores your projects. In other words, it stores multiple configurations.
A single configuration object can consist of multiple files. Moreover, in 1C:Enterprise Development Tools you can edit multiple configurations at once. Each of the files that form a configuration can be stored to a version control system (Git, SVN, and so on). Therefore, saving a configuration comes down to saving the content of changed objects to files within a workspace directory on the hard disk.
To run or debug a configuration, you have to associate it with a specific platform version and a specific infobase. The standard development scenario assumes that a configuration is associated with a single platform version and can be debugged with different infobases and in different clients. You can create and save the “run configurations” and “debug configurations” for later use.
In addition to that, 1C:Enterprise Development Tools support running and debugging configurations using a version of 1C:Enterprise that is later than the associated one. This option is handy for testing the configuration migration to a later version.
Early access version: Graphite
1C:Enterprise Development Tools are based on a totally new architecture. This provides a great potential for the implementation of a wide range of development automation and usability improvements. The main purpose of 1C:Enterprise Development Tools is creation of new powerful development tools.
However, the early access Graphite version only uses a small part of these new architecture capabilities. This is because our primary goal is the implementation of features that are available in 1C:Enterprise Designer.
The current Graphite version does not include all Designer features. It lacks the support of some configuration objects and development tools. However, we think it has enough features for you to evaluate the concepts and technologies of the new development tool. It also allows you to develop a simple configuration.