Configuration extensions make it possible to significantly simplify the adaptation of a standard application to the needs of a specific deployment, a specific customer.
The customer often wants to add something to or customize a standard configuration. The strategy offered by extension implies no need to modify the standard configuration. All the changes are made in the extension, which, actually, is a configuration, as well.
After that, the extension is simply attached to the standard configuration in 1C:Enterprise mode. The platform automatically merges the extension with the standard configuration in 1C:Enterprise mode. As a result, the customer uses a standard solution, modified according to their requirements.
When a provider releases a new standard configuration version, it is automatically updated because the standard configuration support mode has not changed. It remains fully supported by the provider. And when you launch an updated application, the platform will automatically merge the modified standard configuration with the extension. And the customer will continue using a standard solution modified, according to their requirements.
Extensions are irreplaceable when the application operates in data separation mode. For example, in SaaS mode. One of the subscribers would like to have a couple of additional reports. At the same time, the rest of the subscribers would like to use the unchanged standard configuration.
In this case, an extension can be developed for that very subscriber, where all their requirements can be implemented. The subscriber will attach this extension and will use the modified configuration. At the same time, the rest of the subscribers will see no changes. That is because all the extensions are attached and run in the context of the current separator values. At the same time, you can apply the extension to all areas of the distributed infobase.
Another situation is the improvement of a standard configuration for a specific customer in their deployment. Or modifications of the standard configuration, which are performed by the customer's IT specialists independently. If all these improvements are made in the extension, then the standard configuration will remain fully supported, which will greatly simplify its further maintenance.
The extensions have implemented properties for storing information about the extension itself and its provider: "Brief information", "Detailed information", "Copyright", "Address of provider details", "Address of configuration details". The values of these properties are displayed in the "About" dialog box.
The extension is very similar to the regular configuration. It is also represented as a tree of objects. The same methods are used to operate the extension as with the usual configuration.
An important feature of the extension is the presence of adopted objects. You can adopt any standard configuration object using the context menu command:
The extension requires adopted objects to be sure that the standard configuration contains all those objects and their properties that are necessary for the extension to operate properly. On each attachment, the extension checks that the adopted objects have not changed in the main configuration.
The extension is created in the Designer. Once it has been debugged and tested, it can be saved to a file:
This file can be handed over to the customer. The customer will independently import it to their infobase in 1C:Enterprise mode using the standard function Configuration Extensions Management.
You can check the extension applicability to a specific configuration before its actual running along with the configuration:
· using interactive commands in the Designer;
· on the Designer batch start;
· from 1C:Enterprise language;
· in standard Configuration Extensions Management data processor before adding or importing an extension, automatically or using interactive commands.
Extension Application Procedure
An important characteristic of an extension is its purpose. It is selected from several fixed values provided in the platform. The purpose must correspond to the functionality that is implemented in the extension because the procedure for extension application to the infobase is determined specifically by their purpose. The extensions with the Patch purpose are applied in the first place, then with Adaptation purpose, and finally with Update purpose. This approach allows to prevent conflicts between the functionality of extensions with different purposes.
Deactivated extensions are not applied to the configuration while remaining in the infobase. This allows you to see how the configuration works without the extension. This feature is especially in demand for extensions that modify application configuration objects, since removing such extensions entails the loss of extended data.