The configuration does not match the expected one. You can enable the execution of routine tasks for client-server databases

First, a list of abbreviations used:

  • RIB - distributed information base
  • CB - central base, root node of RIB
  • UB - remote base, database of a remote RIB node

From my own experience, I can say that I have encountered two reasons for the error:

  • While receiving the message file, the database “fell” in the management system, and therefore, apparently, there was a desynchronization between the conf. Central Bank and UB;
  • under MSSQL, the client downloaded a copy of the working database and did not turn off the reg. auto-exchange tasks, as a result, some messages to remote nodes were generated from the working database, and some from a copy, which led to desynchronization of configurations

There is also an opinion that this error is caused by the use of a dynamic database update mechanism. There are doubts here, because on the one hand, dynamic updating never affects the database structure, but RIB mechanisms after all, they work specifically with the database structure, and not with its applied part, nevertheless, the RIB uses a generation mechanism digital signature version of the configuration (in the future I will call it a hash for short), and when the application part changes, the hash naturally must be recalculated. I will neither deny this nor affirm it, because... If I encountered this situation, I did not find any clear evidence of it.

To correct it, I use 2 methods, depending on the situation.

FIRST TECHNIQUE

The first (most common) is repeatedly mentioned both in the partner conference and on other Internet resources related to 1C. It is used in most cases when, despite the message about discrepancies in configurations, a manual comparison shows that they are identical.

Sequence of actions:

  1. unload the cf file from the central bank;
  2. we unlink the UB from the RIB (the Set MainNode method, ready-made processing can be found in the appendix or in other publications);
  3. replacing conf. UB to the cf file uploaded in the first step, for this we use the “Load configuration from file” menu (and not comparison-merge!!!);
  4. Let's restore the RIB sign for the UX.

In most cases, these actions are more than enough to restore the exchange, but not always...

SECOND METHOD

It is used if the first method did not work, and it is not possible to unload the node again.

Background: the client was setting up a cascade RIB and an error occurred in the first level of the cascade (the second level worked flawlessly all this time). The configuration was developed jointly with the client’s IT service, and since the error occurred, the configuration of the central bank has changed several times. The option of rolling back changes was not considered even in principle, because the loss of some data and the shutdown of several departments was completely unacceptable. The first option for correcting the error did not produce any tangible results. Therefore, we had to look for other solutions.

The idea came to try to replace the hashes of configuration files directly in the XML exchange files. The description of the structure of the exchange file from the book "Professional development in the 1C:Enterprise 8 system" gave a weak idea of ​​​​the formation of digital signatures of configurations and changes in them, but determined the direction of the search: the values ​​of Digest1 and Digest2. I figured out everything else purely empirically (that is, by trial and error), but it was possible to establish a pattern.

The test experiments were successful. At the work bases, everything also went well.

So, the sequence of actions:

  1. perform steps 1 - 4 of the first method;
  2. We unload the exchange file from the UB, but do not load it into the Central Bank;
  3. We unload the exchange file from the Central Bank, but do not load it into the UB;
  4. in the exchange file from the Central Bank, we replace the block containing information about configuration changes and hashes (Digest1 and Digest2) with a block of hashes from the UB file (see example below)
  5. We upload the file from the 4th point to the UB;
  6. Be sure to overwrite the exchange file from UB (2nd point)! this file should not be downloaded when exchanging into the Central Bank!
  7. To check, we make several consecutive exchanges.

If data compression is used during the exchange, then we either disable compression, or first unpack the file, change it, then pack it back and send it.

Exchange file block from the Central Bank


106.0
...here are blocks describing configuration changes...
1cf680807e97a5dc0d1ed7f901b07392
038211651cf680807e97a5dc0d1ed7f9

needs to be replaced with a block of the exchange file from UB (note that Digest1 for a file from UB is always equal to “00000000000000000000000000000000”!!!)


106.0
00000000000000000000000000000000
11651cf680807e97a5dc0d1ed7f901b0

The listed actions must be performed with extreme caution; an incorrect sequence can result in complete inoperability of the RIB. Therefore, before these actions, create backup copies NECESSARILY!

First, here is a list of abbreviations I use:

  • RIB - distributed information base
  • CB - central base, root node of RIB
  • UB - remote base, database of a remote RIB node

From my own experience, I can say that I have encountered two reasons for the error:

  1. While receiving the message file, the database “fell” in the management system, and therefore, apparently, there was a desynchronization between the conf. Central Bank and UB;
  2. under MSSQL, the client downloaded a copy of the working database and did not turn off the reg. auto-exchange tasks, as a result, some messages to remote nodes were generated from the working database, and some from a copy, which led to desynchronization of configurations

There is also an opinion that this error is caused by the use of a dynamic database update mechanism. There are doubts here, because on the one hand, dynamic updating never affects the database structure, and the RIB mechanisms still work with the database structure, and not with its applied part; nevertheless, the RIB uses a mechanism for generating a digital signature of the configuration version (in in the future I will call it a hash for short), and when the application part changes, the hash naturally must be recalculated. I will neither deny this nor affirm it, because... If I encountered this situation, I did not find any clear evidence of it.

To correct it, I use 2 methods, depending on the situation.

FIRST TECHNIQUE

The first (most common) is repeatedly mentioned both in the partner conference and on other Internet resources related to 1C. It is used in most cases when, despite the message about discrepancies in configurations, a manual comparison shows that they are identical.

Sequence of actions:

  1. unload the cf file from the central bank;
  2. we unlink the UB from the RIB (the Set MainNode method, ready-made processing can be found in the appendix or in other publications);
  3. replacing conf. UB to the cf file uploaded in the first step, for this we use the “Load configuration from file” menu (and not comparison-merge!!!);
  4. Let's restore the RIB sign for the UX.

In most cases, these actions are more than enough to restore the exchange, but not always...

SECOND METHOD

It is used if the first method did not work, and it is not possible to unload the node again.

Background: the client was setting up a cascade RIB and an error occurred in the first level of the cascade (the second level worked flawlessly all this time). The configuration was developed jointly with the client’s IT service, and since the error occurred, the configuration of the central bank has changed several times. The option of rolling back changes was not considered even in principle, because the loss of some data and the shutdown of several departments was completely unacceptable. The first option for correcting the error did not produce any tangible results. Therefore, we had to look for other solutions.

The idea came to try to replace the hashes of configuration files directly in the XML exchange files. The description of the structure of the exchange file from the book "Professional development in the 1C:Enterprise 8 system" gave a weak idea of ​​​​the formation of digital signatures of configurations and changes in them, but determined the direction of the search: the values ​​of Digest1 and Digest2. I figured out everything else purely empirically (that is, by trial and error), but it was possible to establish a pattern.

The test experiments were successful. At the work bases, everything also went well.

So, the sequence of actions:

  1. perform steps 1 - 4 of the first method;
  2. We unload the exchange file from the UB, but do not load it into the Central Bank;
  3. We unload the exchange file from the Central Bank, but do not load it into the UB;
  4. in the exchange file from the Central Bank, we replace the block containing information about configuration changes and hashes (Digest1 and Digest2) with a block of hashes from the UB file (see example below)
  5. We upload the file from the 4th point to the UB;
  6. Be sure to overwrite the exchange file from UB (2nd point)! this file should not be downloaded when exchanging into the Central Bank!
  7. To check, we make several consecutive exchanges.

If data compression is used during the exchange, then we either disable compression, or first unpack the file, change it, then pack it back and send it.

Exchange file block from the Central Bank


106.0
...here are blocks describing configuration changes...
1cf680807e97a5dc0d1ed7f901b07392
038211651cf680807e97a5dc0d1ed7f9

needs to be replaced with a block of the exchange file from UB (note that Digest1 for a file from UB is always equal to “00000000000000000000000000000000”!!!)


106.0
00000000000000000000000000000000
11651cf680807e97a5dc0d1ed7f901b0

The listed actions must be performed with extreme caution; an incorrect sequence can result in complete inoperability of the RIB. Therefore, before these actions, creating backup copies is MANDATORY!

For the rest I can only wish you good luck!

First, here is a list of abbreviations I use:

  • RIB - distributed information base
  • CB - central base, root node of RIB
  • UB - remote base, database of a remote RIB node

From my own experience, I can say that I have encountered two reasons for the error:

  1. While receiving the message file, the database “fell” in the management system, and therefore, apparently, there was a desynchronization between the conf. Central Bank and UB;
  2. under MSSQL, the client downloaded a copy of the working database and did not turn off the reg. auto-exchange tasks, as a result, some messages to remote nodes were generated from the working database, and some from a copy, which led to desynchronization of configurations

There is also an opinion that this error is caused by the use of a dynamic database update mechanism. There are doubts here, because on the one hand, dynamic updating never affects the database structure, and the RIB mechanisms still work with the database structure, and not with its applied part; nevertheless, the RIB uses a mechanism for generating a digital signature of the configuration version (in in the future I will call it a hash for short), and when the application part changes, the hash naturally must be recalculated. I will neither deny this nor affirm it, because... If I encountered this situation, I did not find any clear evidence of it.

