вторник, 24 января 2017 г.

Выполнить скрипт из 1С


Выполнить обработку скрипт который прописан в обработке, вместо запуска bat файлов


&НаКлиенте
Процедура КопированиеНаСайт()
 //Упрощенный вариант
 //Shell=Новый COMОбъект("WScript.Shell");
 //Shell.Run("pscp -pw parol -P 9090 C:\Users\Public\bitrix_\goods.xml
 //accountUser@101.101.101.101:/home/cat/ext_www/site.ru/exchange/",0,0);

//Другой вариант запуска скрипта
    ИмяТемпФайла = ПолучитьИмяВременногоФайла(".cmd");
   
    прм_Строка = "G:\cmnd\pscp.exe -pw parol -P 9090 C:\Users\Public\bitrix_\goods.xml accountUser@101.101.101.101:/home/cat/ext_www/site.ru/exchange/";
    пауза = "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(ИмяТемпФайла,0,1); //выполнить файл в котором прописана командная            строка

КонецПроцедуры