Работа с большими массивами документов в 1С:Предприятие часто требует не только создания, но и группового удаления ненужных записей. Ручное удаление каждого документа по отдельности отнимает часы, особенно если речь идет о сотнях или тысячах строк. К счастью, платформа 1С 8.3 предоставляет несколько инструментов для массового удаления, но каждый из них имеет свои нюансы и ограничения.

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

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

1. Стандартная обработка «Групповое изменение реквизитов»

Самый простой способ удалить несколько документов — использовать встроенную обработку Групповое изменение реквизитов. Она доступна в большинстве конфигураций (Бухгалтерия 3.0, Управление торговлей 11, Зарплата и управление персоналом 3.1) и не требует навыков программирования.

Чтобы открыть обработку:

  • 📂 Перейдите в меню Все функции → Стандартные → Групповое изменение реквизитов (путь может незначительно отличаться в зависимости от конфигурации).
  • 🔍 В поле Тип объекта выберите нужный вид документа (например, Реализация товаров и услуг).
  • 📅 Задайте период, за который нужно удалить документы, или используйте Отбор для фильтрации по реквизитам (контрагент, сумма, статус).
  • 🗑️ В разделе Действия выберите Удалить объекты и подтвердите операцию.

Обратите внимание: обработка удаляет документы без возможности восстановления через интерфейс 1С. Если в базе включен механизм Пометки на удаление, документы сначала помечаются на удаление, а физически удаляются при выполнении операции Удаление помеченных объектов (доступно в Администрирование → Обслуживание).

💡

Если обработка не отображается в меню, проверьте права пользователя. Для доступа к групповому изменению требуется роль с правом Интерактивное удаление объектов или аналогичным.

2. Удаление через консоль запросов (для опытных пользователей)

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

Пример запроса для удаления всех Заказов покупателей с статусом Отменен и датой раньше 01.01.2023:

ВЫБРАТЬ

ЗаказПокупателя.Ссылка КАК Ссылка

ИЗ

Документ.ЗаказПокупателя КАК ЗаказПокупателя

ГДЕ

ЗаказПокупателя.Статус = ЗНАЧЕНИЕ(Справочник.СтатусыЗаказовПокупателей.Отменен)

И ЗаказПокупателя.Дата < ДАТАВРЕМЯ(2023, 1, 1, 0, 0, 0)

После выполнения запроса:

  1. Скопируйте полученные ссылки в временную таблицу.
  2. Используйте цикл для пометки на удаление:
    Для Каждого Ссылка Из РезультатЗапроса Цикл
    

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

    Объект.УстановитьПометкуУдаления(Истина);

    Объект.Записать();

    КонецЦикла;

  3. Выполните Удаление помеченных объектов в режиме Администрирование.
Что делать, если запрос выполняется слишком долго?

Если выборка занимает более 5–10 минут, разбейте период на более мелкие интервалы (например, по месяцам) или добавьте индексируемые поля в условие ГДЕ. Также проверьте, не блокируют ли документы другие сессии пользователей.

⚠️ Внимание: При работе с запросами легко допустить ошибку в условии отбора. Всегда тестируйте запрос в режиме ВЫБРАТЬ (без удаления) и проверяйте количество строк в результате. Если документов больше, чем ожидалось, уточните критерии.

3. Использование внешних обработок для массового удаления

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

  • 📊 Универсальная обработка удаления документов — позволяет удалять любые виды документов с гибкими фильтрами.
  • 🔄 Очистка базы от дублей — специализирована на поиске и удалении повторяющихся документов.
  • 🗃️ Архиватор документов — переносит документы в архив перед удалением (полезно для аудита).

Как подключить внешнюю обработку:

  1. Скачайте файл с расширением .epf или .erf.
  2. В 1С перейдите в Файл → Открыть → Выбрать файл обработки.
  3. Следуйте инструкциям на экране (обычно требуется указать тип документа, период и дополнительные фильтры).

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

📊 Какой метод удаления документов в 1С вы используете чаще?
Стандартная обработка
Консоль запросов
Внешние обработки
Программный код (1С или API)
Не удаляю массово

4. Программное удаление через 1С:Предприятие (для разработчиков)

Если вам нужно автоматизировать удаление (например, по расписанию), можно написать программный код на встроенном языке . Ниже пример скрипта для удаления всех Поступлений товаров от конкретного поставщика:

Процедура УдалитьДокументыПоставщика(ИмяПоставщика)

Отбор = Новый Структура();

Отбор.Вставить("Контрагент", ИмяПоставщика);

Выборка = Документы.ПоступлениеТоваровУслуг.Выбрать(,, Отбор);

Пока Выборка.Следующий() Цикл

ДокументОбъект = Выборка.ПолучитьОбъект();

ДокументОбъект.УстановитьПометкуУдаления(Истина);

ДокументОбъект.Записать();

КонецЦикла;

// Удаление помеченных объектов

ОбъектМенеджер = ПолучитьОбъект("Справочник.ОбслуживаниеБазы");

