1. Identification
| Parameter | Value |
|---|---|
| Object Type | Report |
| Name | UniversalMetadataReport |
| Full Path | Reports.UniversalMetadataReport |
| Alias | Universal metadata report |
| Configuration | Accounting for Kazakhstan, ed. 3.0 (version 3.0.74.2) |
| Schema Basis | Data composition system (DCS), the dataset is formed dynamically based on the selected metadata object |
| Navigation Link | e1cib/list/Report.UniversalMetadataReport |
Purpose. A flexible analytical tool for dynamically generating reports on any configuration registers (accumulation, information, accounting) without creating separate specialized reports. The user selects a metadata object, a virtual table, a period, sets row/column groupings, filters, and indicators — and receives an arbitrary analytical slice. Used by accountants, developers, and administrators for checking balances and turnovers by registers, detailing accounting information, auditing, and debugging the configuration.
Where to find: section "Reports" → "Universal metadata report".
Important: this is a report. It only reads data and does not create entries and movements in registers (see section 5).
2. Header Attributes and Table Parts
2.1 Header Attributes (configuration parameters)
| Name | Type | Mandatory | Purpose |
|---|---|---|---|
| DataType | xs:string | ShowError (mandatory) | Category of metadata for analysis: AccumulationRegisters, InformationRegisters, AccountingRegisters. Defines the set of available tables and fields. |
| ObjectName | xs:string | ShowError (mandatory) | Specific name of the register/metadata object for which the report is built (e.g., GoodsInWarehouses, Settlements, CostAccounting). |
| TableName | xs:string | DontCheck | Virtual table of the register for the query: Balances, Turnovers, BalancesAndTurnovers, BalancesAndTurnoversDtCt, etc. |
| PeriodStart | xs:dateTime | DontCheck | Start date of the analysis period. Filters data by the date of the registrar/period of the register. |
| PeriodEnd | xs:dateTime | DontCheck | End date of the period. Together with PeriodStart defines the selection range. |
| DecodingMode | xs:boolean | DontCheck | If True, the report is built for decoding a cell of another report; additional parameters are pulled from the temporary storage. |
2.2 Table Parts
Grouping
Defines the hierarchy of row groupings of the report (analogous to rows in a pivot table). Each row represents one level of grouping.
| Name | Type | Purpose |
|---|---|---|
| Usage | xs:boolean | Activity flag of the level. If unchecked — grouping is not applied. |
| Field | xs:string | Technical name of the field in the dataset (Catalog, Warehouse, Account…), by which grouping is performed. |
| Representation | xs:string | User representation of the field in the header. |
| GroupingType | EnumRef.StandardReportDetailingType | Method of detailing: by periods (Day, Week, Month, Quarter, Year) or without detailing (Elements, Hierarchy). |
ColumnGrouping
Defines the hierarchy of column groupings of the report (analogous to columns in a pivot table). Allows building matrix reports with nested levels.
| Name | Type | Purpose |
|---|---|---|
| Usage | xs:boolean | Activity flag of the column grouping. |
| Field | xs:string | Technical name of the field for column grouping. |
| Representation | xs:string | Representation of the field in the column header. |
| GroupingType | EnumRef.StandardReportDetailingType | Method of detailing columns (analogous to rows). |
In addition to the listed table parts, standard table parts/settings of DCS are used for filtering and selecting indicators: Filter (filtering conditions), SelectedFields/Indicators (numerical resources of the register — Quantity, Amount, TurnoverAmount, etc.).
3. Forms
| Form | Purpose |
|---|---|
| Main report form (ReportForm) | Main form: selection of DataType and ObjectName, setting the period, configuring row/column groupings, filters, and indicators, "Generate" button, output of the result in a tabular document. |
| Settings form (if available) | Extended layout settings: user filters, formatting, conditional formatting, field composition. |
| Variant form / variant selection | Saving and selecting saved report settings variants (if the report variants mechanism of BSC is used). |
If a custom settings form is not specified in a specific version — the standard layout settings form of the platform is used.
4. Key Module Procedures
Evidence with the export of BSL modules is not attached, therefore below is the typical composition of handlers for the report on DCS with a dynamic dataset (to be clarified for a specific module version 3.0.74.2).
Report object module:
OnResultComposition(DocumentResult, DecodingData, StandardProcessing)— point of manual intervention in the composition. HereStandardProcessing = False, the composition scheme is built programmatically: based onDataTypeandObjectName, the metadata object is determined, from it — available dimensions/resources/attributes, a query text to the required virtual table (TableName) is formed, parametersPeriodStart/PeriodEndare set, groupings from table partsGrouping/ColumnGroupingand filters are applied. Then aLayoutComposeris created, along with the layout andDataCompositionProcessor.DataCompositionSettings()/ obtaining the schema — programmatic creation ofDataCompositionSchemaand datasets based on metadata.
Form module:
OnServerCreation— initialization: filling lists of available data types and metadata objects, restoring settings, processing decoding mode (reading parameters from temporary storage whenDecodingMode = True).DataTypeOnChange/ObjectNameOnChange— repopulating the list of available virtual tables, grouping fields, and indicators when the selected register changes.Generate(Command)— starting the composition and outputting the result.- Decoding handler (
DocumentResultDecodingProcessing/OnDecodingProcessing) — opening the detail of a cell, if necessary — re-invoking the report inDecodingMode.
5. Data, Registers, and Movements
The report does not create and does not generate movements. It acts as a consumer of data: based on the selected DataType and ObjectName, a query is formed to the virtual table of the register.
Readable sources (depending on the selection):
- Accumulation registers — for example,
GoodsInWarehouses(balances/turnovers on the accounting account 1330 "Goods"), settlements. - Information registers — currency rates, settings, reference snapshots.
- Accounting register
CostAccounting— turnovers and balances in the context of the standard chart of accounts of the RK:
| Account | Purpose |
|---|---|
| 1210 | Short-term accounts receivable from customers |
| 1030 | Cash on current bank accounts |
| 1330 | Goods |
| 3310 | Short-term accounts payable to suppliers |
| 3130 | VAT payable (VAT rate in the RK from 2026 — 16 %) |
| 6010 | Income from sales of goods and services |
| 7010 | Cost of goods and services sold |
Example of analytical interpretation (numbers of RK, 2026): when analyzing turnovers in the accounting register, the sale of goods for the amount of 1,160,000 ₸ with VAT 16 % will break down as income 1,000,000 ₸ (Cr 6010), VAT 160,000 ₸ (Cr 3130), customer debt 1,160,000 ₸ (Dr 1210). The report only displays such turnovers, without generating them.
For reference for interpreting payroll/tax registers data (RK, 2026): MRP = 4,325 ₸, MZP = 85,000 ₸; basic tax deduction for individual income tax = 30 MRP/month (not more than 360 MRP/year); individual income tax 10 % up to 8,500 MRP annual income and 15 % above; OPE 10 % (base cap 50 MZP), OPEA 3.5 %, VOSMS 2 %, OSMS 3 %, SO 5 %, social tax 6 %.
6. Related Objects and Input Based On
- Input based on for the report is not applicable (reports do not participate in the input based on mechanism).
- Related objects: all accumulation, information, and accounting registers of the configuration — potential data sources; metadata objects whose names are substituted in
ObjectName. - Decoding (drill-down): the report can call itself in
DecodingMode = Truefor detailing a cell; it can open forms of registrars/documents that were included in the selection. - Electronic documents of the RK (ESF in the ESF IS, STS) — are not generated by the report, but data on them (amounts, VAT 16 %) are available for analysis through the corresponding registers.
7. Extension Points
- Configuration extension: overriding/adding
OnResultCompositionin the object module — adding custom logic for query construction, additional fields, and formatting. - Additional form handlers through extension:
OnServerCreation,DataTypeOnChange,ObjectNameOnChange. - Report variants (user settings of DCS) — saving ready slices without changing the code.
- Limitation of the metadata composition: filtering the list of available objects in
ObjectName(for example, hiding service registers) through improvements in filling lists. - Programmatic generation of the report from external processes/tasks: filling in header attributes and calling the composition.
Requires verification (version-specific): the exact list of forms and signatures of module procedures in assembly 3.0.74.2 — to be checked with the configurator, as the export of BSL is not attached to this description.
