the Internet Windows Android

Data warehouse 1C 8.3. Working with configuration storage

Company 1C produces many software products and constantly improves their internal structure. But the number of diverse errors with which you have to face programmers and administrators 1C shows that in this area the work will never stop. Some of these mistakes are insignificant and are rare, but there are "classic" disadvantages familiar to each experienced specialist. The latter is the last error "Invalid Data Storage Format" and it is advisable to be able to solve it.


Data Warehouse Format Error Solutions

To meet this error, it is not necessary to allow serious logical errors in the code or delete the main module. Often, after updating the configuration, opening processing, turning off the electricity or rebooting the computer at the launch of 1C, this unpleasant surprise occurs. If the reboot did not help, do not panic - there is a widespread error simple solutionswhich can help. We will disassemble them according to the degree of complication:


In addition to the start of configuration, the error "Invalid data warehouse format" may be detected when opening external processing. In this case, the most important thing is not to run 1C, since when starting the system lifts temporary files in the TMP directory. It is in it that find our processing - the file named "V8_ *" and the extension of TMP. If there are many such files, then to understand which one is our processing - change the EPF extension and try to open through 1C.

If you have already launched 1C and fastened files, then try to carry out similar actions on another computer where processing started. Or use the recovery utilities remote files On hard disk.

The assignment of the configuration object "Settings Store" is clear from the name - store various user settings. Application area this object Wing - in any, at least some serious configuration requires to store any user settings.

For the convenience of programmers in each configuration, there are several standard settings stores, in addition it is possible to create as many additional settings that you need.

First we will deal with standard settings storage facilities that are present in any configuration 1C starting from version 8.2.

Standard Storage Settings

So, by default, the following storage facilities are in the configuration:

  • Repository studiovative reports - to access the settings of report options.
  • Storabinishing servicesAstrojects - to access custom settings Reports.
  • StorableCextanforms - to access user forms data settings.
  • Reposquate equipment - to access general settings.
  • Repository system equipment - to access system settings.
  • StorageSEWORDS Eastern Eastern Synamists - to access user settings for dynamic lists.

Each of these storage facilities can be referred to as the global context property.

Standard Storage Programmer can use for its needs, keeping various settings In the context of the user, object and configuration itself.

To work with settings storage (both standard and added programmer) are used. the following methods.

Recording and receiving configuration:

Reposter for tractors. Association (namePject, name-intensifying, meaning-mode, descriptions, description, name support); Meaning-intensity \u003d reposterities for tractors. Download (namePject, name-intensification, descriptions, description, name user);

Unnecessary / unnecessary adjustment:

Republicorestasters. Delete (namePject, name-intensified, name user);

Getting a list of settings:

Slipstrokes \u003d republicorestands. Power Supplies (NameBject, Name user);

Parameters "Title", "Name" and "username" must be a string type.

In the database, all settings are stored in a separate table.

Storage settings created by the programmer

Now let's talk about those storage facilities that are created by the programmer. In general, the programmer is no longer limited in his desire to create a new settings store, but usually separate storage facilities are created for the following reasons:

  • it is necessary to move the settings between databases;
  • reference control is required when storing settings;
  • a special structure of 1C settings is required.

The settings repository is added in the appropriate section of the configuration.

Key feature The settings created by the programmer is the need to manually implement the recording methods and receiving values \u200b\u200b(save () and download ()). In these methods, the programmer must describe the saving (in the information registers, files, reference books, etc.) and downloading settings using the built-in language.

Otherwise, the principles of working with the created storage are practically no different from working with standard settings storage.

Access to the created repository can be obtained in this way:

Repository equipment. Nutrition. Looking like ();

In addition, the created storage facilities can be replaced standard in various configuration objects and in the configuration itself.

Controlled forms Have two properties:

  • Automatic data saving - if the "Use" value is selected, the data will be saved automatically into the standard forms data settings storage;
  • Saving data in the settings - if the "Use list" is selected, the "Saving" column will appear in the form of the form details window, with which you can specify which form details must be saved, and the ability to select the settings storage for this data.

That's all, I hope this article helped you.

Nafa. 647 14.01.10 02:27 Now in the subject

The article is useful.
In the work of the storage, there are really a lot of non-obvious things, so my additions:
1. If several programmers work, then as an option,
the working day usually begins with the following:
run your database in the configurator, on the root of the configuration right of the mouse - get from the repository, turn on the checkbox "recursively", click OK. After that, we get everything in the configuration that others have been accumulated from the repository. BD itself do not update !!!
Next, we wish to "compare the configuration with the BD configuration" - and we see a list of all changes made by other programmers of the group for the previous day. If there are questions about Changes, we appeal to who did them.
After all disassembled - we save in the database.
Why not compare with the configuration of the repository - firstly that those objects that work themselves are not shown, and secondly it works faster.
2. In the middle of the day: Urgent changes (for dynamic update) send to the storage immediately. Not urgent - after changing all related objects. (See Explanation below)
3. At the end of the day (and if you need to make a full update of the base - then before him) we rent everything in the repository.
Is not mandatory orderBut very convenient.

