1c library of standard subsystems. Library of standard subsystems. We discuss the pros and cons of the innovation. Loading data from a file
“1C: Library of Standard Subsystems” (hereinafter referred to as BSP) is intended for developments based on “1C: Enterprise”. The original version of the BSP, created in 2010, was developed to configure 1C solutions itself. Thus, the basis of all standard products produced by 1C is BSP.
The use of BSP made it possible to solve such problems as standardization of application programs and saving time for programmers. Since all the basic functionality is included in the BSP and all that remains is to implement it, there is no need to develop standard functional blocks.
Installation of BSP. Delivery files
BSP is not a solution, it is just a tool for the programmer. It is not on sale, it is received by customers or 1C franchisees by subscription to ITS.
Installing the library
Fig.1
Following the installer, we go through the steps and click “Finish”.
Fig.2
Fig.3
Fig.4
Add a new information base using the “Add” button and select “Create a new information base", and then until you click "Done".
Fig.5
Fig.6
Fig.7
Fig.8
Fig.9
Fig.10
The delivery of the BSP includes a demo base with an installation option and the following files:
- 1Cv8.cf library delivery file not intended for creating information security using a template;
- 1Cv8_international.cf The delivery file for the international version of the library is also not intended for working with templates;
- 1Cv8_demo.dt demo base;
- 1Cv8_demo.cf demobase delivery file.
Fig.11
Fig.12
This example is shown using version 3.0.1.240. The configuration files are located in the \1c\SSL\3_0_1_240\ subdirectory. Please note that this version used with the 1C 8.3 platform no lower than version 8.3.12.1412.
When installing the library, you may encounter “SDBL error. The ConfigVersion table or field is not contained in the FROM clause."
Fig.13
This problem can be solved by uploading and downloading the Dt file (in our case, we downloaded the demo file from the delivery kit).
Fig.14
BSP implementation assistant
Fig.15
Fig.16
First Implementation of BSP.epf – external processing, whose name speaks for itself. With its help, you can select subsystems for implementation, taking into account their relationships, leave settings for comparison (merging), and remove redundant, unused fragments of subsystem code.
A step-by-step assistant is available from the “Developer Tools - First BSP Implementation” section.
Fig.17
Using the assistant, a template for the configuration being created is also created. On the right you can see a description of each selectable subsystem.
Fig.18
Fig.19
Fig.20
We register additional parameters for each subsystem we select.
We transfer the data, according to our settings, to the created, empty configuration. In the “Configurator” mode, we go into it.
Fig.21
For clarity, let’s rename it “My_configuration”.
For the first time in the configurator mode, specify “Configuration-Compare, merge with configuration from file”, specifying the library delivery file in the dialog and confirming the request for support.
Fig.22
To the question “Do you want to perform a full configuration download?” We answer in the negative.
Fig.23
Fig.24
We see a comparison of two configurations - “My_Configuration” and “Standard Subsystem Library”.
Fig.25
In the comparison window, you can load settings from a file previously saved using the assistant via “Actions - Load settings from file”.
Fig.26
In the window that opens, select our file previously saved with the assistant - “Comparison Settings File”.
Fig.27
Please note that the subsystems will be highlighted depending on which ones were identified during setup by the assistant. So, if you select only the basic functionality (Fig. 28), the configuration window will look like this:
Fig.28
Fig.29
Those. we see that not all configuration objects are checked.
Now let’s configure the subordinate subsystems, marking the objects to be transferred, through “Actions - Mark by file subsystems”. We activate “Enable the area of subordinate subsystems”.
Fig.30
Fig.31
By default, all subsystems are implemented, so you need to clear all the checkboxes, leaving only the necessary ones (before implementing the library of standard subsystems into your configuration, you need to study the list of implemented subsystems).
From “Standard subsystems” we select the required ones, regardless of what functionality is needed. Among them are basic functionality, updating database versions, users, contacts.
There are also additional systems that must be transferred to work in the service model, and optional ones that require selective installation. You can determine their relationship using the tables by reading the article on the ITS website.
Fig.32
Having selected the subsystems, click the “Install” button.
You can also select a merging mode for individual elements - “Take from file” or “Merge with the priority of the main configuration” (to do this, right-click on it).
Fig.33
These actions can be applied to all elements by setting them through the menu “Actions - Set mode for all”.
Fig.34
Fig.35
Fig.36
Fig.37
Fig.38
Before updating the configuration, you must set the version number of the configuration being created in its properties, otherwise, when opening the program, an error will appear stating that the configuration version property is not filled in.
Fig.39
Fig.41
Please note that upon completion of the processes, the metadata objects are migrated but not yet configured. Therefore, it is necessary to start setting up BSP objects.
Version 1.0.4.5
Version 1.0.5.21
Final version
- Information N11853 for users and partners 05/14/2010 "About the release final version toolkit "1C: Library of standard subsystems 8.2"
Version 1.0.6.8
Version 1.0.7.5
- Release date 2010.08.05
- release: http://users.v8.1c.ru/SSLTest.aspx
- Documentation: http://its.1c.ru/db/bspdoc#content:23:1
Examples of using
What is this
The Library of Standard Subsystems (BSS) includes a set of universal functional subsystems that can be used in the developed configuration, both together and separately. Using the BSP, you can quickly create new configurations with ready-made basic functionality, as well as include ready-made functional blocks in existing configurations.
All BSP subsystems can be divided into the following categories:
- Subsystems that implement “independent” functionality. They are implemented by simply transferring functionality and do not require significant additional settings.
- Integrated subsystems that implement functionality intended for use in certain consumer configuration objects (“tight” integration). When implementing, it is necessary to determine the composition of consumer configuration objects for which functionality needs to be implemented, and then perform a certain number of additional settings, make changes to the code and forms of the selected objects.
BSP subsystems cover such areas as administration of the information base, administration of system users, maintenance of various regulatory and reference information (address classifier, exchange rates, calendar charts, etc.). BSP provides user and program interfaces for working with tasks and business processes, attached files, contact information, email messages, etc. The full composition of the subsystems of the trial version is given in the documentation.
In addition to subsystems, BSP offers separate methods for developing standard solutions.
The use of BSP when developing applications on the 1C:Enterprise 8.2 platform will reduce the time spent on development, improve the quality of application solutions, and also standardize configurations released on the 1C:Enterprise 8.2 platform. Now, in addition to the platform, 1C offers ready-made basic functionality and technology for the development of application solutions, the use of which will reduce the time for studying and implementing application solutions due to their unification according to the set of standard subsystems used. Trial Features
The current version 1.0.4 has a number of limitations:
- Compatibility of the trial version of the BSP with subsequent versions is not guaranteed.
- Use of this version in commercial projects is not recommended.
- The trial version is intended for use with the 1C:Enterprise 8.2 platform version 8.2.9.260.
Preliminary test releases of configurations are provided to 1C partners and users of the 1C:Enterprise software system for testing, preliminary familiarization with new configuration capabilities, bug fixes, and for testing the operation of new releases on real data.
Using a pre-release to automate real-life enterprise tasks can only be done in individual cases at the discretion of the user, in conjunction with the partner supporting the implementation. Messages about errors identified during testing should be sent to the email address [email protected]. This address only registers errors in preliminary test releases of configurations; consultations are not provided.
When sending an error message, be sure to indicate:
- partner code or user registration number;
- configuration name;
- the full release number in which the error was identified;
- detailed description of the error;
- the order in which the error is reproduced.
- indicate the characteristics of the computer;
- indicate the operating system version;
- transfer application data (infobases and other data that could help reproduce the error).
A separate letter should be sent for each detected error.
Library Composition
The library "1C:Enterprise 8. Library of standard subsystems 8.2" includes a set of universal functional subsystems intended for use in application solutions on the 1C:Enterprise 8.2 platform. The library is not a complete (from a subject point of view) application solution. Library subsystems can be used in a consumer configuration either together or separately.
All library subsystems can be divided into the following categories:
1. Subsystems that implement independent functionality.
2. Integrated subsystems that implement functionality intended for use in certain consumer configuration objects (tight integration).
Subsystems of different categories differ in the complexity of their implementation in the configuration. Subsystems of the first category are implemented by simply transferring functionality; as a rule, they are displayed in the configuration interface and do not require significant additional settings. Such subsystems may contain user interfaces and provide a programming interface that can be used in the consumer configuration. Updating these subsystems when the next version of the library is released often comes down to simply updating the corresponding configuration objects. Examples of subsystems are “Currencies”, “Termination of users”.
When implementing integrated subsystems after transferring the functionality of the subsystem, it is necessary to determine the composition of the consumer configuration objects for which the functionality needs to be implemented. After this, it is necessary to perform a certain number of additional settings, make changes to the code and forms of the selected objects, i.e., perform close integration of the subsystem into consumer configuration objects. Updating such subsystems when the next version of the library is released also comes down to a simple update of the subsystem and, as a rule, does not require repeated changes to consumer configuration objects.
The library contains only standard subsystems, and also offers some methods for developing standard solutions, for example, a method for setting session parameters.
Description key functions subsystems are given in Table 1.
№ | Subsystem | Key Features |
---|---|---|
1. | Standard subsystems |
|
2. | Address classifier |
|
3. | Business processes and tasks |
|
4. | Currencies |
|
5. | Versioning objects |
|
6. | Shutting down users |
|
7. | Prohibition of editing object details |
|
8. | Calendar schedules |
|
Contact Information |
|
|
10. |
Controlling dynamic configuration updates |
|
Log monitoring |
|
|
Setting the order of elements |
|
|
Updating the information security version |
|
|
|
||
Full text search |
|
|
Receiving files from the Internet |
|
|
Users |
|
|
Working with email messages |
|
|
Working with files |
|
|
Scheduled tasks |
|
|
Properties |
|
|
Saving settings |
|
|
Individuals |
|
|
Report functions |
|
Library of standard subsystems (LSL) is a set of subsystems for configurations on the 1C:Enterprise platform that implement basic functionality and individual functional blocks. Let's try to understand in more detail what it is.
Why was BSP created?
The first version of the BSP was released by 1C back in 2010 for the 1C:Enterprise 8.2 platform. 1C suggests using this library (or its individual subsystems) as a basis for creating your own application solutions. Also, all standard products produced by 1C itself are based on BSP.
The use of uniform modules made it possible to achieve greater standardization of application solutions, and this in turn made it possible to reduce the time spent on studying them (by programmers, administrators, and end users).
For programmers developing application solutions from scratch, BSP allowed them to save a lot of time, because There is no need to independently develop the basic functional blocks included in the BSP. The development and testing was carried out by 1C for the programmer. The programmer now only needs to understand the already developed functionality and learn how to implement the BSP.
How is BSP distributed?
BSP is a configuration for the 1C:Enterprise platform. Moreover, the configuration is not an independent application solution, it is just a toolkit for the developer. The entire configuration or part of the subsystems can be used when developing application solutions.
The delivery of the BSP includes a demo base with an example of implementation. This demo database is available for review on the 1C website. You can read how you can access it in the article.
BSP is not for sale. The BSP distribution kit can be obtained free of charge if you have a subscription to information technology support (ITS). To use an application solution developed on the basis of the BSP, a subscription to the ITS is not required. Partners of 1C can also receive BSP for free.
The official documentation on the BSP is located at https://its.1c.ru/db/bspdoc and is available if you have a subscription to the ITS.
BSP composition
The BSP consists of many subsystems, which are divided into:
- independent. To implement it, it is enough to transfer all objects to the target configuration and display the objects in the interface. Examples of such subsystems: “Log Analysis”, “Currencies”, “Completing User Operations”.
- integrable. Designed for tight integration with other configuration objects. To implement such subsystems it is necessary to perform additional settings. Examples of such subsystems: “Object versioning”, “Filling objects”, “Prohibition of editing object details”.
Currently (July 2017), BSP version 2.4.2 is available, which supports the following functionality:
Administration and Maintenance Tools | Log analysis Additional reports and processing Program settings Configuration update Performance Evaluation Finding and removing duplicates Security Profiles Scheduled tasks Information security backup Removing marked objects Managing totals and aggregates |
Administration of users and access rights | Shutting down users Users Access Control |
Integration with other programs and systems | External Components Loading data from a file Integration with 1C-Bukhfon (1C-Connect) Data exchange Sending SMS Receiving files from the Internet Working with email messages Distribution of reports |
Technological mechanisms and software interfaces | Basic functionality Filling Objects Prohibition of editing object details Updating the information security version Plug-in commands Prefixing objects Working in a service model Monitoring Center |
Application subsystems and user workstations | Questionnaire Business processes and tasks Report options Interactions Working with files Current affairs Message templates |
Regulatory reference information and classifiers | Banks Currencies Opening hours Calendar schedules |
Service subsystems | Versioning objects Group modification of objects Dates prohibited from changing User Notes Protection of personal information Startup information Contact Information User Reminders Setting the order of elements Seal Full text search Checking the legality of receiving updates Properties Declension of object representations Reporting structure Electronic signature |
Specific subsystems will be described in more detail in separate articles.
Implementation of BSP
Before implementing a library of standard subsystems into your configuration, you need to determine the list of subsystems to be implemented. In the simplest case, all subsystems are implemented. Regardless of what functionality is needed, there are mandatory subsystems that are always implemented:
- Basic functionality;
- Updating the information security version;
- Users.
The general implementation scheme consists of the following stages:
- Transfer of necessary metadata objects to the target configuration;
- Setting up transferred objects;
- Using BSP objects when developing new functionality.
To assist in the implementation of BSP, the library includes processing First Implementation of BSP.epf . It is located in the configuration template directory. In processing short description of all subsystems and the interdependence of the subsystems on each other is determined.
To check the correctness of the BSP implementation, a report is located in the configuration template directory Checking the implementation of BSP.erf.
How to find out the version of the BSP application solution
There are several ways to find out which version of the BSP is used in a specific application solution:
- Programmatically: call a function StandardSubsystemsServer. Library version() ;
- Interactive: in the “Subsystem Versions” information register, look at the version value for the “StandardSubsystems” subsystem.
There is a configuration that makes the developer’s work easier, saving him from such “trivial” work - this is the “Standard Subsystems Library” (BSS), which includes a set of universal functional subsystems and fragments of the “Administration” section, intended for use in application solutions on the platform "1C:Enterprise". The library is not a complete (from a subject point of view) application solution, but the library subsystems can be used in a consumer configuration, both together and separately. And for this purpose, the BSP includes a special implementation assistant, the use of which helps to significantly save time when developing a new configuration.
The assistant itself is made in the form of a step-by-step wizard, with the help of which the developer specifies the subsystems he needs, and the wizard will create a blank with which you can work in the future. In essence, we receive a template for a future configuration.
Let's launch the BSP(we have edition 2.3, version 2.3.3.63), let's go to the section "Developer Tools" U94; "First implementation of BSP":
Here it will be revealed to us "BSP Implementation Assistant". The assistant itself looks like a step-by-step assistant, where at the first stage we select the subsystems that we will need in the configuration being developed. After this, you need to specify the file (in xml format) in which we will save these settings.
Then we move on to the second stage: we indicate additional parameters for each of the selected subsystems.
After selecting all the parameters, the system will check whether everything was selected correctly and offer different variants error tracking (Subsystem Implementation Table or BSP Implementation Report).
The article briefly describes working with the BSP Implementation Assistant, because this tool is not very popular. More often in practice, developers act according to this scheme: they install the necessary BSP subsystems on an empty configuration (the “BSP Implementation Assistant” can also help here), but usually all subsystems are transferred from the BSP to a new empty configuration.
We have two configurations: the first (main) - with all BSP subsystems, the second (file) - BP.
1. Enable the ability to edit the main configuration.
2. Call up menu Configuration - Compare, merge with configuration from file.
3. Select a file with the extension cf PSU configurations.
4. Answer Yes to the offer of support.
6. Execute Actions - Mark by subsystems.
7. Mark the subsystems that are not in our main configuration - take them from the file, but the subsystems that are not in the configuration from the file must be left in the main configuration (this will be the case by default), then click Install.
8. Mark the properties of the root element for merging: Main roles, Managed application module, Session module, External connection module, Regular application module, Modality usage mode, Synchronous calls to platform extensions and external components mode, Interface compatibility mode, Compatibility mode. Click Run.
9. In the window Setting up support rules - OK.
10. Update database configuration (F7).
And similar service messages:
“... (the object is part of a common attribute of the same name)” or “...: Using defined types in the X.H.H. compatibility mode. (for example, the author) and below is unacceptable" ; “General Picture: The name is not unique!”
12. For an object that is part of the general props of the same name - remove from support, delete the object and links to it. Search for links to objects to be deleted – delete links.
13. Change the compatibility mode above X.H.X.
14. Update database configuration (F7). Next, if you return to step 11, complete steps 12 and 13, then 14.
In principle, that’s all – the “automatic” part of the work is finished. The most “interesting” stage of the work begins: if you already thought that the configuration “took off,” then most likely you are very mistaken.
First, check common modules, whether subsystems are included in the command interface, etc. When everything is “sort of ready”, start debugging.
And so you debug until you are sure there are no errors.
As a rule, configurations in 1C are written for users. All configurations are different, but quite often different configurations use the same objects that differ slightly from each other. It is really difficult to imagine a configuration where such entities as items, counterparties, users, and currency would not appear. And some tasks are typical: the possibility of basic differentiation of rights, working with email, tasks for users, etc. But there is a configuration that makes the programmer’s work easier; it contains and structures the standard tasks that employers set for programmers.
If you have worked with different standard configurations from 1c, you will have noticed that they are basically quite similar, many basic functions are the same for all typical configurations. Also from the BSP you can add to your own configuration such standard directories as organizations, banks, a currency classifier and much more.
We will try to figure out which subsystems are responsible for what and how they are interconnected.
If you decide to use a BSP, this does not mean that you need to use all the subsystems that are included in it. The BSP includes a special implementation assistant, which helps to significantly save time when developing a new configuration. The assistant is designed as a step-by-step wizard, using which the developer specifies the subsystems that he needs, and the wizard will create a blank with which you can work in the future. In essence, we receive a template for a future configuration.
If we run the BSP in mode thin client, then we will see such a window
At the initial stage, we are interested in the “Developer Tools” tab, with which we will launch the “BSP Implementation Assistant”
The skua itself looks like a step-by-step assistant.
At the first stage, we select the subsystems that we will need in the developed configuration.
For example, like this
After this, you need to specify the file in which we will save the settings. XML file format.
Then we move on to the second stage.
At the second stage, specify additional parameters for each of the selected subsystems.
After you have selected all the parameters, the system will check whether everything was selected correctly and offer different options for tracking errors
Or in this form:
In the following articles we will continue to study working with the library of standard subsystems.