Замедление работы 1С:Предприятия, ошибки при открытии базы или неожиданные сбои часто связаны с так называемым «багажом 1С» — скоплением устаревших данных, временных файлов, некорректных записей в кэше или раздутых логах, которые перегружают систему. Хотя термин отсутствует в официальной документации, он обозначает реальную проблему: избыточная информация в базе, остатки удалённых объектов или фрагментированные индексы могут приводить к тормозам, ошибкам чтения или даже краху сеанса, особенно в крупных конфигурациях с длительной историей эксплуатации.
В зависимости от контекста «багаж» может означать:
- 📦 Накопленные временные файлы — остатки после обновлений, отчётов или обменов данными, которые не были очищены автоматически.
- 🗃️ Устаревшие данные в базе — записи, которые давно не используются, но занимают место (например, архивные документы без пометки на удаление).
- ⚙️ Ошибки конфигурации — «мусор» после некорректных изменений в структуре базы или после миграций между версиями.
- 🔄 Дублирующиеся объекты — например, повторяющиеся справочники или документы, созданные из-за сбоев при обмене данными.
В этой статье разберём, почему «багаж» возникает, как его выявить и безопасно удалить, а также какие инструменты 1С помогут автоматизировать очистку. Особое внимание уделим различиям между «багажом» в файловом и клиент-серверном вариантах работы — подходы к решению проблемы в них принципиально разные.
1. Откуда берётся «багаж» в 1С?
Основная причина появления «багажа» — неполная очистка данных после операций, которые должны быть временными. Например:
- 📥 Обмены данными (через
XML,JSON, РИБ или EDI) часто оставляют промежуточные файлы в папкахtempилиupload. - 🔄 Обновления конфигурации — даже после успешного апдейта могут оставаться резервные копии старых версий (
.cf,.epf). - 📊 Формирование отчётов — некоторые сложные отчёты (например, регламентированная отчётность) создают временные таблицы в базе, которые не всегда удаляются.
- 🖥️ Работа пользователей — некорректное завершение сеансов (например, при аварийном закрытии программы) оставляет «висящие» блокировки или несохранённые данные.
В клиент-серверном варианте «багаж» чаще накапливается на стороне сервера (в SQL-базе или файлах кластера), а в файловом — прямо в каталоге базы (.1CD). При этом в клиент-серверных системах «багаж» может приводить к замедлению запросов к SQL, а в файловом — к физическому разрастанию файла базы.
⚠️ Внимание: В версиях 1С:Предприятие 8.3.20+ часть временных файлов очищается автоматически при перезапуске сервера, но это не гарантирует полное удаление всех накопленных данных. Для глубокой очистки требуются ручные действия.
2. Как «багаж» влияет на работу 1С?
Накопленный «багаж» проявляется по-разному, но наиболее частые симптомы:
| Признак | Файловый вариант | Клиент-серверный вариант |
|---|---|---|
| Замедление открытия форм | Да, особенно при большом размере .1CD |
Да, из-за нагрузки на SQL |
| Ошибки при обновлении | Часто (не хватает места на диске) | Реже, но возможны конфликты блокировок |
| Сбои при обмене данными | Да (повреждение временных файлов) | Да (ошибки транзакций в SQL) |
| Увеличение размера бэкапа | Значительное (до 2–3 раз) | Умеренное (зависит от настроек SQL) |
Например, если размер файла базы .1CD вырос с 500 МБ до 2 ГБ без видимых причин, это верный признак накопленного «багажа». В клиент-серверном варианте аналогичную проблему можно выявить через SQL Server Management Studio, проверив размер таблиц _1SJOURN (журнал регистрации) или _1SDATA (основные данные).
Перед очисткой «багажа» всегда делайте резервную копию базы — даже если используете встроенные инструменты 1С. В редких случаях автоматизированные процедуры могут удалить критические данные.
3. Как найти «багаж» в своей базе 1С?
Для диагностики используйте следующие методы:
🔍 В файловом варианте:
- Проверьте размер файла
.1CD— если он значительно больше, чем объём реальных данных, это сигнал. - Откройте папку с базой и отсортируйте файлы по дате изменения. Старые файлы с расширениями
.tmp,.bak,.logчасто являются «багажом». - Используйте утилиту
chdbfl.exe(входит в комплект 1С) для проверки целостности базы:chdbfl.exe /F "C:\Path\To\Your\Base.1CD" /L
🖥️ В клиент-серверном варианте:
- 📊 Запустите запрос к
SQLдля анализа размера таблиц:SELECTt.NAME AS TableName,
s.Name AS SchemaName,
p.rows AS RowCounts,
SUM(a.total_pages) * 8 AS TotalSpaceKB
FROM
sys.tables t
INNER JOIN
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN
sys.allocation_units a ON p.partition_id = a.container_id
LEFT OUTER JOIN
sys.schemas s ON t.schema_id = s.schema_id
WHERE
t.NAME NOT LIKE 'dt%'
AND t.is_ms_shipped = 0
AND i.OBJECT_ID > 255
GROUP BY
t.Name, s.Name, p.Rows
ORDER BY
TotalSpaceKB DESC;
- 🔎 Проверьте журнал регистрации (
_1SJOURN) — если он занимает более10%от общего размера базы, его стоит очистить.
Проверен размер файла .1CD|Проанализированы временные файлы в папке базы|Выполнена проверка chdbfl.exe|Просмотрены логи обменов данными (если используются)|Запущен SQL-запрос для клиент-серверного варианта-->
4. Как очистить «багаж» в 1С: пошаговые инструкции
Способы очистки зависят от типа «багажа» и варианта работы (файловый или клиент-серверный). Ниже — универсальные методы.
🧹 Очистка временных файлов (для обоих вариантов)
- Закройте все сеансы 1С.
- Удалите вручную файлы с расширениями:
- 📄
.tmp— временные файлы. - 🗑️
.bak— резервные копии. - 📜
.log— логи (если не нужны для аудита). - 🔄
.mft,.cdx— индексные файлы (только для старых версий 1С 7.7).
- 📄
Конфигуратор:
Администрирование → Тестирование и исправление → Выполнить проверку и исправление
Отметьте галочки:
- 🔧 Проверять логическую целостность
- 🔧 Проверять ссылочную целостность
- 🔧 Реиндексировать таблицы
🗃️ Очистка журнала регистрации (клиент-серверный вариант)
Если журнал регистрации разросся, очистите его через Конфигуратор:
- Откройте
Администрирование → Журнал регистрации. - Нажмите
Настройка → Очистить журнал. - Укажите дату, до которой нужно удалить записи (например, оставить последние
30 дней). - Подтвердите действие и дождитесь завершения операции.
- Создайте обработку для поиска и пометки на удаление ненужных объектов. Пример кода для поиска документов старше
5 лет:Запрос = Новый Запрос;Запрос.Текст =
"ВЫБРАТЬ
| Ссылка КАК Ссылка
|ИЗ
| Документ.<ИмяДокумента> КАК Документ
|ГДЕ
| Документ.Дата < ДАТАВРЕМЯ(2019, 1, 1)";
Результат = Запрос.Выполнить();
Пока Результат.Следующий() Цикл
Объект = Результат.Ссылка.ПолучитьОбъект();
Объект.УстановитьПометкуУдаления(Истина);
Объект.Записать();
КонецЦикла;
- После пометки выполните
Администрирование → Выгрузка/загрузка данных → Удаление помеченных объектов. - 📅 Регламентные задания — настройте автоматическую очистку журналов регистрации по расписанию (например, раз в месяц).
- 🔄 Фоновые задания — в версиях 8.3.14+ можно запускать очистку временных файлов без прерывания работы пользователей.
- 🗑️ Политики хранения данных — в 1С:Документооборот или 1С:ERP настройте автоматическое архивирование и удаление устаревших документов.
Что будет, если не очищать журнал регистрации?
Если журнал регистрации не очищать годами, он может занять десятки гигабайт на диске. Это приведёт к:
- Замедлению запросов к базе (SQL будет тратить ресурсы на обработку ненужных записей).
- Увеличению времени создания бэкапов.
- Риску переполнения дискового пространства на сервере, особенно если журнал хранится на системном диске C:.
🔄 Очистка устаревших данных (универсальный метод)
Для удаления устаревших документов или справочников:
⚠️ Внимание: Перед массовым удалением данных проверьте, не используются ли они в регламентированной отчётности или архивных целях. Например, документы за закрытые налоговые периоды удалять нельзя.
5. Автоматизация очистки: инструменты и обработки
Ручная очистка «багажа» эффективна, но трудоёмка. Для автоматизации используйте:
🤖 Встроенные механизмы 1С
⚙️ Сторонние обработки
Популярные решения для глубокой очистки:
| Обработка | Назначение | Ссылка (источник) |
|---|---|---|
| ОчисткаБазыДанных.epf | Удаление временных таблиц, оптимизация индексов | Инфостарт, ITS |
| УправлениеЖурналамиРегистрации.epf | Гибкая настройка очистки журналов по датам/событиям | 1С-Галлерея |
| ПоискДублирующихсяОбъектов.epf | Выявление и удаление дублирующихся справочников/документов | Инфостарт |
Пример использования обработки ОчисткаБазыДанных.epf:
- Скачайте файл и загрузите его в
КонфигураторчерезФайл → Открыть. - Запустите обработку в режиме
1С:Предприятие. - Выберите опции:
- 🔧 Очистить временные таблицы
- 🔧 Переиндексировать базу
- 🔧 Удалить неиспользуемые объекты метаданных (осторожно!)
- Нажмите
Выполнитьи дождитесь завершения. - 🔄 Настройте автоматическое архивирование и очистку журналов регистрации.
- 📅 Регулярно (раз в квартал) запускайте
Тестирование и исправлениебазы. - 🗃️ Разделите диски: системный (
C:) и для баз данных (D:или сетевой ресурс). - 🛡️ Ограничьте права пользователей на создание временных файлов в корневой папке базы.
- 🚫 Не оставляйте открытыми ненужные отчёты или обработки.
- 📥 После обмена данными проверяйте папку
tempна наличие ненужных файлов. - 🔄 При работе с большими выборками используйте серверные процедуры вместо клиентских.
- 🚫 Удаление файлов
.1CDвручную — это приведёт к полной потере базы. Используйте только встроенные инструменты. - 🚫 Очистка журнала регистрации без бэкапа — если в нём есть критические события (например, ошибки обновления), восстановить их будет невозможно.
- 🚫 Массовое удаление объектов без проверки — например, удаление всех документов старше года может нарушить ссылочную целостность.
- 🚫 Использование непроверенных обработок — скачивайте их только с официальных источников (Инфостарт, ITS, 1С-Галлерея).
Регулярная очистка «багажа» (раз в 3–6 месяцев) сокращает размер базы на 20–40% и ускоряет работу системы на 15–30%.
6. Профилактика накопления «багажа»
Чтобы минимизировать риск появления «багажа», следуйте этим рекомендациям:
📌 Для администраторов:
👨💻 Для пользователей:
⚠️ Внимание: В облачных решениях (например, 1С:Fresh) часть «багажа» очищается автоматически, но временные файлы обменов и логи могут накапливаться. Проверяйте их через личный кабинет или обращайтесь в поддержку.
7. Частые ошибки при очистке «багажа»
Некоторые действия могут усугубить проблему или привести к потере данных. Избегайте этих ошибок:
Если после очистки база стала работать хуже или появились ошибки, восстановите её из бэкапа и повторите процедуру с другими параметрами.
Перед массовыми изменениями в базе создайте тестовую копию и проработайте сценарий очистки на ней. Это поможет избежать неприятных сюрпризов в рабочей среде.
FAQ: Ответы на частые вопросы
❓ Можно ли очистить «багаж» без остановки работы пользователей?
В клиент-серверном варианте — да, если использовать фоновые задания (доступны с версии 8.3.14). В файловом варианте для глубокой очистки потребуется закрыть все сеансы.
Для очистки временных файлов (не затрагивающей саму базу) можно использовать скрипты на PowerShell или Batch, которые будут запускаться ночью. Пример скрипта для удаления файлов старше 7 дней:
forfiles /P "C:\Path\To\Base\Temp" /S /D -7 /C "cmd /c del @path"
❓ Как понять, что «багаж» мешает работе, а не железо?
Проведите тест:
- Создайте пустую тестовую базу на том же сервере.
- Загрузите в неё минимальный набор данных (например, только справочники).
- Сравните скорость открытия форм/отчётов в тестовой и рабочей базе.
Если тестовая база работает быстрее, проблема точно в «багаже». Если нет — проверьте дисковое пространство, ОЗУ или настройки SQL-сервера.
❓ Что делать, если после очистки база не уменьшилась?
Возможные причины:
- 📊 Фрагментация данных — даже после удаления объектов файл
.1CDможет оставаться большим. Используйте утилитуchdbfl.exeс ключом/Cдля сжатия:
chdbfl.exe /F "C:\Path\To\Base.1CD" /C
AppData\Local\1C на клиентских машинах).DBCC SHRINKDATABASE (YourDatabaseName, 10);
❓ Может ли «багаж» повлиять на корректность отчётности?
Да, если «багаж» включает:
- 📄 Дублирующиеся документы — они могут искажать итоги в отчётах (например, в балансе или книге продаж).
- 🔗 Повреждённые ссылки — если при очистке нарушена ссылочная целостность, некоторые отчёты могут не формироваться.
Перед очисткой всегда проверяйте критические отчёты в тестовой базе.
❓ Где хранится «багаж» в облачной 1С (например, 1С:Fresh)?
В облачных решениях «багаж» накапливается в:
- 🗃️ Журналах регистрации — очищаются автоматически, но можно настроить политики хранения.
- 📥 Временных файлах обменов — хранятся на серверах 1С, но доступны для очистки через личный кабинет.
- 🔄 Архивных данных — старые документы не удаляются, но можно запросить архивацию у поддержки.
Для очистки обратитесь в техническую поддержку 1С:Fresh с указанием проблемы.