A distinguishing feature of applied solution development with 1C:Enterprise,
unlike development in universal systems, is that the developed is going in terms
of classes of problem-oriented business objects. Any business
application consists from a set of such objects and, in fact, a developer’s task
is to build a required application structure from these ready objects, like from
a meccano set, and then to specify specific operating and interaction
algorithms, which differ from standard behaviour of the objects.
One can say that with 1C:Enterprise 8 an application is not 'developed', but
it is 'described'. The entire applied solution is described in metadata as a set
of applied objects that relate to a strictly defined set of prototypes
(classes). The created objects are called 'business components', and their
prototypes 'patterns' or 'templates'.
Each application object prototype is responsible for creation of a certain
range of objects or processes in the application, which have similar behavioral
characteristics and roles. Examples of such prototypes are catalogs, documents,
and accumulation registers.
Each application object prototype has a predefined implementation that
includes various aspects to ensure functions of objects created from it: the set
of persistent entities with some number of predefined fields, the set of
programming language types with their required methods, attributes, and events,
the realization of standard operations corresponding to the task being
performed, standard viewing and editing methods in the interface segment,
standard methods of controlling access rights, etc.
To create a required business object in an application, the developer selects
a suitable prototype and uses it to create a metadata object. Then he can
specify its various attributes to define features of the object based on the
prototype, supplement the object’s data structure if necessary, implement a
required set of methods, define event handlers, implement the object’s specific
display in the interface, etc.
For simple objects, this predefinition may not be needed at all, and the
object’s entire development would limit to entering the object name in the
metadata attributes. For complex objects, the developer may define both the data
structure and the business logic algorithms in some detail, but the standard
functionality defined in the system will operate with no effort on the
developer’s part.
Creation of business objects from
prototypes
From this metadata description the framework creates corresponding
information structures in the database and defines ways to handle data stored in
the structures.
With that, developers do not have to think in which tables, for example,
which data should be stored, how they are modified or displayed to users. All
these actions are performed by the framework basing on standard behaviour of the
objects' prototypes used.
The number of these prototypes is limited – there are about 20 prototypes.
This allows, on the one hand, developers to learn them well and, on the other
hand, make efficient use of the necessary set of tools provided by the system to
perform any and all tasks in the subject area.
All business object prototypes (along with other objects) are represented in
the configuration tree
window.