1. Identification
| Parameter | Value |
|---|---|
| Object Type | Catalog |
| Name | SystemMessages |
| Full Name | Catalog.SystemMessages (Catalogs.SystemMessages) |
| Alias | — (not set; service object) |
| Configuration | Accounting for Kazakhstan, edition 3.0, version 3.0.74.2 |
| Hierarchy | Non-hierarchical (flat list) |
| Owners | No |
| Main Representation | Service (used programmatically) |
Purpose. The catalog stores system messages transmitted between nodes of a distributed information system via a messaging exchange mechanism. It is used in data exchange scenarios between 1C databases (for example, between the central database and branches) for asynchronous delivery of notifications, commands, and information packages. The catalog operates automatically in the background and is not directly edited by users: records enter it through the messaging exchange subsystem and can also be created programmatically when configuring distributed systems. In the main menu, the object is generally unavailable — it is an internal service object of the configuration.
Where to find in 1C: section "Service Technology" → "System Messages".
Navigation link: e1cib/list/Catalog.SystemMessages
The catalog is infrastructural (messaging exchange of the BSP library/data exchange subsystem) and is not related to accounting operations. Tax rates, the chart of accounts of the RK, and electronic documents (ESF/SNT) are not applicable to this object — it does not generate accounting entries (see section 5).
2. Attributes of Header and Table Parts
2.1 Header Attributes
| Name | Type | Mandatory | Purpose |
|---|---|---|---|
| MessageBody | ValueStorage (v8:ValueStorage) |
Not checked | Stores the binary content of the transmitted message in serialized form. The main data container for transmission between exchange nodes. |
| Sender | ExchangePlan.MessageExchange |
Not checked | Reference to the exchange plan node that sent the message. Identifies the source of the message in the distributed system. |
| Recipient | ExchangePlan.MessageExchange |
Not checked | Reference to the exchange plan node for which the message is intended. Defines the addressee in the distributed system. |
| Blocked | Boolean (xs:boolean) |
Not checked | Flag for blocking message processing (for example, in case of critical errors or the need for manual intervention). |
| MessageProcessingAttemptsCount | Number (xs:decimal) |
Not checked | Counter of processing attempts. Increases with each unsuccessful attempt. Prevents infinite loops in processing problematic messages. |
| ErrorDetailView | String (xs:string) |
Not checked | Text description of the last error in processing the message. Used for diagnosing data exchange issues. |
| IsFastMessage | Boolean (xs:boolean) |
Not checked | Indicator of a priority message processed outside the general queue with increased priority. |
The standard attributes of the catalog (Code, Name, DeletionMark, Reference, Predefined) are present by default, but are not used in the business logic of the object: the substantive load is concentrated in the attribute MessageBody.
2.2 Table Parts
The catalog does not contain table parts. All useful information of the message is packed in the attribute MessageBody in serialized form — this corresponds to the container nature of the object.
3. Forms
In the object's metadata, custom forms are absent. This confirms the service nature of the catalog: it is intended for programmatic use, not for interactive user work.
Practical implications:
- When opened interactively (via
e1cib/list/...), the platform generates automatic forms of the list and item based on the composition of attributes. - No separate selection/list/item forms were created by the developer, as records are created and processed by the data exchange subsystem code, not by the operator.
4. Key Module Procedures
Evidence with the text of modules (BSL) for this object is not attached. Below are typical handlers of this type of object (object module / catalog manager module) and the nature of their use in the context of the messaging exchange subsystem. Specific implementations should be viewed in the configuration tree.
Object Module (CatalogObject.SystemMessages):
BeforeWriting(Refusal)— control of correctness before saving the message record (checking the completeness of the sender/recipient during programmatic creation).OnWriting(Refusal)— recording the fact of placing/updating the message in the queue.BeforeDeleting(Refusal)— typical handler; for a service object usually without application logic.
Manager Module (CatalogManager.SystemMessages):
ProcessReceivingForm(...)— management of receiving auto-forms (if absent, the platform generates forms itself).ProcessFilling(...)— filling fields during programmatic creation of a new message.
Working with the message body (application level of the exchange subsystem, outside the object module):
- Data placement: serialization of the outgoing package into
ValueStorageand writing toMessageBody. - Reading:
MessageBody.Get()— deserialization of content during processing on the recipient's side. - Queue management: incrementing
MessageProcessingAttemptsCount, settingBlocked, and writingErrorDetailViewin case of failures; prioritization byIsFastMessage.
Requires verification (version-specific): the exact composition of procedures and the presence/absence of BSL code in the object and manager modules in the specific build 3.0.74.2.
5. Posting and Movements
The object is a catalog and is not posted — the concept of posting, movements in registers, and accounting entries are not applicable to it. The catalog does not generate records in either accumulation/information registers of the accounting subsystem or in the accounting register.
Accordingly, this object does not participate in the formation of accounting data and does not involve the chart of accounts of the RK (accounts 1210, 1030, 1330, 3310, 3130, 6010, 7010), VAT calculation (16%), individual income tax, OPE/OPEP/VOSMS/OSMS/SO/social tax, as well as electronic documents ESF/SNT. Its entire role is a transport container for messages between exchange nodes.
Records of the catalog are changed exclusively through element write operations (creating/updating messages in the queue), which are performed by the data exchange subsystem.
6. Related Objects and Input on Basis
| Relation | Object | Nature of Relation |
|---|---|---|
| Sender / Recipient | ExchangePlan.MessageExchange |
Nodes of the distributed system between which the message circulates |
| Data Transport | Messaging exchange subsystem (BSP / data exchange) | Creates, reads, and deletes catalog records programmatically |
| Content | ValueStorage in MessageBody |
Serialized package of application data exchange |
Input on Basis: not provided. The catalog is not a basis for inputting documents and is not entered based on other objects — records are created only programmatically by the exchange subsystem.
7. Extension Points
- Configuration Extension (without removing from support): adding handlers to the object module (
BeforeWriting,OnWriting) for auditing/logging the passage of messages; adding custom attributes (for example, correlation identifier or route label). - Forms: if diagnostics are needed, a custom list/item form can be added with a breakdown of
ErrorDetailViewand content ofMessageBodyfor the exchange administrator. - Queue Monitoring: programmatic processing/scheduled task for analyzing
Blocked,MessageProcessingAttemptsCount, andIsFastMessage— identifying "stuck" messages, automatic escalation or re-queuing. - Caution: the object is infrastructural; interference in the logic of writing/processing may disrupt the exchange mechanism. Changes should be made through extension, without modifying the standard algorithm of the exchange subsystem.
