|
Запуск скрипта консоли из 1С | ☑ | ||
---|---|---|---|---|
0
tabarigen
29.01.16
✎
17:57
|
Пытаюсь выполнить простой скрипт из 1С. Код такой:
&НаСервере Процедура РаспаковатьПрайс() WshShell = Новый COMОбъект("WScript.Shell"); WshShell.Run("""C:\Program Files\WinRAR\Rar.exe""" + " x" + " Y:\price\price.rar" + " N:\" ,7,-1); КонецПроцедуры Скрыть Если смотреть отладчиком то """C:\Program Files\WinRAR\Rar.exe""" + " x" + " Y:\price\price.rar " + "N:\" дает валидную строку скопировав которую в консоль команда выполняется. Пробовал разные варианты, прописывал также переменные окружения пробовал запускать вот так: WshShell.Run("rar x Y:\price\price.rar N:\" ,7,-1); но все без толку |
|||
1
Cyberhawk
29.01.16
✎
17:58
|
База файловая?
|
|||
2
Cyberhawk
29.01.16
✎
17:58
|
Если нет, то проверяй интерактивно из-под пользователя, под которым крутится служба агента сервера 1С
|
|||
3
tabarigen
29.01.16
✎
18:06
|
(2)Да файловая
|
|||
4
tabarigen
29.01.16
✎
18:07
|
Все на моем декстопе который и является сервером для базы.
|
|||
5
mehfk
29.01.16
✎
18:17
|
(0) А вопрос, собственно, в чем?
|
|||
6
Cyberhawk
29.01.16
✎
18:19
|
В режиме обычного приложения проверь, что твой скрипт работает
|
|||
7
HardBall
29.01.16
✎
18:27
|
КомандаСистемы(<СтрокаКоманды>, <ТекущийКаталог>) нет?
|
|||
8
tabarigen
29.01.16
✎
18:29
|
(7) да.
Но что если я хочу выполнять ее регламентным заданием на сервере? |
|||
9
Garykom
гуру
29.01.16
✎
18:32
|
||||
10
Garykom
гуру
29.01.16
✎
18:34
|
||||
11
tabarigen
29.01.16
✎
18:39
|
(9) у меня тоже самое.
(10) попробую сначала разобраться в чем трабл, а потом замены искать. |
|||
12
HardBall
29.01.16
✎
18:59
|
Cгенерируй батник. Запиши.И выполни.
Чо еще. |
|||
13
tabarigen
29.01.16
✎
19:25
|
проблема была в пробеле в пути. Написал так, все гуд.
&НаКлиенте Процедура РаспаковатьПрайс() //WshShell = Новый COMОбъект("WScript.Shell"); //WshShell.Run("""C:\PROGRA~1\WinRAR\Rar.exe""" + " x" + " Y:\price\price.rar" + " N:\" ,7, 1); Кат = КаталогВременныхФайлов(); ИмяТемпФайла = ПолучитьИмяВременногоФайла(".cmd"); прм_Строка = "C:\PROGRA~1\WinRAR\Rar.exe x Y:\price\price.rar N:\"; пауза = "pause"; fso=Новый COMОбъект("Scripting.FileSystemObject"); Если Не fso.FileExists(ИмяТемпФайла) Тогда file=fso.CreateTextFile(ИмяТемпФайла, -1, 0); //создать файл, перезаписывая существующий. file.WriteLine(прм_Строка); file.WriteLine(пауза); file.Close(); Иначе file=fso.OpenTextFile(ИмяТемпФайла, 8, 0); //дополнить файл file.WriteLine(прм_Строка); file.WriteLine(пауза); file.Close(); КонецЕсли; WshShell = Новый COMОбъект("WScript.Shell"); WshShell.Run(ИмяТемпФайла); КонецПроцедуры |
|||
14
tabarigen
29.01.16
✎
19:33
|
кстати как то покрасивее нельзя было записать строку C:\PROGRA~1\WinRAR\Rar.exe x Y:\price\price.rar N:\ в файл?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |