5.10.2. External data processors and reports
5.10.2.1. General information
External data processor in 1C:Enterprise is the data processor stored outside of configuration in a separate external data processor file. External data processor performs the same tasks as the Report-type or Data processor-type configuration objects.
The external report in 1C:Enterprise is the report stored outside of configuration in a separate external report file. The external report performs the same tasks as the Report-type configuration object.
The main task of the external data processor (report) is to implement, provide, and update features without affecting the configuration.
External data processors and reports can be stored in two formats:
- Binary files with .epf and .erf extensions. These files can be used for editing in the Designer. They can also be used in 1C:Enterprise mode. You can develop and debug while operating the 1C:Enterprise. In this case, development and debugging of the data processor (report) take significantly less time. The external data processor (report) is edited and saved in Designer mode without saving the whole configuration, but started in 1C:Enterprise mode. To execute the external data processor (report), you have to upload it with File ‑ Open. It operates similar to any other application (report).
- XML file with extension that corresponds to files used in configuration export/import into files. When using this format, you can only edit an external data processor (report) in Designer mode. To use the external data processor report in 1C:Enterprise, save it with .erf/.epf extension. The 2.0 format is used for its operation.
NOTE. External data processor (report) that is opened using the File ‑ Open menu, are performed in safe mode if the user does not have administrative access rights.
Any configuration object of the Data processor-type or Report-type can be saved into the external data processor (report) file and vice versa ‑ the existing configuration object can be replaced with the external data processor (report). A help information can be created for external data processor (report), just like for any other configuration object.
TIP. To ensure configuration integrity, it is recommended to use external data processors (reports) for debugging. After debugging of the data processor (report) generation algorithm is over, include the external data processor into the configuration.
Saving the external data processor (report) into XML is required when you plan to store the data processor (report) into the external version control system. In this case the XML format is more convenient than .epf (.erf) extension. Designer allows opening external data processor (reports) for editing in any format. In this case, by default the writing is performed in the format of data processor (reports) opened in the Designer. To change the storage format, execute the File ‑ Save as… command or File ‑ Save copy… and choose the required saving format in the opened dialog box.
5.10.2.2. Creating external data processors (reports)
To create the external data processor (report), choose File ‑ New and then, in the displayed request, choose External data processor or External report.

