Удаление статьи расходов в 1С:Предприятие — казалось бы, простая операция, но на практике она часто вызывает сложности. Проблемы возникают из-за связей с другими документами, ограничений прав доступа или особенностей конкретной конфигурации (1С:Бухгалтерия 8.3, 1С:ERP, 1С:Управление торговлей). В этой статье разберём все возможные сценарии: от базового удаления из справочника до сложных случаев с блокировками и альтернативными решениями.
Важно понимать, что статья расходов может использоваться не только в ручных операциях, но и в автоматических проводках, шаблонах документов или даже в интеграциях с другими системами. Поспешное удаление без анализа последствий способно нарушить целостность данных. Поэтому перед любыми действиями рекомендуем проверить, где именно применяется статья — об этом подробно расскажем в одном из разделов.
Если вы работаете в облачной версии 1С или с ограниченными правами, некоторые методы могут быть недоступны. В таком случае пригодятся обходные пути, которые мы тоже рассмотрим. А для программистов и администраторов приведём примеры кода на встроенном языке 1С, позволяющие автоматизировать процесс.
1. Где хранятся статьи расходов в 1С и как их найти
Статьи расходов в 1С могут находиться в разных местах в зависимости от конфигурации и версии платформы. Основные варианты:
- 📁 Справочник "Статьи движения денежных средств" — самый распространённый вариант для 1С:Бухгалтерия 8.3 и 1С:ERP. Путь:
Справочники → Статьи движения денежных средств. - 📄 Справочник "Прочие доходы и расходы" — используется для учета операций, не связанных напрямую с денежными средствами (например, списание материалов). Путь:
Справочники → Прочие доходы и расходы. - 🔄 Подсистема "Бюджетирование" — в 1С:ERP или 1С:Корпорация статьи могут быть частью бюджетной классификации. Путь:
Бюджетирование → Классификаторы → Статьи бюджета.
Чтобы быстро найти нужную статью, воспользуйтесь поиском по наименованию (комбинация Ctrl+F в списке справочника) или фильтром по виду операции (например, "Расходы на оплату труда", "Командировочные расходы"). В некоторых конфигурациях статьи группируются по разделам учета (бухгалтерский, налоговый, управленческий), что упрощает навигацию.
⚠️ Внимание: В 1С:Управление торговлей 11 статьи расходов могут называться иначе — например, "Статьи затрат" или "Виды расходов". Уточните название в документации вашей конфигурации или через менюВсе функции(Alt+F12).
Если статья не находится в очевидных справочниках, проверьте:
- 🔍 Журнал документов, где статья могла использоваться (например, в
Платежных порученияхилиАвансовых отчетах). - 📊 Отчет "Анализ субконто" — если статья привязана к субконто (например, "Статьи затрат" в 26 счете).
- 🛠️ Конфигуратор — для опытных пользователей: откройте объект метаданных
Справочник.СтатьиДвиженияДенежныхСредстви проверьте синонимы названий.
2. Базовый способ: удаление статьи из справочника
Если статья расходов не используется в документах и отчетах, её можно удалить стандартным способом:
- Откройте справочник со статьями (например,
Справочники → Статьи движения денежных средств). - Найдите нужную статью в списке (используйте фильтр или поиск по названию).
- Выделите строку и нажмите
Deleteили кнопкуУдалитьна панели инструментов. - Подтвердите удаление в диалоговом окне.
В большинстве случаев система предупредит, если статья используется в документах. Например, может появиться сообщение: "Нельзя удалить элемент, так как на него есть ссылки в объектах базы данных". В этом случае потребуются альтернативные методы, о которых расскажем далее.
Проверьте, не используется ли статья в документах за текущий период
Сделайте резервную копию базы данных (Файл → Сохранить копию)
Убедитесь, что у вас есть права на удаление справочников
Согласуйте действие с бухгалтером (если статья используется в регламентированном учете)-->
Если кнопка Удалить неактивна, причины могут быть следующими:
- 🔒 Ограничения прав доступа — у вашей роли нет разрешения на удаление справочников. Решается через администратора или настройку ролей в
Администрирование → Настройка прав пользователей. - 📌 Статья помечена на удаление — в некоторых конфигурациях элементы сначала помечаются на удаление, а физически удаляются позднее (например, при выполнении регламентного задания). Проверьте статус статьи в колонке "Пометка удаления".
- 🔄 Режим блокировки — если база заблокирована другим пользователем или находится в режиме
Использование(неКонфигуратор).
3. Что делать, если статья используется в документах
Если при попытке удаления появляется ошибка о существовании ссылок, значит статья расходов привязана к одному или нескольким документам. В этом случае есть три варианта действий:
- Заменить статью в документах на другую (рекомендуемый способ).
- Удалить документы, в которых используется статья (если они не нужны).
- Пометить на удаление — если физическое удаление невозможно.
Рассмотрим каждый вариант подробнее.
3.1. Замена статьи в документах
Это самый безопасный метод, так как он не нарушает целостность данных. Алгоритм действий:
- Сформируйте отчет
"Анализ использования статьи"(или аналогичный в вашей конфигурации). Для этого: - Перейдите в справочник со статьями.
- Выделите нужную статью и нажмите
Ещё → Анализ использования(илиОтчеты → Где используется).
"Прочие расходы").Если документов много, можно использовать групповую обработку:
- В 1С:Бухгалтерия 8.3:
Операции → Групповая обработка справочников и документов. - В 1С:ERP:
Сервис → Групповая обработка объектов.
При групповой замене будьте осторожны: ошибка в настройках фильтра может привести к замене статьи в ненужных документах. Всегда делайте резервную копию базы перед массовыми операциями.
3.2. Удаление документов со статьёй
Если документы, в которых используется статья, неактуальны (например, тестовые или ошибочные), их можно удалить. Для этого:
- Откройте журнал документов (например,
Банк → Платежные порученияилиКасса → Расходные кассовые ордера). - Отфильтруйте документы по нужной статье расходов.
- Удалите документы по одному или группой (кнопка
Удалить помеченные).
⚠️ Внимание: Удаление документов может повлиять на бухгалтерские итоги и налоговую отчетность. Перед удалением проверьте, не формируются ли на основе этих документов регламентные операции (например, закрытие месяца). В сомнительных случаях лучше заменить статью, а не удалять документы.
3.3. Пометка на удаление
Если физическое удаление невозможно, статью можно пометить на удаление. Это скрывает её из основных списков, но сохраняет в базе для истории. Чтобы сделать это:
- Откройте справочник со статьями.
- Выделите нужную статью и нажмите
Ещё → Пометить на удаление(илиДействия → Пометить на удаление). - Подтвердите действие.
Помеченная статья будет видна только при включении отображения помеченных объектов (галочка Показывать помеченные на удаление в настройках списка). Полное удаление таких объектов происходит при выполнении регламентного задания "Удаление помеченных объектов" (обычно запускается администратором).
| Метод | Когда использовать | Плюсы | Минусы |
|---|---|---|---|
| Замена статьи | Статья используется в важных документах | Сохраняет целостность данных | Требует времени на замену |
| Удаление документов | Документы тестовые или ошибочные | Быстрое решение | Риск нарушить учет |
| Пометка на удаление | Невозможно физическое удаление | Не ломает ссылки | Статья остается в базе |
4. Удаление статьи расходов через конфигуратор (для администраторов)
Если стандартные методы не работают (например, из-за блокировок или ошибок в базе), можно удалить статью через конфигуратор. Этот способ подходит только для опытных пользователей или администраторов 1С.
Порядок действий:
- Закройте все сеансы 1С:Предприятие (убедитесь, что в базе нет активных пользователей).
- Запустите 1С:Предприятие в режиме
Конфигуратор(выберите базу и удерживайтеShiftпри запуске). - Перейдите в меню
Администрирование → Тестирование и исправление. - Выполните
Тестирование и исправление информационной базыс галочками:- 🔧
Реиндексация таблиц - 🔧
Проверка логической целостности - 🔧
Проверка ссылочной целостности
- 🔧
Если тестирование не помогло, можно удалить статью напрямую через запрос:
// Удаление статьи расходов по наименованию
ВыбратьПервые 1000
СтатьиДвиженияДенежныхСредств.Ссылка Как Ссылка
Из
Справочник.СтатьиДвиженияДенежныхСредств Как СтатьиДвиженияДенежныхСредств
Где
СтатьиДвиженияДенежныхСредств.Наименование = "Название вашей статьи"
// Удалить найденные элементы (ВНИМАНИЕ: необратимое действие!)
УдалитьОбъекты(Ссылка);
⚠️ Внимание: Прямое удаление через запросы может нарушить целостность данных, если статья используется в документах или регистрах. Всегда делайте резервную копию базы перед выполнением таких операций. Лучше сначала проверить, где используется статья, с помощью запроса:
// Проверка использования статьи в документах
Выбрать
Документ.Ссылка Как Документ,
Документ.Вид() Как ВидДокумента
Из
Документ.ПлатежноеПоручение Как Документ
Где
Документ.СтатьяДвиженияДенежныхСредств = &СсылкаНаСтатью
Для массового удаления или замены статей можно написать обработку на встроенном языке. Пример кода для замены статьи во всех платежных поручениях:
Процедура ЗаменитьСтатьюВДокументах()
СтараяСтатья = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Старая статья");
НоваяСтатья = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Новая статья");
Если Не СтараяСтатья = Неопределено И Не НоваяСтатья = Неопределено Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"Выбрать
| ПлатежноеПоручение.Ссылка Как Ссылка
|Из
| Документ.ПлатежноеПоручение Как ПлатежноеПоручение
|Где
| ПлатежноеПоручение.СтатьяДвиженияДенежныхСредств = &СтараяСтатья";
Запрос.УстановитьПараметр("СтараяСтатья", СтараяСтатья);
Результат = Запрос.Выполнить();
Пока Результат.Следующий() Цикл
Док = Результат.Ссылка.ПолучитьОбъект();
Док.СтатьяДвиженияДенежныхСредств = НоваяСтатья;
Док.Записать();
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Перед выполнением массовых операций через конфигуратор откройте Файл → Открыть... и сохраните резервную копию базы в формате .dt. Это позволит быстро откатиться в случае ошибки.
5. Альтернативные способы: архивация и скрытие статей
Если удалить статью невозможно или нецелесообразно, рассмотрите альтернативные варианты:
- 🗃️ Архивация: перенесите статью в отдельную группу справочника (например, "Архивные статьи") и запретите её использование в новых документах через настройку прав.
- 👁️ Скрытие: снимите галочку
Используетсяв карточке статьи (если такой реквизит есть в вашей конфигурации). Это скроет её из выпадающих списков при создании документов. - 🔄 Замена на универсальную статью: объедините редко используемые статьи в одну (например, "Прочие расходы") и перенастройте аналитику по субконто.
Для архивации:
- Создайте в справочнике новую группу (например,
Архивные статьи). - Перенесите ненужную статью в эту группу перетаскиванием или через меню
Действия → Переместить в группу. - Настройте права доступа так, чтобы пользователи не могли выбирать статьи из архивной группы в новых документах.
В некоторых конфигурациях (например, 1С:ERP) можно заблокировать статью для редактирования:
- Откройте карточку статьи.
- Установите флаг
ЗаблокированоилиНе используется(название зависит от конфигурации). - Сохраните изменения.
⚠️ Внимание: В 1С:Бухгалтерия 8.3 редакции 3.0 и новее некоторые статьи расходов могут быть предопределенными (например, "Налог на прибыль"). Такие статьи удалить или отредактировать нельзя — их можно только скрыть или заменить в документах.
6. Особенности удаления в облачной версии 1С
Если вы работаете в облачной версии 1С (например, 1С:Fresh или 1С:Предприятие через браузер), возможности по удалению статей расходов могут быть ограничены. Основные нюансы:
- 🔐 Ограниченные права: в облаке часто отсутствует доступ к конфигуратору и прямым запросам.
- 📤 Автоматические резервные копии: изменения можно откатить только через поддержку.
- 🔄 Отложенное удаление: помеченные на удаление объекты могут храниться дольше, чем в локальной версии.
Что делать в облаке:
- Используйте замену статьи вместо удаления (как описано в разделе 3.1).
- Обратитесь в поддержку — в некоторых тарифах 1С:Fresh администраторы могут удалить статью по запросу.
- Помечайте на удаление — это самый безопасный способ, так как физическое удаление выполнит система.
Пример запроса в поддержку:
Тема: Прошу удалить статью расходов
Текст: Добрый день! В справочнике "Статьи движения денежных средств" есть статья "[Название]", которая не используется, но её невозможно удалить из-за ссылок в архивных документах. Прошу удалить её вручную или подсказать альтернативный способ. Название базы: [Ваше название], идентификатор пользователя: [Ваш ID].
В облачных версиях 1С:ERP или 1С:Корпорация может быть доступна функция "Архивация данных", которая позволяет перенести устаревшие статьи в отдельное хранилище без физического удаления.
Как проверить, есть ли в облаке доступ к конфигуратору?
В большинстве облачных тарифов 1С:Fresh доступ к конфигуратору закрыт. Исключение — тарифы "Профессиональный" или "Корпоративный" с опцией "Расширенное администрирование". Чтобы уточнить возможности вашего тарифа, перейдите в Администрирование → О программе и проверьте раздел "Дополнительные возможности".
7. Частые ошибки и как их избежать
При удалении статей расходов пользователи часто сталкиваются с типичными ошибками. Рассмотрим самые распространённые и способы их решения:
| Ошибка | Причина | Решение |
|---|---|---|
"Нельзя удалить элемент, так как на него есть ссылки" |
Статья используется в документах или регистрах | Найдите документы через отчет "Анализ использования" и замените статью |
"Недостаточно прав для удаления" |
У пользователя нет роли с правом удаления справочников | Обратитесь к администратору или измените настройки ролей |
"Объект помечен на удаление и не может быть изменен" |
Статья уже помечена на удаление, но ещё не удалена физически | Снимите пометку или дождитесь регламентного удаления |
"Ошибка блокировки данных" |
База заблокирована другим пользователем или регламентным заданием | Подождите или перезапустите сеанс 1С |
Другие распространённые проблемы:
- 🔄 Циклические ссылки: статья ссылается сама на себя или на другую статью, которая, в свою очередь, ссылается на неё. Решение: разорвите цикл, временно изменив ссылки.
- 📅 Зависимость от периодов: в некоторых конфигурациях статьи нельзя удалить, если они использовались в закрытых периодах. Решение: откройте период через
Администрирование → Настройка периодов. - 🔧 Ошибки в метаданных: если справочник повреждён, может потребоваться восстановление базы через
Тестирование и исправление.
Если при удалении появляется нестандартная ошибка, проверьте журнал регистрации (Администрирование → Журнал регистрации). Там можно найти подробности об ошибке, включая имя объекта, который блокирует удаление.
Перед любыми манипуляциями со статьями расходов всегда проверяйте их использование в документах за текущий и прошлый годы. Даже если статья не применялась полгода, она может быть нужна для формирования отчетности или анализа динамики расходов.
8. Автоматизация: как удалить статьи расходов программно
Для опытных пользователей и разработчиков 1С есть возможность автоматизировать удаление статей с помощью скриптов. Ниже приведём примеры кода для типичных сценариев.
8.1. Поиск и удаление неиспользуемых статей
Скрипт ищет статьи, которые не использовались в документах за последний год, и помечает их на удаление:
Процедура ПометитьНеиспользуемыеСтатьиНаУдаление()
ГодНазад = ТекущаяДата() - 365;
Запрос = Новый Запрос;
Запрос.Текст =
"Выбрать Различные
| СтатьяДвиженияДенежныхСредств.Ссылка Как Статья
|Из
| Документ.ПлатежноеПоручение Как ПлатежноеПоручение
|Где
| ПлатежноеПоручение.Дата > &ГодНазад";
Запрос.УстановитьПараметр("ГодНазад", ГодНазад);
Результат = Запрос.Выполнить();
// Получаем все статьи
Статьи = Справочники.СтатьиДвиженияДенежныхСредств.Выбрать();
Пока Статьи.Следующий() Цикл
Нашли = Ложь;
Результат.Сбросить();
Пока Результат.Следующий() Цикл
Если Результат.Статья = Статьи.Ссылка Тогда
Нашли = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если Не Нашли Тогда
Статьи.ПометитьНаУдаление();
Сообщить("Помечена на удаление: " + Статьи.Наименование);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
8.2. Массовая замена статьи в документах
Этот скрипт заменяет одну статью на другую во всех платежных поручениях:
Процедура ЗаменитьСтатьюВПлатежках(СтараяСтатья, НоваяСтатья)
Запрос = Новый Запрос;
Запрос.Текст =
"Выбрать
| ПлатежноеПоручение.Ссылка Как Ссылка
|Из
| Документ.ПлатежноеПоручение Как ПлатежноеПоручение
|Где
| ПлатежноеПоручение.СтатьяДвиженияДенежныхСредств = &СтараяСтатья";
Запрос.УстановитьПараметр("СтараяСтатья", СтараяСтатья);
Результат = Запрос.Выполнить();
КолвоЗамен = 0;
Пока Результат.Следующий() Цикл
Док = Результат.Ссылка.ПолучитьОбъект();
Док.СтатьяДвиженияДенежныхСредств = НоваяСтатья;
Док.Записать();
КолвоЗамен = КолвоЗамен + 1;
КонецЦикла;
Сообщить("Заменено в " + КолвоЗамен + " документах");
КонецПроцедуры
// Пример вызова:
// Старая = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Старая статья");
// Новая = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Новая статья");
// ЗаменитьСтатьюВПлатежках(Старая, Новая);
8.3. Проверка ссылочной целостности перед удалением
Скрипт проверяет, можно ли безопасно удалить статью (нет ли на неё ссылок в важных объектах):
Функция МожноУдалитьСтатью(Статья)
Если Статья.ПометкаУдаления Тогда
Возврат Ложь; // Уже помечена на удаление
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"Выбрать Различные
| ВидОбъекта.Имя Как Вид,
| COUNT(*) Как Колво
|Из
| (Выбрать
| ""Документ.ПлатежноеПоручение"" Как ВидОбъекта,
| ПлатежноеПоручение.Ссылка Как Ссылка
| Из
| Документ.ПлатежноеПоручение Как ПлатежноеПоручение
| Где
| ПлатежноеПоручение.СтатьяДвиженияДенежныхСредств = &Статья
|
| Объединить Все
|
| Выбрать
| ""Документ.АвансовыйОтчет"" Как ВидОбъекта,
| АвансовыйОтчет.Ссылка Как Ссылка
| Из
| Документ.АвансовыйОтчет Как АвансовыйОтчет
| Где
| АвансовыйОтчет.СтатьяДвиженияДенежныхСредств = &Статья) Как Данные
|
|Сгруппировать По
| ВидОбъекта.Имя";
Запрос.УстановитьПараметр("Статья", Статья);
Результат = Запрос.Выполнить();
Если Результат.Количество() = 0 Тогда
Возврат Истина;
Иначе
Сообщение = "Статья используется в:" + Символы.ПС;
Пока Результат.Следующий() Цикл
Сообщение = Сообщение + "- " +