4. Why not put it right away:
because the integrity of the changes is controlled by 1C only where there is a link. That is, if for example, you made a certificate "Cars Customers" and added a link to it to the "Consumables", then you can place the "expenditure invoice" in the repository you can only after (or at the same time) with the Customer Cars directory. But if you for example used this reference book in the general module procedure, which is called when conducting a consumable invoice, then this common module in the repository can safely fit without room reference book. If after that another programmer will receive this module from the repository, then in its base, expenditure overheads will be held. (And if you update the main base - then there will be no longer stopped).
And then a good case - as it is just an error. But if you, for example, changed the type of props in the document from the line to the text and in the procedure general module there was a check if requisite \u003d "1" and became if requisites \u003d 1 and the module in the repository was placed and the document is not, then the error will not be (hello to the absence of types of types), and therefore those who such a module will receive documents will be incorrectly carried out, (and Well, if it is not the main base). Therefore, the changes are better to go to the repository by the "full package" (all objects modified on one topic), if you need something for another task - you can immediately capture in a new or simple, placing in the repository, "leave captured".

In this regard, I did not quite understand:

If there are many programmers, the changes of each need to be sent to the storage of the alternate, after unloading from all operations to external files with the configuration of the local database and (if the union is made from different jobs), not forgetting each union to update the local database from the repository before each union latest version, With present there, changes in previously connected comrades ..

Strange, there were no problems when a few people immediately have placed, except that it slowed down a little. To the capture of objects and is provided for 2 people at once, the same thing is not corrected. And it was noted that: if the developer changed the document, say the "advance report", and then the second "receipt" did not do, and immediately captures it (for example, the object is just placed in the repository), then 1C is traced and he will give it Already new - a modified version. (So \u200b\u200bcool happens - you look at the document - 5 details, exciting - already 15).

And why do not understand the work in external files, I also do not understand.

4. Creating copies of a programmer for programmers is easier to do not by 1 Soviet loading-unloading (because it requires monopoly mode And not chib to numb), but the restoration of the sculpture backup or simply copying the base on the cheekbone.

5. If you need to add a new object (document, reference book, etc.), capture the root of the configuration, add it, add a minimum of details (all "empty" objects are not always saved), pass the root to the storage (this object also surrenders) and Take the object again. (In order not to keep the root for a long captured - he is needed to others).

6. If you want to correct the rights of access to the object, captured it - and the access rights are still inaccessible - capture the appropriate role.

7. Since debugging is best to lead on the most recent data, the working databases need to be updated. To do this: place all changes to the repository, disconnect the database from the repository, rewrite into it on the cheekbone, the main base (from the backup or simply copy), plug down in a new one.

8. When we do "get all of the repository" (paragraph 1), it happens that 1C gives a bunch of messages and then writes that "failed" (the list of objects changes). So it has not received changes for a long time. Nothing terrible, clamp ok according to the new and so until it works, as it should.

9. Sometimes 1C refuses to save the changes received from the repository, and the message issues absolutely vague. The culprits are usually "information registers". I find out how the register of information changed the structure, delete all the records from it in its database, after that everything will be updated as it should.

