В начало

Парсинг адреса ФИАС

 

            Пример парсинга строкового значения адреса в формате ФИАС.

 

Листинг. Адрес «105037, Москва г, Первомайская ул, дом 8» в ФИАС

{

"value": "Москва г, Первомайская ул, Дом 8",

"comment": "",

"type": "Адрес",

"country": "Россия",

"addressType": "Административно-территориальный",

"countryCode": "",

"ZIPcode": "105037",

"area": "Москва",

"areaType": "г",

"city": "",

"cityType": "",

"street": "Первомайская",

"streetType": "ул",

"id": "36fe0a9c-2947-4f6a-b0cc-a313cf239a17",

"areaCode": "7700000000000",

"areaId": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",

"district": "",

"districtType": "",

"districtId": "",

"munDistrict": "вн.тер.г. муниципальный округ Измайлово",

"munDistrictType": "вн.тер.г.",

"munDistrictId": "97850d6f-ed4a-4424-bdf8-5304d6304ad2",

"cityId": "",

"settlement": "",

"settlementType": "",

"settlementId": "",

"cityDistrict": "",

"cityDistrictType": "",

"cityDistrictId": "",

"territory": "",

"territoryType": "",

"territoryId": "",

"locality": "",

"localityType": "",

"localityId": "",

"streetId": "abbbec1b-3632-4837-b3af-1f21bdaf96d1",

"houseType": "Дом",

"houseNumber": "8",

"houseId": "36fe0a9c-2947-4f6a-b0cc-a313cf239a17",

"stead": "",

"steadId": "",

"buildings": [],

"apartments": [],

"codeKLADR": "",

"oktmo": "45307000",

"okato": "45263570000",

"asInDocument": "",

"ifnsFLCode": "7719",

"ifnsULCode": "7719",

"ifnsFLAreaCode": "",

"ifnsULAreaCode": ""

}

 

Листинг. Модуль формы элемента, процедура «ПарсингАдресаФИАС»

Функция ПарсингАдресаФИАС(ИсхСтр, СтрОбл)

            //ИсхСтр - Строка адреса ФИАС

            //СтрОбл - Название области в строке адреса ФИАС

            //-----------------------------------------------

            //"area": "Москва", 

            //"street": "Первомайская",

            //"houseNumber": "8",

 

            Поз1Нач = СтрНайти(ИсхСтр, СтрОбл, , 1, 1);

            Поз1Кон = СтрНайти(ИсхСтр, ":", , Поз1Нач, 1) + 3;           

            Поз2Кон = СтрНайти(ИсхСтр, ",", , Поз1Кон, 1) - 2;

            ВыхСтр = Сред(ИсхСтр, Поз1Кон, Поз2Кон - Поз1Кон + 1);          

           

            Возврат ВыхСтр;

КонецФункции

 

 

Листинг. Использование функции «ПарсингАдресаФИАС»

&НаКлиенте

Процедура Подключаемый_КонтактнаяИнформацияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

           

            УправлениеКонтактнойИнформациейКлиент.ОбработкаВыбора(ЭтотОбъект, ВыбранноеЗначение, Элемент.Имя, СтандартнаяОбработка);

           

            //Автозаполнение карточки "Общей базы МКД"

            Объект.Наименование = ВыбранноеЗначение.Представление;

            Объект.КодФИАС = ВыбранноеЗначение.Идентификатор;

            Объект.Город = ПарсингАдресаФИАС(ВыбранноеЗначение.Адрес, "area");

            Объект.Улица = ПарсингАдресаФИАС(ВыбранноеЗначение.Адрес, "street");

            Объект.НомерДома = ПарсингАдресаФИАС(ВыбранноеЗначение.Адрес, "houseNumber");

КонецПроцедуры