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

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

Если вы работаете в облачной версии или с ограниченными правами, некоторые методы могут быть недоступны. В таком случае пригодятся обходные пути, которые мы тоже рассмотрим. А для программистов и администраторов приведём примеры кода на встроенном языке , позволяющие автоматизировать процесс.

1. Где хранятся статьи расходов в 1С и как их найти

Статьи расходов в могут находиться в разных местах в зависимости от конфигурации и версии платформы. Основные варианты:

  • 📁 Справочник "Статьи движения денежных средств" — самый распространённый вариант для 1С:Бухгалтерия 8.3 и 1С:ERP. Путь: Справочники → Статьи движения денежных средств.
  • 📄 Справочник "Прочие доходы и расходы" — используется для учета операций, не связанных напрямую с денежными средствами (например, списание материалов). Путь: Справочники → Прочие доходы и расходы.
  • 🔄 Подсистема "Бюджетирование" — в 1С:ERP или 1С:Корпорация статьи могут быть частью бюджетной классификации. Путь: Бюджетирование → Классификаторы → Статьи бюджета.

Чтобы быстро найти нужную статью, воспользуйтесь поиском по наименованию (комбинация Ctrl+F в списке справочника) или фильтром по виду операции (например, "Расходы на оплату труда", "Командировочные расходы"). В некоторых конфигурациях статьи группируются по разделам учета (бухгалтерский, налоговый, управленческий), что упрощает навигацию.

⚠️ Внимание: В 1С:Управление торговлей 11 статьи расходов могут называться иначе — например, "Статьи затрат" или "Виды расходов". Уточните название в документации вашей конфигурации или через меню Все функции (Alt+F12).

Если статья не находится в очевидных справочниках, проверьте:

  • 🔍 Журнал документов, где статья могла использоваться (например, в Платежных поручениях или Авансовых отчетах).
  • 📊 Отчет "Анализ субконто" — если статья привязана к субконто (например, "Статьи затрат" в 26 счете).
  • 🛠️ Конфигуратор — для опытных пользователей: откройте объект метаданных Справочник.СтатьиДвиженияДенежныхСредств и проверьте синонимы названий.
📊 Какую конфигурацию 1С вы используете?
1С:Бухгалтерия 8.3
1С:ERP
1С:Управление торговлей
1С:Комплексная автоматизация
Другая

2. Базовый способ: удаление статьи из справочника

Если статья расходов не используется в документах и отчетах, её можно удалить стандартным способом:

  1. Откройте справочник со статьями (например, Справочники → Статьи движения денежных средств).
  2. Найдите нужную статью в списке (используйте фильтр или поиск по названию).
  3. Выделите строку и нажмите Delete или кнопку Удалить на панели инструментов.
  4. Подтвердите удаление в диалоговом окне.

В большинстве случаев система предупредит, если статья используется в документах. Например, может появиться сообщение: "Нельзя удалить элемент, так как на него есть ссылки в объектах базы данных". В этом случае потребуются альтернативные методы, о которых расскажем далее.

Проверьте, не используется ли статья в документах за текущий период

Сделайте резервную копию базы данных (Файл → Сохранить копию)

Убедитесь, что у вас есть права на удаление справочников

Согласуйте действие с бухгалтером (если статья используется в регламентированном учете)-->

Если кнопка Удалить неактивна, причины могут быть следующими:

  • 🔒 Ограничения прав доступа — у вашей роли нет разрешения на удаление справочников. Решается через администратора или настройку ролей в Администрирование → Настройка прав пользователей.
  • 📌 Статья помечена на удаление — в некоторых конфигурациях элементы сначала помечаются на удаление, а физически удаляются позднее (например, при выполнении регламентного задания). Проверьте статус статьи в колонке "Пометка удаления".
  • 🔄 Режим блокировки — если база заблокирована другим пользователем или находится в режиме Использование (не Конфигуратор).

3. Что делать, если статья используется в документах

Если при попытке удаления появляется ошибка о существовании ссылок, значит статья расходов привязана к одному или нескольким документам. В этом случае есть три варианта действий:

  1. Заменить статью в документах на другую (рекомендуемый способ).
  2. Удалить документы, в которых используется статья (если они не нужны).
  3. Пометить на удаление — если физическое удаление невозможно.

Рассмотрим каждый вариант подробнее.

3.1. Замена статьи в документах

