|
Адрес в ЗУП 3.1 | ☑ | ||
---|---|---|---|---|
0
Ychenik1c
20.09.17
✎
07:31
|
Здравствуйте. Необходимо из Зуп 3.1 для обработки получить адрес сотрудника. В Зуп 2.5 был для этого регистр сведений. В Зуп 3.1 нашел только у физлиц табличную часть контактная информация. Из неё можно получить только представление. Но мне надо как занесено через КЛАДР, город, улица, дом и т.д. были отдельными реквизитами. Подскажите как можно получить нужные данные? Там все обрабатывается в общем модуле.
|
|||
1
SleepyHead
гуру
20.09.17
✎
08:10
|
Кури модуль "УправлениеКонтактнойИнформацией", а также общую форму ввода адреса. Там как раз адрес разбирается на части для того, чтобы вывести на форму.
|
|||
2
SleepyHead
гуру
20.09.17
✎
08:12
|
Уточняю - обработка "РасширенныйВводКонтактнойИнформации", форма "ВводАдреса"
|
|||
3
MUXACb
20.09.17
✎
08:32
|
(0) Посмотри РаботаСАдресами.ПредыдущаяСтруктураКонтактнойИнформацииXML(ВыборкаКонтактнойИнформации.ЗначенияПолей);
|
|||
4
Ychenik1c
05.10.17
✎
11:02
|
Адрес получил из УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(СтрокаТЗ.ФизическоеЛицо, Справочники.ВидыКонтактнойИнформации.АдресПоПропискеФизическиеЛица).
Потом в цикле его разбил и добавил в СписокЗначений. Но в адресе есть страна, то она не попадает и поэтому в структуре всегода по разному надо обращатья к полям адреса. вИндекс = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(СтрокаТЗ.ФизическоеЛицо, Справочники.ВидыКонтактнойИнформации.АдресПоПропискеФизическиеЛица); ТекущаяСтрока = СтрЗаменить(вИндекс, ",", Символы.ПС); СП = Новый СписокЗначений; А = 0; Пока А <> СтрЧислоСтрок(ТекущаяСтрока) Цикл СП.Добавить(СтрПолучитьСтроку(ТекущаяСтрока, А)); А = А + 1; КонецЦикла; |
|||
5
MUXACb
05.10.17
✎
11:14
|
(4) Посмотрите правила переноса данных из ЗУП 2.5 и сделайте обратное соответствие
|
|||
6
RomaH
naïve
05.10.17
✎
11:17
|
лентяй
Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВ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); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |