Как правильно перейти с «1С:Бухгалтерия предприятия КОРП 2.0» на версию 3.0 при наличии доработок?

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

Переход с редакции 2.0 на 3.0 для конфигурации «Бухгалтерия предприятия КОРП» является не просто очередным обновлением, а масштабной технологической операцией. Фактически происходит полная замена метаданных: переход с обычных форм на управляемые, смена интерфейса на «Такси» и глубокое изменение внутренней архитектуры. Часто при попытке выполнить этот переход стандартным обновлением (через объединение конфигураций) возникают ошибки, связанные с невозможностью удаления объектов. Проанализируем ситуацию, когда система выдает длинный список объектов (элементы стиля, картинки, константы), на которые в основной конфигурации еще есть ссылки, из-за чего процесс прерывается.

Выясним причину возникновения ошибок при объединении

Разберем, почему возникают сообщения о том, что объект не может быть удален. В типовой конфигурации версии 3.0 многие элементы оформления (например, ЭлементСтиля.ТекстСообщенияИнформации или ОбщаяКартинка.ЗначокБанк32) были исключены или заменены новыми. Если ваша база «Бухгалтерия предприятия КОРП 2.0» была даже незначительно доработана, то ссылки на эти старые объекты могли остаться в ваших кастомных формах, подписках на события или модулях. Посмотрим на пример: если вы создали свою форму документа и использовали там стандартную картинку из версии 2.0, то при обновлении на 3.0 система попытается удалить эту картинку, но не сможет, так как ваша форма «держит» на нее ссылку.

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

Метод 1. Приведение конфигурации к полностью типовому виду

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

  1. Создадим полную копию базы. Все эксперименты проводим только на ней.
  2. Сохраним ваши изменения. Выполним команду «Конфигурация — Сохранить конфигурацию в файл», чтобы иметь под рукой описание ваших доработок.
  3. Снимем базу с поддержки. Если конфигурация находится на поддержке с возможностью изменения, иногда лучше временно полностью снять ее с поддержки («Конфигурация — Поддержка — Настройка поддержки — Снять с поддержки»).
  4. Загрузим типовой CF-файл. Нам нужен файл конфигурации (CF) именно вашей текущей версии 2.0 (в примере это 2.0.66.89), но полностью типовой, без изменений. Выполним «Конфигурация — Загрузить конфигурацию из файла». Важно: загрузка полностью заменяет ваши метаданные типовыми.
  5. Выполним «Тестирование и исправление». После загрузки типового CF обязательно запустим процедуру через меню «Администрирование». Настроим проверку логической и ссылочной целостности, выбрав вариант «Очищать объекты» при наличии битых ссылок.
  6. Запустим обновление на 3.0. Теперь, когда база стала на 100% типовой, штатный переход на редакцию 3.0 через «Поиск доступных обновлений» или выбор конкретного файла 1cv8.cfu (или .cf) версии 3.0 пройдет успешно.

Метод 2. Ручная очистка «проблемных» ссылок

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

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

Посмотрим на фрагмент лога: система упоминает ПодпискаНаСобытие.континентПередЗаписьюДокументы. Это явный признак того, что в базе есть кастомные механизмы, которые пытаются контролировать запись объектов, помеченных в версии 3.0 как «Удалить...». Такие подписки нужно вычищать в первую очередь.

Метод 3. Технологический переход через перенос данных

В некоторых случаях, когда база 2.0 сильно захламлена историческими изменениями или «битыми» ссылками, лучше отказаться от обновления конфигурации в пользу переноса данных в новую чистую базу 3.0. Разберем по шагам, как это сделать:

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

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

Рекомендации по платформе и техническим нюансам

Для успешной реструктуризации базы (процесс, который происходит после нажатия F7 в конфигураторе) крайне важно использовать современную версию платформы. Несмотря на то что автор использует 8.3.17, рекомендуется обновиться до 8.3.18 или 8.3.21. В новых версиях платформы оптимизирована работа с памятью при обновлении крупных конфигураций КОРП-сегмента.

Также не забудем про Режим совместимости. При переходе на 3.0 он должен измениться автоматически. Если вы делаете объединение вручную, убедитесь, что в свойствах корневого объекта конфигурации «БухгалтерияПредприятияКОРП» установлен режим совместимости, соответствующий целевому релизу 3.0 (обычно это «Не использовать» или актуальная версия платформы).

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

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

← На главную