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

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

1. Стандартная пометка на удаление через список документов

Самый простой способ — использовать встроенные возможности интерфейса . Он подходит для небольших пакетов документов (до 1000 строк) и не требует знания программирования.

Откройте журнал документов (например, Продажи → Реализация товаров и услуг или Закупки → Поступление товаров). В верхней панели инструментов найдите кнопку "Ещё" → "Пометить на удаление". Система предложит выбрать критерии фильтрации:

  • 📅 По дате — диапазон создания или проведения документов
  • 📄 По виду — тип документа (например, только "Счет на оплату")
  • 🏢 По контрагенту — конкретный поставщик или покупатель
  • 🔍 По статусу — только проведенные, непроведенные или с ошибками

После применения фильтра отметьте галочками нужные строки (или нажмите Ctrl+A для выделения всех) и подтвердите пометку. Важно: система не удалит документы сразу, а только поставит метку. Для физического удаления потребуется запустить Операции → Регламентные → Удаление помеченных объектов.

💡

Если кнопка "Пометить на удаление" неактивна, проверьте права пользователя в настройках ролей (Администрирование → Пользователи и права). Для массовых операций требуется роль с правом "Удаление данных".

2. Групповая обработка через "Поиск и замена значений"

Для более гибкой фильтрации используйте инструмент Все функции → Стандартные → Поиск и замена значений. Этот метод позволяет:

  • 🔄 Обрабатывать документы по сложным условиям (например, сумма меньше 1000 руб. И статус "Отменен")
  • 📊 Сохранять шаблоны фильтров для повторного использования
  • 🛠️ Автоматически помечать на удаление без ручного выделения

Алгоритм действий:

  1. Запустите обработку Поиск и замена значений.
  2. В поле "Тип объекта" выберите нужный документ (например, "Документ.РеализацияТоваровУслуг").
  3. Установите фильтры в разделе "Отбор". Например:
    Дата >= НачалоГода(ТекущаяДата()) И Дата <= КонецКвартала(ТекущаяДата(), 1)
  4. На вкладке "Действия" выберите "Пометить на удаление".
  5. Нажмите "Выполнить".
Что делать если обработка зависает?

Если при массовой пометке 1С "подвисает", разбейте задачу на части по 500-1000 документов за раз. Также проверьте настройки сервера 1С: для больших баз рекомендуется увеличить параметр MaxMemoryUsage в файле конфигурации srvinfo.reg до 4096 Мб (или выше, если ОЗУ сервера позволяет).

3. Программное удаление через запросы (для разработчиков)

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

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

Выбрать РазрешитьУдаление(Ссылка) Как РазрешениеУдаления

Из Документ.СчетНаОплату Как Счет

Где Счет.Дата Между НачалоГода(ДобавитьМесяц(ТекущаяДата(), -12))

И КонецГода(ДобавитьМесяц(ТекущаяДата(), -12))

И НЕ Счет.Оплачен

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

  1. Создайте внешнюю обработку или откройте Файл → Новый → Внешняя обработка.
  2. Добавьте команду с вышеуказанным запросом.
  3. Запустите обработку в режиме предприятия.
⚠️ Внимание: Перед массовым удалением через запросы обязательно сделайте резервную копию базы (Администрирование → Выгрузить информационную базу). Некоторые документы могут быть связаны с регистрами накопления или бухгалтерскими проводками — их удаление без проверки приведет к нарушению целостности данных.
Тип документа Риск при удалении Рекомендация
Реализация товаров Высокий (связан с регистрамиparty) Проверять остатки товаров после удаления
Поступление денежных средств Средний (влияет на расчеты с контрагентами) Удалять только после сверки взаиморасчетов
Приходный кассовый ордер Низкий (если не связан с банковскими выписками) Можно удалять пакетами по 1000 шт.
Начисление зарплаты Критический (влияет на расчеты ФОТ) Удалять только через специализированные обработки ЗУП

4. Использование специализированных обработок

Для типовых конфигураций (УТ 11, БП 3.0, ЗУП 3.1) существуют готовые обработки массового удаления. Их преимущества:

  • 🎯 Точная настройка фильтров под бизнес-логику конфигурации
  • 🛡️ Автоматическая проверка связей между документами
  • 📈 Возможность тестового режима (просмотр списка перед удалением)

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

  • Официальный портал 1С:ИТС (раздел "Обработки для типовых конфигураций")
  • Каталог Infostart.ru (бесплатные и платные решения)
  • Форум 1С:Клуба программистов (раздел "Готовые обработки")

Пример популярных обработок:

  • "Массовое удаление документов" от Алексея Лукашевича (поддерживает УТ, БП, ERP)
  • "Чистка базы 1С" от Инфостарт (включает анализ связей)
  • "Удаление помеченных объектов с контролем" (для безопасного удаления)
📊 Какую типовую конфигурацию 1С вы используете?
Управление торговлей (УТ 11)
Бухгалтерия предприятия (БП 3.0)
Зарплата и управление персоналом (ЗУП 3.1)
ERP Управление предприятием
Другая
⚠️ Внимание: Обработки от сторонних разработчиков могут содержать ошибки или не учитывать специфику вашей конфигурации. Перед использованием проверяйте код на тестовой базе и читайте отзывы других пользователей на форумах.

5. Автоматизация через регламентные задания

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

  • 🕒 Запускать удаление по расписанию (ночью или в нерабочие часы)
  • 🔄 Автоматически создавать резервные копии перед очисткой
  • 📌 Фиксировать результаты в журнале выполнения

Инструкция по настройке:

  1. Перейдите в Администрирование → Регламентные и фоновые задания.
  2. Создайте новое задание с типом "Обработка объектов".
  3. В параметрах укажите:
    Действие: ПометитьНаУдаление
    

    Отбор: Дата < ДатаНачалаТекущегоМесяца()

    ТипОбъекта: Документ.ЗаказПокупателя

  4. Установите расписание (например, Ежемесячно, 1-е число в 3:00).
  5. Активируйте задание и сохраните.

Сделать резервную копию базы|Проверить права пользователя на удаление|Убедиться в отсутствии связанных документов|Запустить тестовое удаление на 10-20 документах|Сообщить коллегам о времени проведения операции-->

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

Если вы работаете в 1С:Fresh, учтите ключевые ограничения:

  • 🚫 Нет прямого доступа к базе — нельзя использовать внешние обработки или запросы
  • Ограничение по времени выполнения — массовые операции могут прерываться
  • 🔒 Запрет на удаление некоторых документов (например, связанных с отчетностью)

Альтернативные решения для 1С:Fresh:

  • Используйте встроенный "Мастер очистки данных" (Администрирование → Очистка данных).
  • Для сложных случаев обращайтесь в поддержку 1С:Fresh с запросом на очистку.
  • Экспортируйте данные в файл, очищайте локально, затем импортируйте обратно.

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

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

Даже опытные пользователи сталкиваются с проблемами при массовом удалении. Рассмотрим типичные ситуации:

  1. Ошибка: "Документ используется в регистре накопления"
    🔹 Причина: Документ влияет на остатки товаров или денежных средств.
    🔹 Решение: Перед удалением выполните операцию "Снятие остатков" или используйте обработку с контролем связей.
  2. Ошибка: "Недостаточно прав для удаления"
    🔹 Причина: У пользователя нет роли с правом "Удаление данных" или "Администрирование".
    🔹 Решение: Запросите права у администратора или временно войдите под пользователем с полными правами.
  3. Ошибка: "Превышен лимит блокировки"
    🔹 Причина: В базе одновременно работают несколько пользователей, или выбрано слишком много документов (более 10 000).
    🔹 Решение: Разбейте задачу на части или выполните операцию в нерабочее время.
💡

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

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

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

Да, но только если:

  • Вы сделали резервную копию базы до удаления (восстановление из бэкапа).
  • Используете 1С:Fresh — документы хранятся в архиве 30 дней.
  • Включен режим ведения истории изменений (Администрирование → Настройки программы → История изменений).

В остальных случаях восстановление невозможно — удаленные данные физически удаляются из базы.

Почему после пометки на удаление документы не исчезают?

Пометка на удаление — это только метка. Для физического удаления нужно:

  1. Запустить обработку Операции → Регламентные → Удаление помеченных объектов.
  2. Подтвердить удаление в открывшемся окне.
  3. Дождаться завершения операции (может занять несколько минут для больших объемов).

Если документы остаются, проверьте журнал операций на наличие ошибок.

Как удалить документы по конкретному контрагенту?

Используйте фильтр в журнале документов или обработке Поиск и замена значений:

  1. Откройте список документов (например, Продажи → Реализация товаров).
  2. Нажмите Ещё → Настройка списка.
  3. Добавьте поле "Контрагент" в отбор.
  4. Выберите нужного контрагента из справочника.
  5. Примените фильтр и пометьте отобранные документы на удаление.

Для сложных условий (например, контрагенты из определенной группы) используйте запрос:

Выбрать Ссылка Как Документ

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

Где Док.Контрагент В (

Выбрать Ссылка

Из Справочник.Контрагенты

Где ПометкаУдаления = Ложь И Группа = &ГруппаКонтрагентов

)

Можно ли удалить документы за закрытый период?

Технически да, но крайне не рекомендуется. Удаление документов за закрытые периоды:

  • Нарушает целостность бухгалтерского учета.
  • Может привести к расхождениям в отчетности (баланс, НДС, налоги).
  • Потребует пересчета всех зависимых регистров.

Альтернатива: вместо удаления используйте корректировочные документы (например, "Сторно" или "Корректировка долга").

Как ускорить массовое удаление в большой базе (100 000+ документов)?

Для оптимизации:

  • 🔧 Разбейте задачу на пакеты по 5000-10000 документов.
  • 🕒 Выполняйте операцию ночью или в выходные, когда база не нагружена.
  • 🖥️ Увеличьте ресурсы сервера: добавьте ОЗУ (минимум 8 Гб для базы >50 Гб) и оптимизируйте параметры srvinfo.reg.
  • 📊 Отключите индексирование временно: Администрирование → Полнотекстовый поиск → Отключить.

Для баз >200 Гб используйте выгрузку/загрузку данных через 1С:Конвертацию данных или EDT.