FTPИмяСервераИПуть (БСП)

Автор: 1С
ОбщийМодуль.ОбменДаннымиСервер
БСП

Имя сервера путь. Возвращает имя сервера и путь на сервере FTP, полученные из строки подключения к FTP-ресурсу.

// Возвращает имя сервера и путь на сервере FTP, полученные из строки подключения к FTP-ресурсу.
//
// Параметры:
//  СтрокаПодключения - Строка - строка подключения к FTP-ресурсу.
// 
// Возвращаемое значение:
//  Структура - настройки подключения к FTP-ресурсу. Поля структуры:
//              Сервер - Строка - имя сервера.
//              Путь   - Строка - путь на сервере.
//
//  Пример (1):
// Результат = FTPИмяСервераИПуть("ftp://server");
// Результат.Сервер = "server";
// Результат.Путь = "/";
//
//  Пример (2):
// Результат = FTPИмяСервераИПуть("ftp://server/saas/obmen");
// Результат.Сервер = "server";
// Результат.Путь = "/saas/obmen/";
//
Функция FTPИмяСервераИПуть(Знач СтрокаПодключения) Экспорт
	
	Результат = Новый Структура("Сервер, Путь");
	СтрокаПодключения = СокрЛП(СтрокаПодключения);
	
	Если (ВРег(Лев(СтрокаПодключения, 6)) <> "FTP://"
		И ВРег(Лев(СтрокаПодключения, 7)) <> "FTPS://")
		ИЛИ СтрНайти(СтрокаПодключения, "@") <> 0 Тогда
		ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru = 'Строка подключения к FTP-ресурсу не соответствует формату: ""%1""'"), СтрокаПодключения);
	КонецЕсли;
	
	ПараметрыПодключения = СтрРазделить(СтрокаПодключения, "/");
	
	Если ПараметрыПодключения.Количество() < 3 Тогда
		ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru = 'В строке подключения к FTP-ресурсу не указано имя сервера: ""%1""'"), СтрокаПодключения);
	КонецЕсли;
	
	Результат.Сервер = ПараметрыПодключения[2];
	
	ПараметрыПодключения.Удалить(0);
	ПараметрыПодключения.Удалить(0);
	ПараметрыПодключения.Удалить(0);
	
	ПараметрыПодключения.Вставить(0, "@");
	
	Если Не ПустаяСтрока(ПараметрыПодключения.Получить(ПараметрыПодключения.ВГраница())) Тогда
		
		ПараметрыПодключения.Добавить("@");
		
	КонецЕсли;
	
	Результат.Путь = СтрСоединить(ПараметрыПодключения, "/");
	Результат.Путь = СтрЗаменить(Результат.Путь, "@", "");
	
	Возврат Результат;
КонецФункции

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

Рекомендации

Похожие публикации

ПутьККлиентуСервераАдминистрирования (БСП)

ПолучитьУникальноеИмяСПутем (БСП)

Полный путь до предопределенного значения, включая имя самого значения

СкачатьФайлНаСервере (БСП)

СохранитьФайлКак (БСП)

ПолучитьПолноеИмяФайлаИзРегистра (БСП)

Синтакс-помощник БСП