1
The system of programs
The business applications
1C:Enterprise 8 Framework
New in 1C:Enterprise 8.2 Managed Application
New in 1C:Enterprise 8.2.14
Common framework mechanisms
Interface mechanisms in 1C:Enterprise 8.2 Managed Application
1C:Enterprise Database
Development with 1C:Enterprise 8.2
Scalability
Databases and Operation Modes
Client-server interaction model
Server cluster support
Geographically distributed databases
Thin client
Thick client
Web-client
Full-text data search
Administration tools
Localization support
Distribution and support of applied solutions
System Requirements
Used terms
Localization issues
On-line demo version
Geography of Solutions
Licensing policy
Partnership
Getting support
Partner area entry
About 1C

Configuration Objects (Metadata)

Any applied solution in 1C:Enterprise 8 is based on a set of configuration objects.

In fact, a developer's task is to build a required applied solution structure from these objects, and then describe specific interaction and functioning algorithms for these objects, where it differs from the standard (framework-predefined) behaviour.

The set of objects, supported by the framework, was created basing on analysis of the domains (areas of use) of 1C:Enterprise 8, selection and classification of the business entities used in those domains. As a result, developers during the process of application designing can operate such object terms as catalogs, documents, information registers, charts of accounts, etc.

To standardize and simplify the development process, it provides efficient GUI to describe required object set to be used in a particular applied solution.

Basing on this description, the framework will create proper information structures in the database, and will handle data according to the description. Developers should not care of such things like in what table some data should be stored, how they will be modified or displayed to users. All these things (and many others) are done by the framework, proceeding from the standard behaviour of the objects used.

Thereby, developers work with metadata – 'data about data' – or configuration objects.

Developers cannot create their own (new) types of objects; they can work only with the provided set of them. Such approach to development allows, on the one hand, to standardize the development process, and on the other hand – to provide simple and quick modification of applied solutions by other developers (or users).

Here is the full composition of configuration objects used in 1C:Enterprise 8:

The set of configuration objects provided by the framework

Further in this and other sections we'll consider the major configuration object types used in 1C:Enterprise 8 in more details.

Catalogs

Catalog type objects allow storing data of identical structure and of catalog type. It could be such business objects as Items (goods), partners, currencies, warehouses, customers, etc. They all have such common properties as internal object identification in the system, hierarchy (including multi-level) and grouping support, nested tables support; these objects are included into business transactions.

A particular set of information is the same for all items of a particular catalog, and the catalog's attributes are used to store that information.

Various catalogs may be subordinated to others, i.e. a catalog's items are subordinated to items or groups of other catalog.

Catalog object example ('Customers')

Documents

Documents, Document journals, numerators and Sequences are used to specify such business objects as invoices, orders, receipt slips, etc. These documents reflect various business events in an enterprise’s life.

Document object examples

Each document is specified with a number, date and time. The system support auto-numbering and the uniqueness check providing there will be no two documents in a system with the same number.

Apart from the number and date/time, every document, as a rule, contains some additional information that describes a document in details. It could be information on a supplier, warehouse that goods are acquired to, etc. This kind of information is stored in document's attributes.

An important feature of documents is the posting functionality. Upon posting, a document changes the state of some data being accounted. For example, 'Receipt' document upon posting may change the state of order transactions and the general ledger transactions.

Additional information and posting support in documents

For documents 1C:Enterprise framework supports business event identification, nested tables, placement in a timeline, reflection of the event in record-keeping mechanisms.

Document numerators are used for consistency check and for through numbering of documents of different types.

Sequences are used for the recording of business events in real time.

Document journals are intended for browsing documents of different types, at that every document form may be shown in one or more journals.

Document journal object example

Documents support several forms; there are three types of document forms: list form for browsing across documents of one type; document form for a particular document from the list; and the choice form for selection of one or other document on the base of the minimum information provided in the form.

Registers

The document itself only describes a business event. In real business these facts must be accounted and the movements of resources (products, finances, etc.) must be reflected in various record-keeping systems. For this the document must be posted (registered) and this is what registers are for.

