Chapter 1. What is 1C:Enterprise Development Tools
1C:Enterprise Development Tools (hereafter referred as EDT) beta version is intended for early evaluation of the product that is still in development. It is intended mostly for expert 1C:Enterprise developers.
The functionality of the beta version is limited (compared to the functionality available in 1C:Enterprise Designer). It does not yet support all metadata objects and development tools. The implementation of some tools is subject to further revisions. The beta version is mostly aimed at the development of small applications that run on mobile devices. This version is intended only for evaluation of concepts and techniques available in EDT, and also for the development of small simple configurations.
1C:Enterprise Development Tools is a new-generation tool for developers of 1C:Enterprise-based business applications. You can use it alongside with the current development tool (1C:Enterprise Designer). Applications developed with EDT are fully compatible with the latest 1C:Enterprise versions. The new tool provides the following advantages: integrated development environment (compliant with the latest demands and requirements), and rapid evolution and enhancement capabilities for the development environment. 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 tools and usability improvements. The beta version uses only a small part of the new architecture capabilities. The current goal of the EDT development team is the implementation of all features available in Designer, but the main purpose of EDT is creation of new powerful development tools,
EDT is based on the open Eclipse platform (www.eclipse.org). The integration with Eclipse combines the advantages provided by 1C:Enterprise development tools with the standard Eclipse features. And if this synergy does not provide the solution to your task, you can develop plug-in extensions for EDT.
Designer, which is a part of 1C:Enterprise software system, works with a single configuration that describes an application. Designer connects to an infobase that stores a configuration (in a proprietary format). Designer can work with one infobase at a time, and therefore it can work with one configuration at a time (the one stored in the infobase). Moreover, Designer uses a single 1C:Enterprise platform version for running and debugging applications, it is the version that it uses to connect to the infobase.
1C:Enterprise Development Tools approach
EDT utilizes a totally different approach.
First, it stores configurations in the file system, instead of infobases. This gives you the option to use a popular version control system (such as Git or SVN), which is an advantage itself. Note that EDT does not include the implementation of integration with a version control system, it simply relies on Eclipse integration tools. Therefore, you can only use version control systems supported by Eclipse.
Since a configuration being edited is stored in a file system instead of an infobase, you can edit configurations on computers that do not have Designer or 1C:Enterprise client applications installed. However, you will need 1C:Enterprise installed on your computer to run or debug an application.
The next advantage is the option to use a single configuration being developed with EDT with multiple infobases and multiple 1C:Enterprise versions. You can use launch configurations (a standard Eclipse feature) to specify an infobase instance and a 1C:Enterprise version for each debug scenario. Note that this does not let you break the rule that requires the exact match of the 1C:Enterprise versions used at the client application side and at the server side). Once you set up the launch configurations, you can specify a test environment simply by selecting an appropriate list item.
When you start an application, EDT automatically updates the configuration of its target infobase. To update an infobase, it uses batch Designer startup and the export and import of configuration files to or from XML files. Additionally, you have the option to update an infobase configuration without running an application. However, it always performs a configuration update together with a database configuration update. You cannot skip the database configuration update.
EDT provides tools for managing the list of infobases, it is the same list that is displayed at 1C:Enterprise startup (stored in the file ibases.v8i). Any changes to this list automatically become available both to 1C:Enterprise startup applications and to EDT. The infobase list in EDT supports the basic infobase management options. You can use it to create an infobase, import an infobase configuration, update an infobase configuration, or publish an application to a web server.
Designer supports editing one configuration at a time. This disadvantage is eliminated in EDT where you can edit several configurations at once. Each configuration has its own metadata tree. You can create a new blank configuration, import a configuration from an infobase, or import a previously exported configuration from a set of XML files.
Configuration object operations and saving your work in EDT are a bit different from the operations available in Designer. To explain the differences, we will provide a brief description of Eclipse architecture. Note that is it not a complete Eclipse description but only the information that you need to know to start the development of 1C:Enterprise configurations in EDT.
Brief Eclipse description
The Eclipse interface consists of perspectives, views, and editors. Views and editors are combined into perspectives, while projects are located in the workspace. The main difference between a view and an editor is that views are intended for viewing, while editors are intended for editing. From Eclipse point of view, each configuration is a project where each configuration object is represented as one or several files (modules, forms, templates, and other file types). You can access project files using tools available in several perspectives.
A workspace is a directory that stores all of your project files. Eclipse works with one workspace at a time. You can change a workspace (on the File menu, click Switch workspace).
A perspective is a group of views and editors available in Eclipse. You can edit the assortment of items included in a perspective (on the Window menu, click Customize Perspective), revert to the default perspective view (on the Window menu, click Reset Perspective), create a custom perspective (on the Window menu, click Save Perspective As), and perform other similar operations. Extensions can include custom perspectives. Examples of custom perspectives are: perspective used for resource operations, perspective used for debugging, and perspective used for version control system operations.
When you open a perspective, Eclipse displays the default set of views and editors available in the perspective. In addition to 1C:Enterprise perspective that includes basic EDT tools, you can use other perspectives added by Eclipse extensions. The minimum set of EDT perspectives includes:
- 1CEnterprise. 1C:Enterprise application development.
- Debug. Application debugging.
- Resource. Application analysis at the file structure level (instead of the object level).
- Git. Git version control system support.
EDT combines both standard Eclipse features and standard 1C:Enterprise Designer features. For example, a variety of editors come from Eclipse, while the Properties view, which provides the option to edit an object without opening its editor, comes from 1C:Enterprise Designer. The availability of standard Designer tools ensures easy learning for developers that switch from Designer to EDT.
Let us return to editing objects in EDT. To edit object properties, use one of the following:
- The object editor
- The Properties panel
When you edit an object, you need to know when your changes are saved to the disk. If you use an editor, to save the changes, you have to run the Save command in the editor window (or run the command that saves all changes). If you use the Properties panel, the system behavior varies depending on whether the object editor is opened. If it is opened, Eclipse assumes that you made the change in the editor and you have to save it manually. If the editor is closed, Eclipse saves the changes to the disk immediately.
General development workflow
Despite all the differences introduced by EDT, the general development workflow is still the same:
- Each application is represented as an object tree.
- You can change object properties (including 1C:Enterprise script that belongs to the object) using an editor.
- You can perform basic configuration and infobase operations:
- Import configurations
- Import database configurations
- Update database configurations
- Publish infobases to web servers
- Dump infobases to files
- Restore infobases from files
- Run and debug applications, and more