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

В этой статье мы разберем 5 безопасных способов удаления — от стандартного интерфейса до программных методов для опытных пользователей. Вы узнаете, когда можно просто нажать Delete, а когда потребуется пометка на удаление или перенос данных в архив. Отдельно остановимся на типичных ошибках, которые превращают рутинную операцию в часовой поиск причин сбоя системы.

Важно: процедура отличается в зависимости от конфигурации (1С:Бухгалтерия, 1С:УТ, 1С:ERP) и версии платформы. Если вы работаете с облачной версией 1С:Fresh, некоторые методы могут быть ограничены — об этом мы предупредим заранее.

1. Стандартное удаление через интерфейс 1С

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

⚠️ Внимание: При попытке удалить позицию, привязанную к документам, 1С покажет сообщение: "Объект используется в документе [Номер] от [Дата]. Удаление невозможно". В этом случае требуется пометка на удаление или архивация.

Как проверить, используется ли позиция:

  • 🔍 Откройте справочник Номенклатура (Справочники → Товары и услуги → Номенклатура)
  • 📊 Выделите нужный элемент и нажмите Ещё → Использование (или Все функции → Использование в старых версиях)
  • 📑 Система покажет список всех документов, где фигурирует позиция

Если список пуст — смело удаляйте. Если нет, переходите к следующему методу.

📊 Какую конфигурацию 1С вы используете?
1С:Бухгалтерия
1С:Управление торговлей
1С:ERP
1С:Зарплата и управление персоналом
Другую

2. Пометка на удаление: когда прямое удаление невозможно

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

  • 📦 Использовалась в прошлых периодах (но не актуальна сейчас)
  • 🔗 Привязана к документам, которые нельзя редактировать (например, закрытые налоговые периоды)
  • 📈 Нужна для истории отчетности, но мешает в текущей работе

Как поставить пометку:

  1. Откройте справочник с нужной позицией
  2. Выделите элемент и нажмите Ещё → Пометить на удаление (или Правка → Пометить на удаление)
  3. Подтвердите действие в диалоговом окне

Чтобы вернуть позицию, используйте Ещё → Снять пометку удаления. Для полного удаления помеченных элементов требуются права администратора и запуск процедуры Удаление помеченных объектов (Администрирование → Обслуживание → Удаление помеченных объектов).

💡

Перед массовой пометкой на удаление экспортируйте список номенклатуры в Excel через Файл → Сохранить как.... Это поможет восстановить данные при ошибке.

3. Архивация вместо удаления: сохраняем историю

В некоторых конфигурациях (например, 1С:ERP) предусмотрен механизм архивации номенклатуры. Он позволяет убрать позиции из активного использования, но сохранить их для анализа прошлых периодов. Преимущества метода:

  • 📂 Не нарушает целостность базы (в отличие от прямого удаления)
  • 🔍 Позволяет фильтровать архивные позиции в отчетах
  • 🔄 Легко восстановить при необходимости

Как архивировать позицию:

  1. Перейдите в справочник Номенклатура
  2. Выделите элемент и нажмите Ещё → Переместить в архив (в некоторых конфигурациях — Действия → Архивировать)
  3. Укажите причину архивации (необязательно, но рекомендуется для учета)

Чтобы просмотреть архивные позиции, используйте фильтр Показать архивные в панели инструментов справочника.

⚠️ Внимание: В конфигурациях без встроенного механизма архивации (например, 1С:Бухгалтерия 8.3) можно создать отдельный справочник Архив номенклатуры и переносить туда устаревшие позиции вручную.

4. Программное удаление через обработки

Для массового удаления или работы с большими базами удобно использовать внешние обработки. Например, обработка "Поиск и удаление дублей" или "Групповое изменение справочников". Эти инструменты позволяют:

  • 🧹 Удалять позиции по заданным критериям (например, неиспользуемые более года)
  • 🔄 Заменять одну номенклатуру на другую во всех документах
  • 📊 Формировать отчеты перед удалением

Где взять обработки:

  • 📥 Инфостарт (раздел Обработки для 1С)
  • 📦 1С:ИТС (для пользователей с действующей подпиской)
  • 💻 Самостоятельная разработка (требует знаний 1С:Предприятие 8.3 и языка запросов)

Пример кода для поиска неиспользуемых позиций (для разработчиков):

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Номенклатура.Ссылка КАК Ссылка

|ИЗ

| Справочник.Номенклатура КАК Номенклатура

|ГДЕ

| НЕ Номенклатура.ПометкаУдаления

| И НЕ СУЩЕСТВУЕТ (

| ВЫБРАТЬ РАЗЛИЧНЫЕ

| Документ.Ссылка.Номенклатура КАК Номенклатура

| ИЗ

| Документ.РеализацияТоваровУслуг КАК Документ

| ГДЕ

| Документ.Ссылка.Номенклатура = Номенклатура.Ссылка

| )";

Результат = Запрос.Выполнить();

⚠️ Внимание: Перед запуском массовых обработок обязательно создайте резервную копию базы через Администрирование → Выгрузить информационную базу. Восстановление данных после ошибочного удаления может занять часы.

5. Удаление через SQL-запросы (для администраторов)

