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

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

Страна адреса контактной информации. Возвращает информацию о стране адреса.

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

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

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

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

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

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

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

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

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

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

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

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

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

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