1. Identification
| Parameter | Value |
|---|---|
| Full name | Catalog.ReportVariants |
| Object name | ReportVariants |
| Synonym | “Report variants” |
| Configuration | “Accounting for Kazakhstan,” edition 3.0, version 3.0.74.2 |
| Subsystem | Standard Subsystems Library (SSL) → “Report variants” |
| Purpose | Central repository of saved report settings: predefined settings built into the configuration and user-defined settings. The object is used to place variants on section panels, differentiate access by author, and store multilingual descriptions. |
Where to find it in 1C: variants are accessed from report forms and the report administration commands provided by the configuration. Navigation link for the list: e1cib/list/Catalog.ReportVariants.
Who uses it and when: accountants and analysts work with the object when saving report settings using the “Save as…” command, selecting a saved variant, and configuring its display in interface sections. Administrators use it to manage shared variants and their availability to employees.
Note on the object type. In release 3.0.74.2, “ReportVariants” is treated as a service catalog of the report variants subsystem. It stores report settings and presentation descriptions; therefore, when accessed programmatically, a reference of the CatalogRef.ReportVariants type is used.
2. Attributes and tabular sections
2.1 Header attributes
| Name | Type | Required status | Purpose |
|---|---|---|---|
| Author | CatalogRef.ExternalUsers, CatalogRef.Users | Raise an error | The user who created the variant. The attribute identifies the owner of the settings and is used to differentiate access to user-defined variants. |
| DefaultVisibility | Boolean | Do not check | Determines whether the variant should be displayed on report panels for users by default. |
| DefaultVisibilityOverridden | Boolean | Do not check | Indicates that the visibility value set by the administrator differs from the variant’s original setting. |
| InteractiveDeletionMark | Boolean | Do not check | Service indicator of an interactive mark: such a variant can be excluded from working lists while retaining its data in the infobase until the prescribed deletion procedure is performed. |
| VariantKey | String | Do not check | Identifier of the variant within the report. It is used for programmatic matching and updating of predefined variants. |
| Keywords | String | Do not check | Contains keywords by which the variant can be found in the report interface. |
| Context | String | Do not check | Stores the report invocation context, for example, opening a report from an application object form. A contextual variant is not placed in shared sections. |
| ParameterAndFilterNames | String | Do not check | Text representation of the variant’s parameters and filters used for indexing and searching. |
| FieldNames | String | Do not check | Text representation of the selected report fields used for indexing and searching. |
| Settings | ValueStorage | Do not check | Contains a set of report settings: parameters, filters, selected fields, sorting, and conditional formatting. This is the main attribute of a saved variant. |
| Description | String | Do not check | A detailed description of the variant that may be displayed to the user when selecting a report. |
| DescriptionLanguage1 | String | Do not check | Description in the first additional language provided by the infobase localization settings. |
| DescriptionLanguage2 | String | Do not check | Description in the second additional language for a configuration with multiple interface languages. |
The object also includes attributes linking the variant to the report and its owner: Report, ReportType, User, and Predefined. The standard catalog attributes include Description and DeletionMark. The specific set of available fields can be viewed in the item form, list form, or configuration metadata for release 3.0.74.2.
2.2 Tabular sections
| Tabular section | Key columns | Purpose |
|---|---|---|
| Placement | Subsystem, importance, or visibility mode | Determines the interface sections in which the report variant is displayed, as well as its position on the report panel. Shared placement by section is not specified for a variant with a populated context. |
| SearchKeywords | Search string, presentation language | Contains additional search phrases, including presentations in interface languages, for quickly finding the variant. |
3. Forms
| Form | Purpose |
|---|---|
| Item form | Viewing and editing a single variant: its name, description, author, visibility, and placement by section. |
| List form | Viewing report variants, administratively managing visibility, and setting the deletion mark. |
| Selection form | Selecting a variant when invoked from the report panel or another interface element. |
| Variant selection form | Interactive selection of a saved setting by the user from the list of variants for a specific report. |
| Section placement form | Configuring the interface sections in which the variant is displayed and its importance to the user. |
The available commands and form presentation are determined by the version of the report variants subsystem included in release 3.0.74.2. The user works with these forms through report commands and section panels; directly opening the service list is generally reserved for administrators.
4. Key module procedures
The object’s program logic focuses on saving the variant, populating the owner, processing placement, and preparing data for search. The exact names of export procedures should be taken from the configuration modules of release 3.0.74.2 because the interface of the SSL common modules changes with the library version.
Main object module operations:
- Before-write processing — aligning the variant’s attributes, context, and placement.
- Write processing — saving service data required to search for and display the variant.
- Fill processing — populating the author or owner when a user-defined variant is created.
- Copy processing — preparing an independent user-defined variant based on an existing setting.
Common modules of the “Report variants” subsystem:
- read and write the value of the Settings attribute;
- convert data composition settings into strings used for searching;
- manage the visibility and placement of variants in interface sections;
- match predefined configuration variants with previously saved infobase data;
- provide a list of variants available to the current user.
When enhancing an extension, it is safer to use the published procedures of the subsystem’s common modules. Directly writing service fields may result in discrepancies between the settings, search presentation, and variant visibility.
5. Posting and register movements
“ReportVariants” is a service catalog of the reporting subsystem. Its records describe saved report presentations and are used when building the user interface.
When a variant is saved, its own data and associated service settings are changed:
- the parameters of the selected report presentation are saved in the Settings attribute;
- service search strings are aligned with the set of fields, parameters, and filters;
- placement determines the availability of the variant on the panels of the corresponding sections;
- the subsystem takes personal visibility parameters into account when generating the list for a specific user.
The content of the indicators displayed in the report is determined by the infobase accounting data and the logic of the report itself. The catalog stores the method of presenting this data: the set of fields, filters, groupings, sorting, and formatting.
6. Related objects and create based on
- Configuration reports — each variant belongs to a specific report; the variant key is used to match the predefined setting of that report.
- “Users” catalog and external user list — used to store the author and owner and to differentiate access.
- Metadata object identifiers — allow the record to be linked to a report object in the configuration.
- Service data of personal settings — used by the subsystem to display variants individually.
- Command interface subsystems and sections — selected when configuring variant placement.
Create based on: is not used for the catalog. A user-defined variant is created from the report form using the command to save the current settings or by means of the report variants subsystem. Predefined variants are supplied as part of the configuration and are matched with infobase records by report and variant key.
7. Extension points
- Configuration extension: adding custom attributes and handlers when saving the object, taking the standard subsystem logic into account.
- Additional report variants: programmatic description of predefined variants and their settings in the corresponding report module.
- Multilingual support: populating the primary and additional descriptions for the interface languages in use.
- Visibility and placement management: using the subsystem’s programming interface instead of directly modifying service data.
- Access differentiation: taking the author and owner into account when adding custom access scenarios for user-defined variants.
- Search: supplementing keywords and descriptions while maintaining consistency among the search fields.
When extending the object, updates to the standard configuration must be taken into account. Changes made through an extension and the provided programming interfaces are easier to maintain when moving to the next release than direct changes to standard modules.
8. Questions and answers
How do I save a separate report variant?
Open the required report, set the parameters, filters, groupings, and field set, and then run the command to save the variant. Give the new variant a clear name that enables the accountant to distinguish it from standard and previously saved settings.
Why is a saved variant not displayed on the section panel?
Display depends on the variant’s placement, the configured visibility, and the current user’s rights. A contextual variant is invoked from the related interface element, so it is not included on the shared section panel. The administrator can check the variant’s placement and availability in the report settings.
How does a user-defined variant differ from a predefined one?
A predefined variant is included in the configuration and identified by a key specified by the developer. A user-defined variant is created in the infobase from the current report settings and belongs to a user or is made available to other employees in accordance with the access settings.
What is saved in the “Settings” attribute?
It stores the report presentation selected by the user: parameters, filters, fields, groupings, sorting, and conditional formatting. The set of saved elements depends on the data composition schema of the specific report and the commands available in its form.
What should be considered before updating the configuration?
Predefined variants may be updated together with the configuration, while user settings remain infobase data. Before updating, it is useful to record the list of important shared variants and, after moving to the new release, check that they open correctly, as well as their placement, filters, and the set of displayed fields.
