///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2024, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

// См. ОбработкаМенеджер.ТранспортСообщенийОбменаFILE.ПараметрыТранспорта
Функция ПараметрыТранспорта() Экспорт
	
	Описание = НСтр("ru = 'Для подключения необходимо указать каталог, расположенный на FTP-сервере, доступном из обменивающихся приложений.'");
	
	Параметры = ТранспортСообщенийОбмена.СтруктураПараметровТранспорта();
	
	Параметры.Псевдоним = НСтр("ru = 'FTP-сервер'");
	Параметры.ИдентификаторТранспорта = "FTP";
	Параметры.Описание = Описание;
	Параметры.Картинка = БиблиотекаКартинок.ТранспортFTP;
	
	Реквизиты = Новый Массив;
	Реквизиты.Добавить("ПарольАрхиваСообщенияОбмена");
	Реквизиты.Добавить("Пароль");
	
	Параметры.РеквизитыДляБезопасногоХранилища = Реквизиты;
	
	Возврат Параметры;
	
КонецФункции

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

Функция НастройкиПодключенияВXML(НастройкиПодключения) Экспорт
	
	Возврат ТранспортСообщенийОбмена.НастройкиПодключенияВXML_1_2(НастройкиПодключения);
	
КонецФункции

Функция НастройкиПодключенияИзXML(ТекстXML) Экспорт
	
	Возврат ТранспортСообщенийОбмена.НастройкиПодключенияИзXML_1_2(ТекстXML, "FTP");
	
КонецФункции

Функция НастройкиТранспортаВJSON(НастройкиТранспорта) Экспорт
		
	НастройкиТранспортаJSON = Новый Структура;
			
	ПарольАрхиваСообщенияОбмена = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(НастройкиТранспорта.ПарольАрхиваСообщенияОбмена);
	Пароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(НастройкиТранспорта.Пароль);
	
	НастройкиТранспортаJSON.Вставить("CompressOutgoingMessageFile", НастройкиТранспорта.СжиматьФайлИсходящегоСообщения);
	НастройкиТранспортаJSON.Вставить("MaxMessageSize", НастройкиТранспорта.МаксимальныйДопустимыйРазмерСообщения);
	НастройкиТранспортаJSON.Вставить("Password", Пароль);
	НастройкиТранспортаJSON.Вставить("PassiveConnection", НастройкиТранспорта.ПассивноеСоединение);
	НастройкиТранспортаJSON.Вставить("User", НастройкиТранспорта.Пользователь);
	НастройкиТранспортаJSON.Вставить("Port", НастройкиТранспорта.Порт);
	НастройкиТранспортаJSON.Вставить("Path", НастройкиТранспорта.Путь);
	НастройкиТранспортаJSON.Вставить("ArchivePasswordExchangeMessages", ПарольАрхиваСообщенияОбмена);
	НастройкиТранспортаJSON.Вставить("TransliterateExchangeMessageFileNames", НастройкиТранспорта.Транслитерация);
		
	Возврат НастройкиТранспортаJSON;
	
КонецФункции

Функция НастройкиТранспортаИзJSON(НастройкиТранспортаJSON) Экспорт
	
	НастройкиТранспорта = Новый Структура;
	
	НастройкиТранспорта.Вставить("СжиматьФайлИсходящегоСообщения", НастройкиТранспортаJSON.CompressOutgoingMessageFile);
	НастройкиТранспорта.Вставить("МаксимальныйДопустимыйРазмерСообщения", НастройкиТранспортаJSON.MaxMessageSize);
	НастройкиТранспорта.Вставить("Пароль", НастройкиТранспортаJSON.Password);
	НастройкиТранспорта.Вставить("ПассивноеСоединение", НастройкиТранспортаJSON.PassiveConnection);
	НастройкиТранспорта.Вставить("Пользователь", НастройкиТранспортаJSON.User);
	НастройкиТранспорта.Вставить("Порт", НастройкиТранспортаJSON.Port);
	НастройкиТранспорта.Вставить("Путь", НастройкиТранспортаJSON.Path);
	НастройкиТранспорта.Вставить("ПарольАрхиваСообщенияОбмена", НастройкиТранспортаJSON.ArchivePasswordExchangeMessages);
	НастройкиТранспорта.Вставить("Транслитерация", НастройкиТранспортаJSON.TransliterateExchangeMessageFileNames);

	Возврат НастройкиТранспорта;
	
КонецФункции

Функция ИмяКаталогаСохраненияНастроек(НастройкиПодключения) Экспорт
	
	Возврат "";
	
КонецФункции

#КонецОбласти
	
#КонецЕсли