To correct it, I use 2 methods, depending on the situation.

FIRST TECHNIQUE

The first (most common) is repeatedly mentioned both in the partner conference and on other Internet resources related to 1C. It is used in most cases when, despite the message about discrepancies in configurations, a manual comparison shows that they are identical.

Sequence of actions:

  1. unload the cf file from the central bank;
  2. we unlink the UB from the RIB (the Set MainNode method, ready-made processing can be found in the appendix or in other publications);
  3. replacing conf. UB to the cf file uploaded in the first step, for this we use the “Load configuration from file” menu (and not comparison-merge!!!);
  4. Let's restore the RIB sign for the UX.

In most cases, these actions are more than enough to restore the exchange, but not always...

SECOND METHOD

It is used if the first method did not work, and it is not possible to unload the node again.

Background: the client was setting up a cascade RIB and an error occurred in the first level of the cascade (the second level worked flawlessly all this time). The configuration was developed jointly with the client’s IT service, and since the error occurred, the configuration of the central bank has changed several times. The option of rolling back changes was not considered even in principle, because the loss of some data and the shutdown of several departments was completely unacceptable. The first option for correcting the error did not produce any tangible results. Therefore, we had to look for other solutions.

The idea came to try to replace the hashes of configuration files directly in the XML exchange files. The description of the structure of the exchange file from the book "Professional development in the 1C:Enterprise 8 system" gave a weak idea of ​​​​the formation of digital signatures of configurations and changes in them, but determined the direction of the search: the values ​​of Digest1 and Digest2. I figured out everything else purely empirically (that is, by trial and error), but it was possible to establish a pattern.

The test experiments were successful. At the work bases, everything also went well.

So, the sequence of actions:

  1. perform steps 1 - 4 of the first method;
  2. We unload the exchange file from the UB, but do not load it into the Central Bank;
  3. We unload the exchange file from the Central Bank, but do not load it into the UB;
  4. in the exchange file from the Central Bank, we replace the block containing information about configuration changes and hashes (Digest1 and Digest2) with a block of hashes from the UB file (see example below)
  5. We upload the file from the 4th point to the UB;
  6. Be sure to overwrite the exchange file from UB (2nd point)! this file should not be downloaded when exchanging into the Central Bank!
  7. To check, we make several consecutive exchanges.

If data compression is used during the exchange, then we either disable compression, or first unpack the file, change it, then pack it back and send it.

Exchange file block from the Central Bank

106.0...here are blocks describing configuration changes... 1cf680807e97a5dc0d1ed7f901b07392 038211651cf680807e97a5dc0d1ed7f9

needs to be replaced with a block of the exchange file from UB (note that Digest1 for a file from UB is always equal to "000000000000000000000000000000000"!!!)

106.0 00000000000000000000000000000000 11651cf680807e97a5dc0d1ed7f901b0

The listed actions must be performed with extreme caution; an incorrect sequence can result in complete inoperability of the RIB. Therefore, before these actions, creating backup copies is MANDATORY!

For the rest I can only wish you good luck!



Dynamic update errors (or other platform glitches) can be the cause of distributed infobase exchange errors:

  • "Data is received from the node for which configuration changes have been registered"

  • "The configuration of the distributed information security node does not correspond to the expected"

How to restore the exchange?

But let’s start not with restoration, but with the opportunity to carry outexchange “manually”, which is important during the day, because, as always, everything should work “yesterday” :) This can be done with the help of wonderful treatments that I did not remembernude where I downloaded it (authors, please respond - I’ll leave links to your resource, and if necessary, I’ll delete it from mine). Processing makes it possible to download only registered data changes in the database (according to the specified exchange plan for a specific node!) in XML without downloading configuration changes and, if the configuration objects have not changed much, then there is a very high chance of loading this data. These can be downloaded from the link at the end of the article.

As for recovery. There are simpler methods that do not include all the items in the list below, but they do not always help, as was the case in one of my cases. Therefore, I present the method that helped me; it bypasses possible problems in a more comprehensive way. Next step by step.

It is advisable to take these steps when there are no working users in the database. If this is not possible, then you will have to “finish” the method for yourself, and therefore you must first understand its logic.

1. Make backups everywhere.

