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