При работе с распределенными информационными базами (РИБ) периодически возникает ситуация, когда номера отправленных и принятых сообщений между центральной и подчинённой базами рассинхронизируются. К примеру, подчинённая база пыталась выгрузить пакет с номером 20, в то время как главная база уже ожидает пакет с номером 700. В результате обмен останавливается, и система выдает ошибку о несоответствии номеров сообщений.
Рассмотрим причины возникновения этой проблемы и разберем проверенные способы ручной корректировки номеров сообщений обмена в платформах «1С:Предприятие».
Перед корректировкой важно четко понимать правило, по которому платформа определяет корректность входящего пакета:
Номер отправленного должно быть равно Номер принятого в базе-приемнике + 1.Номер принятого устанавливается равным значению Номер отправленного в базе-источнике.Если эти значения разрываются (например, из-за восстановления подчинённой базы из старого резервного копирования или сетевого сбоя), требуется вручную выровнять номера.
В типовых конфигурациях (таких как «1С:Розница», «1С:Управление торговлей» и др.) номера сообщений можно отредактировать непосредственно в пользовательском режиме. Разберем по шагам, где находятся нужные элементы:
Проанализируем работу со стандартными инструментами Библиотеки Стандартных Подсистем (БСП) и сервиса ИТС. Для корректировки номеров прекрасно подходит внешняя или встроенная обработка регистраций изменений:
Если доступ к интерфейсному редактированию ограничен или требуется быстро скорректировать реквизиты узла в конфигураторе или внешнем файле обработок, воспользуемся программным кодом. Посмотрим на пример:
УзелОбъект = СсылкаНаУзел.ПолучитьОбъект();
УзелОбъект.НомерОтправленного = НужныйНомерОтправленного;
УзелОбъект.НомерПринятого = НужныйНомерПринятого;
УзелОбъект.Записать();
В данном коде переменная СсылкаНаУзел содержит ссылку на конкретный элемент Плана Обмена, а свойствам НомерОтправленного и НомерПринятого присваиваются необходимые числовые значения.
Выясним, как изменить номера через универсальную обработку администрирования:
Номер отправленного сообщения и Номер принятого сообщения на актуальные и выполним запись.При ручном редактировании номеров сообщений необходимо соблюдать меры предосторожности:
Номер отправленного, платформа посчитает, что все предыдущие файлы обмена были успешно доставлены. Данные из пропущенных пакетов не попадут в базу-приемник автоматически.