К статье
Практический материал

Администрирование · 11 мин

Как обновить периферийную базу 1С

Как обновить периферийную базу 1С в РИБ: подготовка, выгрузка конфигурации из центрального узла, загрузка в периферийный узел, проверка обмена и типичные ошибки.

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

Ошибка в этой цепочке приводит к характерным проблемам: периферийная база отказывается принимать обмен с сообщением о несоответствии конфигураций, пользователи не могут запустить программу, а обмен между узлами останавливается до завершения обновления. Ниже разобран полный порядок действий — от подготовки до проверки результата, с вариантами для разных способов обмена.

Как устроено обновление в РИБ и почему нельзя обновить базу напрямую

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

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

Подготовка перед обновлением

Главное правило подготовки — сначала довести обмен до чистого состояния. Перед началом обновления выполните полный цикл обмена со всеми периферийными узлами: выгрузите данные из центральной базы, загрузите их на периферийных узлах, получите и загрузите ответные сообщения. Это гарантирует, что никакие данные не «зависнут» в пути и не будут потеряны при обновлении.

Сделайте резервные копии всех баз, участвующих в обновлении: центральной и каждой периферийной. Для файловых баз достаточно скопировать каталог базы или файл 1Cv8.1CD при остановленной работе пользователей, для клиент-серверных — выполнить выгрузку в dt или штатное резервное копирование СУБД. Без копии откат при ошибке в середине процедуры будет крайне затруднён.

Проверьте, что версия платформы на периферийных узлах не ниже той, что требуется обновлённой конфигурации. Если обновление конфигурации требует новой версии технологической платформы, сначала обновите платформу на всех узлах, и только затем начинайте обновление конфигурации в центральной базе.

Обновление центральной базы

Центральный узел обновляется как обычная база. Завершите работу пользователей, откройте конфигуратор центральной базы и выполните обновление: через «Конфигурация → Поддержка → Обновить конфигурацию» из файла поставщика или через «Сравнить, объединить с конфигурацией из файла», если обновление поставляется в виде cf-файла. Для типовых конфигураций удобнее обновление через интернет-поддержку в режиме предприятия.

После обновления конфигурации базы данных запустите центральную базу в режиме предприятия под пользователем с полными правами. Сработают обработчики обновления: перенос данных, заполнение новых реквизитов, пересчёт итогов. Дождитесь полного завершения — прерывание на этом этапе оставляет базу в недообновлённом состоянии.

Проверьте версию конфигурации: откройте сведения о программе и убедитесь, что номер версии соответствует установленному релизу. Только после этого переходите к передаче обновления в периферийные узлы.

Передача обновления в периферийный узел

Способ передачи зависит от того, как у вас организован обмен: через каталог, FTP, электронную почту или напрямую через подключение. Логика одинаковая: из центральной базы выполняется выгрузка сообщения обмена, файл доставляется на периферийный узел, там выполняется загрузка.

Обмен через файл (каталог, FTP, почта)

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

Обмен через прямое подключение

Если узлы связаны напрямую (через COM, веб-сервисы или корпоративную сеть), достаточно запустить синхронизацию на периферийной стороне — она сама получит сообщение из центрального узла. В типовых конфигурациях это делается через «Синхронизация данных → Выполнить обмен данными».

Порядок действий
  1. 1
    Выполните полный обмен со всеми узлами и сделайте резервные копии всех баз
  2. 2
    При необходимости обновите платформу на всех узлах до требуемой версии
  3. 3
    Обновите конфигурацию центральной базы и запустите её в режиме предприятия до конца обработчиков обновления
  4. 4
    Выгрузите сообщение обмена из центральной базы для периферийного узла
  5. 5
    Доставьте файл сообщения на периферийный узел и выполните загрузку данных
  6. 6
    Дождитесь обновления конфигурации периферийной базы и запустите её в режиме предприятия
  7. 7
    Выполните обратный обмен и проверьте версии конфигураций на обоих узлах

Загрузка обновления на периферийной базе

На периферийном узле откройте механизм обмена и выполните загрузку полученного сообщения. Программа обнаружит, что в сообщении содержится новая конфигурация, и предложит обновить конфигурацию базы данных. Согласитесь и дождитесь завершения: при этом база будет недоступна для пользователей, поэтому обновление лучше проводить в нерабочее время.

После применения изменений конфигурации запустите периферийную базу в режиме предприятия. Как и в центральном узле, отработают обработчики обновления данных. На больших базах это может занять заметное время — не прерывайте сеанс и не выключайте компьютер до завершения.

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

Проверка результата и возобновление обмена

После обновления сверьте версии конфигураций на центральном и периферийном узлах — они должны совпадать. Затем выполните контрольный цикл обмена в обе стороны: выгрузка из центра, загрузка на периферии, выгрузка с периферии, загрузка в центре. Оба направления должны завершиться без ошибок.

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

Контрольные точки

Как проверить результат

Версия конфигурации на обоих узлах
Норма

Номера версий совпадают

Тревожный признак

Версии различаются — узел не дообновлён

Загрузка сообщения обмена
Норма

Сообщение принято без ошибок

Тревожный признак

Ошибка о несоответствии конфигураций

Тестовый документ после обмена
Норма

Документ появился на другом узле

Тревожный признак

Документ не переносится, в журнале ошибки регистрации

Запуск базы пользователями
Норма

База открывается штатно

Тревожный признак

Требуется обновление или монопольный доступ

Типичные ошибки и как их избежать

Самая частая ошибка — попытка обновить периферийную базу напрямую через конфигуратор. Ещё одна распространённая ситуация: администратор обновил центр, выгрузил сообщение, но на периферии стоит старая платформа, и загрузка падает. Реже встречается обрыв обновления на периферийном узле из-за нехватки места на диске или разрыва соединения при загрузке большого файла сообщения.

Типичные ошибки
01
Обновление периферийной базы через «Загрузить конфигурацию из файла» — приводит к ошибке и риску снятия узла с РИБ
02
Обновление центра без предварительного полного обмена — данные, не ушедшие из периферии, могут потеряться при пересоздании узла
03
Старая платформа на периферийном узле — сообщение с новой конфигурацией не загружается
04
Прерывание обработчиков обновления в режиме предприятия — база остаётся в недообновлённом состоянии
05
Отсутствие резервной копии периферийной базы — при сбое узел приходится создавать заново

Если что-то пошло не так и периферийный узел окончательно рассинхронизировался, крайняя мера — создание нового образа периферийной базы из центрального узла. При этом все данные, которые не были выгружены из старой периферийной базы в центр, будут потеряны, поэтому перед пересозданием обязательно попытайтесь выгрузить из старого узла всё возможное.

Маршрут решения

Как выбрать действие

Обмен остановлен с ошибкой о несоответствии конфигурацийЗагрузите на периферийном узле последнее сообщение из центра — там новая конфигурация
Периферийный узел требует более новую платформуОбновите платформу на этом узле и повторите загрузку сообщения
Узел не принимает сообщения и восстановить его не удаётсяВыгрузите из узла всё возможное и создайте новый образ периферийной базы из центра
Обновление в режиме предприятия зависло надолгоПроверьте активность процесса и свободное место на диске, не прерывайте сеанс без крайней необходимости
Итог

Что важно запомнить

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

Частые вопросы

Можно ли обновить периферийную базу через конфигуратор напрямую?

Нет. Конфигурация периферийного узла заблокирована механизмом РИБ, и загрузка из файла будет отклонена. Обход через снятие узла с поддержки РИБ разрушает связь с центральной базой, и узел придётся создавать заново.

Что делать, если периферийная база не открывается и требует обновления?

Это значит, что сообщение с новой конфигурацией уже загружено, но обновление информационной базы не завершено. Запустите базу в режиме предприятия под пользователем с полными правами при монопольном доступе и дождитесь окончания обработчиков обновления.

Нужно ли обновлять платформу на периферийных узлах?

Да, если новая версия конфигурации требует более свежей платформы. Платформу обновляют на всех узлах до начала обновления конфигурации центральной базы, иначе сообщение обмена не загрузится.

Сколько времени занимает обновление периферийной базы?

Зависит от объёма данных и количества обработчиков обновления. На небольших файловых базах это минуты, на крупных клиент-серверных узлах — часы. Планируйте обновление на нерабочее время и не прерывайте процесс.

Что делать, если периферийный узел окончательно рассинхронизировался?

Сначала выгрузите из него все неотправленные данные в центральную базу. Затем создайте новый образ периферийной базы из центрального узла и разверните его вместо старого. Данные, не попавшие в центр до пересоздания, восстановить будет нельзя.

Можно ли обновлять узлы по очереди, а не все сразу?

Да, периферийные узлы обновляются независимо: каждый получит новую конфигурацию при первой загрузке сообщения после обновления центра. Но до обновления конкретного узла обмен с ним будет останавливаться с ошибкой о несоответствии конфигураций.