They store various information on objects, their characteristics, events, resource movements, business accounting and more.

There are four types of registers:

  • Information registers – to store multi-dimensional information on various values, such as currency exchange rates or competitors’ production prices, etc.
  • Accumulation registers – responsible for resource movements accounting (financial, goods, materials, etc); They are widely used in automation of warehouse accounting, mutual settlements, planning. Their functionality allows getting balances at a certain point of time, totals calculation, etc.
  • Accounting registers – used for implementation of double entry system in business accounting, support multi-layer hierarchical Charts of Accounts with fixed or variable code capacity, multi-layer and multi-dimensional analytical accounting (defined with Charts of characteristic types), accounting across several charts of accounts and several organizations, optional quantitative, summary and currency accounting for separate analytical sets, etc.).
  • Calculation registers – for implementation of payroll calculation models. They allow describing various payroll types (salary, additional payment, alimony, fines, etc.), to specify rules of payrolls' dependencies, store intermediate data and final results. They can be used to calculate income taxes for private persons, etc.

All registers are customizable by a business application developer for any economic conditions.

Chart of Accounts and Accounting Mechanisms

The mechanisms of business accounting allow implementing the double-entry accounting system. However, the mechanisms do not impose any accounting principles on developers and allow creation of accounting models applicable in different countries.

The accounting mechanisms implement the following major features:

  • Multi-level charts of accounts with arbitrary hierarchy, with fixed or variable accounts' digit capacity.
  • Analytical accounting by several dimensions and levels.
  • Accounting on several charts of accounts at a time.
  • Consolidated accounting on several legal entities.
  • The possibility to specify arbitrary number of accounting types, such as quantitative accounting, currency accounting, etc., for individual analytical dimensions.

Business accounting in 1C:Enterprise 8 is implemented with three applied objects:

  1. Chart of accounts

The structure of chart of accounts supports multi-level 'account – sub-account' hierarchy. Number of nested accounts is not limited in 1C:Enterprise 8.

Chart of accounts object

Creation and modification of a chart of accounts can be done by developers (predefined accounts) as well as by users, as they work with their application. (However, users cannot delete predefined accounts.) For users to be able to view and modify chart of accounts data, the system supports several types of forms).

Chart of accounts display

Analytical accounting is possible for any account or sub-account.

  1. Chart of Characteristic Types

To describe analytical accounting objects a chart of characteristic types is created. It specifies the sub-accounts required and the types of values that a particular sub-account can be of.

  1. Accounting Register

It is used in 1C:Enterprise 8 to record information on business operations and getting resulting data on the accounting state. The register is referenced to one of charts of accounts and stores accounting totals, according to its structure. The system provides the uniqueness of records in the Accounting Register.

Business Processes (Workflows)

Business processes allow to consolidate individual operations (such as writing out invoices, payment acceptance and goods delivery) within a single workflow (for example, sale). The logic of business processes is created visually in the Designer. There can be some routs with conditional jumps, paralleling and synchronization, nested business processes, etc. It can generate a list of tasks for a particular executive person automatically. Moving across routs can be done manually or automatically either.

It is possible to add the mechanism of business processes to an existing applied solution without much efforts.

The business process mechanism is represented in 1C:Enterprise with two objects: Task and Business Process.

Task object is intended for description of tasks (jobs) and describes their assignment across executive persons according to an enterprise's organizational structure. When a task has been done, the business process moves over to next task along the route map. Tasks in themselves consist of a list of assignments to an individual responsible person.

Business process object describes a business logic in the route map and controls a workflow lifecycle from the beginning to the end. It includes a route map itself, action points and routing rules (there may be group, personal, positional and conditional routing).

A business process logic is described visually as a 'roadmap' with interconnected waypoints, conditional jumps' algorithms, reaction of the business process to various events, etc.

Reports and Data Processors

These applied objects are for processing of user information and generation of resulting data in a shape convenient for browsing and analysis.

They describe data processing algorithms, contain various forms and algorithms for data representation to users.

Report object

The main mechanisms of economical and analytical reporting are described in 'Economical and Analytical Reporting' section of the document.

