Работа с 1С: Управление Торговлей (УТ) рано или поздно сталкивает пользователей с необходимостью очистки базы от ненужных данных. Одной из самых распространённых задач становится удаление документов, помеченных на удаление — тех записей, которые были отмечены как устаревшие или ошибочные, но физически ещё хранятся в системе. Эти "призрачные" документы занимают место в базе, замедляют работу отчётов и могут искажать аналитику.

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

Особое внимание уделим нюансам: почему некоторые документы не удаляются даже после пометки, как избежать ошибок при очистке связанных данных (например, проводок или движений по регистрам), и что делать, если права доступа не позволяют выполнить операцию. Инструкции актуальны для 1С:УТ 10.3, 11.x и 1С:ERP 2.5 (с учётом особенностей конфигураций).

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

Механизм пометки на удаление в — это компромисс между безопасностью данных и производительностью системы. Вот ключевые причины такого подхода:

  • 🔄 Возможность отмены: Пользователь может передумать или обнаружить, что документ всё же нужен. Пока физического удаления не произошло, восстановление занимает секунды.
  • 📊 Целостность отчётности: Некоторые документы (например, закрывающие месяц) нельзя удалять "на лету" — это нарушит бухгалтерский баланс. Пометка позволяет отложить очистку до безопасного момента.
  • 🔗 Связанные объекты: Документы часто ссылаются друг на друга (например, реализация на основании заказа). Удаление "родительского" документа без проверки зависимостей может сломать логику работы.
  • 🛡️ Защита от случайных действий: В многопользовательских базах риск ошибочного удаления высок. Двухэтапная процедура (пометка → физическое удаление) снижает этот риск.

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

  • 📉 Замедлять формирование отчётов (особенно если их тысячи).
  • 🔍 Путать пользователей при поиске актуальных данных.
  • 💾 Занимать место в базе и резервных копиях.

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

📊 Как часто вы очищаете базу 1С от помеченных документов?
Раз в месяц
Раз в квартал
Только когда система тормозит
Никогда не очищал

Какие документы можно удалять, а какие — нет?

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

Тип документа Можно удалять? Риски
Черновики заказов/накладных ✅ Да Нет движений по регистрам
Оприходования/списания (без проводок) ✅ Да Проверьте, что нет связанных финансовых операций
Реализации/поступления с проводками ⚠️ Условно Требуется перепроведение зависимых документов
Закрытие месяца/периода ❌ Нет Нарушит бухгалтерскую отчётность
Документы с внешними ссылками (например, из CRM) ❌ Нет Может сломать интеграцию

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

  • 📈 Остатки товаров на складах.
  • 💰 Финансовые результаты в отчётности.
  • 📑 Связи с другими документами (например, оплата по счёту).

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

  1. Есть ли у документа Проводки (Дт/Кт) в бухгалтерском учёте?
  2. Ссылаются ли на него другие объекты (кнопка Перейти → Ссылки на этот документ)?
  3. Не входит ли он в закрытые периоды (настройки учёта)?
💡

Используйте отчёт "Анализ учёта" (раздел "Отчёты → Стандартные → Анализ учёта") для проверки влияния документа на остатки. Если после удаления пометки остатки не изменились — объект можно безопасно очищать.

Способ 1: Ручное удаление через интерфейс 1С (для пользователей)

Если у вас есть права на удаление документов, самый простой способ — использовать стандартный интерфейс 1С:Управление Торговлей. Этот метод подходит для очистки небольшого количества записей (до 50–100 документов).

Пошаговая инструкция:

  1. Откройте список документов, которые нужно очистить (например, Продажи → Реализация товаров и услуг).
  2. Включите отображение помеченных на удаление объектов:
    Все действия → Показать помеченные на удаление
  3. Выделите нужные документы (можно использовать Shift+клик для множественного выбора).
  4. Нажмите Удалить помеченные (или Ещё → Удалить помеченные в новых версиях).
  5. Подтвердите действие в диалоговом окне.

Ограничения метода:

  • 🚫 Не работает для документов с движениями (будет ошибка "Нельзя удалить документ, по которому есть движения").
  • 🐢 Медленно при большом количестве записей (более 100).
  • 🔒 Требуются права на удаление (обычно есть у администраторов или главбухов).

Проверьте права доступа (раздел "Администрирование → Пользователи")

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

Убедитесь, что документы не используются в отчётности

Закройте все открытые сессии других пользователей-->

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

Способ 2: Регламентное задание "Очистка помеченных объектов"

Для автоматической очистки в 1С:УТ предусмотрено регламентное задание Очистка помеченных объектов. Оно запускается по расписанию (например, раз в неделю) и удаляет все помеченные документы, которые не имеют зависимостей.

Как настроить:

  1. Перейдите в Администрирование → Регламентные задания.
  2. Найдите задание Очистка помеченных объектов (если его нет — создайте новое с типом ОчисткаПомеченныхОбъектов).
  3. Установите расписание (рекомендуется вне рабочих часов, например, в 2:00 ночи).
  4. В настройках задания укажите:
    Удалять объекты старше (дней): 30
    

    Максимальное количество объектов за запуск: 1000

  5. Сохраните и запустите вручную для теста (кнопка Выполнить сейчас).

Преимущества метода:

  • ⏰ Работает автоматически без участия пользователя.
  • 🔧 Можно настроить фильтры (например, очищать только документы старше 30 дней).
  • 📊 Ведётся журнал выполнения (проверяйте его на ошибки!).
