Вход | Регистрация

1С:Предприятие ::

Метки:Обмен данными и УРБД

Запуск 1С в пекетном режиме через планировщик

Я
   vcv
 
04.06.04 - 10:57
Есть два батничка на одном сервере с запуском 1С в пакетном режиме. Один для ночной проверки/загрузки/выгрузки в монопольном режиме, другой, для ежечасной загрузки/выгрузки УРБД. Оба, если просто запустить из, например, ФАРА или проводника, успешно отрабатывают. Если-же запускать через планировщий (стандартный Windows2000Server), с первым батником все нормально, а из второго 1С не запускается, возвращая errorlevel 128.
Что это может быть?
Где-нибудь можно раздобыть информацию о 1Сных errorlevel?
Ключ и сетевой менеджер стоят на этом-же сервере.
 
 
   lexa
 
1 - 04.06.04 - 10:59
приведи батник и файл параметров, у меня автообмен запускается каждые полчаса  без проблем
   vcv
 
2 - 04.06.04 - 13:01
[General]
Output=C:\backups\AutoExchange.~mlg
Quit=1
CheckAndRepair=0
UnloadData=0
SaveData=0
AutoExchange=1
[AutoExchange]
SharedMode=Yes
ReceiveFrom=
ReadFrom=*
WriteTo=*
SendTo=

Батничек приводить не буду, там много лишнего, только глаза будет путать, но и просто такая строчка в планировщике не пускается:
"C:\Program Files\1Cv77\BIN\1cv7.exe" config /D"C:\Baza.1C\МПК 2004\" /NАдминистратор /@C:\backups\AutoExchange.prm

Ту же строчку запуска скармливаю "Пуск / Выполнить" - все идеально.
   Killgur
 
3 - 04.06.04 - 13:26
В задании обязательно укажи пользователя от чьего имени будет запускаться задание и введи его пароль (задать пароль)
   lexa
 
4 - 04.06.04 - 13:36
переименовал бы ты МПК 2004 в МПК_2004 и убрал бы кавычки и
Output=C:\backups\AutoExchange.~mlg сделай попроще например
Output=C:\backups\AutoEx.mlg
я как то в Output неправильно путь прописал так конфигуратор вообще зависал
попробуй
cd "C:\Program Files\1Cv77\BIN\"
start 1cv7.exe" config /DC:\Baza.1C\МПК_2004\ /NАдминистратор /@C:\backups\AutoExchange.prm
   vcv
 
5 - 07.06.04 - 08:17
Не помогает. Самое что интересное, рядом второй батник, который запускается ночью для проверки базы и загрузки/выгрузки в монопольном режиме. Так он запускается. И от *.prm файла это не зависит, пробовал подменять. Какой-то глюк с неустоячивым запуском.
Тот батник, из которого 1С-ка не запускается так и висит на регулярном запуске каждый час и по логам где-то раз в день, он таки умудряется запуститься.
   427
 
6 - 07.06.04 - 08:25
запусти первый раз батник руками... И ответь на все сообщения - которые вываливаются... Типа там всяких подсказок ежедневных...

Она не висит - просто ждет ответа...
   lexa
 
7 - 07.06.04 - 10:29
(2) попробуй упростить батничек до (4) и (3) прав на задание надо прописать пароль пользователя . Вообще если ОС 2000/ХР, то не .bat, а .cmd. И приведи все-таки батничек. Я сам долгл геморроился с батником: надо было обмен через дискету сделать, а уриб на ЦБ не дает это сделать. Пришломь, проверять наличе файлов, переписывать с дискеты на винт, а после обмена с винта на дискету
   vcv
 
8 - 07.06.04 - 13:43
To 427: "Висит на регулярном запуске" не в смысле 1С запускается и висит, а в смысле запуск указан в шедулере. Сама 1С пытается запуститься и мгновенно завершается с кодом возврата (errorlevel) 128.

To lexa:
Упрощение батничка эффекта не дает. Пароль на задание есть. Как же без него на корпоративном серваке?
А батничек.... Ну ты сам попросил.... :-) :-)

Сначала первый, который запускается раз в день ночью и нормально отрабатывает:

@echo off
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
set TS=%date:~9,4%%date:~6,2%%date:~3,2%
set RAR=rar.exe a -m5 -av- -idp -k -mdG -y -dh
set ONEC="C:\Program Files\1Cv77\BIN\1cv7.exe" config /M
echo.>>%~dpn0.log
echo ------------------------------------------------------------------------------->>%~dpn0.log
echo %TS% %TIME% Обслуживание ИБ 1С>>%~dpn0.log

rem ***
rem *** Архивирование информационных баз
rem ***
pushd C:\Baza.1C
for /F "tokens=*" %%i in ('dir /b /s *.md ^| findstr /V "NEW_STRU"') do (
   if not exist "%~dp0%%~pi" mkdir "%~dp0%%~pi"
    echo %TS% Архивирование ИБ %%~dpi>>%~dpn0.log
    pushd "%%~dpi"
    %RAR% -ilog"%~dp0%%~pi%TS%.log" "%~dp0%%~pi%TS%.tmp" @%~dpn0.lst
    if exist "%~dp0%%~pi%TS%.log" (
       echo %TS% : Протокол ошибок в файле %~dp0%%~pi%TS%.log>>%~dpn0.log
   )
    popd
    pushd "%~dp0%%~pi"
    if exist %TS%.tmp (
       for /F %%i in ('%~dp0cksum.exe %TS%.tmp') do set sum1=%%i
       for /F %%i in ('dir /OD /B *.rar 2^>nul') do set oldname=%%i
       for /F %%i in ('%~dp0cksum.exe !oldname!') do set sum2=%%i
       if "!sum1!"=="!sum2!" (
           echo %TS% : Изменений в ИБ не обнаружено, архив не сохранен>>%~dpn0.log
           del %TS%.tmp
       )
   )
   if exist %TS%.tmp move %TS%.tmp %TS%.rar
   popd
)
popd


rem ***
rem *** Тестирование и автообмен ИБ
rem ***
echo %TS% Тестирование и автообмен ИБ C:\1C\МПК2004\>>%~dpn0.log
del "%BASE%\Exchange\CP\" /Y 2>nul
del "%BASE%\Exchange\PC\" /Y 2>nul
if exist C:\Home\Exchange\U~2C.ZIP move /Y C:\Home\Exchange\U~2C.ZIP "%BASE%\Exchange\CP"
%ONEC% /D"C:\Baza.1C\МПК 2004\" /NАдминистратор /@%~dpn0.prm
if exist %~dpn0.~mlg (
    type %~dpn0.~mlg>>%~dpn0.mlg
    %~dp0recode.exe -wd %~dpn0.~mlg
    findstr "Err" %~dpn0.~mlg>>%~dpn0.log
    del %~dpn0.~mlg
)
move /Y "%BASE%\Exchange\PC\U~?D.ZIP" C:\Home\Exchange >nul

endlocal

и пакетный файл к нему:

[General]
Output=C:\backups\maintenance.~mlg
Quit=1
CheckAndRepair=1
UnloadData=0
SaveData=0
AutoExchange=1

[CheckAndRepair]
Repair=0
PhysicalIntegrity=1
Reindex=1
LogicalIntegrity=1
RecalcSecondaries=1
RecalcTotals=1
Pack=0

[AutoExchange]
SharedMode=No
ReceiveFrom=
ReadFrom=*
WriteTo=*
SendTo=


Второй батничек, который не работает, гораздо проще, он только выгружает данные, забираются они по FTP с другого сервера

@echo off
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION

pushd %~dp0
set ONEC="C:\Program Files\1Cv77\BIN\1cv7.exe" config
set BASE=C:\Baza.1C\МПК 2004
set TS=%date:~9,4%%date:~6,2%%date:~3,2% %time:~0,5%
echo %TS% Автообмен ИБ %BASE%>>%~dpn0.log
del "%BASE%\Exchange\CP\" /Y 2>nul
del "%BASE%\Exchange\PC\" /Y 2>nul
if exist C:\Home\Exchange\U~2C.ZIP move /Y C:\Home\Exchange\U~2C.ZIP "%BASE%\Exchange\CP"

rem %ONEC% /D"%BASE%\" /NАдминистратор /@%~dpn0.prm
cd "C:\Program Files\1Cv77\BIN\"
%ONEC% /D"C:\Baza.1C\МПК 2004\" /NАдминистратор /@%~dpn0.prm
if not %errorlevel%==0 echo %TS% Запуск 1С не удался >>%~dpn0.log

del "%BASE%\Exchange\CP\" /Y 2>nul
if exist %~dpn0.~mlg (
    type %~dpn0.~mlg>>%~dpn0.mlg
    %~dp0recode.exe -wd %~dpn0.~mlg >nul
    findstr "Err" %~dpn0.~mlg>>%~dpn0.log
    del %~dpn0.~mlg
)
move /Y "%BASE%\Exchange\PC\U~2D.ZIP" C:\Home\Exchange 2>nul
popd
endlocal

и пакетный файл к нему:

[General]
Output=C:\backups\AutoExchange.~mlg
Quit=1
CheckAndRepair=0
UnloadData=0
SaveData=0
AutoExchange=1

[AutoExchange]
SharedMode=Yes
ReceiveFrom=
ReadFrom=*
WriteTo=*
SendTo=


Кстати, если кому-то мои батнички приглянутся - берите на здоровье. :-) :-)
   lexa
 
9 - 07.06.04 - 13:47
cd "C:\Program Files\1Cv77\BIN\" 
start /wait %ONEC% /D"C:\Baza.1C\МПК 2004\" /NАдминистратор /@%~dpn0.prm
   Akim
 
11 - 07.06.04 - 15:08
У меня была подобная проблема с пакетным режимом . Победил тем что исключил кирилицу в паролях и именах юзеров (ну не любит 1С русских  ^:)) ). И все пути в формат 8.3. Попробуй.
   Akim
 
12 - 07.06.04 - 15:09
ЗЫЖ И каталоги тоже по английски. :-)
   lexa
 
13 - 07.06.04 - 15:11
Да, батники у тебя навороченные, даже завидно
У меня все просто:
@echo off
cd "g:\Program Files\1Cv77\BIN\"
start /min 1cv7.exe CONFIG /DD:\1C\db /NAutoExchange /P132 /@D:\1C\CMD\Autoexchange.txt
а Autoexchange.txt :
[General]
Output=d:\1C\CMD\Log.txt
Quit=Y
AutoExchange=Y
[AutoExchange]
SharedMode=Y
ReceiveFrom=*
ReadFrom=*
WriteTo=*
SendTo=*
все работает без геморроя (через e-mail)
   lexa
 
14 - 07.06.04 - 15:20
ты перезаписываешь файлы автообмена и не дожидаясь завершения перезаписи запускаешь конфигуратор, а потом недожидаясь завершения его работы опять перезаписываешь файлы, я тут заморачивался с автообменом через дискету и делал примерно так:
xcopy /wait a:\db21.zip c:\cmd\*
cd "g:\Program Files\1Cv77\BIN\"
start /wait 1cv7.exe CONFIG /DD:\1C\db /NAutoExchange /P132 /@D:\1C\CMD\Autoexchange.txt
xcopy c:\cmd\db20.zip a:\*
   vcv
 
15 - 07.06.04 - 15:21
Вопрос кажется решен. Как только юзера ушли домой батник сразу заработал. По предварительным экспериментам, что бы все заработало, надо для пользователя, от которого пускается 1С в пакетном режиме задать свой личный каталог. С пустым каталогом не прокатывает. Точно проверю завтра, когда юзера опять на базу насядут. Непонятно только кочему это важно при запуске из шедула и безразлично при запуске батника вручную.


Список тем форума
Рекламное место пустует   Рекламное место пустует
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки - вот настоящая работа.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует