Процедура ОбработатьДанныеАдреса(сАдрес, пВидыКонтактнойИнформации)
ЧастиАдреса = Новый Структура();
ЧастиАдреса.Вставить("Страна", ВРег(сАдрес.country));
ЧастиАдреса.Вставить("Индекс", сАдрес.postal_code);
ЧастиАдреса.Вставить("Регион", СокрЛП("" + сАдрес.region + " " + сАдрес.region_type));
ЧастиАдреса.Вставить("Район", СокрЛП("" + сАдрес.area + " " + сАдрес.area_type));
ЧастиАдреса.Вставить("Город", СокрЛП("" + сАдрес.city + " " + сАдрес.city_type));
ЧастиАдреса.Вставить("НаселенныйПункт", СокрЛП("" + сАдрес.settlement + " " + сАдрес.settlement_type));
ЧастиАдреса.Вставить("Улица", СокрЛП("" + сАдрес.street + " " + сАдрес.street_type));
ЧастиАдреса.Вставить("Дом", Строка(сАдрес.house));
ЧастиАдреса.Вставить("Корпус", Строка(сАдрес.block));
ЧастиАдреса.Вставить("Квартира", Строка(сАдрес.flat));
ЧастиАдреса.Вставить("ТипДома", Строка(сАдрес.house_type_full));
ЧастиАдреса.Вставить("ТипКорпуса", Строка(сАдрес.block_type_full));
ЧастиАдреса.Вставить("ТипКвартиры", Строка(сАдрес.flat_type_full));
АдреcXML = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(ЧастиАдреса, ,Перечисления.ТипыКонтактнойИнформации.Адрес);
РезультатПроверкиАдреса = РаботаСАдресами.ПроверитьАдрес(АдреcXML, Новый Структура("ТолькоНациональныйАдрес,ФорматАдреса", Истина, "ФИАС"));
Если РезультатПроверкиАдреса.Результат = "Корректный" Тогда
сПоиск = Новый Структура("Вид,Тип", пВидыКонтактнойИнформации, Перечисления.ТипыКонтактнойИнформации.Адрес);
рекв = ЭтотОбъект.КонтактнаяИнформацияОписаниеДополнительныхРеквизитов.НайтиСтроки(сПоиск);
ПредставлениеАдреса = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(АдреcXML, Перечисления.ТипыКонтактнойИнформации.Адрес);
рекв[0].ЗначенияПолей = АдреcXML;
ЭтотОбъект[рекв[0].ИмяРеквизита] = ПредставлениеАдреса;
рекв[0].Представление = ПредставлениеАдреса;
Результат = Новый Структура("ИмяРеквизита,ОбновитьКонтекстноеМеню", рекв[0].ИмяРеквизита, Истина);
Подключаемый_ОбновитьКонтактнуюИнформацию(Результат);
Иначе
Сообщить("АдресМестаПроживания не корректный: " + сАдресBPMS.result);
КонецЕсли;
КонецПроцедуры
|