Как обновить сверхстарую версию 1С:ЗУП 2.5 (релиз 2008 года) для переноса данных в ЗУП 3.1

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

Перенос данных из устаревших конфигураций в современные программные продукты фирмы «1С» — задача, с которой рано или поздно сталкивается любой специалист. Особую сложность представляют случаи, когда конфигурация не обновлялась в течение многих лет. Например, когда в организации до сих пор работает 1С:Зарплата и Управление Персоналом 2.5 одного из первых релизов (например, 2.5.11.2, выпущенного еще в 2008 году), а руководство принимает решение перейти на актуальную версию ЗУП 3.1.

Прямой перенос данных из настолько древней версии в ЗУП 3.1 невозможен из-за колоссальных различий в структурах баз данных, алгоритмах учета и механизмах выгрузки. Базу-источник необходимо предварительно обновить до одного из финальных релизов ветки 2.5 (как минимум до 2.5.130.2, а лучше до актуального сервисного выпуска). В процессе такого «исторического» обновления специалист гарантированно столкнется с целым рядом специфических технических проблем. В данной статье мы подробно разберем, как преодолеть все препятствия и успешно подготовить базу к переходу.

Анализ исходной ситуации и ключевые технические проблемы

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

  1. Проблемы совместимости платформ и сетевых протоколов. Релизы ЗУП 2.5 тех лет разрабатывались под платформу 1С:Предприятие 8.1. Попытка запустить автоматическое обновление в пользовательском режиме под старой платформой приводит к ошибке авторизации («неверный логин/пароль»). Это происходит из-за того, что современные сервера авторизации Портала 1С:ИТС требуют актуальных протоколов шифрования (TLS 1.2/1.3) и обновленных SSL-сертификатов, которые старая платформа просто не поддерживает. Замена файла корневых сертификатов cacert.pem в каталоге платформы 8.1 зачастую не решает проблему.
  2. Устаревшие URL-адреса серверов обновлений в коде. В конфигурациях десятилетней давности адреса для скачивания файлов дистрибутивов жестко зашиты (захардкожены) в общих модулях. В те времена использовался домен http://online.1c.ru. Сегодня раздача обновлений осуществляется через защищенные ресурсы https://releases.1c.ru и http://downloads.v8.1c.ru. Из-за этого встроенный помощник выдает ошибку «Ресурс не найден».
  3. Ограничения инструментов автоматизации («Обновлятор-1С»). Популярные утилиты автоматического обновления могут аварийно завершать работу или выдавать неинформативные ошибки на сверхстарых базах. Это связано со встроенными механизмами проверки легальности через современные COM-объекты, которые не могут корректно инициализироваться в базах без предварительного запуска в режиме «Предприятие».

Разберем детально по шагам, как решить каждую из этих проблем.

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

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

Оптимальным решением является использование платформы 1С:Предприятие 8.2 (один из последних релизов, например, 8.2.19.130) или запуск под платформой 8.3 в режиме совместимости.

Выполним процедуру конвертации базы:

  1. Создадим резервную копию базы данных (это обязательное правило перед любым действием!).
  2. Добавим информационную базу в список запуска актуальной версии платформы 1С.
  3. Запустим базу в режиме Конфигуратор. Программа выдаст предупреждение: «Информационная база будет сконвертирована». Соглашаемся с этим действием.
  4. После успешной конвертации обязательно запустим базу один раз в режиме 1С:Предприятие под правами Администратора, чтобы инициализировать все необходимые системные константы и параметры сеанса.

После конвертации базы под платформу 8.2/8.3 и первого запуска в пользовательском режиме большинство ошибок авторизации со стороны веб-сервисов 1С исчезают, так как компоненты платформы начинают корректно работать со встроенными SSL-библиотеками операционной системы.

Шаг 2. Обход ошибки «Ресурс не найден» (online.1c.ru)

Если при попытке автоматического поиска обновлений система выдает ошибку работы с интернет-ресурсом по адресу http://online.1c.ru//upload/tmplts/..., у нас есть два пути решения проблемы.

Метод А. Полный переход на локальное обновление (Рекомендуемый)

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

Распакуйте все скачанные архивы обновлений (файлы с расширением *.cfu или полные конфигурации *.cf) в единый локальный каталог шаблонов на вашем жестком диске. Обычно это путь:

C:\Users\<ИмяПользователя>\AppData\Roaming\1C\1Cv8\tmplts\1c\hrm\

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

Метод Б. Перенаправление запросов через файл hosts или модификацию кода

Если вам критически важно использовать именно автоматический механизм скачивания, можно перенаправить запросы конфигурации. Использовать файл hosts операционной системы для сопоставления online.1c.ru с IP-адресом downloads.v8.1c.ru не рекомендуется, так как при обращении по протоколу HTTPS возникнет критическое несовпадение имени узла в SSL-сертификате, и соединение будет сброшено.

