Параметры командной строки

1. Akuji 22 26.02.13 11:23 Сейчас в теме
из командной строки заставить 1С:Предприятие сделать выгрузку базы данных
C:\Program Files\1cv8\bin\1cv8.exe" CONFIG /F D:\УпрТорг /N ИмяПользователя /P Пароль /DumpIB c:\имя.dt

1) Как узнать что все прошло успешно? только наличием файла в указанной папке?
2) Можно ли как то прописать что бы конфигуратор открывался и был виден ход процесса?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Kom-off 26.02.13 12:04 Сейчас в теме
(1)
Можно ли как то прописать что бы конфигуратор открывался и был виден ход процесса?

Надо заметить, что и в интерактивном режиме выгрузки конфигурации ни фига не видно хода процесса! Так что можно считать, что пункт 2) выполнен за отсутствием необходимости. Хотя, можно попытаться оценивать ход процесса по текущему размеру файла *.dt. Однако, и на этом пути лежат свои грабли. Дело в том, что файловый вариант начинает выгрузку данных в *.dt сразу после запуска процесса и выгружает, практически, равномерными порциями, а, вот, клиент-серверный вариант сначала готовит чего-то там у себя в мозгах, и на это уходит значительная доля времени, а потом "выстреливает" dt-хой в файл.
6. juntatalor 63 26.02.13 13:56 Сейчас в теме
(1) Вы сделайте батник - в первой строчке запустите обработку, которая разорвет все соединения, а второй командой запустите выгрузку. Потому что не пойти выгрузка может только из-за наличия пользователей или зависших соединений. А так достаточно будет 1 раз убедиться в работоспособности.
7. Kom-off 26.02.13 14:12 Сейчас в теме
(6) Да, сейчас прямо:
Потому что не пойти выгрузка может только из-за наличия пользователей или зависших соединений.

Это у Вас, juntatalor, опыта было мало, или все время везло.
8. juntatalor 63 26.02.13 15:05 Сейчас в теме
(7) Просветите, чтоли, по каким еще причинам выгрузка из командной строки не работала?
9. Kom-off 26.02.13 15:26 Сейчас в теме
(8) Ошибки в платформе и в конфигурации. Я встречался с такой ситуацией, когда dt выгружаются с описанием: "блокировка данных сессией". При этом указывает имя компьютера с которого запущен процесс выгрузки и гарантировано ни одного пользователя в сети нет. Так что чудес на этом свете много.
Да вот, хотя бы один из примеров: http://forum.infostart.ru/forum14/topic7631/
10. Akuji 22 26.02.13 15:37 Сейчас в теме
(6) juntatalor,
а "разорвать все соединения..." это какой параметр?
13. VNSh 27.02.13 12:44 Сейчас в теме
(10) Akuji, параметра командной строки у 1С такого нет, но есть другие варианты.

Вот, например, из вчера опубликованного: Скрипт - выгонялка пользователей + резервная копия базы.

Правда при этом следует заранее продумать, как убедить к примеру главбуха, что сделать резервную копию было важнее чем ее оставленное на ночь перепроведение документов...

ИМХО лучше делать копии без обрубания пользоватей, в клиент-серверной базе средствами sql, в файловой - копированием и архивированием папки с базой. Или использовать блокировку соединений. При этом копия создастся только если удалось выгнать пользователей.
Вот, не помню кто из пользователей выкладывал пример батника:
set v8exe="C:\Program Files\1cv82\8.2.16.362\bin\1cv8.exe"
set DataBaseName="D:\1C\ЗУП"
set DataBase=/F %DataBaseName%
set AdminUser=/N AdminLogin /P AdminPassword
set FileInformation=D:\1C\error_backup.txt
set filebak="D:\1C\%date%.dt"

start "" /wait %v8exe% ENTERPRISE %DataBase% %AdminUser% /C"ЗавершитьРаботуПользователей" /Out%FileInformation% -NoTruncate /DisableStartupMessages

start "" /wait %v8exe% CONFIG %DataBase% %AdminUser% /DumpIB %filebak% /UC"КодРазрешения" /Out%FileInformation% -NoTruncate

start "" /wait %v8exe% ENTERPRISE %DataBase% %AdminUser% /C"РазрешитьРаботуПользователей" /UC"КодРазрешения" /Out%FileInformation% -NoTruncate /DisableStartupMessages 
Показать
2. AHDP 8 26.02.13 11:31 Сейчас в теме
14. M_Volkov 5 19.12.20 10:43 Сейчас в теме
(2)
Лог смотрите.
А где его смотреть? Клиент-серверный вариант.
15. M_Volkov 5 19.12.20 14:53 Сейчас в теме
(14) Наверное в файле FileInformation (13).
4. Akuji 22 26.02.13 12:40 Сейчас в теме
виден ход процесса

ну я имел ввиду что бы было видно что что-то делается...
а то нажал... и не понять пошло/не пошло...
5. Kom-off 26.02.13 12:54 Сейчас в теме
(4) Проверяй наличие файла *.dt и логи, как правильно отмечено было в (2). А для того, чтобы узнать, что что то делается, то проверять процессы. И опять, на этом пути лежат грабли. В файловом варианте процесс 1С-ки шуршит без перерыва, а в клиент-серверном - он молчит, он подготовит запрос для сервера 1С и молчит, а сервер наяривает. Поэтому в файловом варианте достаточно убедиться в активности процесса клиента 1С (и то как их выбрать, если не один процесс, а dt выгружается из одного, то какой?), а в клиент-сервном надо контролировать подключение к информационной базе из конфигуратора, есть там пара параметров подключения (не помню наизусть каких), которые при выгрузке dt постоянно меняются. Сам иногда пользуюсь таким способом, но так сказать, интерактивно.
11. Akuji 22 27.02.13 08:53 Сейчас в теме
12. juntatalor 63 27.02.13 11:25 Сейчас в теме
/Execute <имя файла внешней обработки>

Внешняя обработка должна рвать соединения. Запускается с таким параметром не конфигуратор, а предприятие.

То есть алгоритм такой - запускаем предприятие с /Execute, делаем задержку в несколько секунд, завершаем процесс, запускаем конфигуратор в режиме выгрузки.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот