Имя: Пароль:
1C
 
Как получить значения командной строки ☑
0 rybakov_ae
 
15.10.14
✎
11:49
запускаю через командную строку
C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /s___\Test /N1 /P1 /DisableStartupMessages  /execute\\__\__\__\__.epf
Как выудить то что передается в "/execute"
1 rybakov_ae
 
15.10.14
✎
12:19
(0) Или список запущенных внешних обработок
2 pessok
 
15.10.14
✎
12:23
/Out[ -NoTruncate]   Задаёт файл для вывода служебных сообщений. Если задано -NoTruncate, файл не очищается (не используется в тонком клиенте). C 8.2.15 файл сообщений открывается в режиме, допускающем совместное чтение, и во время пакетного режима запуска Конфигураторa запись в этот файл выполняется сразу, а не буферизуется.
3 pessok
 
15.10.14
✎
12:24
т.е. в самой обработке сделать
Сообщить("Запущена обработка блаблабла");
4 rybakov_ae
 
15.10.14
✎
12:28
Этот способ не подходит т.к. в каждую обработку поместить такой код неэффективно, а надо как то выудить что было запущенно (м.б. есть какие-то параметры при запуске я смотрел и смог найти только если в строке подключения использовать параметр запуска "/c" но это тоже не то так как по сути придется в каждую строку подключения это добавлять что эквивалентно моей проблеме )
5 rybakov_ae
 
20.10.14
✎
11:33
Есть еще какие-нибудь идеи?
6 rybakov_ae
 
20.10.14
✎
13:11
(5) Ответ найден


Функция GetCL()  
    WSS=Новый COMОбъект("WScript.Shell");
    oExec=WSS.Exec("rundll32.exe kernel32,Sleep");
    CurrentProcessId=ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2:Win32_Process.Handle='"+Формат(oExec.ProcessID,"ЧГ=0")+"'").ParentProcessID;
    CL = ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2:Win32_Process.Handle='"+Формат(CurrentProcessId,"ЧГ=0")+"'").CommandLine;
    Возврат CL;
КонецФункции
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс