
июнь10
Скрипт для выгрузки базы 1С в DT

Как выгрузить 1С в файл dt через коммандную строку.
Windows
Как делать единоразовую выгрузку базы 1С в файл DT (*.dt) каждый 1С-ник знает и часто этим пользуется. Для тех кто забыл - напоминаю. Необходимо:
- Выгнать всех пользователей из базы 1С
- Зайти в конфигуратор под учетной записью с правами "Адмнистратора" или "Полными Правами"
- Перейти в меню "Администрирование"-"Выгрузить информационную базу"
- Выбрать место и имя сохраняемого файла и нажать "Сохранить"
Этот метод имеет ряд полезных свойств - он сохраняет конфигурацию и данные, он занимает практически максимально минимальный объем, его можно загрузить практически на любую другу базу 1С, для всех манипуляций ничего кроме 1С больше не нужно.
Но есть так же и минусы, и главне из них - нельзя стандартными средствами автоматизировать этот процесс и необходимо выгонять всех пользователей из базы. К счастью компания 1С снабдила свое детище набором ключей запуска, что позволит нам собрать небольшой скрипт для автоматизации задачи.
1. На диске (лучше не на рабочем столе) создаем файл с произвольным именем и раширением bat. Например 1cbackup.bat.
2. Пишем в нем один из следующих вариантов, заменяя выделенные команды на свои значения:
Вариант 1 Простой
rem Удаляем все файлы в папке назначения.Применяем это по необходимости
DEL /F /S /Q /A "e:\1CBackUp\MyBase\*"
rem Выполняем выгрузку базы в dt
"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /S localhost\MyBase /N"UserName" /P"UserPas" /DumpIB e:\1CBackUp\MyBase\MyBase_%date:~-10%.dt
exit
Вариант 2 Профессионал
set NameBase=MyBase
set NameServer=localhost
set Login=UserName
set Password=UserPas
set Patch="C:\Program Files\1cv8\8.3.14.1565\bin"
rem Удаляем все файлы в папке назначения.Применяем по необходимости
DEL /F /S /Q /A "e:\1CBackUp\MyBase\*"
chcp 1251
rem Выгоням всех пользователей из базы, иначе dt не выгрузится
start /wait /d%Patch% 1cv8.exe ENTERPRISE /S %NameServer%\%NameBase% /N %Login% /P %Password% /DisableStartupMessages /C ЗавершитьРаботуПользователей
rem Блокируем базу и выпоняем выгрузка
start /wait /d%Patch% 1cv8.exe DESIGNER /S %NameServer%\%NameBase% /N %Login% /P %Password% /1234554321 /DumpIB "D:\%NameBase%_%date:~-10%.dt" /DumpResult "D:\%NameBase%_%date:~-10%.txt"
rem Открываем базу 1С для подключения пользователей
start /wait /d%Patch% 1cv8.exe ENTERPRISE /S %NameServer%\%NameBase% /N %Login% /P %Password% /C РазрешитьРаботуПользователей /1234554321
exit
3. Заходим в планировщик Windows и создаем простую задачу, в которой в качестве действия выбираем "Запустить программу" а в качестве триггера события - ваше время или периодичность, с которой нужно выполнять ваш скрипт.
После этого операционная система будет сама с указанной вашей периодичностью создавать выгрузки базы 1С в файл dt, да еще и добавлять к имени архива дату, на когда была выгрузка выполнена.
P.S. Так-же мы предоставлям надежное обланое хранилище для ваших баз 1С. Подробнее...