На каком этапе происходит удаление старых объектов поставщика в 1С?

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

В процессе сопровождения и обновления нетиповых конфигураций или конфигураций, находящихся на поддержке с возможностью изменения, разработчики часто сталкиваются с ситуацией, когда вендор удаляет из новой версии устаревшие метаданные. Разберем детально механизм исключения таких объектов из конфигурации, выясним, в какой именно момент стираются данные из таблиц СУБД и что произойдет, если снять соответствующий флажок в окне сравнения и объединения.

Два ключевых этапа удаления объектов

Проанализируем архитектуру процесса обновления в платформе 1С:Предприятие. Удаление объектов никогда не происходит моментально по нажатию одной кнопки; этот процесс разделен на два принципиально разных шага:

  1. Исключение из структуры метаданных конфигурации. При выполнении команды обновления через меню Конфигурация — Поддержка — Обновить конфигурацию открывается окно сравнения и объединения. После сопоставления версий и нажатия кнопки Выполнить удаляемые объекты исчезают только из дерева метаданных разрабатываемой конфигурации и конфигурации поставщика. На этом шаге физические таблицы в базе данных не затрагиваются. Если вы допустили ошибку, операцию можно безболезненно отменить через меню Конфигурация — Конфигурация базы данных — Вернуться к конфигурации базы данных.
  2. Физическое удаление данных и реструктуризация СУБД. Окончательное удаление информации происходит только при применении изменений к рабочей базе — по клавише F7 или через меню Конфигурация — Обновить конфигурацию базы данных. Платформа запускает реструктуризацию и выводит окно Реорганизация информации, в котором явно предупреждает о безвозвратном удалении таблиц и колонок соответствующих объектов. Только после подтверждения этого диалога данные физически стираются из базы.

Что произойдет, если снять флажок с удаляемого объекта?

Рассмотрим поведение платформы в ситуации, когда в окне сравнения и объединения вы намеренно снимаете флаг с объекта, который поставщик решил удалить:

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

Зависимость поведения от режима поддержки

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

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

Ограничения платформы и сопутствующие проблемы

Проанализируем типичные сложности, возникающие при очистке метаданных вендора:

  1. Блокировка обновления расширениями. Если удаляемый типовой объект был заимствован в активное расширение конфигурации (файл .cfe) или используется в его коде, этап реструктуризации (F7) завершится ошибкой проверки ссылочной целостности. Потребуется сначала удалить зависимости из расширения.
  2. Служебные данные Библиотеки Стандартных Подсистем (БСП). После реструктуризации базы данных в служебных таблицах БСП могут оставаться ссылки на удаленные метаданные. Чтобы корректно очистить справочник ИдентификаторыОбъектовМетаданных и обновить права доступа, обязательно выполните запуск программы в режиме 1С:Предприятие для отработки регламентных процедур обновления.
  3. Объекты с префиксом «Удалить». Обратим внимание на методику разработки решений фирмы «1С»: разработчики редко удаляют метаданные сразу. Сначала объекту присваивается префикс вида Удалить..., а перенос накопленных данных выполняется специальными обработчиками при обновлении ИБ. Ручное удаление таких объектов до завершения регламентных процедур миграции приводит к повреждению логики обновления.

Рекомендации по безопасному удалению объектов

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

  1. Выполните резервное копирование информационной базы перед началом любых манипуляций.
  2. В окне сравнения и объединения внимательно проанализируйте список объектов, помеченных на удаление.
  3. Для каждого сомнительного объекта используйте контекстный поиск ссылок в конфигурации, чтобы убедиться, что на него не завязаны ваши нетиповые алгоритмы.
  4. Если объект содержит важные исторические данные, но более не поддерживается поставщиком, снимите флаг удаления, оставив его как собственный объект, либо перенесите функционал и данные в отдельное расширение или архивную таблицу.
  5. После нажатия кнопки Выполнить и перед нажатием F7 запустите проверку конфигурации, чтобы своевременно обнаружить синтаксические ошибки и разорванные ссылки.
← На главную