Распаковать архив rar из 1С

Часто возникает ситуация когда из 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
Запись опубликована автором в рубрике 1C с метками , .

Добавить комментарий

Ваш e-mail не будет опубликован.