К статье
Практический материал

Справочники и Данные · 11 мин

Как удалить записи из справочника 1С

Разбираем, как удалить записи из справочника 1С: пометка на удаление, контроль ссылок, окончательное удаление, типичные ограничения и ошибки пользователей.

Удаление записей из справочника в 1С почти никогда не выполняется «в один клик». Платформа специально разделяет операцию на два этапа — пометку на удаление и физическое удаление через контроль ссылочной целостности. Это защищает базу от ситуации, когда исчезает номенклатура, контрагент или договор, на который уже ссылаются проведённые документы, регистры и отчёты.

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

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

Почему 1С не удаляет записи сразу

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

Поэтому в платформе действует двухэтапный механизм. Пометка на удаление — это обратимый флаг: элемент перестаёт предлагаться в полях ввода и визуально выделяется в списке, но физически остаётся в базе вместе со всеми связями. Физическое удаление выполняется только после проверки, что на объект нигде не осталось ссылок, либо после того, как пользователь в явном виде разорвал эти связи.

Как пометить элемент справочника на удаление

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

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

Для групповой пометки выделите несколько элементов с зажатой клавишей Ctrl или Shift и выполните ту же команду. Если нужно пометить элементы по условию (например, все позиции без движений), удобнее использовать типовые обработки «Групповое изменение реквизитов» или специализированные инструменты поиска дублей, которые есть в большинстве конфигураций на базе БСП.

Пометка элемента на удаление
  1. 1
    Откройте справочник и найдите нужный элемент через поиск или отбор
  2. 2
    Выделите элемент и нажмите Delete или «Ещё → Пометить на удаление»
  3. 3
    Убедитесь, что элемент визуально помечен (перечёркнут или затенён)
  4. 4
    Проверьте, что документы с этим элементом по-прежнему открываются корректно

Как удалить помеченные записи окончательно

Физическое удаление выполняется штатной обработкой. В типовых конфигурациях она находится в разделе «Администрирование» → «Обслуживание» → «Удаление помеченных объектов» (в некоторых версиях — «Поддержка и обслуживание»). Для запуска обычно требуются права администратора или роль «Удаление помеченных объектов».

Обработка предлагает два режима: автоматическое удаление всех помеченных объектов и выборочное удаление, где вы сами отмечаете флажками, что именно стереть. Для точечной чистки справочника безопаснее второй вариант — вы видите полный список кандидатов и не удалите лишнее.

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

Что делать, если элемент не удаляется из-за ссылок

Самая частая ситуация: обработка показывает, что на элемент ссылаются документы, и удаление блокируется. Здесь есть три рабочих пути, и выбирать нужно по смыслу данных, а не по принципу «лишь бы удалилось».

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

Второй путь — заменить значение в местах использования. Если это дубликат (например, контрагент заведён дважды), используйте обработку «Поиск и удаление дублей» (в конфигурациях на БСП: «Администрирование» → «Обслуживание» → «Корректировка данных»). Она заменит все ссылки на правильный элемент, после чего дубль удалится без конфликтов.

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

Маршрут решения

Как выбрать действие

Элемент используется в проведённых документах прошлых периодовОставьте только пометку на удаление, физически не удаляйте
Элемент — дубликат правильной записиИспользуйте «Поиск и удаление дублей» с заменой ссылок
Элемент и документы введены ошибочно в текущем периодеПометьте документы на удаление, удалите их, затем элемент
На элемент ссылаются только помеченные объектыУдалите сначала их, затем повторите удаление элемента

Групповое и программное удаление

Когда записей много — например, нужно очистить справочник после тестовой загрузки, — ручная пометка неэффективна. В файловых базах и через конфигуратор доступна обработка «Групповая обработка справочников и документов» (внешняя, поставляется на ИТС), а в типовых конфигурациях — «Групповое изменение реквизитов», которая умеет устанавливать пометку удаления по отбору.

Разработчики могут удалять элементы программно. Метод УстановитьПометкуУдаления(Истина) ставит пометку, а Удалить() удаляет объект напрямую, минуя интерактивный контроль — но контроль ссылочной целостности при этом всё равно выполняется платформой, если удаление идёт в рамках обработки «УдалениеПомеченныхОбъектов».

bsl
СпрОбъект = Справочники.Номенклатура.НайтиПоКоду("000123").ПолучитьОбъект();
СпрОбъект.УстановитьПометкуУдаления(Истина);
// Физическое удаление помеченных:
УдалениеОбъектов.УдалитьПомеченныеОбъекты(МассивСсылок);

