Администрирование · 10 мин
Как сжать файл для 1С: базы, выгрузки и вложения
Как сжать файл для 1С: архивация базы данных, выгрузка в DT и ZIP, сжатие конфигураций и отчётов для передачи. Пошаговые инструкции, лимиты и ошибки.
Файлы 1С — базы данных, выгрузки DT, конфигурации CF, отчёты и печатные формы — часто занимают сотни мегабайт и десятки гигабайт. Передать такую базу разработчику, отправить выгрузку в техподдержку или сохранить резервную копию на внешнем диске без сжатия затруднительно: почтовые сервисы ограничивают вложения, а облачные хранилища быстро заполняются.
Сжатие в контексте 1С решается несколькими способами: штатной выгрузкой информационной базы в файл DT (который уже содержит внутреннее сжатие), упаковкой файлов в ZIP-архив штатными средствами Windows или архиваторами вроде 7-Zip и WinRAR, а также встроенными механизмами самой платформы — например, записью ZIP через встроенный язык. Выбор зависит от того, что именно нужно сжать и для какой цели.
Важно понимать: сжатие не заменяет резервное копирование и не уменьшает размер рабочей базы «на лету». Если цель — уменьшить саму базу, потребуется другой набор действий: свёртка, удаление помеченных объектов, тестирование и исправление. Ниже разобраны все рабочие сценарии с конкретными шагами.
Что именно нужно сжать: определяем тип файла
Перед сжатием определите, с каким объектом работаете, потому что методы различаются. Файловая база — это папка, в которой главный файл называется 1Cv8.1CD; именно он содержит все данные. Выгрузка базы — файл с расширением .dt, полученный через конфигуратор. Конфигурация без данных — файл .cf. Внешние отчёты и обработки — файлы .erf и .epf, они обычно небольшие и архивируются как обычные документы.
Клиент-серверная база (SQL Server, PostgreSQL) не имеет одного файла, который можно просто заархивировать с диска. Для неё используют либо выгрузку DT через конфигуратор, либо штатный бэкап средствами СУБД с последующим сжатием файла резервной копии. Архивировать файлы данных SQL-сервера напрямую нельзя — полученная копия будет повреждена.
Выгрузка базы в DT через конфигуратор
Штатный и самый надёжный способ получить компактную копию базы — выгрузка в DT. Откройте конфигуратор с правами администратора, перейдите в меню «Администрирование» и выберите пункт «Выгрузить информационную базу». Укажите папку и имя файла, дождитесь завершения операции. Для больших баз процесс занимает от нескольких минут до нескольких часов.
Полученный DT-файл обычно заметно меньше исходной базы, поскольку платформа упаковывает данные при выгрузке. Тем не менее для отправки по почте или через мессенджер его часто приходится сжимать дополнительно. Перед выгрузкой убедитесь, что на диске достаточно свободного места — ориентировочно столько же, сколько занимает сама база.
- 1Завершите работу всех пользователей или дождитесь монопольного доступа
- 2Откройте базу в конфигураторе под администратором
- 3Меню Администрирование → Выгрузить информационную базу
- 4Укажите путь и имя файла с расширением .dt
- 5Дождитесь сообщения об успешном завершении
- 6Проверьте размер файла и при необходимости заархивируйте его
Архивация файловой базы и DT-файла
Если DT-файл всё ещё слишком велик, упакуйте его архиватором. В Windows достаточно кликнуть правой кнопкой по файлу и выбрать «Отправить → Сжатая ZIP-папка». Для сильного сжатия установите бесплатный 7-Zip: в контекстном меню выберите «7-Zip → Добавить к архиву», формат 7z, уровень сжатия «Максимальный» или «Ультра». Данные 1С содержат много повторяющихся структур, поэтому степень сжатия обычно высокая.
Файловую базу целиком (файл 1Cv8.1CD) архивировать тоже можно, но только при полностью завершённых сеансах: ни один пользователь и ни один фоновый процесс не должны держать базу открытой. Иначе в архив попадёт несогласованная копия, которая при восстановлении может не открыться или содержать повреждённые данные.
Сравнение способов сжатия
Разные методы дают разный результат по размеру, скорости и совместимости. ZIP открывается на любом компьютере без дополнительных программ, но сжимает слабее. Формат 7z даёт максимальное уменьшение, однако у получателя должен стоять 7-Zip или совместимый архиватор. Выгрузка DT удобна тем, что не требует доступа к файлам базы напрямую.
| Способ | Степень сжатия | Когда применять | Ограничение |
|---|---|---|---|
| Выгрузка DT | Средняя | Перенос базы, бэкап | Нужен монопольный доступ |
| ZIP (Windows) | Умеренная | Отправка любому получателю | Слабее сжимает большие файлы |
| 7z (7-Zip) | Высокая | Очень большие базы | Получателю нужен архиватор |
| RAR (WinRAR) | Высокая | Разбивка на тома | Программа платная |
Если файл не помещается в лимит почты даже после сжатия, разбейте архив на тома: в 7-Zip при добавлении к архиву укажите параметр «Разбить на тома» с размером, например, 100 мегабайт. Получатель распакует первый том, остальные подтянутся автоматически при условии, что все части лежат в одной папке.
Что выбрать для отправки
Универсальный вариант для передачи базы коллегам или в поддержку
Когда база большая, а канал передачи ограничен по размеру
Для локального бэкапа файловой базы при простое в работе
Сжатие вложений и печатных форм внутри 1С
Частая задача — не база целиком, а отдельные файлы из 1С: сканы договоров, акты, счета. Типовые конфигурации хранят присоединённые файлы либо в базе, либо в томах на диске. Если файлы хранятся в базе и она разрослась, можно перевести хранение в тома: «Администрирование → Хранение файлов» и настройка томов. Сами тома на диске затем архивируются обычным способом.
При отправке документов контрагенту выгружайте печатные формы в PDF вместо MXL — PDF обычно компактнее и открывается у получателя без 1С. В типовых конфигурациях для этого есть кнопка «Сохранить» в форме печати с выбором формата PDF.
Сжатие файлов средствами встроенного языка
Разработчику или администратору, автоматизирующему бэкапы, платформа предоставляет объект ЗаписьZipФайла. Он позволяет создать ZIP-архив прямо из кода 1С без внешних программ — удобно для регламентных заданий резервного копирования.
ЗаписьZIP = Новый ЗаписьZipФайла("D:\Backup\base_" + Формат(ТекущаяДата(), "ДФ=yyyyMMdd") + ".zip");
ЗаписьZIP.Добавить("D:\Bases\Trade\1Cv8.1CD");
ЗаписьZIP.Записать();Учтите ограничение: штатный ZIP платформы не даёт максимальной степени сжатия и не поддерживает разбивку на тома. Для очень больших баз эффективнее вызывать внешний архиватор через командную строку, например 7z.exe с параметрами, из пакетного скрипта по расписанию.
Перед отправкой архива наружу проверьте его самостоятельно: распакуйте копию в отдельную папку и загрузите DT в тестовую базу. Проверка занимает десять минут, но гарантирует, что получатель не столкнётся с битым файлом.
Проверка результата и типичные ошибки
После сжатия обязательно убедитесь, что архив рабочий. Откройте его и выполните тестирование (в 7-Zip — кнопка «Тестировать»), затем загрузите DT в пустую базу на тестовом компьютере. Только после этого архив можно считать годной копией.
Как проверить результат
Тест архива завершается без ошибок
Сообщения о повреждённых данных или невозможности открыть
База загружается в пустую конфигурацию и открывается
Ошибка формата потока при загрузке
Архив заметно меньше исходника и вписывается в лимит канала
Размер почти не изменился — файл уже сжат или выбран неверный метод
Итоговая логика проста: для переноса и отправки базы — выгрузка DT, при необходимости дополнительно упакованная в ZIP или 7z; для бэкапа файловой базы — архивация 1Cv8.1CD только при закрытых сеансах; для клиент-серверной базы — бэкап средствами СУБД с последующим сжатием. Всегда проверяйте архив тестовой распаковкой и загрузкой.
Что важно запомнить
Выгрузка DT — штатный способ получить компактную копию базы. Дополнительное сжатие делайте ZIP или 7z, файловую базу архивируйте только без активных сеансов, а готовый архив проверяйте тестовой загрузкой до отправки.
Частые вопросы
Почему файл DT не сжимается архиватором?
DT уже содержит внутреннее сжатие, поэтому повторная упаковка даёт лишь небольшой выигрыш. Если размер критичен, попробуйте формат 7z с уровнем «Ультра» — он иногда выигрывает ещё несколько процентов за счёт более сильного алгоритма.
Можно ли сжать базу, не закрывая программу 1С?
Файл 1Cv8.1CD при работающих сеансах архивировать нельзя — копия будет повреждена. Альтернатива без остановки работы: выгрузка DT через конфигуратор (нужен монопольный доступ) или, для серверных баз, бэкап средствами СУБД «на горячую».
Как передать базу весом в несколько гигабайт?
Разбейте архив на тома в 7-Zip или WinRAR и отправьте частями, либо загрузите архив в облачное хранилище и передайте ссылку. Почтовые сервисы для таких объёмов не подходят из-за ограничений на вложения.
Чем отличается выгрузка DT от простого копирования папки базы?
DT создаётся штатным механизмом платформы, гарантирует целостность данных и подходит для переноса между файловым и клиент-серверным вариантами. Копирование папки быстрее, но требует полной остановки работы и привязано к файловому режиму.
Как уменьшить размер самой рабочей базы, а не архива?
Выполните удаление помеченных объектов, очистите устаревшие данные и версии объектов, для файловой базы запустите тестирование и исправление с включённым сжатием таблиц. Эти операции делайте только после создания резервной копии.
Откроет ли получатель архив 7z без установленного архиватора?
Нет, для формата 7z нужен 7-Zip или совместимая программа. Если не уверены в ПО получателя, используйте ZIP — он распаковывается штатными средствами Windows и macOS.