ДоменАдресаКонтактнойИнформации (БСП)

Автор: 1С
ОбщийМодуль.УправлениеКонтактнойИнформацией
БСП

Домен адреса контактной информации. Возвращает домен сетевого адреса для веб-ссылки или адреса электронной почты.

// Возвращает домен сетевого адреса для веб-ссылки или адреса электронной почты.
//
// Параметры:
//    КонтактнаяИнформация - Строка - Строка JSON или XML контактной информации соответствующая XDTO пакету КонтактнаяИнформация.
//
// Возвращаемое значение:
//    Строка - Домен адреса.
//
Функция ДоменАдресаКонтактнойИнформации(Знач КонтактнаяИнформация) Экспорт
	
	Если ПустаяСтрока(КонтактнаяИнформация) Тогда
		Возврат "";
	КонецЕсли;
	
	Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(КонтактнаяИнформация) Тогда
		КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияВСтруктуруJSON(КонтактнаяИнформация);
	ИначеЕсли УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(КонтактнаяИнформация) Тогда
		КонтактнаяИнформацияСтруктурой = УправлениеКонтактнойИнформациейСлужебный.СтрокуJSONВСтруктуру(КонтактнаяИнформация);
	КонецЕсли;
	
	Если КонтактнаяИнформацияСтруктурой.Свойство("Type") И КонтактнаяИнформацияСтруктурой.Свойство("Value") Тогда
		
		ДоменАдреса = СокрЛП(КонтактнаяИнформацияСтруктурой.Value);
		Если ТипКонтактнойИнформацииПоНаименованию(КонтактнаяИнформацияСтруктурой.Type) = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
			
			Позиция = СтрНайти(ДоменАдреса, "://");
			Если Позиция > 0 Тогда
				ДоменАдреса = Сред(ДоменАдреса, Позиция + 3);
			КонецЕсли;
			Позиция = СтрНайти(ДоменАдреса, "/");
			Возврат ?(Позиция = 0, ДоменАдреса, Лев(ДоменАдреса, Позиция - 1));
			
		ИначеЕсли ТипКонтактнойИнформацииПоНаименованию(КонтактнаяИнформацияСтруктурой.Type) = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты Тогда
			
			Позиция = СтрНайти(ДоменАдреса, "@");
			Возврат ?(Позиция = 0, ДоменАдреса, Сред(ДоменАдреса, Позиция + 1));
			
		КонецЕсли;
		
	КонецЕсли;
	
	ВызватьИсключение НСтр("ru = 'Невозможно определить домен, ожидается электронная почта или веб-ссылка.'");
КонецФункции

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

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

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

СтранаАдресаКонтактнойИнформации (БСП)

АдресXMLВXDTO (БСП)

АдресВебСервисаКонтактнойИнформации (БСП)

ОткрытьФормуВводаАдреса (БСП)

АдресПоИдентификатору (БСП)

ГородАдресаКонтактнойИнформации (БСП)

ПредставлениеКонтактнойИнформации (БСП)

ТекстПустогоАдресаВВидеГиперссылки (БСП)

Как правильно добавить контактную информацию (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз