Выгрузка 1С не влезает в письмо: архив, тома и облегчение базы
Содержание
Чтобы сжать файл для 1С, упакуйте его архиватором: 7-Zip с форматом 7z и уровнем «Ультра» уменьшает XML-файл обмена
в разы, а папку файловой базы с 1Cv8.1CD — заметно, особенно после сжатия таблиц в Конфигураторе. Выгрузка .dt уже сжата внутри, поэтому архиватор почти не уменьшит её. Если файл всё равно больше лимита почты, разбейте архив на тома или передайте ссылкой на облачный диск.
Какие файлы 1С занимают много места и насколько они сжимаются
Чтобы не тратить время впустую, сначала поймите, что именно вы отправляете. У разных файлов разная природа, и архиватор действует на них по-разному.
| Файл | Что внутри | Эффект от архивации |
|---|---|---|
.xml (обмен, выгрузка данных) | Текст с повторяющимися тегами | Очень хороший, размер падает в разы |
1Cv8.1CD (файловая база) | Таблицы базы со свободными страницами | Хороший, особенно у «распухшей» базы |
.dt (выгрузка информационной базы) | Уже упакованные данные и конфигурация | Слабый, выигрыш небольшой |
.cf, .cfe (конфигурация, расширение) | Упакованные модули и формы | Слабый |
.epf, .erf (внешние обработки, отчёты) | Упакованный объект | Слабый, но и файлы обычно мелкие |
Папка 1Cv8Log (журнал регистрации) | Записи событий | Хороший, но её часто можно не отправлять |
Почему XML такой большой? Каждое поле документа обёрнуто в открывающий и закрывающий тег с длинным именем. Реквизит «Контрагент» повторяется тысячи раз. Для архиватора это идеальный материал: повторы он заменяет короткими ссылками.
Файловая база растёт по другой причине. Удалённые данные не всегда освобождают место в 1Cv8.1CD: файл сохраняет пустые страницы. Отсюда частая картина — база на 4 ГБ, в которой реальных данных на треть меньше.
С .dt всё наоборот. Платформа при выгрузке уже упаковывает содержимое, и повторно сжатые данные почти не уменьшаются.
Если нужна только конфигурация без данных (например, разработчику для доработки), отправьте .cf вместо .dt. В Конфигураторе это Конфигурация → Сохранить конфигурацию в файл. Такой файл в разы меньше полной выгрузки.
Как сжать файл 1С обычным архиватором
Самый быстрый способ — архив. Для разовой отправки хватит встроенного в Windows ZIP, для больших файлов лучше 7-Zip.
Встроенный ZIP в Windows
- Щёлкните по файлу правой кнопкой мыши.
- Выберите
Отправить → Сжатая ZIP-папка(в Windows 11 — пункт «Сжать в ZIP-файл»). - Рядом появится архив с тем же именем.
Плюс — ничего не нужно устанавливать. Минус — нет выбора степени сжатия и нельзя разбить архив на части.
7-Zip с максимальным сжатием
7-Zip бесплатный и жмёт заметно сильнее встроенного ZIP. Порядок такой:
- Установите 7-Zip, если его ещё нет.
- Правой кнопкой по файлу →
7-Zip → Добавить к архиву…. - Формат архива —
7z. - Уровень сжатия — «Ультра».
- При необходимости задайте пароль и включите шифрование имён файлов.
- Нажмите «ОК».
Для XML и файловой базы разница между 7z «Ультра» и обычным ZIP бывает ощутимой. Для .dt выигрыш обоих форматов небольшой, поэтому не ждите от «Ультра» чуда — лучше сразу переходите к разбиению на тома или к облаку.
Получатель должен уметь открыть архив. Формат 7z распаковывает 7-Zip, WinRAR и встроенные средства новых сборок Windows 11, но на старом компьютере бухгалтера может не открыться. Если не уверены — выбирайте ZIP.
Архивация папки файловой базы
Файловую базу
копируют целиком папкой: в ней лежит 1Cv8.1CD и служебные файлы. Перед архивацией все пользователи должны выйти из базы. Если кто-то работает, файл заблокирован, и копия может получиться несогласованной.
Папку 1Cv8Log с журналом регистрации включайте, только если получатель разбирает ошибки по журналу. Для переноса данных она не нужна.
Сжатие XML-файлов обмена средствами самой 1С
Если вы регулярно передаёте файлы обмена между базами, архивировать их руками не нужно. Сжатие можно включить в настройках обмена или в коде.
Флажок сжатия в синхронизации данных
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) обмены настраиваются в разделе Администрирование → Синхронизация данных. В настройках транспорта сообщений (каталог, FTP или почта) есть флажок, который упаковывает исходящий файл обмена в ZIP. Там же можно задать пароль на архив.
Порядок:
- Откройте
Администрирование → Синхронизация данных. - Перейдите к настроенным синхронизациям и откройте нужную.
- Найдите на форме настройки параметров подключения или транспорта.
- Включите сжатие исходящих сообщений и при желании задайте пароль.
- Сделайте то же самое во второй базе, чтобы обе стороны работали одинаково.
Принимающая база распознаёт ZIP сама и распаковывает его перед загрузкой.
Универсальный обмен данными в формате XML
Внешняя обработка «Универсальный обмен данными в формате XML» используется при переносе данных по правилам конвертации. На вкладке параметров выгрузки у неё есть флажок архивации выгружаемого файла. С ним на выходе получается ZIP, а не голый XML. При загрузке та же обработка умеет читать архив.
Сжатие в коде: ЗаписьZipФайла
Если обмен написан своими силами, упакуйте файл объектом ЗаписьZipФайла. Пример для 8.3 — сжимает XML с максимальным уровнем и удаляет исходник:
ИмяXML = "C:\Обмен\Message.xml";
ИмяZIP = "C:\Обмен\Message.zip";
Архив = Новый ЗаписьZipФайла(ИмяZIP, , , МетодСжатияZIP.Сжатие, УровеньСжатияZIP.Максимальный);
Архив.Добавить(ИмяXML);
Архив.Записать();
УдалитьФайлы(ИмяXML);
Распаковка на принимающей стороне:
Чтение = Новый ЧтениеZipФайла("C:\Обмен\Message.zip");
Чтение.ИзвлечьВсе("C:\Обмен\Распаковано\");
Чтение.Закрыть();
Второй параметр конструктора ЗаписьZipФайла — пароль. Если передать строку, архив будет защищён, и при чтении пароль нужно указать так же вторым параметром ЧтениеZipФайла.
Как уменьшить выгрузку 1С ещё до архивации
Архиватор жмёт то, что ему дали. Если база раздута мусором, выгоднее сначала облегчить её саму.
Тестирование и исправление со сжатием таблиц
Для файловой базы самый действенный шаг — сжатие таблиц в Конфигураторе. Оно убирает пустые страницы из 1Cv8.1CD.
- Сделайте копию базы
: скопируйте папку или выгрузите
.dt. - Попросите всех пользователей выйти — режиму нужен монопольный доступ.
- Откройте базу в Конфигураторе.
- Выберите
Администрирование → Тестирование и исправление. - Отметьте флажок «Сжатие таблиц информационной базы». Остальные проверки для этой задачи не нужны.
- Нажмите «Выполнить» и дождитесь окончания.
После этого размер 1Cv8.1CD нередко падает заметно, а архив получается меньше.
Не запускайте тестирование и исправление на рабочей базе без копии. Если процесс прервётся (отключили питание, закончилось место на диске), база может не открыться.
Удаление помеченных объектов
Документы и элементы справочников с пометкой удаления лежат в базе и попадают в выгрузку. В типовых конфигурациях их удаляют обработкой в разделе Администрирование → Обслуживание. Перед этим убедитесь, что помеченное действительно не нужно — восстановить удалённое можно только из копии.
Журнал регистрации
Журнал не входит в .dt, но занимает место в папке файловой базы. Сократить его можно в Конфигураторе: Администрирование → Настройка журнала регистрации, кнопка «Сократить». Там же задаётся период, после которого старые записи не хранятся.
Выгрузка .dt: что настроить нельзя и что можно
Команда Администрирование → Выгрузить информационную базу в Конфигураторе не умеет выгружать часть данных. В .dt попадает вся конфигурация и все данные. Отобрать период или отдельные справочники на этом шаге нельзя.
Если получателю нужна только часть данных, используйте обмен через XML с отбором: в правилах конвертации или в настройках синхронизации можно ограничить период и состав объектов. Такой файл после архивации иногда весит в десятки раз меньше полной выгрузки.
Выгрузку можно запускать и из командной строки, например по расписанию:
"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"" /DumpIB"D:\Backup\buh.dt"
Номер версии платформы в пути, путь к базе, имя пользователя и пароль замените на свои.
Свёртка базы тоже уменьшает размер, но меняет данные: остатки переносятся на дату, старые документы удаляются. Для отправки базы в техподдержку или аудитору она не подходит — им нужна именно ваша база, как есть.
Разбиение большого файла 1С на тома
Когда сжатие не помогает, файл режут на части — тома. Каждый том меньше лимита почты, получатель собирает их обратно.
Тома в 7-Zip
В окне 7-Zip → Добавить к архиву… заполните поле «Разбить на тома размером», например 20M. На выходе получатся файлы base.7z.001, base.7z.002 и так далее.
То же самое из командной строки:
"C:\Program Files\7-Zip\7z.exe" a -t7z -mx=9 -v20m D:\Send\buh.7z D:\Backup\buh.dt
a— добавить в архив;-mx=9— максимальное сжатие;-v20m— тома по 20 МБ.
Получатель кладёт все части в одну папку и распаковывает первую — buh.7z.001. Остальные 7-Zip подхватит сам:
"C:\Program Files\7-Zip\7z.exe" x D:\Inbox\buh.7z.001 -oD:\Inbox\Base
Если пропадёт хотя бы один том, архив не распакуется. Пересылайте части одной серией и проверьте, что дошли все номера подряд.
Разделение файла средствами платформы
В 8.3 есть встроенные функции РазделитьФайл и ОбъединитьФайлы. Их используют, когда файл обмена надо резать автоматически, без внешнего архиватора:
// режем на части по 20 МБ
РазмерЧасти = 20 * 1024 * 1024;
Части = РазделитьФайл("C:\Обмен\Message.zip", РазмерЧасти, "C:\Обмен\Части\");
// на принимающей стороне собираем обратно
ОбъединитьФайлы(Части, "C:\Обмен\Message.zip");
РазделитьФайл возвращает массив имён частей. На второй стороне их нужно передать в ОбъединитьФайлы в том же порядке. Если массив туда не доходит, передайте вместе с частями список их имён.
Как выбрать размер тома
| Куда отправляете | Размер тома |
|---|---|
| Обычная почта | Заметно меньше лимита вложения — у многих сервисов он около 20–30 МБ |
| Мессенджер | Смотрите ограничение конкретного сервиса |
| Флешка с FAT32 | Меньше 4 ГБ — больше файл на такую флешку не запишется |
Почтовые программы увеличивают письмо при кодировании вложения примерно на треть. Поэтому том на 25 МБ при лимите 25 МБ не пройдёт — берите запас.
Как передать файл 1С, если почта не подходит
Разбивать базу на 40 писем неудобно и ненадёжно. Для файлов от сотни мегабайт удобнее другие каналы.
| Способ | Когда подходит | На что смотреть |
|---|---|---|
| Облачный диск со ссылкой | Разовая передача базы в техподдержку, аудитору, программисту | Срок жизни ссылки, пароль на архив |
| FTP или общий сетевой каталог | Регулярный обмен между офисами | В синхронизации данных 1С можно выбрать этот транспорт сразу |
| Обмен через интернет (веб-сервис) | Постоянная синхронизация баз | Нужна публикация базы на веб-сервере |
| Внешний диск или флешка | Очень большие базы, медленный интернет | Файловая система носителя и шифрование |
Ссылка на облако — самый простой вариант для разовой отправки. Получатель скачивает файл целиком, без сборки томов.
В базе 1С есть персональные данные сотрудников, паспорта, суммы зарплат и реквизиты контрагентов. Отправляйте её только в зашифрованном архиве с паролем и передавайте пароль другим каналом: по телефону или в мессенджере, не тем же письмом.
Для регулярных обменов не возите файлы вручную. Настройте в Администрирование → Синхронизация данных транспорт через сетевой каталог или FTP с включённым сжатием — 1С будет сама упаковывать, класть и забирать сообщения обмена.