Удаление товаров в 1С:Управление Торговлей (УТ 11.4/11.5) — казалось бы, простая операция, но на практике она таит массу подводных камней. Неправильные действия могут привести к разрыву связей в документах, ошибкам при проведении или даже потере данных о продажах. Особенно критично это для позиций, которые уже фигурировали в заказах, реализациях или инвентаризациях.
В этой статье разберём все возможные сценарии: от базового удаления через интерфейс до сложных случаев с остатками на складах и ссылками в архивных документах. Вы узнаете, когда достаточно стандартных инструментов 1С, а когда потребуются SQL-запросы или специализированные обработки. Также рассмотрим альтернативные подходы — например, как скрыть товар вместо удаления, чтобы сохранить историю продаж без риска для учёта.
Прежде чем приступать к удалению, ответьте себе на три ключевых вопроса:
- Есть ли у товара остатки на складах?
- Использовался ли он в проведённых документах (реализации, перемещения, инвентаризации)?
- Нужно ли сохранить историю продаж по этой позиции?
От ответов зависит, какой метод подойдёт именно в вашем случае.
1. Стандартное удаление через интерфейс 1С: когда работает и почему может не сработать
Самый очевидный способ — удаление напрямую из справочника Номенклатура. Он подходит для товаров, которые:
- 📦 Никогда не использовались в документах (новые позиции, ошибочно добавленные)
- 📊 Не имеют остатков на складах
- 📑 Не связаны с другими справочниками (например, не привязаны к серийным номерам или характеристикам)
Чтобы удалить товар стандартным способом:
- Откройте справочник
Номенклатура(Справочники → Товары и услуги → Номенклатура). - Найдите нужную позицию через поиск или фильтры.
- Нажмите
Удалить(или клавишуDelete). - Подтвердите действие в диалоговом окне.
Если кнопка Удалить неактивна или появляется ошибка "Невозможно удалить элемент, т.к. он используется в документах" — значит, товар связан с проведёнными операциями. В этом случае стандартное удаление заблокировано системой для защиты целостности данных.
Проверьте остатки по всем складам|Убедитесь, что товар не используется в открытых заказах|Сделайте резервную копию базы|Просмотрите историю движений по товару (отчёт "Карточка товара")
-->
2. Удаление товара с остатками: обход ограничений 1С
Когда товар имеет остатки на складах, система блокирует его удаление. Решить проблему можно двумя путями:
- Списать остатки через документ
Списание товаров(если товар физически отсутствует). - Переместить на виртуальный склад (например, "Архив" или "Списание"), если нужно сохранить историю.
Пошаговая инструкция для списания:
- Создайте документ
Списание товаров(Документы → Склад → Списание товаров). - Укажите склад, с которого списываете товар.
- Добавьте позицию в табличную часть и укажите количество (равное остатку).
- Заполните статью затрат (например, "Списание брака" или "Утилизация").
- Проведите документ.
После списания остатков товар можно удалить стандартным способом. Если списание невозможно (например, товар резервирован в заказах), используйте отмену резерва через документ Корректировка резерва.
Чтобы быстро найти все документы, где используется товар, воспользуйтесь отчётом "Анализ использования номенклатуры" (Отчёты → Товары → Анализ использования номенклатуры).
3. Удаление товара, используемого в документах: обработки и обходы
Если товар фигурирует в проведённых документах (реализации, приходные накладные, инвентаризации), стандартное удаление заблокировано. В этом случае есть три варианта действий:
Вариант 1. Архивация вместо удаления
- 🗃️ Перенесите товар в отдельную группу справочника (например, "Архивная номенклатура").
- 🔖 Установите признак
Не используетсяв карточке товара. - 📌 Снимите галочку
Действующий(если она есть в вашей конфигурации).
Это позволит скрыть товар из основных списков, но сохранит все связи в документах.
Вариант 2. Использование обработки "Поиск и замена значений"
Если товар ошибочно указан в документах и его нужно заменить на другой:
- Откройте обработку
Поиск и замена значений(Все функции → Обработки → Поиск и замена значений). - В настройках укажите:
- 📋 Объект поиска:
Документ.РеализацияТоваровУслуг.Товары - 🔍 Поле:
Номенклатура - 📝 Значение: выберите удаляемый товар
- ✏️ Новое значение: выберите заменяющий товар
- 📋 Объект поиска:
Вариант 3. Прямое удаление через SQL (для опытных пользователей)
Если товар используется в большом количестве документов и заменить его не представляется возможным, можно удалить ссылки напрямую из базы. Этот метод требует навыков работы с SQL и резервного копирования!
Пример запроса для удаления ссылок из таблицы документа РеализацияТоваровУслуг:
DELETE FROM Document_РеализацияТоваровУслуг_Tovary
WHERE Номенклатура_Key = 'UUID_удаляемого_товара'
⚠️ Внимание: Неправильный SQL-запрос может повредить базу данных. Перед выполнением обязательно:
- Создайте полную резервную копию базы.
- Проверьте запрос на тестовой копии.
- Убедитесь, что у вас есть права на прямое изменение данных.
4. Удаление группы товаров или массовое удаление
Если нужно удалить сразу несколько позиций (например, устаревший ассортимент), ручное удаление каждой из них займёт слишком много времени. В этом случае используйте:
Способ 1. Групповое удаление через обработку
В типовой конфигурации 1С:Управление Торговлей 11 нет стандартной обработки для массового удаления, но её можно добавить:
- Скачайте внешнюю обработку (например, "Массовое удаление номенклатуры" с сайта infostart.ru).
- Подключите её через
Файл → Открыть. - Выберите критерии отбора (например, группа товаров или дата последнего движения).
- Запустите проверку на возможность удаления.
- Подтвердите удаление.
Способ 2. Выгрузка-загрузка через Excel
Для массового удаления можно использовать обмен данными с Excel:
- Выгрузите справочник номенклатуры в
Excel(Все действия → Выгрузить в Excel). - Отметьте в файле товары, которые нужно удалить (например, столбцом "Удалить" с пометкой "Да").
- Создайте обработку для загрузки с учётом пометок на удаление (или используйте готовую, например, "Загрузка номенклатуры из Excel с удалением").
- Загрузите файл обратно в 1С.
Способ 3. Пометка на удаление через запрос
Для опытных пользователей можно использовать 1С:Предприятие в режиме конфигуратора. Пример кода для пометки на удаление всех товаров из группы "Устаревшие":
Выбрать = Новый Запрос;
Выбрать.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Родитель = &Группа";
Выбрать.УстановитьПараметр("Группа", Справочники.Номенклатура.НайтиПоНаименованию("Устаревшие"));
Результат = Выбрать.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Объект = Выборка.Ссылка.ПолучитьОбъект();
Объект.УстановитьПометкуУдаления(Истина);
Объект.Записать();
КонецЦикла;
⚠️ Внимание: Массовое удаление может занять много времени и заблокировать базу для других пользователей. Рекомендуется выполнять операцию в нерабочее время или на тестовой копии.
5. Альтернативные методы: как "убрать" товар без физического удаления
В некоторых случаях удаление товара нецелесообразно или даже опасно для учёта. Рассмотрим альтернативные подходы:
Метод 1. Перенос в архивную группу
Создайте в справочнике Номенклатура группу "Архив" и перенесите туда ненужные позиции. Это позволит:
- 📂 Скрыть товары из основного списка (через настройку видимости групп).
- 📊 Сохранить историю продаж и движения.
- 🔄 При необходимости вернуть товар обратно.
Метод 2. Использование признака "Не используется"
В карточке товара установите флажок Не используется (если он есть в вашей конфигурации). Это скроет позицию из большинства отчётов и документов, но сохранит её в базе.
Метод 3. Замена на "пустой" товар
Если товар ошибочно указан в документах, но удалить его нельзя, замените его на специально созданную позицию типа "Удалён (архив)". Для этого:
- Создайте в справочнике товар с названием "Удалён [оригинальное название]".
- Используйте обработку
Поиск и замена значенийдля замены. - Установите для нового товара нулевую цену и запрет на использование в новых документах.
Метод 4. Скрытие через настройки прав доступа
Ограничьте видимость товара для большинства пользователей через настройки ролей:
- Откройте
Администрирование → Настройки пользователей и прав → Роли. - Выберите роль (например, "Менеджер по продажам").
- В правах на справочник
Номенклатураустановите ограничение по группе (исключите архивные товары).
| Метод | Преимущества | Недостатки | Когда использовать |
|---|---|---|---|
| Архивная группа | Сохраняет историю, легко восстановить | Загромождает справочник | Для временно неиспользуемых товаров |
| Признак "Не используется" | Не требует изменений в документах | Не все конфигурации поддерживают | Если нужна "мягкая" архивация |
| Замена на "пустой" товар | Сохраняет структуру документов | Требует ручной замены | Для ошибочно введённых позиций |
| Ограничение прав | Не затрагивает данные | Не скрывает от администраторов | Для крупных баз с множеством пользователей |
6. Частые ошибки и как их избежать
При удалении товаров в 1С:Управление Торговлей пользователи часто сталкиваются с типичными проблемами. Разберём самые распространённые и способы их решения.
Ошибка 1: "Номенклатура используется в документах"
Эта ошибка появляется, если товар фигурирует хотя бы в одном проведённом документе. Решения:
- 🔄 Используйте обработку
Поиск и замена значенийдля замены товара на другой. - 🗑️ Удалите или перепроведите документы, где он используется (если это возможно по бизнес-логике).
- 📊 Перенесите товар в архивную группу вместо удаления.
Ошибка 2: "Недостаточно прав для удаления"
Если у вас нет прав на удаление, обратитесь к администратору 1С или проверьте настройки роли:
- Откройте
Администрирование → Настройки пользователей и прав → Роли. - Выберите свою роль и проверьте права на справочник
Номенклатура. - Убедитесь, что стоят галочки
Чтение,Добавление,ИзменениеиУдаление.
Ошибка 3: "Товар резервирован в заказах"
Если товар зарезервирован в открытых заказах клиентов, его нельзя ни удалить, ни списать. Действия:
- 📋 Проверьте резервы через отчёт
Ведомость по резервам товаров. - 🔄 Снимите резерв вручную через документ
Корректировка резерва. - 📦 Или дождитесь отгрузки/отмены заказа.
Ошибка 4: "Остатки товара не нулевые"
Даже если товар физически отсутствует, в 1С могут числиться остатки из-за:
- 📊 Ошибок в инвентаризации.
- 🔄 Непроведённых документов.
- 📦 Виртуальных складов (например, "Транзит").
Используйте отчёт Остатки товаров с детализацией по складам, чтобы найти и исправить расхождения.
Ошибка 5: "Ссылки на товар в регистрах"
Товар может использоваться не только в документах, но и в регистрах сведений (например, Цены номенклатуры или Серийные номера). Чтобы найти все ссылки:
- Откройте
Все функции → Стандартные → Поиск ссылок. - Выберите удаляемый товар.
- Просмотрите список объектов, где он используется.
- Удалите или скорректируйте найденные записи.
⚠️ Внимание: Интерфейс и доступные обработки могут отличаться в зависимости от версии 1С:Управление Торговлей (11.4, 11.5) и уровня доступа пользователя. В корпоративных версиях некоторые функции могут быть ограничены.
7. Восстановление удалённого товара: возможно ли?
Если товар был удалён ошибочно, его можно восстановить, но только в том случае, если:
- 🗑️ Не была выполнена операция
Очистка пометок удаления. - 📦 Есть резервная копия базы (до удаления).
- 🔄 Использовалась пометка на удаление, а не физическое удаление.
Способ 1. Восстановление через журнал регистрации
Если товар был помечен на удаление, но не удалён физически:
- Откройте
Все функции → Стандартные → Журнал регистрации. - Найдите запись об удалении (фильтр по дате и пользователю).
- Нажмите
Отменить пометку удаления.
Способ 2. Восстановление из резервной копии
Если товар был удалён физически:
- Восстановите базу из резервной копии (созданной до удаления).
- Экспортируйте удалённый товар в файл (
Все действия → Выгрузить в XML). - Импортируйте его обратно в актуальную базу.
Способ 3. Ручное создание дубля
Если восстановление невозможно, создайте товар заново с теми же параметрами:
- 📋 Скопируйте название, артикул, единицу измерения из старых документов.
- 🔖 Укажите ту же группу в справочнике.
- 📊 Восстановите цены и остатки через документы
Установка цен номенклатурыиОприходование товаров.
Способ 4. Использование обработки "Восстановление удалённых объектов"
На сайте infostart.ru есть обработки, которые могут восстановить удалённые объекты из лога транзакций SQL-сервера. Например:
- 🛠️ "Восстановление удалённых справочников и документов".
- 🔧 "Анализ и восстановление данных 1С".
Эти инструменты требуют навыков работы с SQL и резервными копиями.
⚠️ Внимание: Восстановление удалённых данных — сложная операция, которая может привести к нарушению целостности базы. Если вы не уверены в своих действиях, обратитесь к специалисту 1С.
Что делать, если товар был удалён давно и резервных копий нет?
В этом случае единственный вариант — создать товар заново и вручную скорректировать документы, где он использовался. Для этого:
- Создайте новый товар с тем же названием и артикулом.
- Используйте обработку "Поиск и замена значений", чтобы заменить старый товар на новый в документах.
- Проверьте остатки и движения через отчёт "Карточка товара".
- При необходимости создайте корректирующие документы (например, "Оприходование" или "Списание").
Этот процесс может занять много времени, но он единственный, если резервных копий нет.
8. Автоматизация удаления: как упростить процесс
Если удаление товаров — регулярная задача (например, при очистке устаревшего ассортимента), имеет смысл автоматизировать процесс. Рассмотрим несколько подходов.
Автоматизация 1. Регламентное задание
Можно создать регламентное задание, которое будет помечать на удаление товары, не используемые дольше определённого срока:
- Откройте
Администрирование → Поддержка и обслуживание → Регламентные задания. - Создайте новое задание с типом
Обработка объектов. - Настройте условие: например,
Дата последнего движения < Текущая дата - 365 дней. - Укажите действие:
Установить пометку удаления. - Запустите задание в тестовом режиме и проверьте результат.
Автоматизация 2. Внешняя обработка с гибкими настройками
Например, обработка "Массовая обработка номенклатуры" позволяет:
- 📅 Удалять товары старше заданного срока.
- 📦 Очищать остатки перед удалением.
- 📊 Формировать отчёт о выполненных действиях.
Автоматизация 3. Интеграция с 1С:Документооборот
Если в компании используется 1С:Документооборот, можно настроить бизнес-процесс согласования удаления товаров:
Автоматизация 4. Обмен с 1С:ERP или 1С:УНФ
Если ваша 1С:Управление Торговлей интегрирована с другими системами (например, 1С:ERP), настройте правила обмена данными так, чтобы устаревшие товары автоматически помечались на удаление при синхронизации.
Автоматизация 5. Использование 1С:Script для сложных сценариев
Для опытных пользователей можно написать скрипт на 1С:Script, который будет:
Автоматизация удаления товаров сокращает риск ошибок и экономит время, но требует предварительной настройки и тестирования. Всегда проверяйте результаты работы автоматических обработок на тестовой базе перед применением на рабочей. Если товар использовался в проведённых документах (например, в реализациях), его нельзя удалить стандартным способом. Лучше перенести его в архивную группу или установить признак "Не используется". Это сохранит историю продаж и не нарушит целостность данных. Сначала нужно снять резерв по товару:
После этого товар можно будет удалить (если нет других ссылок) или архивировать. Если товар указан в проведённой инвентаризации, его удаление приведёт к ошибке при открытии документа. Система не сможет найти ссылку на номенклатуру. В этом случае:
Только после этого можно удалять товар.
FAQ: Ответы на частые вопросы
Можно ли удалить товар, который был продан год назад, но теперь не нужен?
Как удалить товар, если он есть в заказах покупателей, но фактически не будет поставляться?
Что будет, если удалить товар, который есть в инвентаризации?
Как массово удалить товары с нулевыми остатками?
Используйте внешнюю обработку (например, "Массовое удаление номенклатуры"). Алгоритм действий:
- Скачайте и подключите обработку.
- Установите фильтр: "Остатки = 0" и "Дата последнего движения < [текущая дата - X дней]".
- Запустите предварительный просмотр списка товаров.
- Подтвердите удаление.
Рекомендуется предварительно сделать резервную копию базы.
Можно ли удалить товар из 1С:УТ, если он есть в 1С:Бухгалтерии?
Если между 1С:Управление Торговлей и 1С:Бухгалтерией настроен обмен данными, удаление товара в УТ приведёт к ошибке синхронизации. В этом случае:
- Сначала удалите или архивируйте товар в 1С:Бухгалтерии.
- Выполните обмен данными.
- Только после этого удаляйте товар в УТ.
Или используйте архивацию вместо удаления, чтобы избежать проблем с обменом.