Имя: Пароль:
1C
 
ЗУП 3.0 Контактный адрес
0 sashasasha89
 
03.08.17
09:26
Здравствуйте. Уже вожусь несколько дней. Не получается вытащить адреса физ. лиц. Мне нежно не представление, а по отдельности улица, дом и квартира. Это все как то хитро хранится в справочнике физические лица, в табличной части контактная информация и обрабатывается в общих модулях по управление контактной информации. Подскажите как это можно вытащить с базы?
1 Dvoe4nik
 
03.08.17
09:28
сделай запрос к справочнику/ его ТЧ и свяжи с физлицом
2 sashasasha89
 
03.08.17
09:33
(1) Контактная информация - это табличная часть справочника физические лица. Но там нет половины данных.
3 Dvoe4nik
 
03.08.17
09:35
(2) да, уже увидел, ну тогда преобразовывай предсавление.
4 Dvoe4nik
 
03.08.17
09:36
(3) есть еще правда значения полей, но там ХМЛ строка
5 RomaH
 
naïve
03.08.17
09:37
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(ВыборкаПоАдресам.ЗначенияПолей) Тогда
                ЗначенияПолей = ВыборкаПоАдресам.ЗначенияПолей;    
            Иначе
                //ЗначенияПолей = СтрЗаменить(ВыборкаПоАдресам.ЗначенияПолей,"№","");
                //Представление = СтрЗаменить(ВыборкаПоАдресам.Представление,"№","");
                ЗначенияПолей = СтрЗаменить(ВыборкаПоАдресам.ЗначенияПолей,"","");
                Представление = СтрЗаменить(ВыборкаПоАдресам.Представление,"","");
                
                ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияXMLПоПредставлению(Представление,ВыборкаПоАдресам.Тип);
                
                   //ДанныеКИ = Новый Структура("ЗначенияПолей,Представление,ВидКонтактнойИнформации",ЗначенияПолей,Представление,ВыборкаПоАдресам.ВидКонтактнойИнформации);
                //ЗначенияПолей = УправлениеКонтактнойИнформациейСлужебный.ПривестиКонтактнуюИнформациюXML(ДанныеКИ).ДанныеXML;
            КонецЕсли;
            
            СтруктураПолей = РаботаСАдресами.АдресВФорматеКЛАДР(ЗначенияПолей);
            КодыАдреса = АдресныйКлассификатор.КодыАдреса(ЗначенияПолей);
            
            
            //Код типа адреса    Обязательный    byte    Принимаемые значения: 1 – адрес прописки, 2 – адрес проживания.
            СтруктураДанных.type_adress = 1;
            Если ЗначениеЗаполнено(КодыАдреса.КодКЛАДР) Тогда
                
                КодКЛАДР = Формат(КодыАдреса.КодКЛАДР,"ЧЦ=21; ЧГ=0");
                Если СтрДлина(КодКЛАДР) < 17 Тогда
                    ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не верный адрес для пациента: " + РезультатПоПациентам.Пациент + " " + Формат(РезультатПоПациентам.ДатаРождения,"ДФ=dd.MM.yyyy"),РезультатПоПациентам.Пациент);
                КонецЕсли;
                
                СтруктураДанных.kladr    = Лев(Формат(КодыАдреса.КодКЛАДР,"ЧЦ=21; ЧГ=0") + "0000000000000000000000",19);
                СтруктураДанных.dom        = Лев(СтруктураПолей.Дом,6);
                СтруктураДанных.korpus    = Лев(СтруктураПолей.Корпус,6);
                
                СтруктураДанных.kvart = Лев(СокрЛп(СтруктураПолей.Квартира),6);
Основная теорема систематики: Новые системы плодят новые проблемы.