Страницы

АВТОМАТИЧЕСКАЯ ВЫГРУЗКА БАЗЫ 1С v.7.7 ИЛИ РАБОТА С 1С v.7.7 В ПАКЕТНОМ РЕЖИМЕ.


















Бывает так что Системным администраторам, или даже не администраторам а просто пользователям, или даже бухгалтерам нужна автоматическая выгрузка базы 1С предприятие, или например автоматическая переиндексация базы и выгрузка.
Не многие знают, что конфигуратор 1С v.7.7 поддерживает командную строку, а это кстати очень удобно.
Ниже я приведу батник и файл конфигурации, для автоматической выгрузки базы 1С v.7.7 В общем то можно много чего делать интересного с 1С с помощью пакетного файла. Важно если в скрипте Вы используете пути с русскими названиями то батник необходимо сохранять в кодировке 866 OEM RUS например с помощью AkelPad И еще немаловажная деталь заключается в том что если есть разрыв, пробел в названии директории в пути то путь нужно брать в кавычки.
Например: D:\Мои документы\BackUP\1c\1C.zip В пути мы видим пробел в названии директории, нужно взять путь в кавычки дабы консоль смогла прочитать путь D:\"Мои документы\BackUP\1c\1C.zip" Ну и не забываем что если в пути есть названия на кирилице то сохранять скрипт нужно в кодировке 866 OEM RUS

Файл конфигурации работы пакетного файла:

Это мы помещаем в .txt файл и называем например Set1C.txt
Не забываем подставлять свои пути и названия.
-----------------------Копировать-----------------------------------------------------
[General]
Output=c:\путь к логу истории выполнения пакетного файла\Histor.txt
Quit=1
CheckAndRepair=0
UnloadData=1
SaveData=1
[UnloadData]
UnloadToFile=D:\Путь к архиву, который будет выгружен с базы\1C.zip
IncludeUserDef=1
-----------------------Копировать-----------------------------------------------------

Далее создаем батник и копируем в него это, соответственно подставляем свои пути, логины и пароли.
-----------------------Копировать-----------------------------------------------------
Rem Командный файл:
Color 09
Rem Убираем перед выгрузкой базы, все процессы 1С, иначе выгрузка не сможет пройти успешно.
Taskkill /f /im 1cv7.exe
Rem Собственно секция выгрузки.
"C:\Progra~1\1Cv77\BIN\1cv7l.exe" config /M /D "D:\Base\" /Nлогин /Pпароль /@"C:\Путь к файлу\конфигурации работы\пакетного файла\Set1C.txt"
-----------------------Копировать-----------------------------------------------------

В общем то и все, далее в планировщике задач указываем наш пакетный файл, время запуска, и вуаля, например каждую ночь в 00-00 часов будет делаться выгрузка базы.


Описание секций файла конфигурации работы пакетного файла.

Секция General.

[General]

Параметр

Пояснение

Output=Имя_файла

Указывает файл, в который будет дополнительно направляться вывод записей о выполняемых действиях в пакетном режиме. Имя файла может указываться как абсолютным путем, так и относительно каталога, в котором расположен файл параметров. Если параметр не указан, то дополнительный вывод производиться не будет. В любом случае вывод производится в журнал регистрации.

Quit=Значение

Указывает, нужно ли завершать выполнение Конфигуратора после выполнения действий пакетного режима. Если задано Y или 1, после выполнения действий пакетного режима, программа будет завершена, а если 0 или N, то нет. Если параметр не задан, то программа будет завершена.

CheckAndRepair=Значение

Указывает, нужно ли выполнять тестирование и исправление информационной базы. Если задано Y или 1, тестирование и исправление будет выполняться, а если 0 или N, то нет. Если параметр не задан, то тестирование и исправление выполняться не будет.

UnloadData =3начение

Указывает, нужно ли выполнять выгрузку информационной базы. Если задано Y или 1, выгрузка будет выполняться, а если 0 или N, то нет. Если параметр не задан, то выгрузка выполняться не будет.

SaveData=Значение

Указывает, нужно ли выполнять сохранение информационной базы. Если задано Y или 1, сохранение будет выполняться, а если 0 или N, то нет. Если параметр не задан, то сохранение выполняться не будет.

AutoExchange=Значение

Указывает, нужно ли выполнять автообмен в распределенной информационной базе. Если задано Y или 1, автообмен будет выполняться, а если 0 или N, то нет. Если параметр не задан, то автообмен выполняться не будет.

Секция CheckAndRepair

[CheckAndRepair]

Данная секция предназначена для описания выполнения тестирования и исправления информационной базы.

Параметр

Пояснение

Repair=Значение

Параметр указывает, должно ли выполняться исправление информационной базы. Если задано значение Y или 1, то будет выполняться тестирование и исправление обнаруженных ошибок в информационной базе. Если задано значение N или 0, то будет производиться только тестирование. Если параметр не задан, то будет производиться тестирование и исправление.

PhysicalIntegrity=Значение

Параметр указывает, следует ли производить проверку физической целостности таблиц информационной базы. Если задано Y или 1, проверка будет производиться, если N или 0, то нет. Если параметр не задан, проверка будет производиться.

Reindex=Значение

Параметр указывает, следует ли производить реиндексацию таблиц информационной базы. Если задано Y или 1, реиндексация будет производиться, если N или 0, то нет. Если параметр не задан, реиндексация будет производиться. Если установлен режим исправления, то рекомендуется установить и режим реиндексации.

LogicalIntegrity=Значение

Параметр указывает, следует ли производить проверку логической целостности таблиц информационной базы. Если задано Y или 1, проверка будет производиться, если N или 0, то нет. Если параметр не задан, проверка будет производиться.

RecalcSecondaries=Значение

Параметр указывает, следует ли производить обновление (пересчет) вторичных данных информационной базы, то есть служебных данных, которые могут быть рассчитаны на основании другой информации, хранящейся в информационной базе. Если задано Y или 1, обновление будет производиться, если N или 0, то нет. Если параметр не задан, обновление будет производиться.

RecalcTotals=Значение

Параметр указывает, следует ли производить пересчет итогов бухгалтерского и оперативного учета. Если задано Y или 1, пересчет будет производиться, если N или 0, то нет. Если параметр не задан, пересчет будет производиться.

Pack=3начениe

Параметр указывает, следует ли производить упаковку таблиц информационной базы, то есть освобождать место занятое удаленными записями. Если задано Y или 1, упаковка будет производиться, если N или 0, то нет. Если параметр не задан, упаковка не будет производиться. Данный параметр имеет смысл, только если данные хранятся в формате DBF/CDX.

SkipUnresolved=Значение

Параметр указывает, следует ли пропускать неразрешенные ссылки, или их следует исправлять. Если задано Y или 1, неразрешенные ссылки будет только диагностироваться, если N или 0, то ссылки будут разрешаться способом, задаваемым параметром CreateForUnresolved (см. ниже). Если параметр не задан, ссылки будут исправляться. Параметр имеет смысл только, если проводится тестирование и исправление информационной базы.

CreateForUnresolved=Значение

Параметр указывает способ разрешения неразрешенных ссылок. Если задано Y или 1, для неразрешенной ссылки будет создан объект соответствующего типа, если N или 0, то ссылка будет очищена. Если параметр не задан, будет создан объект. Параметр имеет смысл только, если проводится тестирование и исправление информационной базы.

Reconstruct=Значение

Параметр указывает способ исправления информационной базы в случае, когда данные объекта частично потеряны. Если задано Y или 1, будет создан объект, заполненный имеющимися данными, если N или 0, то данные объекта будут удалены. Если параметр не задан, будет создан объект. Параметр имеет смысл только, если проводится тестирование и исправление информационной базы.

Секция UnloadData

[UnloadData]

Данная секция предназначена для описания выполнения выгрузки данных информационной базы.

Параметр

Пояснение

UnloadToFile=Имя_Файла

Параметр указывает имя файла переноса данных, в который будет производиться выгрузка. Может задаваться как абсолютно, так и относительно того каталога, в котором размещается файл параметров. Параметр должен быть задан обязательно.

IncludeUserDef=Значение

Параметр указывает должен ли в файл переноса данных включаться список пользователей. Если задано Y или 1, то список пользователей будет включен в файл переноса, если 0 или N, то нет. Если параметр не задан, то список будет включен в файл переноса.

Password=Пароль

Параметр задает пароль, которым будет закрыт файл переноса данных. Если параметр не задан, то файл переноса не будет закрыт паролем.

Секция SaveData

[SaveData]

Данная секция предназначена для описания выполнения сохранения данных информационной базы.

Параметр

Пояснение

SaveToFile=Имя_Файла

Параметр указывает имя файла, в который будет производиться сохранение данных. Может задаваться как абсолютно, так и относительно того каталога, в котором размещается файл параметров. Параметр должен быть задан обязательно.

FileList=Список сохраняемых файлов

Задается как перечисление имен файлов, разделенных пробелами или запятыми. Длинные имена файлов, содержащие пробелы должны заключаться в кавычки "". В именах файлов могут использоваться символы «*» для обозначения групп файлов. Если параметр не задан, то список сохраняемых файлов будет взят из файла 1CV7FILE.LST, так же как и в случае выполнения сохранения из пункта меню «Администрирование».

Секция AutoExchange

[AutoExchange]

Данная секция предназначена для описания настроек автообмена УРБД.

Параметр

Пояснение

SharedMode=Значение

Параметр указывает режим работы базы данных, в котором будет выполняться автообмен. Если задано Y или 1, то будет использован разделенный режим, если 0 или N, то нет. Если параметр не задан, используется монопольный режим. Если задан монопольный режим, а база в данный момент занята - задание завершается с ошибкой.

ReceiveFrom=Значение

Параметр указывает, от каких баз следует получать почту. Указываются идентификаторы баз через запятую, либо символ «*» - что означает «все».

ReadFrom=Значение

Параметр указывает, от каких баз следует загружать данные в базу. Указываются идентификаторы баз через запятую, либо символ «*» - что означает «все».

WriteTo=Значение

Параметр указывает, для каких баз следует выгружать данные из базы. Указываются идентификаторы баз через запятую, либо символ «*» - что означает «все».

SendTo=Значение

Параметр указывает, для каких баз следует отправлять почту. Указываются идентификаторы баз через запятую, либо символ «*» - что означает «все».



Описание ключей запуска через пакетный файл программы 1С:


1cv7.exe MODE [ /M | /D | /U | /N | /P ],

где MODE - режим запуска, может принимать только одно из трех значений:

config - режим конфигуратора;

debug - режим отладчика;

enterprise - нормальный (рабочий) режим 1С.

monitor - режим "Монитор".

Режим enterprise можно применять со следующими ключами:

/M - запуск программы в монопольном режиме;

/D - каталог базы данных;

/U - рабочий каталог пользователя (каталог из списка пользователей игнорируется);

/N - имя пользователя;

/P - пароль пользователя;

/T<путь> - путь к временным файлам

/@<ИмяФайла> - для режима конфигуратора с указанием файла пакетного запуска

/W - инициализация Web расширения

/L - язык интерфейса: ENG - английский, RUS - русский

Например: 1cv7 config /Dc:\1c\mainbase /NСидоров /P12345,

Запуск программы произойдет без вывода диалогов о выборе базы и режима работы, без запроса имени пользователя и его пароля.


2 комментария:

Анонимный комментирует...

Спасибо за скрипт.
конфигуратор грузится, но потом почемуто вылетает (

F@got@dmin комментирует...

Насколько помню, такая проблема из за того что проблема именно из за версии 1с Покопайте в том направлении что обновите 1с на самую последнюю версию, и скрипт будет отрабатывать.