Как устранить ошибки при обновлении БГУ 2.0 на релиз 2.0.70.48 и выше

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

Обновление конфигурации «1С:Бухгалтерия государственного учреждения 2.0» (БГУ 2.0) до версии 2.0.70.48 часто становится серьезным испытанием для технических специалистов. Сложность заключается в том, что именно в этой ветке релизов разработчики «1С» провели масштабную реструктуризацию конфигурации, обновив ключевые библиотеки: Библиотеку стандартных подсистем (БСП) и Библиотеку электронного документооборота (БЭД). Если база ранее обслуживалась некорректно или содержит значительные доработки, штатное обновление через Конфигуратор может завершиться критической ошибкой.

В этой статье мы разберем причины возникновения проблем при переходе на 70-й релиз и составим подробный план действий по восстановлению работоспособности процесса обновления.

Выясним причину: почему возникают ошибки метаданных?

Проанализируем ситуацию, описанную в сообщениях форума. Основная проблема часто кроется в методах работы предыдущих специалистов. Если базу обновляли путем «Загрузки конфигурации (cf)» вместо штатного «Сравнения и объединения», в дереве метаданных накапливается «мусор».

Рассмотрим подробнее, что происходит при загрузке CF в доработанную базу:

  1. Система заменяет структуру метаданных на типовую из файла, но если в базе были объекты, не стоящие на поддержке, они могут остаться в «подвешенном» состоянии.
  2. При переходе на релиз 2.0.70, где многие старые объекты обмена с банками и сайтами были удалены или перенесены в другие подсистемы, возникает конфликт ссылок.
  3. Объекты (порядка 200 штук), которые автор темы видит в старой базе, но не находит в новой, — это устаревшие механизмы. Если они привязаны к подсистемам, которые были реорганизованы, 1С выдает ошибку состава подсистем.

Шаг 1: Подготовка и тестирование исходной базы

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

Выполним Тестирование и исправление (ТИИ) исходного релиза. Обратите внимание на следующие настройки в Конфигураторе:

Если ТИИ выявило ошибки в объектах, связанных с Обменом с банками или Интеграцией с сайтами, их необходимо устранить до начала обновления.

Шаг 2: Использование промежуточных узловых релизов

Попытка «перепрыгнуть» через несколько крупных обновлений сразу на 2.0.70.48 часто приводит к краху. Разберем правильную стратегию. Вместо прямой попытки обновления, попробуем двигаться короткими шагами. Как советуют опытные коллеги, стоит попробовать обновиться на промежуточные версии:

  1. Сначала переходим на релиз 2.0.70.21.
  2. Затем на 2.0.70.37.
  3. И только после этого на целевой 2.0.70.48.

Такой подход позволяет системе реструктуризировать данные поэтапно, снижая нагрузку на механизм сопоставления объектов.

Шаг 3: Ручная очистка конфликтных объектов

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

Порядок действий для очистки:

  1. Зайдите в свойства указанных в ошибке подсистем в исходной конфигурации.
  2. Проверьте список объектов, входящих в эти подсистемы.
  3. Если вы видите объекты, которые явно относятся к старому функционалу (часто они имеют префикс Удалить...), попробуйте исключить их из состава подсистемы перед запуском сравнения.
  4. В окне «Сравнение/объединение» снимите галочки с тех объектов, которые не сопоставляются с новой конфигурацией поставщика и помечены как «отсутствующие в конфигурации поставщика».

Шаг 4: Технический анализ доработок

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

Выполним сравнение текущей базы с полностью типовым cf того же релиза. Если при сравнении мы видим изменения в модулях, отвечающих за обмен (например, ОбменСБанкамиПоложительныйОтвет или механизмы работы с сайтами), необходимо решить: актуальны ли они для новой версии БСП? Скорее всего, в релизе 2.0.70 эти механизмы реализованы иначе, и старый код просто не будет работать.

Шаг 5: Проверка версии платформы

Нельзя забывать о системных требованиях. Для корректной обработки метаданных в версии 2.0.70.48 требуется актуальная версия платформы 8.3. Разберем минимальные требования:

Риски потери данных при удалении объектов

Важно помнить, что те 200 объектов, которые кажутся «лишними», могут содержать настройки интеграции или историю обменов. Перед их удалением или исключением из конфигурации:

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

Рассмотрим пример того, как может выглядеть код для проверки наличия данных в потенциально удаляемом объекте (например, регистре сведений):


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ ПЕРВЫЕ 1
    |   *
    |ИЗ
    |   РегистрСведений.СтарыйРегистрОбмена КАК СтарыйРегистр";

РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
    Сообщить("Внимание! Объект содержит данные. Требуется перенос перед удалением.");
КонецЕсли;

Итоги

Подведем итог нашему исследованию. Ошибка при обновлении БГУ 2.0 до 2.0.70.48 — это следствие накопленных ошибок в метаданных и резкого изменения архитектуры программы. Решение задачи требует системного подхода: сначала очистка и ТИИ, затем пошаговое обновление через промежуточные релизы, и в финале — ручное сопоставление объектов в окне сравнения, исключая «фантомные» объекты, оставшиеся от предыдущих некорректных обновлений.

← На главную