What exactly is an object in 1C? This question can puzzle not just novice developers, but also people with a fair amount of experience in 1C:Enterprise development.
The hard part is to make sure that you clearly understand the context where the term is used.
As a rule, the "object" term is used in one of the three contexts:
- 1C:Enterprise script
When speaking about the configuration, we use the "configuration object" term to describe a certain set of data definitions and data processing algorithms. For example, a configuration can contain a Catalog object named Employees.
For each configuration object, a data structure is created in the database.
So speaking about a database, what we mean by "object" is simply an item in that data structure. A reference to that item (that data set) is always available, and it can be stored in a field of another data structure.
For example, a database contains the Employees catalog, which includes an employee named Johnson. The catalog item that contains information about Johnson is a database object. And if you have a GoodsReceipt document that includes the PersonResponsible attribute, the value type for that attribute is a reference to a database object, i.e. the catalog item containing Johnson’s information.
However, if we start talking about 1C:Enterprise script and the catalog management tools that it provides, "object" means the data type that is used for accessing catalog data and has a set of properties and methods.
There are quite a number of 1C:Enterprise script objects intended for catalog management: CatalogsManager, CatalogManager.<name>, CatalogRef.<name>, and more. Among these there is an object that provides access to catalog objects in the database: CatalogObject.<name> (fig. 5.45).
Fig. 5.45. Configuration object, database object, and 1C:Enterprise script objects