Как обновить 1С:ЗУП 2.5 через несколько релизов и можно ли пропускать версии?

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

При длительном отсутствии обновлений в типовой конфигурации 1С:Зарплата и Управление Персоналом 2.5 (ЗУП) между исходным и актуальным релизом может накопиться разрыв в 15–20 версий. Встает практический вопрос: обязательно ли последовательно накатывать каждый файл обновления (.cfu) или можно оптимизировать цепочку и применить полный файл конфигурации (.cf)? Рассмотрим особенности каждого подхода, разберем сопутствующие риски для данных и способы ускорения работы.

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

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

  1. Создадим резервную копию информационной базы (выгрузка в .dt или прямое копирование файла 1Cv8.1CD при закрытых сеансах).
  2. Выполним проверку физической целостности с помощью утилиты chdbfl.exe (расположена в каталоге bin установленной платформы).
  3. Запустим конфигуратор и выполним пункт меню Администрирование — Тестирование и исправление..., выбрав проверки логической целостности и реиндексацию таблиц.
  4. Для файловых баз перенесем файл базы на быстрый локальный SSD/NVMe-накопитель или RAM-диск, а также добавим рабочий каталог в исключения антивирусного сканера. Выполнять длительное обновление по сети или через удаленное управление на медленном ПК не рекомендуется.

Способ 1. Построение минимальной цепочки через файлы обновлений (CFU)

Мнение о том, что конфигурация 1С:ЗУП 2.5 требует обязательной установки абсолютно всех релизов подряд без исключений, является ошибочным. Файлы обновлений .cfu поддерживают переход сразу с нескольких предыдущих сборок.

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

Разберем по шагам алгоритм составления цепочки:

  1. Откроем манифест целевого (самого нового) релиза и проверим список версий в FromVersion.
  2. Если текущего релиза базы нет в списке, выберем самую раннюю поддерживаемую версию из списка и найдем ее дистрибутив.
  3. Повторим поиск для найденной промежуточной версии в обратном порядке, пока не дойдем до исходного релиза информационной базы.
  4. В результате вместо 15–20 установок получаем сокращенную цепочку из 3–5 промежуточных релизов.

При таком подходе последовательно применяем каждый выбранный .cfu в Конфигураторе, сохраняем изменения по клавише F7 (реструктуризация) и обязательно запускаем базу в режиме «1С:Предприятие» после каждого шага. Это необходимо для того, чтобы модуль обновления выполнил служебные алгоритмы пересчета и переноса данных.

Способ 2. Кумулятивное обновление через полный файл конфигурации (CF)

Самый быстрый по времени способ — накатать сразу полный файл конфигурации .cf актуального релиза через меню Конфигурация — Поддержка — Обновить конфигурацию (указав выбор файла .cf) или через Конфигурация — Сравнить, объединить с конфигурацией из файла... (если требуется полный контроль соответствия объектов).

Выясним, как отрабатывает механизм обновления данных в режиме предприятия при таком сценарии:

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

Возможные риски и ограничения метода:

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

Перед накатом .cf через большой интервал релизов убедимся, что:

  1. Конфигурация находится на полной типовой поддержке без пользовательских доработок метаданных.
  2. Версия технологической платформы «1С:Предприятие» соответствует требованиям финального релиза конфигурации (при необходимости сначала обновляем саму платформу).

Способ 3. Пакетное обновление через командную строку

Если решено обновлять базу последовательно по цепочке .cfu, рутинные действия в Конфигураторе можно автоматизировать с помощью пакетного пакетного запуска платформы через командный файл (.bat или .cmd).

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


REM Шаг 1: Применение файла обновления к конфигурации
"C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\1cv8.exe" CONFIG /F "D:\Bases\ZUP" /N "Администратор" /P "Пароль" /UpdateCfg "D:\Updates\ZUP\2_5_XX_X\1cv8.cfu"

REM Шаг 2: Принятие изменений и реструктуризация таблиц БД
"C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\1cv8.exe" CONFIG /F "D:\Bases\ZUP" /N "Администратор" /P "Пароль" /UpdateDBCfg

REM Шаг 3: Запуск предприятия для отработки процедур обновления ИБ
"C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\1cv8.exe" ENTERPRISE /F "D:\Bases\ZUP" /N "Администратор" /P "Пароль" /C "ЗапуститьОбновлениеИнформационнойБазы"

Для комплексной автоматизации цепочек обновлений также применяются специализированные утилиты (например, «Обновлятор-1С»), которые самостоятельно выстраивают цепочку файлов, создают контрольные точки восстановления и выполняют запуск процедур обновления данных.

Контроль результатов обновления

После завершения процедур обновления информационной базы (независимо от выбранного способа) обязательно выполним сверку данных:

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