Chart of Characteristic Types

This object stores information on various objects' characteristics. It allows to provide the possibility to describe goods with arbitrary number of characteristics (color, size, type, etc.), which are not yet known by the time of development, creating a characteristic type and data type for corresponding objects.

For example, to describe particular clothes, one should first create the following characteristics:

  • Size, type is Integer;
  • Length, type is Integer.
  • Color, type is Reference.CatalogColors.

The structure of the chart is similar to the catalog structure.

Chart of characteristic types

To store values of characteristics which users define for particular objects information registers are used.

A list of possible data types for the chart is specified by developers, when developing an application.

Exchange Plan Object

The Exchange Plan object is intended for description of a distributed information system and definition of a list of data to exchange with within that distributed system. This allows creation of distributed system based on both 1C:Enterprise 8 and other information systems.

Exchange plan object

Exchange Plan objects are used for implementation of data exchange mechanisms.

Constant Object

This type of objects store constant or conditionally-constant information, such as a company name, taxpayer ID, names of the managing staff, etc. There can be any number of constants in an applied solution.

Constant objects

The system automatically generates a form for users to be able to browse and modify constants.

Enumerations

Enumerations allow storing sets of values which do not change during the applied solution operation. For example, it can be enumeration of tax rates applicable (NoVAT, VAT13, etc), states of orders (Scheduled, InProcessing, Completed), etc.

Enumeration objects

Filter

Filter objects are used for selection of a information of a certain type, for example sales documents.

Filter object

Developers define a filter type and then can select the configuration objects which should be considered in the filter.

Role Objects

These objects allow describing user access rights according to their position (the role they play) in a company. For example, a company director should have full access to any information stored in the application, while a warehouse manager should operate warehousing documents only.

Specification of access rights for roles

A role sets up what actions will be available to do upon which objects for a user that the role has been assigned to.

Event Subscription

The event subscription mechanism allows assigning handlers to non-interactive events of one or more applied objects.

An exported procedure in common module script can be defined as a handler.

Scheduled Jobs

The Scheduled Job objects are defined at the designing stage.

For each scheduled job a schedule can be predefined, it also can be created or modified during execution of the application (by a user). The system provides one-time and repeated execution. One can specify start and end time, a schedule by days, weeks and months.

When being executed, a job spawns a background job that actually performs the processing.

A scheduled job can be started on behalf of a specified user; it can be re-started (for example, in case of a failure).

In client-server operation mode scheduled tasks are managed by the cluster manager. This provides starting of such tasks even if there is no connections to the information base.

For file operation mode starting of scheduled tasks requires a separate client connection which is used as a task scheduler.

Interface Objects

These objects allow creation of individual user interfaces, for standard (un-managed) operation mode.

Interface object definition

Using individual interfaces simplifies user operation, giving him access only to required functionality.

Language Objects

These objects allow creation of multi-lingual applied solution.

Language objects

Since all configuration texts and database are in UNICODE format, developers can specify several versions of display for a string.

Creation of multilingual document

Unmanaged Forms

Forms in 1C:Enterprise 8 are used for users to browse and modify data. Forms may belong to some particular configuration objects. For example, catalog and document object may have the following types of forms:

  • List form
  • Choice form – to select an item from the list
  • Group choice form – to select a group only, among other groups.
  • Element form – to view and modify an element's data.
  • Groups form – to view and modify information on a particular group of a catalog.
  • Document form – to view and modify data of individual documents.

 

Configuration object forms (example for a document object)

And with it, there can be common forms, not associated with any particular objects, and used by an entire configuration:

Common forms shown in the configuration tree

An important feature of 1C:Enterprise 8 system is that it can generate default forms. It relieves a developer from the necessity to create all possible forms for every configuration object. It is enough for a developer to create a new object and the system will generate in runtime proper forms to display the object information for users.

Thereby, developers need to create only form whose design would be different from the default one.

There is a form designer for developers to create and modify forms.


Next
Previous
   © 1C LLC

Your proposals on site send to:webmaster@1c.ru