Ранее выгрузку в DT осуществлял с помощью VBS-скриптов. Но такая выгрузка очень часто не срабатывала, так как мешали запущенные сеансы с базой. Перезапуск агента сервера 1С не помогал завершить все сеансы. Также, в момент создания резервной копии, могли запуститься фоновые задания и опять же, выгрузка не происходила.
Конфигурация, перед созданием бэкапов, завершает все сеансы работы с выгружаемыми базами. Устанавливает опцию в свойствах выгружаемой базы "Блокировка регламентных заданий включена". Далее через ЗапуститьПриложение() выполняется выгрузка базы в DT файл с некоторыми параметрами. После выгрузки всех баз, в зависимости от установленных констант, выполняется архивация dt-файлов и копирование их в папку файлового сервера или сетевого хранилища. По окончанию выгрузки, снимается галочка "Блокировка регламентных заданий включена".
Подробнее по константам:
1. Архивировать файлы - если опция установлена, каждый dt-файл помещается в архив и исходный файл удаляется. Архив создается с разбивкой на части, по 1.7 Гб каждая. Это мне было нужно, чтобы затем я эти файлы мог разместить в облаке либо на mail.ru, либо яндекс-диске
2. Переносить старые файлы в папку - опять же мне было необходимо для осуществления синхронизации бэкапов с облаком mail.ru Суть в следующем: я создавал две папки (например d:\Backup и d:\BackupOld), в папке Backup всегда хранились самые свежие архивы, старые же файлы переносились в папку BackupOld. Папка Backup была указана в настройках синхронизации приложения от mail.ru. У облака mail.ru есть ограничение на объем каталога, и это можно указать в константе "Размер папки для резервных копий в ГБ". Другая константа "Размер папки для старых файлов в ГБ" ограничивает размер каталога для "старых" архивов.
В результате в папках файлы распределятся следующим образом:
Следите, чтобы все пути в константах заканчивались обратным слешем (\), в коде этот момент не проверяется и может вызвать ошибку.
3. Путь до Winrar - здесь указывается полностью путь до архиватора (winrar). Если не указан, используется по умолчанию путь "c:\Program Files (x86)\WinRar\WinRAR.exe"
Сам запуск конфигурации осуществляется bat-ником. Вот его содержимое:
"c:\Program Files\1cv8\8.3.18.1363\bin\1cv8.exe" enterprise /Nadmin /F"d:\BackupBases1C\" /C backup
Ваш путь до установленной платформы может быть другим.
Путь до папки с базой, которая производит резервное копирование, не должен содержать русские символы (в примере d:\BackupBases1C\). Иначе придется шаманить с кодировкой bat-файла.
Обратите внимание, при запуске используется параметр backup. При запуске, в модуле приложения проверяется параметр запуска, и если он указан (параметр может быть любым текстом), то выполняется выгрузка всех баз, не помеченных на удаление, из справочника "Базы 1С" . По окончании выгрузки, клиент завершает работу. При запуске конфигурации "вручную" (не батником), параметр пустой, поэтому клиент продолжит работу и позволит настроить параметры конфигурации.
Константа "Копировать файлы в сетевую папку" необходима для дополнительного копирования файлов из папки Backup на файловый сервер. Такая вот паранойя ))
Архив, приложенный к этой публикации, содержит папку с базой. Там можно посмотреть пример заполнения всех констант.
Внутри папки с базой также лежит bat-файл. Этот батник я прописываю в планировщике задач сервера для запуска по расписанию.
Платформа 8.3.14.