Удаление номенклатуры в 1С — задача, с которой рано или поздно сталкивается каждый пользователь. Казалось бы, что может быть проще: выбрал позицию и нажал «Удалить». Но на практике всё гораздо сложнее: система может заблокировать удаление из-за связанных документов, остатков на складе или ссылок в регистрах. Неправильные действия приводят к ошибкам в учёте, расхождениям в отчётности и даже потере данных.
В этой статье мы разберём все возможные способы удаления номенклатуры в разных конфигурациях 1С:Предприятие (Бухгалтерия 3.0, Управление Торговлей 11, ERP 2.5), включая ручные методы и автоматизированные инструменты. Особое внимание уделим скрытым нюансам при удалении позиций с остатками, историей движений и ссылками в документах. Также вы узнаете, как восстановить ошибочно удалённую номенклатуру и какие альтернативы существуют, если удаление невозможно.
Почему нельзя просто удалить номенклатуру в 1С?
В отличие от обычных справочников, номенклатура в 1С тесно связана с другими объектами базы данных. Система блокирует удаление, если:
- 📦 Позиция имеет остатки на складах (даже нулевые записи в регистрах)
- 📄 На неё ссылаются документы (поступления, реализации, инвентаризации)
- 🔄 Она участвует в регистрах накопления (партии, себестоимость, резервы)
- 🔗 Используется в другом справочнике (например, как компонент в комплекте)
- 📊 Включена в отчёты или обработки с жёсткими ссылками
Если попытаться удалить такую позицию стандартным способом, 1С выдаст ошибку типа: "Невозможно удалить элемент справочника, так как на него существуют ссылки". Причём сообщение не всегда содержит полную информацию о том, где именно эти ссылки находятся.
Более того, в некоторых конфигурациях (например, 1С:ERP) номенклатура может быть заблокирована для изменений на уровне прав доступа. Даже администратор не сможет её удалить без предварительной разблокировки.
⚠️ Внимание: В конфигурациях с включённым режимом управляемого блокирования (например, 1С:УТ 11.5+) попытка удаления номенклатуры с остатками может привести к зависанию сеанса или ошибке блокировки данных. Перед массовым удалением проверьте настройки блокировок в Администрирование → Поддержка и обслуживание → Блокировки данных.
Способы удаления номенклатуры в 1С
В зависимости от ситуации можно использовать один из четырёх основных методов. Выбор способа зависит от того, есть ли остатки, используется ли позиция в документах и какие права доступа у пользователя.
| Способ удаления | Когда применять | Требуемые права | Риски |
|---|---|---|---|
| Стандартное удаление | Позиция не используется нигде | Права на изменение справочника | Нет |
| Пометка на удаление | Есть ссылки, но нет остатков | Полные права или администратор | Может нарушить целостность отчётов |
| Удаление через обработку | Массовое удаление с остатками | Администратор или разработчик | Высокий риск ошибок в учёте |
| Архивация вместо удаления | Позиция больше не используется | Права на изменение справочника | Увеличение объёма базы |
Рассмотрим каждый способ подробнее.
1. Стандартное удаление номенклатуры
Это самый простой метод, который работает только если позиция никогда не использовалась в документах и не имеет остатков. Подходит для тестовых позиций или ошибочно созданных записей.
Нет остатков на складах (проверьте отчёт "Ведомость по товарам")
Нет ссылок в документах (используйте отчёт "Где используется")
Нет ссылок в других справочниках (комплекты, характеристики)
Позиция не используется в регистрах сведений-->
Инструкция:
- Откройте справочник
Номенклатура(Справочники → Товары и услуги → Номенклатура). - Найдите нужную позицию (используйте фильтр или поиск по артикулу/наименованию).
- Нажмите
Удалить(клавишаDeleteили кнопка в панели инструментов). - Подтвердите удаление в диалоговом окне.
Если система выдаёт ошибку о наличии ссылок, переходите к следующему способу.
В 1С:УТ 11.4+ и ERP 2.5 при удалении номенклатуры можно использовать расширенный поиск ссылок. Для этого в форме элемента справочника нажмите Ещё → Где используется — система покажет все документы и регистры, где упоминается позиция.
2. Пометка на удаление: когда стандартный метод не работает
Если номенклатура используется в документах или регистрах, но остатков на складах нет, её можно пометить на удаление. Этот метод не удаляет позицию физически, а лишь скрывает её от пользователей и исключает из обработок.
Преимущества пометки на удаление:
- 🔄 Сохраняется история движений в отчётах
- 🛡️ Не нарушается целостность базы
- 🔍 Можно восстановить при необходимости
Инструкция:
- Откройте карточку номенклатуры двойным кликом.
- В меню выберите
Действия → Пометить на удаление(или нажмитеCtrl+Delete). - Подтвердите действие. Позиция останется в базе, но будет помечена крестиком.
Чтобы полностью удалить помеченные позиции, нужно выполнить Администрирование → Поддержка и обслуживание → Тестирование и исправление с галочкой Удаление помеченных объектов. Эту операцию должен выполнять администратор или пользователь с полными правами, так как она может занять много времени и заблокировать базу.
⚠️ Внимание: В 1С:Бухгалтерия 3.0 пометка на удаление номенклатуры, которая использовалась в регламентных документах (например, закрытие месяца), может привести к ошибкам при перепроведении. Перед массовой пометкой проверьте, не участвует ли позиция в закрытии периодов.
3. Удаление номенклатуры с остатками: риски и решения
Самая сложная ситуация — когда нужно удалить позицию, по которой есть остатки на складах или незакрытые партии. Стандартными методами это сделать невозможно. Здесь есть три варианта:
- Списать остатки документально (например, через
ИнвентаризациюилиСписание товаров). - Использовать обработку для принудительного удаления (только для опытных пользователей!).
- Архивировать позицию вместо удаления (рекомендуемый способ).
Рассмотрим каждый вариант.
3.1. Списание остатков перед удалением
Это самый безопасный способ, но он требует документального оформления. Подходит для позиций, которые физически отсутствуют на складе (например, устаревшие или бракованные товары).
Инструкция:
- Создайте документ
Инвентаризация товаров на складе(Склад → Инвентаризация). - Добавьте номенклатуру с нулевым количеством.
- Проведите документ — система сформирует расхождения.
- Создайте документ
Списание товаровна основании инвентаризации. - После списания остатков удалите номенклатуру стандартным способом.
Что будет, если не списывать остатки перед удалением?
Если принудительно удалить номенклатуру с остатками (например, через SQL-запрос или обработку), в базе останутся "висячие" записи в регистрах накопления. Это приведёт к:
- Ошибкам при проведении документов по этому складу
- Некорректному расчёту себестоимости (в 1С:ERP и УТ 11)
- Расхождениям в отчётах "Ведомость по товарам" и "Оборотно-сальдовая ведомость"
Восстановить целостность данных после такого удаления можно только через Тестирование и исправление с пересчётом итогов.
3.2. Принудительное удаление через обработку
Для опытных пользователей и администраторов существует возможность удалить номенклатуру в обход стандартных проверок с помощью специальных обработок. Например, в 1С:УТ 11 можно использовать обработку "Поиск и удаление неиспользуемой номенклатуры" (доступна в Файл → Открыть → Дополнительные отчёты и обработки).
Алгоритм работы такой обработки:
- Поиск номенклатуры без движений за указанный период.
- Проверка на наличие ссылок в документах.
- Принудительное удаление или пометка на удаление.
Пример кода для принудительного удаления (только для программистов!):
Процедура УдалитьНоменклатуруБезОстатков()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ПометкаУдаления
| И НЕ СУЩЕСТВУЕТ (
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| РегистрНакопления.ОстаткиТоваров.Номенклатура КАК Номенклатура
| ИЗ
| РегистрНакопления.ОстаткиТоваров
| ГДЕ
| РегистрНакопления.ОстаткиТоваров.Номенклатура = Номенклатура.Ссылка
| )";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Объект = Выборка.Ссылка.ПолучитьОбъект();
Объект.УстановитьПометкуУдаления(Истина);
Объект.Записать();
КонецЦикла;
КонецПроцедуры
⚠️ Внимание: Использование таких обработок нарушает целостность данных, если не учитывать все связи номенклатуры. Например, в 1С:ERP принудительное удаление позиций, участвующих в регистре себестоимости, может привести к ошибкам при закрытии месяца. Перед использованием сделайте резервную копию базы!
3.3. Архивация вместо удаления
Самый безопасный способ «убрать» номенклатуру из оборота — перенести её в архивную группу и запретить использование в документах. Это не удаляет позицию физически, но исключает её из повседневной работы.
Как архивировать номенклатуру:
- Создайте в справочнике
Номенклатурановую группу (например,Архив 2026). - Перенесите номенклатуру в эту группу перетаскиванием или через обработку.
- В настройках прав доступа (
Администрирование → Настройки пользователей и прав) запретите создание документов с номенклатурой из архивных групп. - В отчётах добавьте фильтр по группе, чтобы архивные позиции не отображались.
Преимущества архивации:
- 🔒 Сохраняется история движений
- 📊 Не нарушается целостность отчётности
- 🔄 Можно восстановить позицию в любой момент
4. Как восстановить ошибочно удалённую номенклатуру
Если номенклатура была удалена по ошибке, её можно восстановить из резервной копии или через журнал регистрации (если удаление было недавним).
Способы восстановления:
| Метод восстановления | Когда работает | Инструкция |
|---|---|---|
| Из резервной копии | Если копия сделана до удаления | Восстановите базу из бэкапа через Администрирование → Резервное копирование |
| Через журнал регистрации | Если удаление было не раньше 30 дней назад | Откройте Администрирование → Журнал регистрации, найдите событие удаления и отмените его |
| Ручной ввод | Если известны все реквизиты позиции | Создайте новую номенклатуру с теми же артикулом, наименованием и свойствами |
Если номенклатура была помечена на удаление, но ещё не удалена физически, её можно восстановить:
- Откройте справочник
Номенклатура. - Включите отображение помеченных объектов (
Все действия → Показать помеченные на удаление). - Найдите нужную позицию (она будет отмечена крестиком).
- Снимите пометку через
Действия → Снять пометку удаления.
Если номенклатура была удалена вместе с историей движений, восстановить её полностью можно только из резервной копии. Ручной ввод не вернёт данные по остаткам и документам!
5. Альтернативы удалению: когда лучше не удалять
В некоторых случаях удаление номенклатуры нецелесообразно или опасно. Рассмотрим альтернативные подходы:
- 🏷️ Изменение наименования: Добавьте к названию префикс
[Устарело]или[Не использовать]. Это позволит сохранить историю, но исключит позицию из активного использования. - 🔖 Перенос в другую группу: Как описано в разделе про архивацию, это безопасный способ «спрятать» номенклатуру.
- 📉 Обнуление остатков: Если проблема только в остатках, спишите их документально (см. раздел 3.1).
- 🔄 Замена на другую номенклатуру: В 1С:УТ 11 и ERP можно использовать документ
Замена номенклатуры, чтобы перенести остатки и ссылки на новую позицию.
Пример: вместо удаления устаревшей модели телефона Samsung Galaxy S20 можно:
- Перенести её в группу
Архив → Телефоны 2020. - Добавить в наименование префикс:
[Архив] Samsung Galaxy S20. - Списать остатки (если они есть) через инвентаризацию.
- Запретить использование в новых документах через настройки прав.
Такой подход сохраняет историю продаж и позволяет в любой момент вернуть позицию в оборот, если она снова понадобится.
6. Частые ошибки и как их избежать
При удалении номенклатуры пользователи часто сталкиваются с типичными проблемами. Вот самые распространённые ошибки и способы их решения:
| Ошибка | Причина | Решение |
|---|---|---|
"Невозможно удалить элемент справочника, так как на него существуют ссылки" |
Номенклатура используется в документах или регистрах | Используйте отчёт "Где используется", чтобы найти все ссылки |
| Зависание 1С при попытке удаления | Блокировки данных в многопользовательском режиме | Выполняйте удаление в монопольном режиме или ночью |
| Ошибка при закрытии месяца после удаления | Удалена номенклатура, участвующая в регламентных операциях | Восстановите позицию из архива или исправьте документы закрытия |
| Расхождения в отчётах после массового удаления | Не были пересчитаны итоги регистров | Выполните Тестирование и исправление с пересчётом итогов |
Ещё одна распространённая проблема — удаление номенклатуры с характеристиками. В 1С:УТ 11 и ERP характеристики (цвет, размер и т.д.) хранятся отдельно, и их тоже нужно удалять или архивировать. Если удалить только номенклатуру, а характеристики оставить, в базе останутся «сироты» — записи, которые ни на что не ссылаются, но занимают место.
Перед массовым удалением номенклатуры проверьте, не используется ли она в комплектах или наборах. В 1С:Розница 2.3 удаление компонента комплекта может привести к ошибкам при продаже оставшихся комплектов.
FAQ: Ответы на частые вопросы
Можно ли удалить номенклатуру, если по ней есть остатки на складе?
Нет, стандартными средствами это невозможно. Сначала нужно списать остатки документально (через Инвентаризацию или Списание товаров), а затем удалять позицию. Принудительное удаление через SQL или обработки может нарушить целостность данных.
Как узнать, в каких документах используется номенклатура?
В большинстве конфигураций 1С есть отчёт "Где используется". Чтобы его открыть:
- Откройте карточку номенклатуры.
- Нажмите
Ещё → Где используется(илиДействия → Где используетсяв старых версиях). - Система покажет все документы, справочники и регистры, где упоминается позиция.
В 1С:Бухгалтерия 3.0 этот отчёт может быть скрыт — включите его через Все функции в главном меню.
Что делать, если при удалении 1С зависает?
Зависание обычно связано с:
- Большим количеством ссылок на номенклатуру (например, в регистрах накопления).
- Блокировками данных в многопользовательском режиме.
- Повреждением индексов базы.
Решения:
- Выполните удаление в монопольном режиме (закройте все сеансы кроме своего).
- Используйте
Тестирование и исправлениес пересчётом итогов. - Разбейте удаление на части (например, по 100 позиций за раз).
Как удалить номенклатуру в 1С:Розница 2.3?
В 1С:Розница 2.3 алгоритм аналогичен другим конфигурациям, но есть нюансы:
- Проверьте, не используется ли позиция в чеках ККМ (даже закрытых).
- Если номенклатура привязана к штрихкодам, сначала удалите их через
Справочники → Штрихкоды. - В розничных конфигурациях часто используется серийный учёт — убедитесь, что по позиции нет невыкупленных серий.
Для массового удаления используйте обработку "Чистка справочников" (доступна в дополнительных отчётах).
Можно ли восстановить номенклатуру после очистки базы?
Если номенклатура была физически удалена (не просто помечена на удаление) и после этого выполнялась Очистка базы или Тестирование и исправление с удалением помеченных объектов, восстановить её можно только из резервной копии.
Если копии нет, придётся:
- Создавать позицию заново (со всеми реквизитами).
- Вручную восстанавливать остатки (если они были).
- Исправлять документы, где использовалась старая номенклатура.
Это трудоёмкий процесс, поэтому всегда делайте бэкап перед массовым удалением!