В исключительных случаях (например, при критических ошибках базы) можно удалить позиции напрямую через SQL-запросы. Этот метод требует:

  • 🔑 Прав администратора сервера 1С:Предприятие
  • 🖥️ Доступа к SQL Server Management Studio или аналогичному инструменту
  • 📚 Знаний структуры базы данных вашей конфигурации

Пример запроса для удаления номенклатуры из справочника (упрощенный вариант):

DELETE FROM [dbo].[_Reference83] -- Таблица справочника Номенклатура

WHERE _ID_RREF = (

SELECT _ID_RREF

FROM [dbo].[_Reference83_VT101] -- Виртуальная таблица

WHERE _Description = 'Название позиции'

AND _Marked = 0 -- Не помечена на удаление

);

Опасности метода:

  • 💥 Риск нарушить ссылки между таблицами (целостность базы)
  • 🔗 Возможность "оборвать" документы, где использовалась номенклатура
  • 📉 Потеря данных для отчетности (если позиция использовалась в прошлых периодах)
Когда оправдано прямое SQL-удаление?

Только в случаях, когда стандартные методы 1С не работают из-за ошибок базы (например, после сбоя обновления или некорректного переноса данных). Предварительно тестируйте запросы на копии рабочей базы!

Частые ошибки и как их избежать

Даже опытные пользователи 1С допускают ошибки при удалении позиций. Вот TOP-5 проблем и способы их предотвращения:

Ошибка Причина Как избежать
Разрыв связей в документах Прямое удаление позиции, используемой в накладных или счетах Всегда проверяйте использование через Ещё → Использование
Потеря истории продаж Удаление номенклатуры, по которой велась отчетность Используйте архивацию или пометку на удаление
Ошибки при формировании отчетов Удалены позиции, которые нужны для ретроспективных данных (например, оборотно-сальдовой ведомости) Перед удалением формируйте тестовые отчеты за прошлые периоды
Дублирование после восстановления Позиция была удалена, затем восстановлена из резервной копии, но с другим идентификатором Используйте механизм Поиск и замена дублей после восстановления
Зависание 1С при массовом удалении Одновременная обработка тысяч позиций без оптимизации запросов Разбивайте операции на партии по 100-200 элементов

Особая категория ошибок связана с обменом данными между базами. Если вы удалили позицию в центральной базе 1С:ERP, но забыли синхронизировать изменения с филиалами, это приведет к расхождению данных. Всегда проверяйте настройки обмена в Администрирование → Обмен данными.

Проверено использование позиции в документах|Создана резервная копия базы|Согласовано с бухгалтерией (если позиция использовалась в отчетности)|Проверены связанные справочники (например, "Цены номенклатуры")|Уведомлены пользователи, работающие с этой номенклатурой-->

Особенности удаления в разных конфигурациях 1С

Процедура удаления позиций варьируется в зависимости от конфигурации. Рассмотрим ключевые различия:

1С:Бухгалтерия 8.3:

  • 📌 Поддерживает пометку на удаление и архивацию
  • 🔄 При удалении номенклатуры автоматически проверяет привязки к счетам учета
  • ⚠️ Ограничения на удаление позиций, используемых в Регламентированной отчетности

1С:Управление торговлей (УТ 11):

  • 🛒 Дополнительные проверки на остатки товаров на складах
  • 📦 Возможность массового переноса номенклатуры в архив
  • 🔗 Автоматическая синхронизация с 1С:Розница при удалении

1С:ERP:

  • 🏭 Сложная структура справочников (номенклатура привязана к Характеристикам, Сериям, Партиям)
  • 📈 Поддержка версионности номенклатуры (можно "закрыть" версию вместо удаления)
  • 🔧 Встроенные инструменты для замены номенклатуры в документах

1С:Зарплата и управление персоналом (ЗУП):

  • 👥 Удаление позиций из справочника Должности требует проверки привязки к сотрудникам
  • 📅 Ограничения на удаление элементов, используемых в Кадровых документах
⚠️ Внимание: В облачных версиях 1С:Fresh некоторые функции удаления могут быть ограничены. Например, прямой SQL-запрос к базе невозможен, а массовые операции требуют согласования с технической поддержкой.
💡

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

FAQ: Ответы на частые вопросы

Можно ли удалить позицию, если она используется в закрытом периоде?

Нет, прямое удаление невозможно. В этом случае используйте пометку на удаление или архивацию. Если позиция мешает в работе, перенесите её в отдельную группу справочника (например, "Устаревшая номенклатура") и скройте отображение через настройки прав доступа.

Как восстановить случайно удаленную позицию?

Если позиция была помечена на удаление, но не удалена физически:

  1. Перейдите в Администрирование → Обслуживание → Удаление помеченных объектов
  2. Нажмите Показать помеченные и снимите пометку с нужного элемента

Если позиция удалена физически — восстановите базу из резервной копии или используйте обработку "Восстановление удаленных объектов" (доступна на Инфостарт).

Почему после удаления позиции в отчетах появляются ошибки?

Скорее всего, позиция использовалась в Регистрах накопления (например, Товары на складах или Продажи). В этом случае:

  1. Восстановите позицию из резервной копии
  2. Используйте пометку на удаление вместо физического удаления
  3. Обратитесь к программи