10. Since the working bases are made from the main, the names of the configurations match and easily confuse them and then misunderstood begin when the user says that he has 100 rubles in the report, and you have 100,000 rubles. Alternatively, add a line to the application module, checking when starting the program, what kind of base is and if not the main - displaying it in the 1C program header (for example, the Ivanov's work base)

11. When the base is connected to the repository, but at startup it was not possible to connect to it for any reasons, then the message could be displayed. "Failed to connect, perform a shutdown from the repository" (and you have captured objects) - here there is no "no". But if you accidentally answer "yes" then - do not attempt to connect on a new !!! First save the configuration to the file !!! Since when you connect to the repository, the entire base configuration is replaced by the storage configuration. After that, download changes from the saved file and work on.

Create storage
Select in the "Configuration" menu -\u003e "Configuration Storage" -\u003e "Create a Storage ..."

Indicate the path to the repository directory. (The directory must be available for all developers!)

After the storage is created, go to the menu item "Configuration" -\u003e "Configuration Storage" -\u003e "Administration" to create users for developers


In the window that opens, create users.

Connect the configurations of developers to the configuration storage
Select the menu item "Configuration" -\u003e "Configuration Storage" -\u003e "Connect to the repository ..."

Next, the configurator will ask us:
"When connecting to the configuration storage, this configuration will be replaced by the configuration from the storage. Continue connection? "
Press the "Yes" button and specify:
- Path to the repository
- Username
- Password

We are waiting for a comparison of the configuration with the storage.
If everything has passed successfully, the castle icon should appear on the right of the configuration objects in the object tree objects.

Working with configuration storage
By default, all configuration objects have a "lock" icon. In order to change the configuration object, you need to capture it, that is, choose in context menu Object item "Capture in Storage"


Specify capture settings

Perform recursively - Indicates that in addition to the objects listed in the list, you should also capture all their subordinate objects that can be downloaded independently (slave objects that cannot be downloaded independently of the parent object will always be obtained with the parent object).
For example, if you cannot download recursively when capturing the reference book, only details and table parts of the reference will be captured from the subordinate objects.
If you perform capture recursively, they will also be captured and those objects subordinate to the directories that can be captured separately from it are captured: forms and layouts.

Flag Allow receiving captured Allows you to get those objects that are captured by this user. Such an opportunity may be required, for example, when you need to return to the state of the repository, without canceling the capture of the object, and continuing it to edit it.

After the necessary changes are made, the object should be placed again in the repository with the changes made. Select in the context menu of the configuration object item "Place in the repository ..."

If you want to cancel the changes made and release the object from the capture, then select the item in the context menu "Cancel Capture"

If you want to restore the object from the storage, I choose the object "Get from the repository ..." in the context menu. At the same time, the changes made at the time as the object was captured, lost.

You can also view the version history and compare the captured and modified object with the object in the storage.

After working in copies is completed (or completed some intermediate stage), you can update the main database configuration To do this, select the item in the "Configuration" menu -\u003e "Configuration Storage" -\u003e "Update the configuration from the repository" or "configuration "-\u003e" Configuration Storage "-\u003e" Compare / combine the configuration with the storage ".

In the second case, a more "soft" configuration update will occur, that is, you can see a report on the differences in the objects of the original configuration and storage.

When collective development requires control over the history of the development, tracking objects that are currently being finalized.

For this purpose, the configuration store is intended.

  • if in the configuration of more than one developer
  • several databases, but the solution is unified and they are required to synchronize
  • just need to keep the history of the development of even one programmer

So you need to deploy the configuration storage.

Fast passage

How it is done in stages:

  1. Go to "" and create a repository
  2. Specify its location (folder on which there are rights to write)
  3. Set the administrator name and his password
  4. Next, the configuration will connect to the created repository
  5. Next step: adding users to repository - each development base is tied to separate user. These users are not connected with users information base. Go to "Store Administration"
  6. Adjust and set a password:
  7. Install its rights, enough rights to "capture the repository"
  8. Create new base From the copy (or use already existing), the changes must be saved, since when the configuration is first connected, the configuration is synchronized with the storage data
  9. Specify the data of the previously created user.
  10. That's all: the connection to the storages has been successfully completed

Work with storage

Each time the configuration starts, the configuration is required:

  • connect to the store By specifying a password, or to register it in the 1C "ConfigurationRepository" launch options (User: "ConfigurationRepositoryn", Storage: "ConfigurationRepository")
  • either refuse to connect, but not to untie the repository - in this case you can edit only the previously "captured" objects, the rest only on Promrom

To start working with the object, it is required to "capture" the object - to establish monopolous access to its development. Prior to that, all objects are only available for reading (like "delivery" before removing support).

It can be done two ways:


After completing you two main options:

  • cancel capture, with your object will be restored by their repository (either editors have been canceled)
  • place a modified object

In another database, the developer according to your signal can update the configuration from the repository:


These are basic teams to work with the repository.

Features of work

Selection of captured objects


In general, the storage is very stable:

  • problems arose with network storage: flew the data field in details, most likely the loss of data during the room).
  • The configuration repository is damaged. This error occurs once a year - just created anew (make additional copies of this folder).

For reserve copy Enough to customize saving

1CV8DDB.1CD and a fully DATA folder located in the same folder as the 1CV8DDB.1CD file

If the HTTP server does not respond or resets the connection, then an error "non-classified error of working with configuration storage" may occur:

When "Error network access To the server, "try restarting the repository service and execute the" Configuration Storage / Close Storage / Open Storage "command.

If such an error occurs at full room, try to place object objects - sometimes the server response timauts are triggered.

The convenience of re-connected has decreased.

When restoring the database from the copy, you are saved to the repository connection settings, but the cast may not be correct, it is necessary to reconnect again to the repository.

Previously, settings: the address of the repository and the user persisted, it remained only to make a password - it was much faster.

Subjectively and the initial synchronization process has become longer - I do not remember the long-hanging state "Build a snapshot of the configuration version"

At 8.3. The compatibility mode appears on the Other tab in the repository administration: this can include a new storage format.

Storage features

"Storage" to 8.3.3 is the usual file base, in the form of 1CV8DDB.1CD file, which additionally stores capture information.

Internal tables cannot be more than 4 GB otherwise it may be an error: "Error operation with a configuration storage. Due to: The maximum allowable size of the internal file is exceeded, but this occurs only with very intensive work with the repository (many versions of layouts and other capacious objects).

From version 8.3.3, the Data folder appeared:
Most likely for more universal work with versioning systems.

In case of problems with a distance, you can clean the Cache directory in the repository folder.

Optimization mechanism

Is on the Other tab

Packaging Metadata Files in Pack folder

  • The number of unpacked files is greater than 5000.
  • The number of archives is more than 50.