Часто возникает ситуация когда из 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