Прямой вызов Удалить() у объекта без проверки ссылок — опасный приём: в монопольном режиме он может оставить в базе битые ссылки, если контроль отключён или обойдён. Используйте его только в сервисных обработках с собственной предварительной проверкой ссылок через НайтиПоСсылкам().

Права, блокировки и другие ограничения

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

  • Права пользователя. Роль может запрещать интерактивное удаление или пометку — проверяется в профиле группы доступа или в конфигураторе.
  • Монопольный режим. Обработка удаления помеченных объектов в файловой базе часто требует, чтобы другие пользователи вышли из программы.
  • Запрет изменения данных. Если установлена дата запрета редактирования, объекты закрытого периода (и связанные с ними) не дадут удалить.
  • Предопределённые элементы. Элементы, созданные конфигурацией (с именем в метаданных), удалить нельзя — они нужны для работы кода.
  • Обмен данными. В узлах РИБ или при синхронизации удаление может быть заблокировано, либо пометка «вернётся» из другого узла при следующем обмене.
Типичные ошибки
01
Удаление элемента вместо пометки в надежде «почистить список» — помеченный элемент и так не мешает, а стёртый разрушает историю
02
Чистка дублей вручную без замены ссылок — документы остаются с удалённым контрагентом или номенклатурой
03
Запуск удаления помеченных объектов без копии базы — ошибочно помеченные записи теряются безвозвратно
04
Удаление данных закрытого периода ради «красивого» справочника — съезжают отчёты и регламентированная отчётность
05
Игнорирование обмена данными — удалённый элемент возвращается из другого узла или вызывает конфликт синхронизации

Как проверить результат удаления

После завершения обработки откройте справочник и убедитесь, что целевые записи исчезли из списка (включите отображение помеченных, если оно отключено — помеченные, но не удалённые элементы могут просто скрываться отбором). Затем откройте один-два документа, где раньше использовался удалённый элемент, и убедитесь, что в полях нет надписи вида «<Объект не найден>».

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

Контрольные точки

Как проверить результат

Список справочника
Норма

Удалённые записи отсутствуют, помеченные отображаются с признаком пометки

Тревожный признак

Записи остались без пометки — удаление не выполнялось или нет прав

Документы с бывшим элементом
Норма

Поля заполнены действующими ссылками, документ открывается без ошибок

Тревожный признак

В поле текст «Объект не найден» — ссылка ведёт на удалённую запись

Итоги отчётов до и после
Норма

Обороты и остатки совпадают

Тревожный признак

Суммы изменились — удалён элемент, участвовавший в учёте

Если обнаружились битые ссылки, восстановить данные можно только из резервной копии. Поэтому правило «копия перед чисткой» — не формальность, а единственный способ откатить ошибочное удаление.

Итог

Что важно запомнить

Удаление в 1С двухэтапное: пометка, затем контроль ссылок и физическое удаление. Элементы, участвующие в учёте, не удаляют — только помечают. Дубли убирают заменой ссылок. Перед любой массовой чисткой делают резервную копию и проверяют итоги отчётов после.

Частые вопросы

Можно ли удалить элемент справочника, минуя пометку на удаление?

Интерактивно — нет, штатный сценарий всегда идёт через пометку. Программно метод Удалить() стирает объект сразу, но это инструмент разработчика: без предварительной проверки ссылок через НайтиПоСсылкам() такой способ оставляет в базе битые ссылки.

Почему помеченный элемент снова появляется после обмена данными?

При синхронизации (РИБ, обмен с другими программами) пометка удаления передаётся как обычное изменение. Если в другом узле элемент изменяли или он там активно используется, при следующем обмене версия из главного узла может быть перезаписана. Настройте правила конвертации или согласуйте удаление в обоих узлах.

Как удалить предопределённый элемент справочника?

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

Что произойдёт с документами, если всё же удалить используемый элемент?

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

Можно ли восстановить случайно удалённую запись?

Штатной команды «отменить удаление» в 1С нет. Если элемент только помечен — снимите пометку той же командой. Если удалён физически, восстановление возможно только из резервной копии базы или копии узла обмена, где элемент ещё существует.

Почему обработка «Удаление помеченных объектов» не запускается?

Чаще всего не хватает прав (нужна роль администратора или удаления помеченных) либо в файловой базе работают другие пользователи — обработка требует монопольного доступа. Также проверьте, не установлена ли дата запрета изменения данных, блокирующая операции с объектами закрытого периода.