Вместо этого правильнее зайти в Конфигуратор, включить возможность изменения конфигурации с сохранением поддержки («Конфигурация» — «Поддержка» — «Настройка поддержки» — «Включить возможность изменения») и через глобальный поиск по конфигурации найти строку online.1c.ru. Замените найденный адрес в коде общих модулей (например, в модулях обновления конфигурации) на актуальный адрес downloads.v8.1c.ru.

Шаг 3. Использование «Обновлятора-1С» для старых баз

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

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

Шаг 4. Определение «узловых» релизов для безопасного обновления

Попытка обновить базу «одним прыжком», например, загрузив файл 1cv8.cf от релиза 2.5.130 непосредственно в базу релиза 2.5.11, приведет к катастрофическим последствиям. Из базы данных исчезнут целые таблицы, заполнится множество некорректных пустых ссылок, а отложенные обработчики обновления просто откажутся запускаться, полностью заблокировав работу конфигурации.

В истории развития ЗУП 2.5 было несколько кардинальных изменений законодательства и структуры метаданных (например, переход с единого социального налога (ЕСН) на страховые взносы в ПФР, ФСС и ФОМС, появление новых кадровых регистров, изменение учета НДФЛ). Поэтому процесс обновления должен проходить строго через так называемые «узловые» (краеугольные) релизы.

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

2.5.11.2 → 2.5.15.4 → 2.5.19.3 → 2.5.21.3 → 2.5.26.2 → 2.5.54.1 → 2.5.80.1 → 2.5.130.2

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

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

Шаг 5. Технология обновления через замену файлов конфигурации (CF)

Если при попытке обновить базу через Конфигуратор («Конфигурация» — «Поддержка» — «Обновить конфигурацию» — «Выбор файла обновления») и указании файла формата .cfu (обновление) система выдает предупреждение «Файл не содержит доступных обновлений», это значит, что текущий релиз вашей базы несовместим с выбранным файлом обновления напрямую.

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

  1. Откройте базу в режиме Конфигуратор.
  2. Перейдите в меню Конфигурация — Поддержка — Обновить конфигурацию.
  3. Выберите пункт «Выбор файла обновления» и нажмите «Далее».
  4. В открывшемся диалоговом окне выбора файла укажите тип файлов Все файлы (*.*) или Файлы конфигураций (*.cf) и выберите полный файл конфигурации (CF) следующего узлового релиза.
  5. Нажмите «Готово». На предупреждение системы о том, что конфигурация будет полностью заменена новой версией, ответьте согласием.
  6. После сопоставления объектов нажмите кнопку «Выполнить обновление» и примите изменения базы данных (клавиша F7).
  7. Обязательно запустите режим «1С:Предприятие» и дождитесь окончания работы всех регламентных процедур обновления данных.

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

Шаг 6. Подготовка и перенос данных в ЗУП 3.1

После того как вы успешно довели базу ЗУП 2.5 до релиза 2.5.130.2 (или более позднего), можно приступать к финальному этапу — переносу данных в новую конфигурацию ЗУП 3.1. Но здесь кроется еще один критически важный нюанс, связанный с последней политикой фирмы «1С».

Внимание! Ограничение новых релизов ЗУП 3.1!

Начиная с версии 3.1.30.35, фирма «1С» полностью удалила встроенный помощник перехода (загрузки данных) из старой конфигурации ЗУП 2.5. Прямой перенос данных штатными средствами в самые новые релизы ЗУП 3.1 больше не поддерживается!

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

  1. Проведите аудит и чистку базы-источника (ЗУП 2.5):
    • Полностью закройте и рассчитайте последний рабочий месяц ведения учета (начислите зарплату, налоги, взносы, сформируйте выплаты).
    • Запустите обработку «Удаление помеченных объектов», чтобы исключить перенос архивного мусора.
    • Выполните операцию Тестирование и исправление («Администрирование» — «Тестирование и исправление») с включенными флагами проверки логической и ссылочной целостности. Наличие в базе битых ссылок (объектов вида <Объект не найден>) — одна из главных причин падения выгрузки с критической ошибкой.
  2. Разверните промежуточную базу ЗУП 3.1 старого релиза:

    Установите чистую базу ЗУП 3.1 версии до 3.1.30.15 включительно (например, релиз из ветки 3.1.27.x или более ранний 3.1.30). В этих релизах помощник перехода еще присутствует в системе.

  3. Выполните перенос данных:

    Запустите чистую промежуточную базу ЗУП 3.1, откройте помощник перехода, укажите путь к вашей обновленной базе ЗУП 2.5 (поддерживается как прямое подключение через COM, так и выгрузка/загрузка через XML-файл) и запустите процесс переноса кадровых данных и начислений.

  4. Обновите целевую базу ЗУП 3.1:

    После того как данные успешно загрузились в промежуточную базу ЗУП 3.1, проверьте корректность переноса сотрудников, кадровой истории и начальной задолженности. Если все в порядке — обновите эту базу ЗУП 3.1 обычным способом до самого последнего актуального релиза.

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

← На главную