Справочники и Данные · 9 мин
Как удалить элемент из справочника в 1С
Как удалить элемент справочника в 1С: пометка на удаление, контроль ссылочной целостности, удаление помеченных объектов, типичные ошибки и ограничения.
Удаление элемента справочника в 1С почти никогда не выполняется «в один клик». Платформа защищает целостность базы: если на номенклатуру, контрагента или договор ссылаются документы, физическое удаление такого элемента заблокируется. Поэтому стандартная схема состоит из двух этапов — пометка на удаление и последующая обработка «Удаление помеченных объектов».
Ниже разобраны оба способа: через интерфейс пользователя и программно, а также типичные ситуации, когда кнопка удаления неактивна, и что делать с ошибками ссылочной целостности. Инструкция подходит для типовых конфигураций на управляемых формах (Бухгалтерия, Управление торговлей, ERP, ЗУП) и для обычных форм.
Как устроено удаление в 1С: пометка и физическое удаление
В 1С различают два состояния. Пометка на удаление — это логический флаг: элемент остаётся в базе, но визуально зачёркивается, исключается из большинства подборов и отчётов. Физическое удаление — реальное стирание записи из таблиц базы данных, которое выполняется только после проверки ссылочной целостности.
Такая двухступенчатая схема защищает от случайной потери данных. Помеченный элемент можно восстановить в один клик — сняв пометку. Физически удалённый элемент восстановить нельзя, только из резервной копии. Поэтому перед массовым удалением помеченных объектов рекомендуется сделать выгрузку базы или копию.
Как пометить элемент справочника на удаление
Самый простой способ — через список справочника. Откройте нужный справочник (например, «Номенклатура» или «Контрагенты»), выделите элемент и нажмите клавишу Del или кнопку «Пометить на удаление / Снять пометку» в меню «Ещё». Платформа задаст подтверждающий вопрос, после чего элемент будет зачёркнут.
Второй способ — из карточки элемента. Откройте элемент, в меню «Ещё» выберите «Пометить на удаление». Этот вариант удобен, когда нужно сначала проверить содержимое карточки и связанные данные.
- 1Откройте справочник и найдите нужный элемент через поиск или отбор
- 2Выделите элемент и нажмите Del или «Ещё → Пометить на удаление»
- 3Подтвердите действие в диалоге
- 4Проверьте, что элемент зачёркнут в списке
- 5Для восстановления повторите то же действие — пометка снимется
Пометка нескольких элементов сразу
Чтобы пометить группу элементов, выделите их в списке с зажатой клавишей Ctrl или Shift и нажмите Del. Для выборочной обработки по условию (например, все элементы без движений) удобнее использовать групповую обработку реквизитов — она есть в разделе «Администрирование» типовых конфигураций или как внешняя обработка «Групповое изменение реквизитов».
Как удалить помеченные объекты окончательно
Физическое удаление выполняется штатной обработкой. В типовых конфигурациях она находится в разделе «Администрирование» → «Обслуживание» → «Удаление помеченных объектов». В некоторых конфигурациях путь отличается: «НСИ и администрирование» → «Поддержка и обслуживание».
Обработка предлагает два режима: автоматическое удаление всех помеченных объектов и выборочное удаление, где можно отметить только нужные элементы. Для разовой очистки справочника удобнее выборочный режим — вы видите, что именно будет удалено.
Что делать, если объект не удаляется
Если на помеченный элемент есть ссылки, обработка покажет список мест использования: документы, регистры, другие справочники. Дальше три варианта: удалить или перепровести ссылающиеся документы, заменить элемент в них на другой (например, через поиск и замену дублей) либо оставить пометку без физического удаления — это безопасно и не мешает работе.
Как выбрать действие
Почему кнопка удаления недоступна: права и ограничения
Если команда «Пометить на удаление» отсутствует или неактивна, чаще всего дело в правах. У пользователя должна быть роль, разрешающая интерактивное удаление объектов этого вида. В типовых конфигурациях пометка доступна большинству пользователей, а вот обработка «Удаление помеченных объектов» обычно требует прав администратора.
Другие причины: объект заблокирован другим пользователем, включён запрет редактирования данных за закрытый период (дата запрета изменения данных), либо элемент предопределённый — его пометить нельзя, пока разработчик не снял соответствующее ограничение в конфигурации.
Программное удаление через встроенный язык
Разработчику или администратору иногда нужно удалить элементы кодом — например, в регламентном задании очистки. Стандартная последовательность: получить объект, установить пометку, затем при необходимости вызвать удаление помеченных.
ЭлементОбъект = Справочники.Номенклатура.НайтиПоКоду("000123").ПолучитьОбъект();
ЭлементОбъект.УстановитьПометкуУдаления(Истина);
// Физическое удаление помеченных (требует монопольного доступа)
УдалитьОбъекты(МассивСсылок);
Метод УдалитьОбъекты выполняет контроль ссылочной целостности и вернёт таблицу ошибок, если ссылки есть. Прямой вызов ЭлементОбъект.Удалить() удаляет объект немедленно, но без проверки ссылок в старых версиях платформы — использовать его стоит только при полной уверенности в отсутствии ссылок.
Как проверить результат и найти битые ссылки
После удаления откройте справочник и убедитесь, что элемент исчез из списка (помеченные элементы можно скрыть настройкой отбора). Если удаление выполнялось программно с обходом контроля, проверьте базу на битые ссылки: в конфигураторе есть «Тестирование и исправление» с проверкой ссылочной целостности.
Признак проблемы — записи вида «<Объект не найден>» в документах и отчётах. Они означают, что ссылка указывает на удалённый объект. Лечится восстановлением элемента из копии с тем же GUID или заменой ссылок обработкой.
Как проверить результат
Элемент отсутствует или зачёркнут, список открывается без ошибок
Ошибка при открытии списка, строки «Объект не найден»
Обороты и остатки совпадают с ожидаемыми
Появились строки с битыми ссылками
Зафиксированы события пометки и удаления
Ошибки удаления, отказы в доступе
Проверка ссылочной целостности без ошибок
Найдены ссылки на несуществующие объекты
FAQ: частые вопросы об удалении элементов справочников
Можно ли удалить элемент справочника сразу, без пометки?
В пользовательском режиме типовых конфигураций — нет, прямое удаление обычно отключено правами. Программно возможно через метод Удалить(), но это обход контроля ссылок и риск получить битые ссылки. Рекомендуемый путь — пометка плюс обработка удаления помеченных.
Почему обработка «Удаление помеченных объектов» требует монопольного режима?
При физическом удалении платформа перестраивает таблицы и проверяет ссылки по всей базе. Активные сеансы пользователей могут блокировать таблицы, поэтому для полного удаления запрашивается монопольный доступ. Выборочное удаление отдельных объектов иногда работает и без монопольного режима.
Как удалить дубли элементов справочника?
Используйте штатную обработку «Поиск и удаление дублей» (раздел «Администрирование» → «Обслуживание»). Она находит похожие элементы и заменяет все ссылки на выбранный «правильный» элемент, после чего дубли можно безопасно удалить.
Что делать, если пометил элемент по ошибке?
Выделите помеченный элемент и повторно нажмите Del или «Пометить на удаление / Снять пометку» — пометка снимется, элемент вернётся в обычное состояние со всеми данными. Это работает до момента физического удаления.
Можно ли удалить элемент, если по нему есть проведённые документы?
Пометить — да, физически удалить — нет: контроль ссылочной целостности заблокирует операцию и покажет список документов. Нужно сначала отменить проведение или удалить документы, либо заменить в них ссылку. Для закрытых периодов правильнее оставить пометку.
Как скрыть помеченные элементы из списка, не удаляя их?
В настройках списка добавьте отбор «Пометка удаления = Нет». Во многих типовых конфигурациях помеченные элементы скрываются автоматически настройкой формы списка.
Что важно запомнить
Удаление в 1С двухэтапное: сначала пометка (Del), затем обработка «Удаление помеченных объектов» в разделе администрирования. Ссылки из документов блокируют физическое удаление — их нужно убрать или заменить. Перед массовым удалением делайте резервную копию, а дубли убирайте через «Поиск и удаление дублей».