ОбъектМенеджер.УдалениеПомеченныхОбъектов(Истина);

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

Этот код:

  1. Формирует отбор по контрагенту.
  2. Помечает все найденные документы на удаление.
  3. Запускает процедуру физического удаления.

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

5. Удаление через API и внешние системы (REST, HTTP-сервисы)

Для интеграции с внешними системами (например, BI-аналитика, CRM) можно использовать API 1С. Это актуально, если удаление документов должно инициализироваться из другой программы или по событию (например, после синхронизации с маркетплейсом).

Пример запроса к REST-сервису 1С для удаления документа по UUID:

DELETE /hs/Document/ПоступлениеТоваровУслуг/123e4567-e89b-12d3-a456-426614174000

Headers:

Authorization: Basic {base64_login:password}

Content-Type: application/json

Особенности работы через API:

Параметр Описание
Аутентификация Требуется передача логина/пароля или токена (настраивается в Администрирование → Публикация на веб-сервере).
Ограничения Не все конфигурации поддерживают массовое удаление через API. В 1С:ERP и 1С:КА 2.4 доступно, в 1С:Бухгалтерия 3.0 — только чтение.
Логирование Все действия через API записываются в журнал РегистрацияСобытий (раздел Администрирование).
Безопасность Рекомендуется использовать HTTPS и ограничивать IP-адреса в настройках веб-сервера.

Для массового удаления через API обычно пишут скрипт на Python, C# или JavaScript, который:

  1. Получает список документов по критериям (GET-запрос).
  2. Отправляет DELETE-запросы для каждого ID.
  3. Фиксирует ошибки (например, если документ заблокирован).

Сделать резервную копию базы|Проверить права пользователя на удаление|Тестировать запрос/скрипт на копии базы|Согласовать список документов с бухгалтерией|Запланировать удаление на нерабочее время-->

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

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

  1. Удаление связанных документов. Например, при удалении Реализации может пропасть ссылка в Счете-фактуре. Решение: используйте отбор по статусу (Не проведен) или проверяйте ссылки через запрос:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    

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

    ИЗ

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

    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СчетаФактурыВыданные КАК Счета

    ПО Документ.Ссылка = Счета.ДокументОснова

    ГДЕ

    Счета.ДокументОснова ЕСТЬ NULL

  2. Блокировка базы. Длительные транзакции блокируют таблицы. Решение: разбивайте удаление на пакеты по 100–200 документов с паузой между ними.
  3. Нехватка прав. Пользователь должен иметь роль с правом Удаление или Администрирование. Проверьте в Администрирование → Пользователи.
  4. Игнорирование пометки удаления. Если в базе включен механизм пометок, физическое удаление не сработает, пока не выполнено Удаление помеченных объектов.
  5. Удаление по неверному критерию. Всегда проверяйте результат запроса перед удалением. Например, условие Дата < ТекущаяДата() удалит все документы, включая сегодняшние.
💡

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

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

Можно ли восстановить документы после массового удаления?

Если документы были помечены на удаление, их можно восстановить через Администрирование → Обслуживание → Восстановление помеченных объектов. Если выполнено физическое удаление, восстановление возможно только из резервной копии базы.

Почему при удалении выдает ошибку «Объект используется»?

Эта ошибка означает, что документ ссылается на другие объекты (например, на Заказ клиента или Счет на оплату). Решения:

  • Удалите сначала зависимые документы.
  • Используйте запрос с проверкой ссылок (пример есть в разделе про ошибки).
  • В некоторых конфигурациях (например, 1С:ERP) можно принудительно удалить объект с зависимостями через Регламентные операции.
Как удалить документы в 1С:УНФ (Управление нашей фирмой)?

В 1С:УНФ массовое удаление доступно через:

  1. Настройки → Обслуживание → Групповое изменение и удаление.
  2. Внешнюю обработку Универсальный отчет с возможностью удаления (доступна на портале ИТС).

Обратите внимание: в УНФ многие документы сильно связаны (например, ЗаказРеализацияПоступление денег). Удаляйте их в обратном порядке.

Можно ли удалить документы через SQL-запрос напрямую к базе?

Технически да, но это крайне не рекомендуется. Прямое изменение таблиц базы данных (например, _DocumentXXX) нарушает целостность объектов 1С, что приводит к:

  • Ошибкам при открытии базы.
  • Рассинхронизации данных в регистрах.
  • Потере ссылок между объектами.

Используйте только встроенные механизмы 1С или обратитесь к специалисту.

Как удалить документы в облачной версии 1С (1С:Fresh)?

В 1С:Fresh массовое удаление ограничено по причинам безопасности. Доступные способы:

  • Ручное удаление через интерфейс (по одному документу).
  • Обращение в поддержку с запросом на очистку (требуется обоснование).
  • Использование REST API (если включено в тарифе).

⚠️ В облаке невозможно подключить внешние обработки или выполнить программный код.