Пример интерфейса для обработки контактной информации - адреса ФИАС

1. egorover 113 19.05.15 11:34 Сейчас в теме
Никак не могу найти пример работы с контактной информацией в БП 3.0, все адреса в типовых объектах в виде таблиц(контактная информация), а у меня адрес в виде строки
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. egorover 113 20.05.15 13:41 Сейчас в теме
Есть оказывается в БП 3.0 метод УправлениеКонтактнойИнформацией.ПредыдущаяСтруктураКонтактнойИнформацииXML, немного не то конечно, но адрес в нормальном состоянии прочитать можно
3. egorover 113 20.05.15 13:42 Сейчас в теме
&НаСервере
Функция СерверПредыдущаяСтруктураКонтактнойИнформацииXML(СтруктураАдресаXML)
	
	    СтруктураАдреса = "";
	
		Если Не ПустаяСтрока(СтруктураАдресаXML) Тогда
			СтруктураАдреса = УправлениеКонтактнойИнформацией.ПредыдущаяСтруктураКонтактнойИнформацииXML(
					СтруктураАдресаXML);
		КонецЕсли;
		
		Возврат СтруктураАдреса;
	
КонецФункции


&НаКлиенте
Процедура АдресНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	ПараметрыОткрытия = Новый Структура;
	ПараметрыОткрытия.Вставить("ВидКонтактнойИнформации", ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента"));
	ПараметрыОткрытия.Вставить("Представление", Объект.Адрес);
	
	Оповещение = Новый ОписаниеОповещения("АдресЗавершениеВыбора", ЭтотОбъект);
	
	УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыОткрытия, ЭтотОбъект, Оповещение);
	
КонецПроцедуры                                               

&НаКлиенте
Процедура АдресЗавершениеВыбора(РезультатОткрытияФормы, ПараметрыОповещения) Экспорт 
	
	Если ТипЗнч(РезультатОткрытияФормы)<>Тип("Структура") Тогда
		// не было изменений в данных
		Возврат;
	КонецЕсли;
	
	Объект.Адрес              = РезультатОткрытияФормы.Представление;
	
	НаборКонтактнойИнформации = СерверПредыдущаяСтруктураКонтактнойИнформацииXML(РезультатОткрытияФормы.КонтактнаяИнформация);

	//Заполним наименование
	Наименование = НаборКонтактнойИнформации["Улица"];
	Если Не Наименование = "" тогда
		Если НЕ НаборКонтактнойИнформации["Дом"] = "" Тогда
			Наименование = Наименование + ", " + НаборКонтактнойИнформации["Дом"];	
		КонецЕсли; 
	КонецЕсли;
	
	Если Не Наименование = "" тогда
		Если НЕ НаборКонтактнойИнформации["Город"] = "" Тогда
			Наименование = Наименование + ", " + НаборКонтактнойИнформации["Город"];	
		КонецЕсли; 
	Иначе
		Наименование = НаборКонтактнойИнформации["Город"];
	КонецЕсли;
	
	Если Не Наименование = "" тогда
		Если НЕ НаборКонтактнойИнформации["Регион"] = "" Тогда
			Наименование = Наименование + ", " + НаборКонтактнойИнформации["Регион"];	
		КонецЕсли; 
	Иначе
		Наименование = НаборКонтактнойИнформации["Регион"];
	КонецЕсли;
	
	Объект.Наименование = Наименование;
	
	Модифицированность  = Истина;
	
КонецПроцедуры
Показать
4. egorover 113 20.05.15 13:44 Сейчас в теме
Может кому то поможет
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот