Разработка и Конфигурация · 10 мин
Как удалить объект в конфигураторе 1С
Как удалить объект метаданных в конфигураторе 1С: проверка ссылок, контроль ссылочной целостности, типовые и расширения. Пошаговая инструкция без риска для базы.
Удаление объекта метаданных в конфигураторе 1С — операция, которая затрагивает структуру всей базы: справочник, документ или регистр нельзя просто стереть, если на него ссылаются реквизиты других объектов, табличные части, запросы или код модулей. Платформа защищает от таких ошибок механизмом контроля ссылочной целостности, но и он не гарантирует безопасность, если действовать вслепую.
Ниже разобран порядок безопасного удаления объекта конфигурации: от резервной копии и поиска ссылок до обновления конфигурации базы данных и проверки результата. Отдельно рассмотрены особенности типовых конфигураций на поддержке, удаление через расширения и ситуации, когда объект лучше не удалять, а отключить.
Что нужно сделать до удаления: резервная копия и анализ ссылок
Главное правило: удаление объекта метаданных необратимо. Если вместе со справочником или документом удаляются и сами данные (таблицы в базе данных удаляются физически), восстановить их без копии невозможно. Поэтому первый шаг — выгрузка базы через «Администрирование → Выгрузить информационную базу» в конфигураторе либо полная копия средствами СУБД, если база клиент-серверная.
Второй шаг — понять, где используется объект. Выделите его в дереве конфигурации, откройте контекстное меню и выберите «Поиск ссылок на объекты» (в некоторых версиях — «Найти ссылки на объект»). Конфигуратор покажет список метаданных, где встречается тип этого объекта: реквизиты, измерения, ресурсы, табличные части, критерии отбора, планы обмена.
Отдельно проверьте программный код: ссылки в модулях поиск метаданных не всегда показывает полностью, особенно если объект используется через строковые обращения вида Справочники.Номенклатура или через Метаданные.НайтиПоПолномуИмени("Документ.Реализация"). Выполните глобальный поиск по имени объекта (Ctrl+Shift+F) по всей конфигурации, включая внешние обработки, если они есть.
Пошаговое удаление объекта в конфигураторе
После подготовки само удаление занимает несколько действий. Порядок одинаков для большинства объектов метаданных: справочников, документов, регистров, перечислений, отчётов и обработок.
- 1Откройте конфигуратор и разблокируйте конфигурацию от изменений, если она на поддержке (Конфигурация → Поддержка → Настройка поддержки)
- 2В дереве конфигурации найдите нужный объект и выделите его
- 3Нажмите Delete или выберите в контекстном меню «Удалить» и подтвердите действие
- 4Выполните поиск ссылок на удалённый объект и уберите его из реквизитов, критериев отбора и кода
- 5Обновите конфигурацию базы данных клавишей F7 и подтвердите реструктуризацию
- 6Проверьте работу базы в режиме Предприятия
Если объект был включён в подсистемы, роли, командный интерфейс или функциональные опции, платформа при обновлении может выдать ошибки проверки. В этом случае пройдите по списку ошибок в окне сообщений и вручную уберите объект из состава подсистем, прав ролей и интерфейсов, затем повторите обновление.
Обновление конфигурации базы данных и реструктуризация
Удаление объекта в дереве конфигурации меняет только конфигурацию разработчика. Физически таблицы из базы удалятся только после обновления конфигурации базы данных: меню «Конфигурация → Обновить конфигурацию базы данных» или клавиша F7.
При обновлении платформа покажет окно реструктуризации со списком изменений: удаляемые таблицы, поля, индексы. Внимательно просмотрите этот список — если там оказались объекты, которые вы удалять не планировали, отмените операцию и разберитесь с причиной. Обновление в монопольном режиме обязательно: все пользователи должны выйти из базы, фоновые задания — завершиться.
На больших базах реструктуризация может занять продолжительное время, особенно если удаляемый объект — регистр накопления с большим объёмом записей. Планируйте такие работы на нерабочее время и не прерывайте процесс принудительно: обрыв реструктуризации может привести к повреждению базы.
Особенности удаления в типовых конфигурациях
В типовых решениях (1С:Бухгалтерия, 1С:Управление торговлей и подобных) конфигурация по умолчанию находится на поддержке с запретом изменений. Прямое удаление объекта потребует снятия с поддержки или включения режима «с возможностью изменения», что усложнит дальнейшие обновления: каждое обновление релиза придётся сопоставлять вручную.
Часто удалять типовой объект вообще не нужно. Если задача — скрыть неиспользуемый справочник или документ от пользователей, достаточно убрать его из командного интерфейса, отключить функциональную опцию или настроить права ролей. Функциональные опции в типовых конфигурациях как раз предназначены для отключения целых блоков учёта без изменения структуры.
Сравнение вариантов
Подходит для собственных (добавленных вручную) объектов, которые больше не нужны. Для типовых объектов ломает поддержку и усложняет обновления
Подходит для типовых объектов: данные и структура сохраняются, объект скрывается из интерфейса. Не освобождает место в базе
Позволяет скрыть или переопределить поведение типового объекта без изменения основной конфигурации. Удалить заимствованный объект через расширение нельзя
Удаление собственных объектов и работа с расширениями
Если объект был добавлен вами или предыдущим разработчиком (в типовых конфигурациях такие объекты часто имеют префикс, например уат_ или абв_), его удаление безопаснее: он не входит в поставку вендора, и обновления типового релиза его не затронут. Порядок действий стандартный: поиск ссылок, удаление, обновление базы.
Отдельный случай — объекты, добавленные через расширение конфигурации. Они удаляются не в основном дереве, а в дереве расширения: откройте нужное расширение, найдите добавленный объект и удалите его, затем обновите конфигурацию базы данных. Если расширение целиком больше не нужно, проще отключить или удалить его в режиме Предприятия через «Все функции → Стандартные → Управление расширениями конфигурации» (в типовых — через раздел «Администрирование → Печатные формы, отчёты и обработки → Расширения»).
Учтите: заимствованный из основной конфигурации объект удалить в расширении нельзя — расширение может только изменять свойства и добавлять свои элементы. Попытка «удалить» типовой реквизит через расширение не сработает, для скрытия используйте изменение видимости или функциональные опции.
Перед удалением собственного объекта удобно временно переименовать его (например, добавить суффикс «_Удалить») и поработать в базе несколько дней. Если никто не заметил проблем и обновление прошло чисто, объект можно удалять окончательно. Это дешёвый способ проверить, не используется ли он в редких сценариях.
Проверка результата и типичные ошибки
После обновления конфигурации базы данных убедитесь, что удаление прошло корректно. Откройте меню «Все функции» в режиме Предприятия — удалённый объект не должен присутствовать в списках. Запустите типовые отчёты и операции, которые раньше могли опираться на удалённый объект, и проверьте журнал регистрации на наличие ошибок.
Дополнительно полезно выполнить тестирование и исправление базы («Администрирование → Тестирование и исправление») с проверкой ссылочной целостности — это выявит «битые» ссылки, если объект удалялся нестандартно или обновление прерывалось.
Как проверить результат
Объект отсутствует, обновление базы данных завершилось без ошибок
Объект на месте или обновление выдаёт ошибки проверки
Объект не отображается в «Все функции», смежные операции работают
Ошибки «Объект не найден» при открытии документов или отчётов
Нет новых ошибок после удаления
Появляются ошибки обращения к удалённому объекту из кода
Проверка ссылочной целостности проходит без замечаний
Найдены битые ссылки на удалённый объект
Из типичных ошибок чаще всего встречаются: удаление без резервной копии, игнорирование ссылок в коде (поиск только по метаданным), забытые подсистемы и роли, из-за которых обновление падает с ошибками проверки, а также попытка удалить типовой объект вместо его отключения.
Часто задаваемые вопросы
Можно ли восстановить удалённый объект конфигурации?
Только из резервной копии или из сохранённого файла конфигурации (cf). Если копии нет, объект придётся создавать заново вручную, а данные восстановить не получится. Поэтому перед удалением всегда делайте выгрузку базы.
Почему конфигуратор не даёт удалить объект — кнопка неактивна?
Чаще всего конфигурация находится на поддержке с запретом изменений. Откройте «Конфигурация → Поддержка → Настройка поддержки» и включите возможность изменений. Вторая причина — у пользователя нет права «Администрирование» или конфигурация закрыта паролем поставщика.
Удалятся ли данные вместе со справочником или документом?
Да. При обновлении конфигурации базы данных таблицы удаляемого объекта удаляются физически вместе со всеми записями. Если данные нужны, выгрузите их заранее.
Что делать, если обновление базы выдаёт ошибки после удаления?
Откройте окно сообщений и пройдите по списку ошибок: обычно это остаточные ссылки в подсистемах, ролях, критериях отбора, функциональных опциях или коде модулей. Уберите объект из этих мест и повторите обновление. Если разобраться не удаётся, восстановите базу из копии и повторите процедуру аккуратнее.
Как удалить объект, добавленный расширением конфигурации?
Откройте само расширение в конфигураторе, найдите объект в его дереве и удалите, затем обновите конфигурацию базы данных. Альтернатива — отключить или удалить расширение целиком в режиме Предприятия через механизм управления расширениями.
Можно ли удалить объект, не останавливая работу пользователей?
Нет. Обновление конфигурации базы данных с реструктуризацией требует монопольного доступа: все сеансы должны быть завершены. Динамическое обновление для удаления объектов не применяется — оно подходит только для ограниченного набора изменений, не затрагивающих структуру таблиц.