Как обновить сильно измененную конфигурацию 1С:УПП 1.3 на актуальный релиз?

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

Обновление конфигурации 1С:Управление производственным предприятием (УПП) 1.3 — это всегда ответственный процесс, особенно когда база содержит множество доработок, а история обновлений была нарушена. В такой ситуации стандартный механизм "Конфигурация — Поддержка — Обновить конфигурацию" может работать некорректно или привести к потере данных. Рассмотрим ситуацию, когда версия конфигурации поставщика "отстала" от реальной версии основной конфигурации, и разберем по шагам, как безопасно привести систему к актуальному релизу.

Шаг 1: Анализ текущего состояния и выравнивание поддержки

Часто встречается ситуация, когда в окне "О программе" значится один релиз (например, 1.3.106.1), а в окне "Настройка поддержки" — гораздо более старый (например, 1.3.85.3). Это означает, что предыдущие обновления выполнялись некорректно (например, простым сравнением-объединением с .cf файлом без обновления конфигурации поставщика). Перед началом масштабного обновления нам необходимо "выравнять" эти версии.

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

  1. Скачиваем или подготавливаем чистый типовой .cf файл той версии, которая сейчас реально установлена у клиента (в нашем примере — 1.3.106.1).
  2. Переходим в меню Конфигурация — Поддержка — Обновить конфигурацию.
  3. Выбираем "Выбор файла обновления" и указываем наш типовой .cf файл версии 1.3.106.1.
  4. Важный момент: в открывшемся окне сравнения и объединения необходимо снять все флажки. Нам не нужно менять код, нам нужно только, чтобы система зафиксировала: "Конфигурация поставщика теперь соответствует версии 1.3.106.1".
  5. Нажимаем "Выполнить". После этого в настройках поддержки версия обновится, а ваша доработанная основная конфигурация останется нетронутой.

Шаг 2: Подготовка цепочки эталонных релизов

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

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

  1. Разворачиваем чистую типовую конфигурацию версии 1.3.106.1.
  2. Последовательно обновляем ее через все необходимые релизы (1.3.107, 1.3.108 ... до последнего актуального).
  3. На каждом промежуточном этапе обязательно запускаем режим 1С:Предприятие, чтобы отработали все процедуры обновления информационной базы.
  4. В итоге мы получим финальный .cf файл актуального релиза, который является "чистым" эталоном.

Шаг 3: Выявление доработок в текущей базе

Чтобы понять, что именно было изменено в вашей базе (так как документации часто нет), воспользуемся механизмом сравнения. Рассмотрим этот процесс подробнее:

Возьмем вашу текущую рабочую конфигурацию (1.3.106.1 с доработками) и сравним ее с чистым типовым .cf файлом версии 1.3.106.1. Для этого идем в Конфигурация — Сравнить конфигурации. Те объекты, которые будут помечены в дереве сравнения, и есть ваши доработки. Рекомендуем сохранить этот список (можно сделать скриншот дерева или выгрузить отчет о сравнении), так как именно эти места потребуют внимания при объединении с новым релизом.

Шаг 4: Сравнение и объединение с новым релизом

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

В окне сравнения-объединения крайне важно правильно настроить фильтры. Рассмотрим основные правила:

Пример анализа кода в общем модуле:


// Было в типовой 1.3.106
Процедура РассчитатьНалог()
    // Типовой код
КонецПроцедуры

// Стало в вашей доработанной 1.3.106
Процедура РассчитатьНалог()
    // Типовой код
    // ВАША ДОРАБОТКА: Дополнительный расчет
КонецПроцедуры

// Стало в новой типовой 1.3.160
Процедура РассчитатьНалог(НовыйПараметр = Истина)
    // НОВЫЙ Типовой код от 1С
КонецПроцедуры

В данном случае вам нужно перенести вашу доработку в новую структуру процедуры, учитывая изменившиеся параметры от 1С.

Шаг 5: Решение технических проблем при обновлении

Разберем типичную ошибку, упомянутую в сообщении №46: Ошибка при получении значения атрибута контекста (ТекущийПользователь) ... Слишком много фактических параметров.

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

Рекомендации по устранению:

  1. Обязательно очистите кэш сервера и локальный кэш пользователя перед запуском базы после обновления.
  2. Проверьте, что все объекты метаданных (включая параметры сеанса) стоят на поддержке и обновились.
  3. Если ошибка сохраняется, проверьте модуль сеанса. Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса) должна соответствовать актуальному типовому коду.

Шаг 6: Завершение и тестирование

После успешного объединения в конфигураторе и сохранения (F7), наступает самый ответственный момент — первый запуск в режиме "1С:Предприятие".

Важные правила:

  1. Запуск должен производиться под пользователем с полными правами.
  2. Система предложит подтвердить легальность получения обновления — соглашаемся.
  3. Начнется процесс выполнения обработчиков обновления. В УПП 1.3 он может занимать несколько часов. Ни в коем случае не прерывайте этот процесс.
  4. Если какой-то из обработчиков завершился с ошибкой, необходимо выяснить причину через Журнал регистрации. Чаще всего это связано с тем, что ваши старые доработки в данных (например, пустые ссылки в критичных реквизитах) мешают типовому алгоритму пересчета.

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

← На главную