Часто возникает ситуация когда из 1С нужно выполнить запуск какого либо приложения, или выпонлить какие то системные команды.
Понадобилось мне распаковать rar архив из 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(ИмяТемпФайла); КонецПроцедуры Posted on сб, 01/30/2