VBS/WSH/JS - Нужно ли завершать скрипт

Аватара пользователя
Iska

Re: VBS/WSH/JS - Нужно ли завершать скрипт

Сообщение Iska »

Цитата Iska:



Почему Вы решили, что 1С — именно зависло?
VBS/WSH/JS - Нужно ли завершать скрипт




Если 1с висит в таскменеджере и не заканчивается за 30 сек, то в нем ошибка, которая обычно выдается с табличкой о необходимости переиндексации базы 1с. Т.к. в скрипте 1с должна запускаться 4 раза, то нужно скинуть 4 зависа 1с, когда это произошло. База 1с в любой момент может приподнести такой "сюрприз", приходится вручную отслеживать.




Цитата Iska:



wscript.exe /?

прочитайте.
VBS/WSH/JS - Нужно ли завершать скрипт




Непонятно про Logo. У меня по-умолчанию никаких сведений не выдается, когда vbs запускаю.
Аватара пользователя
Iska

Re: VBS/WSH/JS - Нужно ли завершать скрипт

Сообщение Iska »

pavsem7, так это не «зависло». Как именно у Вас в скрипте организован запуск 1С?




Цитата pavsem7:



У меня по-умолчанию никаких сведений не выдается, когда vbs запускаю.
VBS/WSH/JS - Нужно ли завершать скрипт




Это потому, что у Вас wscript.exe хостом по умолчанию является. Попробуйте Win-R, cmd.exe, и там — cscript.exe //logo и cscript.exe //nologo.
Аватара пользователя
pavsem7

Re: VBS/WSH/JS - Нужно ли завершать скрипт

Сообщение pavsem7 »

Цитата Iska:



Как именно у Вас в скрипте организован запуск 1С?
VBS/WSH/JS - Нужно ли завершать скрипт




Вот так:



Код:

Код: Выделить всё

zapuskV7 = """C:\Program Files (x86)\1Cv77\BIN\1cv7.exe"""
basefolder   = "C:\folder"
progV7 basefolder,"C:\1\obr.ert","78"
Sub progV7(basef,obr,parametr)
	WriteLog "   ------------------------------"
	WriteLog "   start: " & obr
	Set xFile = fso.CreateTextFile(basef & "\ExtForms\Oper.txt",True)
	xFile.WriteLine obr
	xFile.WriteLine parametr
	xFile.Close
	strParam   = " enterprise /d" & basef & " /nUser /pPass"
	WriteLog "     " & basef
	If SV7(basef) = True Then 
		nErrCode = WshShell.Run (zapuskV7 & strParam,1,True)	
		WriteLog "     Error code WshShell.Run: " & nErrCode
	End If
	WriteLog "   end  : " & obr
End sub
Function SV7(dir)
SV7 = True
fso.CopyFile "C:\folder\1susers.dbf", "C:\1\"
If Err.number  0 then
	'база монопольно открыта
        WriteLog "     start cancelled [open exclusively], cant open dbf file ErrNumber=" & Err.Number
	err.clear
        On Error GoTo 0
        SV7 = False
	Exit Function
End if
Sub WriteLog(strLine)
	fLog.WriteLine Date & " (" & Time & ") " & strLine
end sub

Строчка запуска progV7 ... повторяется 4 раза с разными параметрами для обработки obr.ert на языке 1cv7
Аватара пользователя
Iska

Re: VBS/WSH/JS - Нужно ли завершать скрипт

Сообщение Iska »

Цитата pavsem7:





Код:

Код: Выделить всё

nErrCode = WshShell.Run (zapuskV7 & strParam,1,True)

VBS/WSH/JS - Нужно ли завершать скрипт




Поскольку третий аргумент — True, нет никакого способа в принципе[/i] что-либо сделать: код в этом месте будет тупо стоять и ожидать завершения вызванного процесса.
Аватара пользователя
Charg

Re: VBS/WSH/JS - Нужно ли завершать скрипт

Сообщение Charg »

pavsem7, файл с расширением *.vbs это просто текстовый файл. А вот расширение само по себе говорит о том что с этим текстом внутри файла дальше делать. В данном случае запуская планировщиком c:\script.vbs ты по факту запускаешь обработчик (wscript.exe или cscript.exe), которому на вход подаётся путь к коду (тексту) который надо выполнить.



Аналогия для лучшего понимания - когда ты открываешь Документ.docx ты ведь не запускаешь процесс Документ.docx. А запускается Microsoft Word (WINWORD.exe) которому на вход подаётся путь к Документ.docx. Тут то же самое.
Аватара пользователя
pavsem7

Re: VBS/WSH/JS - Нужно ли завершать скрипт

Сообщение pavsem7 »

Цитата Iska:



нет никакого способа в принципе что-либо сделать
VBS/WSH/JS - Нужно ли завершать скрипт




Может быть, можно как-то отключать выполнение по времени? Например, если выполняется больше 2 минут, то снять задачу.
Аватара пользователя
Iska

Re: VBS/WSH/JS - Нужно ли завершать скрипт

Сообщение Iska »

pavsem7, можно. Покажите скриншот дерева процессов wcsript.exe|cscript.exe → 1C….exe из Process Explorer'а в моменты а) нормальной работы 1С и б) «зависания» 1С.



Тем не менее, продолжаю настаивать на том, что разбираться надо с 1С, а не лепить костыли.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»