Fig. 148. Document type selection
The form editor for external data processor (report) development will be displayed. The editing window of external report will additionally include controls for creation, setting, and editing the data composition system.
An external data processor (report) is not a part of the current configuration (although it is very closely connected with it) and its saving procedure is different from the procedure for saving configuration changes. To save the external data processor (report) use File ‑ Save or File ‑ Save as… or File ‑ Save copy. In the standard file saving dialog box, choose the required saving option and then choose a name of the saved external data processor (report).
5.10.2.3. Using external data processors (reports)
To use the external data processor (report) when operating 1C:Enterprise, it has to be opened the same way as in the Designer. However, remember that in 1C:Enterprise, the external data processor can only be opened for execution, the user cannot edit it. The attempt to open is followed by the verification of access rights. Then, the safe mode is enabled if the user does not have the administrative rights. Besides, to execute the external data processor (report) it must be saved in binary format (.epf, .erf).
The compilation of an external data processor (report) module is performed when opening the external data processor (report). That is why, when editing the external data processor (report) in Designer and saving it, you need to open this data processor in 1C:Enterprise mode once again.
The external data processors (reports) can also be operated on the 1C:Enterprise server. All limits for interactive objects (forms and so on) usage are the same.
To operate the external data processor (report) from 1C:Enterprise language, you must connect it using the Connect() method (only available on the 1C:Enterprise server).
// Place the data processor into temporary storage on the client StorageAddress = ""; Result = PutFile(StorageAddress, "ExtDataProcessing.epf", , False); ... // On the server, connect the data processor from previously created // temporary storage. DataProcessorName = ExternalDataProcessors.Connect(TemporaryStorageAddress);
The name of external data processor will be placed to the DataProcessorName variable. This name will be used to call the connected data processor. Example, when opening the data processor form:
// Let us open the form of the connected external data processor OpenForm("ExternalDataProcessor."+ DataProcessorName +".Form");
You can attach an external data processor or report in safe mode. To do this, use SafeMode parameter of the Connect() and Create() connection methods. The external data processor (report) connection mode will depend on the value of this parameter:
- If the parameter is set to True, the external data processor (report) will be attached in safe mode.
- If the parameter is set to False, the external data processor (report) will be attached in unsafe mode.
- The security profile name is set as the parameter value:
- If no name is specified, the external data processor (report) will be attached in safe mode.
- If the profile name is specified and the Safe mode security profile parameter is set to True for this profile, the external data processor (report) will be attached and controlled by the security profile with the specified name.
- If the profile name is specified and the Safe mode security profile parameter is set to False for this profile, the external data processor (report) will be attached, but controlled by the default security profile.
- If there is no security profile with the specified name on the 1C:Enterprise server, the external data processor (report) will be attached in safe mode.
The external data processor (report) might contain malicious code. That is why, in case of an attempt to open the external data processor (report) interactively, they permission request will be displayed to the user.
If you answer Yes in this dialog box, this choice will be remembered and further openings of this data processor (report) will not display any questions. If you answer No, the data processor (report) will not be opened. This question will be displayed again with the next opening.
You can attach an external data processor or report so that the interface language of the object to be attached differs from the current system interface language. To specify this language, use the LanguageCode parameter of the Connect() method. If a language code is not specified, the current interface language will be used. To get this language, use the CurrentLanguage() global context method.
For programmatical operation the external data processor (report) can be located:
- In a file located in configuration (for example, in a template).
- In infobase data.
- In the temporary storage.
The names of external data processors (reports) must be unique within the session. In case of problematical or interactive connection of the external data processor (report) with the same name as the external data processor (report) that was already loaded during this session, the old data processor will be disconnected and the new one will be connected.
NOTE. When operating the external data processors reports in thick client, remember that when operating in the managed application mode, you can only open managed forms, and in the normal mode ‑ only regular forms.
When operating the external data processors (reports), remember:
- If you connect the new data processor (report) with the same name as the already connected data processor (report), the opened form from the old data processor (report) are disabled (the error is displayed).
- When connecting the external data processor (report), in case the external data processor (report) is binary identical to the already connected one and the safe mode flag is the same, there is no actual reconnection and the error is not displayed. Otherwise, the previously connected external data processor (report) is disabled and the new one is connected.
- When executing the Create() method, the SafeMode method parameter is ignored, if the external data processor (report) was previously connected with the Connect() method. If the connection is the first one, the external data processor (report) will be connected using the SafeMode parameter from the Create() method.
- When the external data processor (report) is connected programmatically with the Connect() method you can specify, whether the control of unsafe operation is required. For this use the UnsafeActionProtection method parameter.
- When getting a form for an external data processor (report), an opened form will be found. It does not matter whether it was opened for the currently connected data processor or for the previously connected one (with the same name).
- If you open the data processor (report) by clicking Service and settings ‑ File ‑ Open, the data processor (report) form is opened by the OpenForm() method with the Uniqueness parameter set to True to enable opening a new data processor form in case of changes.
- If not specified explicitly, all of the above features are equally applied to both interactively and programmatically opened external data processor (report).
5.10.2.4. Editing external data processors (reports)
The external data processor (report) is edited in the Designer. To open the existing external data processor (report), choose File ‑ Open. In the displayed standard dialog box, choose the file type corresponding to the format of the saved external data processor (report) and specify the name of the file opened.
When opening the external data processor (report) in the Designer the object editing window is opened automatically. Unlike other configuration objects, the debugging of external data processor (report) can be performed without restarting the 1C:Enterprise. You only need to call the data processor report again in 1C:Enterprise mode after saving it by the Designer (only for the data processor (report) saved in .epf/.erf).
You can copy the external data processor (report) in the editing dialog box without changing the object edited. To do this, execute Actions ‑ Export to files commands. Apart from copying the external data processor (report) you can choose the export format. By default, during this operation the 1C:Enterprise offers the export format that is different from the current format. It means that if the edited external data processor (report) has the .epf/.erf extension, the XML format will be offered and vice versa. You can replace the edited external data processor (report) with another external data processor (report), which is located in the file (in any of the supported formats).
When exporting/importing the external data processor (report) to/from the file, you can change the object type without changing the object edited. For example, you can export the edited external data processor as the external report and vice versa, and the object edited will keep the type.
5.10.2.5. Help information
The external data processor (report) can be complemented with the user description. To edit the description, click Open link of the Help information property in the external data processor property palette.
To view the description of external data processor (report) in 1C:Enterprise mode, click F1.
5.10.2.6. External data processors (reports) and configuration objects
5.10.2.6.1. General information
The Report-type and Data processor-type object in the configuration can be modified into external reports and data processors and vice versa: external reports and data processors can replace the existing configuration object of Report-type or Data processor-type. External reports and data processors can also be added into configuration structure as new configuration objects of Report-type and Data processor-type.
When operating the external data processor (report) you can choose the format of the object saved. It can be done in the saving dialog box or by opening the file with the drop-down File type list. In defines, whether the data processor (report) will be saved as .epf/.erf or in XML format. In this section, the choice of external data processor (report) format will not be described in detail.
5.10.2.6.2. Copying data processors (reports) into external data processors (reports)
The existing configuration object of the Report-type or Data processor-type can be copied into an external data processor or a report. To do this, select the configuration object in Configuration window and choose Save as external data processor/report in the context menu of the configuration object.
This will result in creating an external data processor report, which will be a copy of the selected configuration object. The configuration object itself will not change.
This operation only makes sense for further debugging the data processor (report) created. After the debugging, the external data processor (report) can be entered in a configuration instead of the existing configuration object. Remember that to execute the data processor in 1C:Enterprise mode, you must save it as .epf/.erf and not in the XML format.
5.10.2.6.3. Replacing data processors (reports) with external data processors (reports)
External data processors (reports) can replace the configuration objects of Report-type and Data processor-type. To replace the configuration object with the external data processor (report), select its name in the Configuration window and use Replace with the external data processor/report item in the context menu of the configuration object.
5.10.2.6.4. Adding external data processors (reports) to the configuration structure
The existing external data processor (report) can be added into the configuration structure as the new Data processor-type or Report-type configuration object. The do this select any name of Data processor-type or Report-type configuration object into consideration structure and use the Insert external data processor, report context menu item of the configuration object. As a result, the new data processor (report) will appear in the configuration tree.
5.10.2.7. Comparing and merging external data processors (reports)
External data processors (reports) can be compared and merged with data processors (reports) from configuration as well as other external data processor (reports).
To compare the report or data processor, open the Configuration, specify the acquired object and choose Compare, merge with data processor, report… in the object context menu. Then choose the external data processor (report) in the standard dialog box for choosing the file.
The Comparison and merging… window will be displayed. The operations in this window are the same as in case of configuration merging.

Fig. 149. Merging data processors
To compare or merge the external data processor (report) with another one, open the source external data processor (report) and click Actions in the editing window. Then choose Compare with external data processor, report in the drop-down menu. Choose the external data processor (report) in the standard file choose in dialog box.