Это самый безопасный метод, так как он не нарушает целостность данных. Алгоритм действий:

  1. Сформируйте отчет "Анализ использования статьи" (или аналогичный в вашей конфигурации). Для этого:
    • Перейдите в справочник со статьями.
    • Выделите нужную статью и нажмите Ещё → Анализ использования (или Отчеты → Где используется).
  • В отчете вы увидите список документов, где применяется статья. Откройте каждый документ и замените статью на другую (например, на "Прочие расходы").
  • После замены во всех документах повторите попытку удаления.
  • Если документов много, можно использовать групповую обработку:

    • В 1С:Бухгалтерия 8.3: Операции → Групповая обработка справочников и документов.
    • В 1С:ERP: Сервис → Групповая обработка объектов.

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

    3.2. Удаление документов со статьёй

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

    1. Откройте журнал документов (например, Банк → Платежные поручения или Касса → Расходные кассовые ордера).
    2. Отфильтруйте документы по нужной статье расходов.
    3. Удалите документы по одному или группой (кнопка Удалить помеченные).
    ⚠️ Внимание: Удаление документов может повлиять на бухгалтерские итоги и налоговую отчетность. Перед удалением проверьте, не формируются ли на основе этих документов регламентные операции (например, закрытие месяца). В сомнительных случаях лучше заменить статью, а не удалять документы.

    3.3. Пометка на удаление

    Если физическое удаление невозможно, статью можно пометить на удаление. Это скрывает её из основных списков, но сохраняет в базе для истории. Чтобы сделать это:

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

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

    Метод Когда использовать Плюсы Минусы
    Замена статьи Статья используется в важных документах Сохраняет целостность данных Требует времени на замену
    Удаление документов Документы тестовые или ошибочные Быстрое решение Риск нарушить учет
    Пометка на удаление Невозможно физическое удаление Не ломает ссылки Статья остается в базе

    4. Удаление статьи расходов через конфигуратор (для администраторов)

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

    Порядок действий:

    1. Закройте все сеансы 1С:Предприятие (убедитесь, что в базе нет активных пользователей).
    2. Запустите 1С:Предприятие в режиме Конфигуратор (выберите базу и удерживайте Shift при запуске).
    3. Перейдите в меню Администрирование → Тестирование и исправление.
    4. Выполните Тестирование и исправление информационной базы с галочками:
      • 🔧 Реиндексация таблиц
      • 🔧 Проверка логической целостности
      • 🔧 Проверка ссылочной целостности
  • После завершения тестирования попробуйте удалить статью стандартным способом.
  • Если тестирование не помогло, можно удалить статью напрямую через запрос:

    // Удаление статьи расходов по наименованию
    

    ВыбратьПервые 1000

    СтатьиДвиженияДенежныхСредств.Ссылка Как Ссылка

    Из

    Справочник.СтатьиДвиженияДенежныхСредств Как СтатьиДвиженияДенежныхСредств

    Где

    СтатьиДвиженияДенежныхСредств.Наименование = "Название вашей статьи"

    // Удалить найденные элементы (ВНИМАНИЕ: необратимое действие!)

    УдалитьОбъекты(Ссылка);

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

    Выбрать

    Документ.Ссылка Как Документ,

    Документ.Вид() Как ВидДокумента

    Из

    Документ.ПлатежноеПоручение Как Документ

    Где

    Документ.СтатьяДвиженияДенежныхСредств = &СсылкаНаСтатью

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

    Процедура ЗаменитьСтатьюВДокументах()
    

    СтараяСтатья = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Старая статья");

    НоваяСтатья = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Новая статья");

    Если Не СтараяСтатья = Неопределено И Не НоваяСтатья = Неопределено Тогда

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

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

    "Выбрать

    | ПлатежноеПоручение.Ссылка Как Ссылка

    |Из

    | Документ.ПлатежноеПоручение Как ПлатежноеПоручение

    |Где

    | ПлатежноеПоручение.СтатьяДвиженияДенежныхСредств = &СтараяСтатья";

    Запрос.УстановитьПараметр("СтараяСтатья", СтараяСтатья);

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

    Пока Результат.Следующий() Цикл

    Док = Результат.Ссылка.ПолучитьОбъект();

    Док.СтатьяДвиженияДенежныхСредств = НоваяСтатья;

    Док.Записать();

    КонецЦикла;

    КонецЕсли;

    КонецПроцедуры

    💡

    Перед выполнением массовых операций через конфигуратор откройте Файл → Открыть... и сохраните резервную копию базы в формате .dt. Это позволит быстро откатиться в случае ошибки.

    5. Альтернативные способы: архивация и скрытие статей

    Если удалить статью невозможно или нецелесообразно, рассмотрите альтернативные варианты:

    • 🗃️ Архивация: перенесите статью в отдельную группу справочника (например, "Архивные статьи") и запретите её использование в новых документах через настройку прав.
    • 👁️ Скрытие: снимите галочку Используется в карточке статьи (если такой реквизит есть в вашей конфигурации). Это скроет её из выпадающих списков при создании документов.
    • 🔄 Замена на универсальную статью: объедините редко используемые статьи в одну (например, "Прочие расходы") и перенастройте аналитику по субконто.

    Для архивации:

    1. Создайте в справочнике новую группу (например, Архивные статьи).
    2. Перенесите ненужную статью в эту группу перетаскиванием или через меню Действия → Переместить в группу.
    3. Настройте права доступа так, чтобы пользователи не могли выбирать статьи из архивной группы в новых документах.

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

    • Откройте карточку статьи.
    • Установите флаг Заблокировано или Не используется (название зависит от конфигурации).
    • Сохраните изменения.
    ⚠️ Внимание: В 1С:Бухгалтерия 8.3 редакции 3.0 и новее некоторые статьи расходов могут быть предопределенными (например, "Налог на прибыль"). Такие статьи удалить или отредактировать нельзя — их можно только скрыть или заменить в документах.

    6. Особенности удаления в облачной версии 1С

    Если вы работаете в облачной версии 1С (например, 1С:Fresh или 1С:Предприятие через браузер), возможности по удалению статей расходов могут быть ограничены. Основные нюансы:

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

    Что делать в облаке:

    1. Используйте замену статьи вместо удаления (как описано в разделе 3.1).
    2. Обратитесь в поддержку — в некоторых тарифах 1С:Fresh администраторы могут удалить статью по запросу.
    3. Помечайте на удаление — это самый безопасный способ, так как физическое удаление выполнит система.

    Пример запроса в поддержку:

    Тема: Прошу удалить статью расходов
    Текст: Добрый день! В справочнике "Статьи движения денежных средств" есть статья "[Название]", которая не используется, но её невозможно удалить из-за ссылок в архивных документах. Прошу удалить её вручную или подсказать альтернативный способ. Название базы: [Ваше название], идентификатор пользователя: [Ваш ID].

    В облачных версиях 1С:ERP или 1С:Корпорация может быть доступна функция "Архивация данных", которая позволяет перенести устаревшие статьи в отдельное хранилище без физического удаления.

    Как проверить, есть ли в облаке доступ к конфигуратору?

    В большинстве облачных тарифов 1С:Fresh доступ к конфигуратору закрыт. Исключение — тарифы "Профессиональный" или "Корпоративный" с опцией "Расширенное администрирование". Чтобы уточнить возможности вашего тарифа, перейдите в Администрирование → О программе и проверьте раздел "Дополнительные возможности".

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

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

    Ошибка Причина Решение
    "Нельзя удалить элемент, так как на него есть ссылки" Статья используется в документах или регистрах Найдите документы через отчет "Анализ использования" и замените статью
    "Недостаточно прав для удаления" У пользователя нет роли с правом удаления справочников Обратитесь к администратору или измените настройки ролей
    "Объект помечен на удаление и не может быть изменен" Статья уже помечена на удаление, но ещё не удалена физически Снимите пометку или дождитесь регламентного удаления
    "Ошибка блокировки данных" База заблокирована другим пользователем или регламентным заданием Подождите или перезапустите сеанс

    Другие распространённые проблемы:

    • 🔄 Циклические ссылки: статья ссылается сама на себя или на другую статью, которая, в свою очередь, ссылается на неё. Решение: разорвите цикл, временно изменив ссылки.
    • 📅 Зависимость от периодов: в некоторых конфигурациях статьи нельзя удалить, если они использовались в закрытых периодах. Решение: откройте период через Администрирование → Настройка периодов.
    • 🔧 Ошибки в метаданных: если справочник повреждён, может потребоваться восстановление базы через Тестирование и исправление.

    Если при удалении появляется нестандартная ошибка, проверьте журнал регистрации (Администрирование → Журнал регистрации). Там можно найти подробности об ошибке, включая имя объекта, который блокирует удаление.

    💡

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

    8. Автоматизация: как удалить статьи расходов программно

    Для опытных пользователей и разработчиков есть возможность автоматизировать удаление статей с помощью скриптов. Ниже приведём примеры кода для типичных сценариев.

    8.1. Поиск и удаление неиспользуемых статей

    Скрипт ищет статьи, которые не использовались в документах за последний год, и помечает их на удаление:

    Процедура ПометитьНеиспользуемыеСтатьиНаУдаление()
    

    ГодНазад = ТекущаяДата() - 365;

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

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

    "Выбрать Различные

    | СтатьяДвиженияДенежныхСредств.Ссылка Как Статья

    |Из

    | Документ.ПлатежноеПоручение Как ПлатежноеПоручение

    |Где

    | ПлатежноеПоручение.Дата > &ГодНазад";

    Запрос.УстановитьПараметр("ГодНазад", ГодНазад);

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

    // Получаем все статьи

    Статьи = Справочники.СтатьиДвиженияДенежныхСредств.Выбрать();

    Пока Статьи.Следующий() Цикл

    Нашли = Ложь;

    Результат.Сбросить();

    Пока Результат.Следующий() Цикл

    Если Результат.Статья = Статьи.Ссылка Тогда

    Нашли = Истина;

    Прервать;

    КонецЕсли;

    КонецЦикла;

    Если Не Нашли Тогда

    Статьи.ПометитьНаУдаление();

    Сообщить("Помечена на удаление: " + Статьи.Наименование);

    КонецЕсли;

    КонецЦикла;

    КонецПроцедуры

    8.2. Массовая замена статьи в документах

    Этот скрипт заменяет одну статью на другую во всех платежных поручениях:

    Процедура ЗаменитьСтатьюВПлатежках(СтараяСтатья, НоваяСтатья)
    

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

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

    "Выбрать

    | ПлатежноеПоручение.Ссылка Как Ссылка

    |Из

    | Документ.ПлатежноеПоручение Как ПлатежноеПоручение

    |Где

    | ПлатежноеПоручение.СтатьяДвиженияДенежныхСредств = &СтараяСтатья";

    Запрос.УстановитьПараметр("СтараяСтатья", СтараяСтатья);

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

    КолвоЗамен = 0;

    Пока Результат.Следующий() Цикл

    Док = Результат.Ссылка.ПолучитьОбъект();

    Док.СтатьяДвиженияДенежныхСредств = НоваяСтатья;

    Док.Записать();

    КолвоЗамен = КолвоЗамен + 1;

    КонецЦикла;

    Сообщить("Заменено в " + КолвоЗамен + " документах");

    КонецПроцедуры

    // Пример вызова:

    // Старая = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Старая статья");

    // Новая = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Новая статья");

    // ЗаменитьСтатьюВПлатежках(Старая, Новая);

    8.3. Проверка ссылочной целостности перед удалением

    Скрипт проверяет, можно ли безопасно удалить статью (нет ли на неё ссылок в важных объектах):

    Функция МожноУдалитьСтатью(Статья)
    

    Если Статья.ПометкаУдаления Тогда

    Возврат Ложь; // Уже помечена на удаление

    КонецЕсли;

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

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

    "Выбрать Различные

    | ВидОбъекта.Имя Как Вид,

    | COUNT(*) Как Колво

    |Из

    | (Выбрать

    | ""Документ.ПлатежноеПоручение"" Как ВидОбъекта,

    | ПлатежноеПоручение.Ссылка Как Ссылка

    | Из

    | Документ.ПлатежноеПоручение Как ПлатежноеПоручение

    | Где

    | ПлатежноеПоручение.СтатьяДвиженияДенежныхСредств = &Статья

    |

    | Объединить Все

    |

    | Выбрать

    | ""Документ.АвансовыйОтчет"" Как ВидОбъекта,

    | АвансовыйОтчет.Ссылка Как Ссылка

    | Из

    | Документ.АвансовыйОтчет Как АвансовыйОтчет

    | Где

    | АвансовыйОтчет.СтатьяДвиженияДенежныхСредств = &Статья) Как Данные

    |

    |Сгруппировать По

    | ВидОбъекта.Имя";

    Запрос.УстановитьПараметр("Статья", Статья);

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

    Если Результат.Количество() = 0 Тогда

    Возврат Истина;

    Иначе

    Сообщение = "Статья используется в:" + Символы.ПС;

    Пока Результат.Следующий() Цикл

    Сообщение = Сообщение + "- " +