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