Выгрузка и загрузка табличного документа через FTP

Печать (Ctrl+P)

В этой статьи я показываю практический пример,  когда созданные в конфигураторе макеты печатных форм нужно программным путем выгружать и передать  через FTP в  другую информационную базу информационной базы. 

В следующей процедуре передается параметры подключения и выборка макет, которые выгружать.   У данной выборки, только 2 параметра – НаименованиеМакета  (типа строка) и   ХранилищеМакета   (типа хранилище значения) . Макеты в выгружаются в виде файла с расширением mxl


&НаСервере
Процедура ВыгрузитьМакеты(АдресСайта, Порт, Пользователь,Пароль, ВыборкаМакет) 

FTPСоединение = Новый FTPСоединение(АдресСайта, Порт,Пользователь ,Пароль,,Истина,10);
	 
Пока ВыборкаМакет.Следующий() Цикл
	ТабличныйДокумент = ВыборкаМакет.ХранилищеМакета.Получить();
	Наименование = ВыборкаМакет.НаименованиеМакета
	ИмяФайлаИсточника = ПолучитьИмяВременногоФайла();
	ТабличныйДокумент.Записать(ИмяФайлаИсточника,ТипФайлаТабличногоДокумента.MXL);
	ИмяФайлаПриемника = "/Макеты/" + СокрЛП(ВыборкаМакет.Наименование)+".mxl";
	FTPСоединение.Записать(ИмяФайлаИсточника,  ИмяФайлаПриемника);
	УдалитьФайлы(ИмяФайлаИсточника);
КонецЦикла;

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

В следующую  функцию передаются параметры подключения и имя макета который нужно получить из сервера  FTP.

&НаСервере
Функция  ЗагрузитьМакеты(АдресСайта, Порт, Пользователь,Пароль,ИмяМакета) 
	
	Макет = Новый ТабличныйДокумент;
	ИмяКаталога = "/Макеты";
	FTPСоединение = Новый FTPСоединение(АдресСайта,Порт,Пользователь,Пароль,,Истина,10); 
	FTPСоединение.УстановитьТекущийКаталог(ИмяКаталога);
	Каталог= КаталогВременныхФайлов();
	Попытка
		АдресРесурса = "/Макеты/"+ ИмяМакета+".mxl";
		ИмяВыходногоФайла = ПолучитьИмяВременногоФайла("mxl");
		FTPСоединение.Получить(АдресРесурса ,ИмяВыходногоФайла);
		Макет.Прочитать(ИмяВыходногоФайла);
		УдалитьФайлы(ИмяВыходногоФайла);
	Исключение
		Сообщить("Ошибка! "+ АдресРесурса + " Не записан ");  
	КонецПопытки;	
	
	Возврат Макет;
	
КонецФункции;

Previous Article
Next Article

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.