|   |   | 
| 
 | Запуск скрипта консоли из 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:\   в файл?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |