Администрирование · 11 мин
Как обновить 1С в распределённой информационной базе (РИБ)
Порядок обновления конфигурации в распределённой информационной базе 1С: обновление центрального узла, обмен сообщениями, обновление периферийных баз, типичные ошибки и их решение.
Распределённая информационная база (РИБ) — это механизм 1С, при котором несколько баз обмениваются данными через планы обмена: есть главный (центральный) узел и один или несколько периферийных. Обновление конфигурации в такой схеме отличается от обновления обычной базы: нельзя просто обновить каждый узел по отдельности, потому что изменения конфигурации распространяются только от главного узла к подчинённым вместе с сообщениями обмена.
Ключевое правило: конфигурацию обновляют только в главном узле, а периферийные базы получают новую версию автоматически при очередном обмене. Если попытаться обновить периферийный узел напрямую через конфигуратор, система откажет — база находится в подчинении, и изменение конфигурации в ней заблокировано.
Ниже разобран полный цикл обновления РИБ: подготовка, обновление центрального узла, передача изменений в периферийные базы, контроль результата и разбор типичных проблем — зависших сообщений, ошибок «конфигурация узла не соответствует ожидаемой» и конфликтов при обмене.
Подготовка: что проверить до начала обновления
Первый шаг — убедиться, что обмен между узлами работает штатно. Выполните полный цикл обмена: выгрузку из главного узла и загрузку в каждом периферийном, затем обратно. Если в журнале регистрации есть ошибки обмена, неотправленные сообщения или коллизии, сначала устраните их. Обновлять конфигурацию при неработающем обмене нельзя — изменения просто не дойдут до периферийных баз.
Второй шаг — резервные копии. Сделайте выгрузку информационной базы (файл .dt) главного узла и каждого периферийного узла. Для файловых баз дополнительно можно скопировать каталог с файлом 1Cv8.1CD. Копии должны быть сделаны до начала любых действий с конфигурацией, а не «потом, если что-то пойдёт не так».
Третий шаг — проверьте, что все пользователи завершили работу. Обновление конфигурации базы данных требует монопольного доступа. В клиент-серверном варианте заблокируйте сеансы через консоль кластера, в файловом — попросите пользователей выйти и проверьте отсутствие активных соединений.
Обновление конфигурации главного узла
Обновление центральной базы выполняется стандартным способом — так же, как для обычной, не распределённой базы. Откройте конфигуратор главного узла, сделайте выгрузку .dt ещё раз непосредственно перед обновлением и запустите обновление через «Конфигурация → Поддержка → Обновить конфигурацию» или через загрузку файла обновления (.cfu) / полной конфигурации (.cf).
Если база на поддержке без возможности изменения, используйте автоматическое обновление через «Поддержка → Обновить конфигурацию» с поиском файлов обновлений или через интернет-поддержку в режиме предприятия (для типовых конфигураций). Платформа сама построит цепочку обновлений, если пропущено несколько релизов.
После загрузки обновления выполните «Обновление конфигурации базы данных» (клавиша F7 в конфигураторе). Если релиз содержит обработчики обновления данных, запустите базу в режиме предприятия под пользователем с полными правами — отработает процедура обновления информационной базы. Дождитесь её завершения: в типовых конфигурациях ход выполнения виден в окне «Результаты обновления программы».
- 1Выполнить полный обмен со всеми периферийными узлами и убедиться в отсутствии ошибок
- 2Сделать выгрузку .dt главного и всех периферийных узлов
- 3Завершить сеансы пользователей в главной базе
- 4Открыть конфигуратор главного узла и загрузить обновление конфигурации
- 5Выполнить обновление конфигурации базы данных (F7)
- 6Запустить режим предприятия и дождаться завершения обработчиков обновления данных
- 7Выполнить выгрузку сообщения обмена в периферийные узлы
Передача обновления в периферийные узлы
После обновления главного узла изменения конфигурации автоматически регистрируются в плане обмена и включаются в очередное сообщение обмена. Выполните выгрузку данных в каждый периферийный узел привычным способом: через настройку синхронизации, обработку обмена или сценарий по расписанию.
При загрузке такого сообщения в периферийной базе платформа обнаружит, что вместе с данными пришла новая конфигурация. В зависимости от настроек и способа обмена возможны два сценария: конфигурация периферийного узла обновляется автоматически в процессе загрузки, либо система сообщит о необходимости обновления и предложит выполнить его.
Важно понимать: сообщение с изменением конфигурации должно быть загружено в периферийный узел до того, как там продолжится обычная работа с новыми данными. Пока конфигурация периферийного узла не обновлена, загрузка последующих сообщений может завершаться ошибкой о несоответствии конфигураций.
Обновление периферийного узла при загрузке сообщения
Автоматическое обновление при обмене
В типовых конфигурациях при загрузке сообщения, содержащего изменения конфигурации, периферийная база обычно обновляется автоматически: пользователю выводится предупреждение, сеанс может быть перезапущен, а обработчики обновления выполнятся при следующем запуске. Убедитесь, что обмен выполняется под пользователем с правами на обновление конфигурации.
Ручное обновление через конфигуратор
Если автоматическое обновление не сработало, откройте конфигуратор периферийного узла. В меню «Конфигурация» появится пункт «Обновить конфигурацию базы данных» — изменения уже загружены в конфигурацию базы и ждут применения. Выполните обновление (F7), затем запустите режим предприятия и дождитесь завершения обработчиков обновления данных.
Проверить, что конфигурация периферийного узла соответствует главному, можно по номеру версии: откройте сведения о конфигурации («Справка → О программе» или информация о конфигурации в конфигураторе) и сравните версии в обоих узлах. Они должны совпадать.
Как проверить результат
Версии совпадают
Версии различаются — обновление узла не завершено
Нет ошибок загрузки и выгрузки
Ошибки о несоответствии конфигураций или отказе приёма сообщения
База открывается, обработчики обновления завершены
Появляется требование обновить конфигурацию базы данных
Сообщения выгружаются и загружаются штатно
Сообщения не принимаются, растёт номер незагруженного сообщения
Типичные проблемы и способы их решения
Ошибка «конфигурация узла распределённой базы не соответствует ожидаемой»
Эта ошибка возникает, когда в периферийный узел загружается сообщение, сформированное для другой версии конфигурации, либо когда главный узел обновлён, а периферийный — ещё нет, и обмен выполняется в обратную сторону. Решение: загрузите в периферийный узел первое сообщение, содержащее изменения конфигурации, дождитесь обновления и только потом продолжайте обычный обмен.
Сообщение не загружается из-за нарушения нумерации
Если файл сообщения потерян или загружены сообщения не по порядку, обмен встаёт. В типовых конфигурациях номера принятых и отправленных сообщений можно скорректировать в настройках узла плана обмена (изменить номер принятого/отправленного сообщения), но делать это следует только при понимании последствий: можно потерять или задвоить данные.
Периферийный узел долго не выходил на связь
Если узел не участвовал в обмене длительное время и за это время в главном узле прошло несколько обновлений, проще и надёжнее создать новый образ периферийной базы (начальный образ узла) уже на актуальной версии конфигурации, чем накатывать цепочку старых сообщений. Перед пересозданием узла выгрузите из него все непереданные данные.
Особые сценарии: много узлов, автоматический обмен, нетиповая конфигурация
При большом количестве периферийных узлов планируйте обновление волнами: сначала обновите главный узел и один контрольный периферийный, убедитесь в корректности работы, затем распространяйте обновление на остальные. Это снижает риск массовой остановки обмена, если в релизе обнаружится проблема.
Если обмен выполняется по расписанию регламентным заданием, на время обновления отключите автоматический обмен, чтобы сообщения не формировались в середине процесса. После завершения обновления главного узла выполните обмен вручную, проконтролируйте результат и снова включите расписание.
Для нетиповых (доработанных) конфигураций порядок тот же, но обновление главного узла выполняется с объединением изменений. Особое внимание уделите тестированию: доработки, затрагивающие состав плана обмена (новые объекты в подписках, изменённые реквизиты), могут привести к ошибкам при загрузке в ещё не обновлённые периферийные узлы.
Перед обновлением рабочих узлов полезно развернуть тестовую копию пары «главный — периферийный» из актуальных выгрузок и прогнать весь цикл обновления на ней. Это занимает время, но позволяет заранее увидеть ошибки обработчиков обновления и проблемы обмена без риска для рабочих данных.
Частые вопросы об обновлении РИБ
Можно ли обновить периферийную базу напрямую через конфигуратор?
Нет. Конфигурация подчинённого узла РИБ находится в состоянии, запрещающем изменения: она может быть изменена только через сообщение обмена от главного узла. Прямая загрузка .cf в периферийную базу заблокирована платформой.
Что делать, если после обновления главного узла периферийный отказывается принимать сообщения?
Чаще всего причина в том, что загружается сообщение, не содержащее изменений конфигурации, либо нарушена нумерация. Найдите первое сообщение, сформированное после обновления главного узла, и загрузите именно его. Если файлы утеряны — сформируйте сообщение обмена заново из главного узла.
Нужно ли обновлять платформу 1С на всех узлах одновременно?
Желательно приводить версии платформы к одной на всех узлах, но не обязательно в один момент. Важно, чтобы версия платформы на каждом узле соответствовала требованиям нового релиза конфигурации — иначе база может не запуститься после обновления.
Как откатить обновление, если что-то пошло не так?
Единственный надёжный способ — восстановить базы из выгрузок .dt, сделанных до обновления, на всех затронутых узлах. Поэтому копии делаются до начала работ. После восстановления проверьте номера сообщений обмена, чтобы узлы продолжили обмен с корректной точки.
Периферийный узел не выходил на связь несколько месяцев — как его обновить?
Практичнее создать новый начальный образ узла из обновлённой главной базы и развернуть его вместо старой периферийной. Перед этим выгрузите из старого узла все данные, которые не успели уйти в центральную базу.
Влияет ли обновление конфигурации на данные, которые уже в пути между узлами?
Сообщения, сформированные до обновления, содержат данные в формате старой конфигурации. Их следует загрузить до обновления либо быть готовым к ошибкам несоответствия. Поэтому полный обмен до обновления — обязательный шаг подготовки.
Что важно запомнить
Обновляется только главный узел РИБ, периферийные получают новую конфигурацию через сообщение обмена. Перед обновлением — полный обмен и копии всех баз, после — контроль версий и журнала регистрации. При долгом простое узла надёжнее пересоздать его из начального образа.