Страна мира по коду или наименованию. Возвращает ссылку на элемент справочника страны мира по коду или наименованию.
// Возвращает ссылку на элемент справочника страны мира по коду или наименованию.
// Если элемент справочника СтраныМиры не найден, то он будет создан на основании данных заполнения.
//
// Параметры:
// КодИлиНаименование - Строка - код страны, код Альфа2, код Альфа3 или наименование страны.
// ДанныеЗаполнения - Структура - Необязательный. Данные для заполнения в случае создания нового элемента.
// Ключи структуры соответствуют реквизитам справочника СтраныМира.
//
// Возвращаемое значение:
// СправочникСсылка.СтраныМира - Ссылка на элемент справочника СтраныМиры.
// Если найдено несколько значений, то будет возвращено первое.
// Если ничего не найдено, данные заполнения не указаны, то возвращается пустая ссылка.
//
Функция СтранаМираПоКодуИлиНаименованию(КодИлиНаименование, ДанныеЗаполнения = Неопределено) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СтраныМира.Ссылка КАК Ссылка
|ИЗ
| Справочник.СтраныМира КАК СтраныМира
|ГДЕ
| (СтраныМира.Код = &КодИлиНаименование
| ИЛИ СтраныМира.КодАльфа2 = &КодИлиНаименование
| ИЛИ СтраныМира.КодАльфа3 = &КодИлиНаименование
| ИЛИ СтраныМира.Наименование = &КодИлиНаименование
| ИЛИ СтраныМира.НаименованиеПолное = &КодИлиНаименование)";
Запрос.УстановитьПараметр("КодИлиНаименование", КодИлиНаименование);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Следующий() Тогда
Возврат РезультатЗапроса.Ссылка;
КонецЕсли;
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") = Неопределено Тогда
Возврат Справочники.СтраныМира.ПустаяСсылка();
КонецЕсли;
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
ДанныеКлассификатора = МодульРаботаСАдресами.ТаблицаКлассификатора();
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ТаблицаКлассификатор.Код,
| ТаблицаКлассификатор.КодАльфа2,
| ТаблицаКлассификатор.КодАльфа3,
| ТаблицаКлассификатор.Наименование,
| ТаблицаКлассификатор.НаименованиеПолное,
| ТаблицаКлассификатор.УчастникЕАЭС,
| ТаблицаКлассификатор.Неактуальный
|ПОМЕСТИТЬ ТаблицаКлассификатор
|ИЗ
| &ТаблицаКлассификатор КАК ТаблицаКлассификатор
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СтранаМира.Код,
| СтранаМира.КодАльфа2,
| СтранаМира.КодАльфа3,
| СтранаМира.Наименование,
| СтранаМира.НаименованиеПолное,
| СтранаМира.УчастникЕАЭС,
| СтранаМира.Неактуальный
|ИЗ
| ТаблицаКлассификатор КАК СтранаМира
|ГДЕ
| (СтранаМира.Код = &КодИлиНаименование
| ИЛИ СтранаМира.КодАльфа2 = &КодИлиНаименование
| ИЛИ СтранаМира.КодАльфа3 = &КодИлиНаименование
| ИЛИ СтранаМира.Наименование = &КодИлиНаименование
| ИЛИ СтранаМира.НаименованиеПолное = &КодИлиНаименование)";
Запрос.УстановитьПараметр("ТаблицаКлассификатор", ДанныеКлассификатора);
Запрос.УстановитьПараметр("КодИлиНаименование", КодИлиНаименование);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Следующий() Тогда
ДанныеЗаполнения = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(РезультатЗапроса);
КонецЕсли;
Если ДанныеЗаполнения = Неопределено
ИЛИ НЕ ДанныеЗаполнения.Свойство("Наименование")
ИЛИ ПустаяСтрока(ДанныеЗаполнения.Наименование) Тогда
Возврат Справочники.СтраныМира.ПустаяСсылка();
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
ОбъектСтраны = Справочники.СтраныМира.СоздатьЭлемент();
ЗаполнитьЗначенияСвойств(ОбъектСтраны, ДанныеЗаполнения);
ОбъектСтраны.Записать();
Возврат ОбъектСтраны.Ссылка;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ДанныеКлассификатораСтранМираПоНаименованию (БСП)
ДанныеКлассификатораСтранМираПоКоду (БСП)
СтранаМираОбработкаВыбора (БСП)
ОбновитьСуществующиеСтраныМира (БСП)
СтранаМираПоДаннымКлассификатора (БСП)
КоллекцияСтранМираПоДаннымКлассификатора (БСП)