Что делать если регламентное задание зависает?

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

1. Блокировка базы — проверьте активные сессии в "Администрирование → Активные пользователи".

2. Слишком большой объём данных — разбейте очистку на части (например, по 500 документов за запуск).

3. Повреждение данных — запустите тестирование и исправление базы (Администрирование → Тестирование и исправление).

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

Способ 3: Принудительное удаление документов с движениями

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

  1. Снять проводки (отменить движения).
  2. Удалить документ.

Для этого есть два пути:

Вариант А: Ручное снятие проводок

Подходит для единичных документов:

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

Вариант Б: Обработка для массового снятия проводок

Для пакетной обработки используйте внешнюю обработку (например, УниверсальнаяОчисткаПомеченных.epf). Алгоритм:

  1. Скачайте обработку с сайта 1С-ИТС или форумов (например, Инфостарт).
  2. Откройте её в 1С через Файл → Открыть → Выбрать файл обработки.
  3. Укажите параметры:
    Тип документов: РеализацияТоваровУслуг
    

    Дата начала: 01.01.2023

    Снимать проводки: Да

    Удалять после снятия: Да

  4. Запустите обработку и дождитесь завершения.

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

💡

Если после удаления документов с проводками остатки в отчётах изменились — необходимо восстановить удалённые объекты и перепровести связанные операции.

Способ 4: Удаление через SQL-запрос (для администраторов)

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

Алгоритм:

  1. Создайте резервную копию базы (1Cv8.1CD файл).
  2. Подключитесь к SQL-серверу через Microsoft SQL Server Management Studio или аналоги.
  3. Выполните запрос для поиска помеченных документов (пример для реализаций):
    SELECT
    

    Т1.Sclad_Reference AS Документ,

    Т1.Sclad_Date AS Дата

    FROM

    dbo._Document169 AS Т1 -- 169 - номер типа документа "РеализацияТоваровУслуг"

    WHERE

    Т1._Marked = 1 -- Пометка на удаление

    AND Т1._Posted = 0 -- Не проведён (без движений)

  4. Для удаления используйте запрос (только для НЕпроводимых документов!):
    DELETE FROM dbo._Document169 WHERE _Marked = 1 AND _Posted = 0

⚠️ Внимание:

Не удаляйте через SQL документы с _Posted = 1 (проводимые)! Это приведёт к расхождению данных в регистрах. Для таких объектов сначала снимайте проводки через 1С, затем удаляйте.

Также учитывайте:

  • 🔢 Номера типов документов (169 в примере) могут отличаться в разных конфигурациях. Уточняйте их в таблице dbo._DocumentTypes.
  • 🔄 После SQL-очистки рекомендуется выполнить тестирование базы (Администрирование → Тестирование и исправление).

Ошибки при удалении и как их исправить

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

Ошибка Причина Решение
"Документ используется в регистре..." Есть движения по регистрам накопления/бухгалтерии Снять проводки (см. Способ 3)
"Недостаточно прав" У пользователя нет роли "Администратор" или "Полные права" Обратиться к администратору или временно повысить права
"Объект заблокирован другим пользователем" Документ открыт в другой сессии Закрыть все сессии через "Активные пользователи"
"Нельзя удалить документ за закрытый период" Дата документа входит в закрытый месяц/квартал Перенести дату документа или открыть период

Если ошибка не типичная, проверьте журнал регистрации (Администрирование → Журнал регистрации) — там может быть подробное описание проблемы. Например, ошибка "Нарушение ссылочной целостности" означает, что на документ ссылается другой объект (найдите его через Все действия → Ссылки на этот документ).

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

  1. Закройте все сессии 1С.
  2. Запустите командную строку от имени администратора.
  3. Выполните команду:
    chdbfl.exe "Путь_к_базе.1CD" -ibcheck -ibrebuild

FAQ: Частые вопросы по удалению документов в 1С УТ

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

Нет, после физического удаления (не путайте с пометкой!) восстановить документ можно только из резервной копии базы. Поэтому всегда делайте бэкап перед массовой очисткой.

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

1С использует механизм усечённых таблиц — место в базе не освобождается сразу, а помечается как доступное для новых данных. Чтобы реально уменьшить файл, выполните операцию Сжать базу данных в конфигураторе (Администрирование → Выгрузить/Загрузить данные → Сжать).

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

В 1С:Fresh и других облачных решениях нет прямого доступа к SQL и регламентным заданиям. Используйте:

  1. Стандартный интерфейс (раздел Все функции → Очистка данных).
  2. Обработки из каталога решений 1С (доступны через Все функции → Дополнительные отчёты и обработки).
  3. Обращение в поддержку 1С (если нужна массовая очистка).
Сколько времени занимает очистка 10 000 помеченных документов?

Зависит от конфигурации и "железа":

  • На локальном сервере с SSD: ~10–30 минут.
  • В облаке или на HDD: до 2–3 часов.
  • При использовании SQL-запросов: 1–5 минут (но рискованно!).

Рекомендуется разбивать очистку на партии по 1000–2000 документов.

Можно ли настроить автоматическое удаление документов старше года?

Да, для этого:

  1. Создайте регламентное задание Очистка помеченных объектов.
  2. В настройках укажите фильтр по дате (например, Дата < ТекущаяДата() - 365).
  3. Запускайте раз в месяц.

Для документов с движениями предварительно настройте задание на снятие проводок.