Что делать, если после обновления 1С:Бухгалтерии слетел обмен РИБ?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

Обновление конфигурации «1С:Бухгалтерия предприятия 3.0» — стандартная процедура, которая, однако, может преподнести неприятные сюрпризы администраторам распределенных информационных баз (РИБ). Довольно распространенной является ситуация, когда после успешного наката обновления на главный и подчиненный узлы синхронизация данных внезапно прекращается. При этом система может выдавать неочевидные ошибки в Журнале регистрации, сообщать о неверных номерах сообщений или вовсе переводить узлы обмена в статус «Не настроено».

В этой статье мы подробно разберем, почему ломается обмен РИБ после обновления БП 3.0, проанализируем основные причины этого сбоя и пошагово рассмотрим методы восстановления штатной работы синхронизации.

Причина 1. Автоматическая блокировка обмена (режим «Копия»)

Современные конфигурации 1С, построенные на базе Библиотеки стандартных подсистем (БСП), обладают встроенным механизмом защиты от случайного запуска копий баз. Если после обновления система посчитала, что база была скопирована или перенесена (изменился сетевой путь, имя сервера или строка подключения), она автоматически блокирует все внешние ресурсы.

При этом блокируются регламентные задания, отправка и получение почты, а также транспортные механизмы РИБ. В пользовательском интерфейсе вверху окна может появиться предупреждающая надпись «Копия».

Для того чтобы снять эту блокировку и восстановить обмен, выполним следующие шаги:

  1. Запустим информационную базу под пользователем с правами администратора.
  2. Перейдем в раздел Администрирование, далее выберем пункт Обслуживание.
  3. В открывшемся окне развернем группу Регламентные операции.
  4. Найдем и нажмем кнопку Разблокировать работу с внешними ресурсами (или выберем команду Информационная база перемещена в стартовом диалоговом окне, если оно появляется при запуске).

После этого система снимет защиту, и фоновые процессы обмена снова смогут отправлять и принимать файлы.

Причина 2. Отложенные обработчики обновления БСП

При обновлении конфигурации «1С:Бухгалтерия предприятия» на новые релизы очень часто меняются правила регистрации объектов, структура служебных регистров и метаданные обмена. В этот момент запускаются так называемые отложенные обработчики обновления, которые выполняются в фоновом режиме.

Пока эти обработчики не завершат свою работу на 100%, конфигурация может принудительно блокировать регистрацию изменений и выгрузку данных, чтобы не допустить передачу некорректных структур в подчиненные узлы. Именно поэтому узлы РИБ могут внезапно отобразиться со статусом «Не настроено».

Проанализируем состояние обработчиков обновления по следующему алгоритму:

  1. Перейдем в раздел Администрирование — Обслуживание.
  2. Откроем ссылку Результаты обновления программы.
  3. Внимательно изучим список выполняющихся задач. Если там присутствуют активные фоновые задания по заполнению регистров обмена или идентификаторов объектов, необходимо дождаться их полного завершения. Запускать обмен до окончания этого процесса категорически не рекомендуется.

Причина 3. Сброс настроек транспорта и зависание Мастера настройки

Иногда после обновления конфигурация «забывает» настройки путей обмена (например, сетевые папки, FTP или параметры подключения к облаку), и при попытке зайти в узел обмена открывается интерактивный помощник. Если на третьем шаге этого мастера (где программа предлагает создать начальный образ) просто закрыть окно, настройки транспорта не запишутся, и узел так и останется в статусе «Не настроено».

Чтобы исправить эту ситуацию, выполним правильную настройку:

  1. Зайдем в список узлов синхронизации данных.
  2. Откроем карточку проблемного узла и нажмем кнопку Записать.
  3. В запустившемся мастере настройки заново укажем путь к сетевой папке обмена или параметры FTP.
  4. Пройдем шаги мастера далее. На шаге создания начального образа выберем вариант отмены или пропуска создания образа (так как подчиненная база у нас уже есть и повторно создавать ее не нужно). Настройки при этом успешно сохранятся.

Причина 4. Сбой нумерации сообщений («Номер сообщения неверный»)

Когда обмен прерывается в процессе обновления конфигурации, файлы сообщений могут приходить с некорректными номерами. Каждое сообщение обмена содержит уникальный порядковый номер. Если подчиненный узел ожидает сообщение № 15, а из-за сбоя или повторной отправки ему приходит сообщение № 14 или № 16, система заблокирует чтение данных.

Для устранения этой проблемы нам потребуется вручную выровнять номера принятых и отправленных сообщений в обеих базах (главной и периферийной). Рассмотрим, как это сделать:

  1. Откроем форму Регистрация изменений для обмена данными. Найти ее можно в карточке настройки узла обмена (кнопка с изображением шестеренки или «Параметры обмена») либо через меню Функции для технического специалиста.
  2. Выберем в списке нужный узел обмена.
  3. Нажмем кнопку Настройка номеров сообщений (или иконку редактирования параметров в шапке обработки).
  4. Сопоставим номера: значение поля Номер отправленного сообщения в главной базе должно строго соответствовать значению Номер принятого сообщения в подчиненной базе (и наоборот). При необходимости мы можем временно сбросить оба счетчика в значение 0, чтобы начать нумерацию пакетов заново с «чистого листа».

Альтернативный «жесткий» метод восстановления связи РИБ

Если штатные методы не помогают, структура метаданных обмена повреждена, а файлы обмена упорно отказываются загружаться в подчиненный узел, мы можем прибегнуть к ручному обновлению базы через ее временную «отвязку» от главного узла.

Рассмотрим этот процесс по шагам:

  1. В главном узле выгрузим конфигурацию в файл (меню Конфигурация — Выгрузить конфигурацию в файл..., сохраняем файл с расширением .cf).
  2. В подчиненном узле запустим конфигуратор. Нам нужно временно отключить признак подчинения РИБ. Для этого откроем окно Сервис — Табло и выполним следующую команду: ПланыОбмена.УстановитьГлавныйУзел(Неопределено); После выполнения этой команды база станет автономной.
  3. Теперь загрузим подготовленный ранее файл конфигурации .cf главного узла в подчиненную базу (меню Конфигурация — Загрузить конфигурацию из файла...) и обновим конфигурацию базы данных (клавиша F7).
  4. Запустим подчиненный узел в режиме «1С:Предприятие», чтобы система выполнила все процедуры обновления данных.
  5. Снова откроем Конфигуратор подчиненного узла и в табло вернем признак связи с главным узлом, указав ссылку на узел главного центра:
    
    // Сначала найдем ссылку на нужный узел в плане обмена
    СсылкаНаЦентр = ПланыОбмена.[ИмяВашегоПланаОбмена].НайтиПоКоду("[КодГлавногоУзла]");
    ПланыОбмена.УстановитьГлавныйУзел(СсылкаНаЦентр);
    
  6. После восстановления связи сбросим номера сообщений в 0, как было описано в шаге 4, и запустим стандартный сеанс синхронизации.

Использование этого комплексного подхода гарантированно решает проблемы с упавшим обменом РИБ после обновления конфигурации 1С:Бухгалтерия и позволяет избежать длительного простоя в работе филиалов компании.

← На главную