Удаление всех накладных в 1С:Предприятие — задача, с которой сталкиваются администраторы баз данных при необходимости очистки тестовых окружений, миграции на новые версии или исправления критичных ошибок в учёте. Однако эта операция чревата рисками: от потери связей между документами до нарушения целостности бухгалтерских итогов. В зависимости от конфигурации (1С:Бухгалтерия 3.0, 1С:Управление торговлей 11, 1С:ERP) и версии платформы методы удаления могут существенно отличаться.
Эта статья подробно разберёт три основных способа массового удаления накладных: через стандартный интерфейс, с использованием обработок и прямым SQL-запросом (для опытных пользователей). Мы также рассмотрим, почему иногда лучше не удалять, а помечать на удаление, и как восстановить данные, если что-то пошло не так. Предупреждаем заранее: все манипуляции с базой требуют полного резервного копирования и прав администратора.
Если вы ищете способ удалить только определённые виды накладных (например, реализации или поступления), переходите сразу к разделу про фильтрацию документов. Для тех, кто работает с облачными версиями 1С (например, 1С:Фреш), важно учесть ограничения — некоторые методы могут быть недоступны.
Подготовка к массовому удалению: резервирование и права
Прежде чем приступать к удалению, убедитесь, что у вас есть:
- 🔐 Права администратора в конфигураторе или роль с полным доступом к документам.
- 💾 Актуальная резервная копия базы (не старше 1 дня). В 1С:Предприятие 8.3 её можно создать через
Администрирование → Обслуживание → Резервное копирование. - 📝 Список зависимых объектов. Удаление накладных может задеть счета-фактуры, платежи, заказы покупателей. Проверьте связи через отчёт
Анализ связей объектов(доступен в 1С:ERP и УТ 11). - ⏳ Время на операцию. В крупных базах с миллионами документов удаление может занять часы.
Особое внимание уделите регламентированным отчётам. Если накладные попали в закрытые периоды (например, в декларацию по НДС), их удаление приведёт к расхождениям с фискальными данными. В таких случаях лучше использовать корректировочные документы или перенос остатков.
⚠️ Внимание: В облачных версиях 1С:Фреш и 1С:Предприятие через браузер некоторые методы (например, прямые SQL-запросы) заблокированы. Уточняйте возможности вашей платформы в документации или у партнёра 1С.
Если вы работаете с 1С:УНФ (Упрощёнка), учтите, что в этой конфигурации нет классического понятия "накладная" — вместо них используются документы Поступление и Реализация. Методы удаления для них аналогичны, но названия таблиц в базе будут другими.
Способ 1: Удаление через стандартный интерфейс 1С
Самый безопасный, но и самый медленный метод — использование встроенных инструментов. Он подходит для баз с количеством документов до 10 000. Алгоритм:
- Откройте список накладных через
Документы → [Тип накладной] (например, Реализация товаров). - Нажмите
Ещё → Настроить списоки добавьте колонкуПометка удаления. - Выделите все документы (сочетание
Ctrl+Aили кнопкаВыделить всёв меню). - Кликните правой кнопкой и выберите
Пометить на удаление. - Запустите обработку
Удаление помеченных объектовчерезАдминистрирование → Обслуживание.
В 1С:УТ 11 и 1С:ERP можно ускорить процесс, используя групповое удаление:
- 🔍 Откройте
Все функции(кнопка в правом верхнем углу). - 📋 Введите в поиске
Групповое удаление документов. - 📅 Укажите период и тип документов (например,
РеализацияТоваровУслуг). - ⚡ Запустите проверку связей перед удалением.
⚠️ Внимание: В конфигурациях с включённым управлением версиями данных (например, в 1С:ERP 2.5+) помеченные на удаление документы могут оставаться в истории изменений. Для полного удаления требуется очистка версии через конфигуратор.
Если после массового удаления 1С "зависнет" на операции, не прерывайте процесс принудительно. В крупных базах обработка может занять до 30 минут. Отслеживайте прогресс в Журнале регистрации (Администрирование → Поддержка и обслуживание).
Проверено резервное копирование|Закрыты все сеансы пользователей|Отключены регламентные задания|Создан тестовый документ для проверки связей|Уведомлены бухгалтеры о временной блокировке базы-->
Способ 2: Использование внешних обработок
Для ускорения процесса можно воспользоваться внешними обработками, которые автоматизируют массовое удаление. Популярные решения:
- 📄 Обработка "Универсальное удаление документов" (доступна на Инфостарт и 1С-Сообщество). Поддерживает фильтрацию по дате, контрагенту, организации.
- 🔧 "Помощник удаления данных" от фирмы 1С (входит в комплект 1С:ИТС). Работает с учётом связей между объектами.
- 🚀 "MassDelete" — обработка для технических специалистов с расширенными настройками (например, удаление по регулярным выражениям в номерах документов).
Пример использования обработки Универсальное удаление:
- Скачайте и откройте обработку через
Файл → Открыть. - Выберите тип документа (например,
ПоступлениеТоваровУслуг). - Задайте фильтр (например, дата
с 01.01.2023 по 31.12.2023). - Нажмите
Просмотреть списоки проверьте, что в выборку не попали критичные документы. - Запустите удаление с флагом
Учитывать связи.
Обратите внимание на настройки обработки:
| Параметр | Рекомендуемое значение | Пояснение |
|---|---|---|
| Учитывать движения | Да | Иначе нарушится бухгалтерский баланс |
| Проверять блокировки | Да | Избегает конфликтов с другими пользователями |
| Режим транзакции | Авто | Откат при ошибках |
| Логировать действия | Да | Создаёт отчёт об удалённых документах |
В обработках от сторонних разработчиков (например, с Инфостарта) может быть встроен механизм восстановления удалённых данных через журнал изменений. Однако он работает только если в базе включена настройка Вести журнал регистрации с детализацией по объектам.
Перед использованием обработки проверьте её совместимость с вашей версией платформы. Например, обработка для 1С 8.3.20 может не работать в 8.3.22 из-за изменений в API.
Способ 3: Прямое удаление через SQL (для опытных)
Этот метод наиболее опасный, но и самый быстрый для баз с миллионами документов. Он требует доступа к SQL Server (или PostgreSQL для Linux-версий) и знания структуры базы 1С. Не применяйте его на рабочих базах без тестирования на копии!
Алгоритм для Microsoft SQL Server:
- Подключитесь к серверу через SQL Server Management Studio.
- Найдите таблицы документов. Для накладных это обычно:
SELECT * FROM INFORMATION_SCHEMA.TABLESWHERE TABLE_NAME LIKE '%Document%Realization%' OR TABLE_NAME LIKE '%Document%Postuplenie%
- Удалите документы с проверкой связей:
DELETE FROM [dbo].[Document_РеализацияТоваровУслуг]WHERE [Дата] BETWEEN '2023-01-01' AND '2023-12-31'
AND NOT EXISTS (
SELECT 1 FROM [dbo].[Document_СчетФактураВыданный]
WHERE [СсылкаНаДокумент] = [dbo].[Document_РеализацияТоваровУслуг].[Ссылка]
)
- Обновите последовательности (если используются):
DBCC CHECKIDENT ('[dbo].[Document_РеализацияТоваровУслуг]', RESEED, 1)
Для PostgreSQL (актуально для 1С на Linux):
- 🐧 Используйте
psqlдля подключения. - 🔍 Таблицы документов обычно имеют префикс
_document. - ⚠️ В PostgreSQL нет команды
DBCC— последовательности сбрасываются черезALTER SEQUENCE.
⚠️ Внимание: Прямое удаление через SQL не обновляет регистры накопления и бухгалтерии. После операции обязательно выполните перепроведение документов за затронутый период через Администрирование → Обслуживание → Перепроведение документов.
Если вы не уверены в своих навыках работы с SQL, лучше воспользуйтесь консолью запросов 1С (доступна в конфигураторе через Сервис → Консоль запросов). Пример запроса для помечения на удаление:
ВЫБРАТЬ
РеализацияТоваровУслуг.Ссылка КАК Ссылка
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода
// Далее в цикле:
Для Каждого Док Из Результат Цикл
Док.Объект.ПометитьНаУдаление();
КонецЦикла;
Что будет если удалить накладные без перепроведения?
Бухгалтерские итоги (сальдо по счетам 41, 62, 90) останутся неизменными, что приведёт к расхождениям между оборотками и первичными документами. В отчётах (например, Оборотно-сальдовая ведомость) появятся "висячие" остатки. Исправить это можно только полным пересчётом итогов через Администрирование → Обслуживание → Тестирование и исправление с флагом Пересчитывать итоги.
Как удалить только определённые накладные: фильтрация
Часто требуется удалить не все документы, а только те, что соответствуют определённым критериям. Например:
- 📅 Накладные за конкретный период (например, тестовые данные за прошлый год).
- 🏢 Документы только одной организации (если в базе ведётся учёт нескольких юрлиц).
- 🛒 Накладные по конкретному складу или номенклатурной группе.
- 🔄 Проводки с ошибками (например, с нулевыми суммами).
В стандартном интерфейсе фильтрация настраивается через:
Документы → [Тип накладной] → Ещё → Настроить список.- Добавьте колонки, по которым будет фильтрация (например,
Организация,Склад). - Используйте
Отбор и сортировкадля задания условий. - Примените отбор и выделите отфильтрованные документы для удаления.
Пример фильтра по организации и дате в 1С:УТ 11:
Организация = &ТекущаяОрганизация
И Дата >= &НачалоПериода
И Дата <= &КонецПериода
И СуммаДокумента = 0
Для сложных условий (например, удаление накладных с определённым комментарием или по контрагенту) удобнее использовать внешние обработки с расширенными настройками фильтра. Например, в обработке Универсальное удаление можно задать:
- 🔎 Регулярное выражение для номера документа (например,
ТЕСТ-.*). - 📌 Фильтр по реквизитам (например,
Контрагент.Наименование СОДЕРЖИТ "ООО Ромашка"). - 💰 Условия по сумме или валюте.
⚠️ Внимание: При фильтрации по номенклатуре учитывайте, что в связанных документах (например, в Отчёте о розничных продажах) могут остаться записи по этим товарам. Для полной очистки требуется дополнительная обработка регистров.
Альтернативы удалению: когда лучше не стирать данные
В некоторых случаях удаление накладных нецелесообразно или опасно. Рассмотрите альтернативы:
| Ситуация | Альтернатива удалению | Преимущества |
|---|---|---|
| Накладные в закрытом периоде | Сторнирующие документы | Сохраняет историю и легальность отчётности |
| Тестовые данные | Перенос в отдельную базу | Исключает случайное использование |
| Ошибки в проводках | Корректировка движений | Не нарушает связи между документами |
| Дубли документов | Пометка на удаление с переносом данных | Сохраняет ссылки в связанных объектах |
Пример создания сторнирующего документа в 1С:Бухгалтерия 3.0:
- Создайте новый документ
Реализация товаров и услуг. - В поле
Основаниеукажите оригинальную накладную. - Заполните табличную часть с отрицательными количествами.
- Проведите документ — он автоматически сторнирует проводки.
Если целью удаления является очистка базы от мусора, рассмотрите:
- 🧹 Архивацию старых данных через обработку
Выгрузка данных в XMLс последующим удалением. - 🔄 Перенос остатков на начало периода (доступно в 1С:ERP через
Закрытие периода → Перенос остатков). - 📂 Создание новой базы с переносом только актуальных данных (например, через 1С:Конвертацию данных).
Когда удаление неизбежно, но риски высоки:
- 📌 Сначала помечайте документы на удаление и проверяйте последствия в тестовой базе.
- 🔍 Используйте отчёт
Анализ влияния на бухгалтерский учёт(доступен в 1С:Бухгалтерия). - 📅 Удалите документы небольшими партиями (например, по месяцам), проверяя итоги после каждой операции.
Перед массовым удалением всегда проверяйте, не используются ли документы в регламентированной отчётности (например, в декларациях по НДС или налогу на прибыль). Их удаление может потребовать подачи уточнённых деклараций.
Восстановление после ошибочного удаления
Если накладные были удалены по ошибке, варианты восстановления зависят от настроек базы:
1. Восстановление из резервной копии:
- 🔄 Откат всей базы до состояния на дату копии (потеряются все изменения после этой даты).
- 📅 В 1С:Предприятие 8.3 резервные копии создаются автоматически при обновлениях (папка
1Cv8Log).
2. Восстановление через журнал регистрации (если велась детализация):
- 📜 Откройте
Администрирование → Журнал регистрации. - 🔍 Отфильтруйте по типу события
Удаление объекта. - 🖨️ Экспортируйте данные в
XMLи загрузите черезУниверсальный обмен данными.
3. Ручное воссоздание документов:
- 📋 Используйте печатные формы или скриншоты удалённых накладных.
- 🔄 Восстановите проводки через
Операции, введённые вручную(если известны счета и суммы).
В 1С:ERP и 1С:УТ 11 есть встроенный механизм версионности данных. Чтобы восстановить удалённый документ:
- Откройте
Все функции → История данных. - Найдите документ по дате и времени удаления.
- Нажмите
Восстановить версию.
⚠️ Внимание: В базах с включённым блокированием реквизитов (например, в 1С:Бухгалтерия КОРП) восстановленные документы могут иметь ограничения на редактирование. Снимите блокировки через Администрирование → Настройки пользователей.
Если ни один из методов не помог, обратитесь к партнёру 1С — у них есть доступ к специализированным инструментам восстановления, таким как 1С:Реаниматор или 1С:Сканер базы данных.
Частые вопросы
Можно ли удалить накладные без прав администратора?
Нет. Для массового удаления требуются права на изменение конфигурации или роль с полным доступом к документам. В 1С:Бухгалтерия 3.0 минимально необходимая роль — Администратор или Главный бухгалтер (если в настройках разрешено удаление). В 1С:УТ 11 можно делегировать право через Администрирование → Настройки пользователей → Роли, добавив право Удаление документов для конкретного типа накладных.
Как удалить накладные в облачной версии 1С (1С:Фреш)?
В 1С:Фреш прямые SQL-запросы и некоторые обработки заблокированы. Используйте:
- Стандартное групповое удаление через интерфейс (раздел выше).
- Обработки из каталога 1С:АппСолutions (проверены на совместимость с облаком).
- Обращение в поддержку 1С:Фреш с запросом на очистку (платно, требуется обоснование).
В бесплатном тарифе массовое удаление недоступно — только поштучное.
Почему после удаления накладных не уменьшился размер базы?
Удаление документов в 1С не освобождает место на диске сразу. Данные остаются в таблицах SQL в виде "мусора". Чтобы физически уменьшить размер базы:
- Выполните
Тестирование и исправлениес флагомРеиндексация таблиц. - Для SQL Server запустите команду
DBCC SHRINKDATABASE. - В PostgreSQL используйте
VACUUM FULL.
В крупных базах (от 10 ГБ) эта операция может занять несколько часов.
Как удалить накладные, если 1С выдаёт ошибку "Документ используется в регистрах"?
Ошибка означает, что накладная связана с другими объектами (например, счётами-фактурами, платежами, заказами). Решения:
- 🔗 Сначала удалите связанные документы (используйте отчёт
Анализ связей объектов). - 🔄 В обработке
Универсальное удалениевключите флагИгнорировать связи(опасно!). - 📝 Поместите документ на удаление, а затем вручную исправьте движения в регистрах через
Операции, введённые вручную.
В 1С:ERP для таких случаев есть обработка Очистка движений документов.
Можно ли удалить накладные за прошлый год, если период закрыт?
Технически можно, но крайне не рекомендуется. Удаление документов из закрытых периодов:
- 📉 Нарушает бухгалтерский баланс (расхождения по счетам 41, 62, 90).
- 📋 Требует пересдачи регламентированной отчётности (НДС, прибыль).
- 🔍 Может вызвать вопросы при проверках ФНС.
Альтернативы:
- 📄 Создайте корректировочные документы на текущую дату.
- 🔄 Перенесите остатки на начало года через
Закрытие периода. - 📂 Архивируйте старые данные в отдельную базу.