Имя: Пароль:
1C
1С v8
Обновление серверной базы из bat файла
0 dextermorgan777
 
07.05.15
10:19
Добрый день. Необходимо ткнуть меня носом в мою ошибку. Почитал разные темы про обновление, написал свой батник по примеру. С файловой базой все получилось и она обновилась, а вот с серверной не выходит почему-то. Консоль запускается, думает какое-то время и закрывается (т.е. визуально все происходит так же как и с файловой), но база не обновляется. Вот пример кода:

CHCP 1251
set bin_dir="C:\Program Files (x86)\1cv8"
set bin_ver=8.3.4.496
set base_server=workplace
set base_name=work_test
%bin_dir%\%bin_ver%\bin\1cv8.exe CONFIG /S %base_server%\%base_name% /N"User" /P"Pass" /UpdateDBCfg


Подскажите что я еще забыл пожалуйста. Пример брал тут:
http://habrahabr.ru/company/knopka/blog/225027/
1 shuhard_серый
 
07.05.15
10:35
(0)[а вот с серверной не выходит почему-то.]
а с какого бодуна серверной базе работать с этой хернёй [%base_server%\%base_name%]


и читать наао СП, а не голимые хабры
2 dextermorgan777
 
07.05.15
10:38
(1) я и так писал workplace\work_test
тоже не работало
3 shuhard_серый
 
07.05.15
10:39
(2) в третий  и последний раз:
у сервера есть IP, порт и имя базы
всё расписано в СП
4 xsnika
 
07.05.15
10:39
Set WshShell = WScript.CreateObject("WScript.Shell")
stpath = """C:\Program Files (x86)\1cv82\8.2.19.68\bin\1cv8.exe"" ENTERPRISE /S""172.16.201.123\USO"" /DisableStartupMessages /C""ЗавершитьРаботуПользователей"""
Return = WshShell.Run(stpath , 1, true)
stpath = """C:\Program Files (x86)\1cv82\8.2.19.68\bin\1cv8.exe"" DESIGNER /S""172.16.201.123\USO""   /DisableStartupMessages /ConfigurationRepositoryF""Y:\Хранилище ТСМ\Storage090113"" /ConfigurationRepositoryN""YSO"" /ConfigurationRepositoryUpdateCfg -revised -force -NoTruncate  /UC""КодРазрешения"" /out ""O:\PO_OTDELAM\1c\! Мелихов\update.log"""
Return = WshShell.Run(stpath , 1, true)
stpath = """C:\Program Files (x86)\1cv82\8.2.19.68\bin\1cv8.exe"" DESIGNER /S""172.16.201.123\USO""   /DisableStartupMessages /UpdateDBCfg /UC""КодРазрешения"""
Return = WshShell.Run(stpath , 1, true)
stpath = """C:\Program Files (x86)\1cv82\8.2.19.68\bin\1cv8.exe"" ENTERPRISE /S""172.16.201.123\USO"" /C""РазрешитьРаботуПользователей"" /UC""КодРазрешения"""
Return = WshShell.Run(stpath , 1, true)
5 dextermorgan777
 
07.05.15
10:40
(4) спасибо. Сейчас попробую.
6 dextermorgan777
 
07.05.15
11:31
%bin_dir%\%bin_ver%\bin\1cv8.exe DESIGNER /S workplace\work_test  /N"User" /P"Pass"/UpdateDBCfg /UCКодРазрешения

Когда эту команду отдельно выполнил, то норм обновило. Захотел проверить с пользователями и сделал так (вот полный текст):

CHCP 1251
set bin_dir="C:\Program Files (x86)\1cv82"
set bin_ver=8.2.19.80
%bin_dir%\%bin_ver%\bin\1cv8.exe ENTERPRISE /S workplace\work_test  /N"User" /P"Pass" /DisableStartupMessages /CЗавершитьРаботуПользователей
%bin_dir%\%bin_ver%\bin\1cv8.exe DESIGNER /S workplace\work_test  /N"User" /P"Pass"/UpdateDBCfg /UCКодРазрешения
%bin_dir%\%bin_ver%\bin\1cv8.exe ENTERPRISE /S workplace\work_test  /N"User" /P"Pass"/DisableStartupMessages /CРазрешитьРаботуПользователей /UCКодРазрешения

то пользователей выгнало, а назад не пускает.
7 dextermorgan777
 
07.05.15
13:30
CHCP 1251
set bin_dir="C:\Program Files (x86)\1cv82"
set bin_ver=8.2.19.80
SET LOG_DIR=D:\Log
SET LOG_FILE=%LOG_DIR%\1.log

START "" /wait %bin_dir%\%bin_ver%\bin\1cv8.exe ENTERPRISE /S workplace\work_test  /N"User" /P"Pass"  /WA- /DisableStartupMessages /CЗавершитьРаботуПользователей /Out%LOG_FILE%
START "" /wait %bin_dir%\%bin_ver%\bin\1cv8.exe DESIGNER /S workplace\work_test  /N"User" /P"Pass" /WA- /UCПакетноеОбновлениеКонфигурацииИБ  /UpdateDBCfg  /Out%LOG_FILE%
START "" /wait %bin_dir%\%bin_ver%\bin\1cv8.exe ENTERPRISE /S workplace\work_test  /N"User" /P"Pass" /WA- /DisableStartupMessages /CРазрешитьРаботуПользователей /UCПакетноеОбновлениеКонфигурацииИБ

теперь работает, но меня смущает один момент. После первого пункта открылось и долго висело открытое окно предприятия. Я его закрыл руками, после чего вторая и третья команда норм отработали. Я просто не дождался закрытия предприятия или нужно еще какой-то ключ прописать?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.