2. For client-servers: disable the databases through “server administration” and immediately connect them with blocking of scheduled tasks (this will reset the server cache). After this, do not forget to transfer the registration log to the new directory.

3. On all computers used for recovery, delete the database in the list of 1C starter databases and create a new one (the user cache will be cleared)

4. In the configurator (in the central database), add a new constant and save the conf changes.

5. Clear all exchange directories.

6. Make unloads to all branches (only unloads for now).

7. Try to download (only download) the received data to all branches. It is natural to accept the conf changes.

If everything is good everywhere, we move on; if everything is bad, we think that unloading .cf from the central database and LOADING it to the branch (not comparing-merging) might help. In the slave node, you should unlink the database from the RIB (processing will help with this - download from the link below). There is an article on this topic on infostart.ru.

8. We cancel the registration of changes for branches in the Central Bank (after all, we have already received all the changes everywhere). It is important to do at this stage so that the accumulated changes from different branches get to other branches. (download processing for unbinding-binding from the link below).

9. We load into the Central Bank and if all is well, then we load and unload with each branch several times to consolidate the result.

10. That's it.

You can enable the execution of routine tasks for client-server databases.

To prevent problems that cause this error, it is recommended not to do dynamic updates (at least several times in a row - until changes are uploaded to branches), and it is also advisable to check the box “upload data only upon successful upload” in the exchange settings.

For 1C 8.x platforms, when the error “The configuration of the distributed information security node does not correspond to the expected” occurs

Methodology for solving the problem

List of abbreviations I use:
RIB - distributed information base
CB - central base, root node of the RIB
UB - remote base, database of a remote node of the RIB

From my own experience, I can say that I have encountered two reasons for the error:
While receiving the message file, the database “fell” in the management system, and therefore, apparently, there was a desynchronization between the conf. Central Bank and UB;
under MSSQL, the client downloaded a copy of the working database and did not turn off the reg. auto-exchange tasks, as a result, some messages to remote nodes were generated from the working database, and some from a copy, which led to desynchronization of configurations
There is also an opinion that this error is caused by the use of a dynamic database update mechanism. There are doubts here, because on the one hand, dynamic updating never affects the database structure, and the RIB mechanisms still work with the database structure, and not with its applied part; nevertheless, the RIB uses a mechanism for generating a digital signature of the configuration version (in in the future I will call it a hash for short), and when the application part changes, the hash naturally must be recalculated. I will neither deny this nor affirm it, because... If I encountered this situation, I did not find any clear evidence of it.

To correct it, I use 2 methods, depending on the situation.

FIRST TECHNIQUE

The first (most common) is repeatedly mentioned both in the partner conference and on other Internet resources related to 1C. It is used in most cases when, despite the message about discrepancies in configurations, a manual comparison shows that they are identical.

Sequence of actions:

1. download the cf file from the central bank;
2. unlink the UB from the RIB (Set MainNode method, ready-made processing can be found in the appendix or in other publications);
3. replace the conf. UB to the cf file uploaded in the first step, for this we use the “Load configuration from file” menu (and not comparison-merge!!!);
4. restore the RIB attribute for the UX.
In most cases, these actions are more than enough to restore the exchange, but not always...

SECOND METHOD

It is used if the first method did not work, and it is not possible to unload the node again.

So, the sequence of actions:

1. perform steps 1 - 4 of the first method;
2. unload the exchange file from the UB, but do not load it into the Central Bank;
3. unload the exchange file from the Central Bank, but do not load it into the MB;
4. in the exchange file from the Central Bank, we replace the block containing information about configuration changes and hashes (Digest1 and Digest2) with a block of hashes from the UB file (see example below)
5. We upload the file from the 4th point to the UB;
Be sure to overwrite the exchange file from UB (2nd point)! this file should not be downloaded when exchanging with the Central Bank!
To check, we make several consecutive exchanges.

If data compression is used during the exchange, then we either disable compression, or first unpack the file, change it, then pack it back and send it.
Exchange file block from the Central Bank

106.0...here are blocks describing configuration changes... 1cf680807e97a5dc0d1ed7f901b07392 038211651cf680807e97a5dc0d1ed7f9

needs to be replaced with a block of the exchange file from UB (note that Digest1 for a file from UB is always equal to “000000000000000000000000000000000”!!!)

106.0 00000000000000000000000000000000 11651cf680807e97a5dc0d1ed7f901b0

The listed actions must be performed with extreme caution; an incorrect sequence can result in complete inoperability of the RIB. Therefore, before these actions, creating backup copies is MANDATORY!

Share