1C:Enterprise merges modules by procedures. It generates the procedure mapping automatically, leaving you the option to correct it manually. Let us look into the mapping generation rules.
A 1C:Enterprise module consists of three areas:
- Variable declaration area
- Procedure and function area
- Main program area
The variable declaration areas are mapped to each other automatically, as well as the main program areas, and you cannot change that mapping. Procedures and functions are mapped based on their names, but a procedure is never mapped to a function, even if they have identical names.
To change the procedure and function mapping manually, set the "Merge prioritizing..." rule for the module. This adds the button that opens the detailed settings. In the settings window, in addition to editing the mapping, you can set a merge rule for each procedure and preview the module merge result.
Merging modules during configuration update
The "Merge..." rule is never set automatically during the configuration update. You can set it manually. If you do, note the following:
- For customers:
Verify the procedure and function mapping. Make manual corrections, if necessary. It is especially important if you renamed any of the procedures or functions provided in a vendor module. Remember that module merging cannot be fully automated and always requires manual corrections.
- For vendors:
Note that the following issue is possible. An exported function is moved to another module in a new release of a standard configuration, a customer edited these modules earlier, and they select the "Merge..." rule for merging these modules. After the update the procedure might be present in both modules, which might lead to configuration errors. Also, remember that procedures cannot be automatically mapped to functions. To handle this, we recommend the following:
- Avoid moving exported procedures and functions between modules. When it cannot be avoided, rename the procedures and functions.
- Avoid converting a procedure to a function, or vice versa. When it cannot be avoided, rename the converted procedure or function.