Имя: Пароль:
1C
 
ЗУП - заполнить адрес программно
0 Масянька
 
10.07.25
13:33
День добрый!
Задача: из старой УПП перенести адрес в ЗУП.
https://postimg.cc/8jGnfFWw
Красным - этот заполнен программно, зеленым - ручной ввод.
Код:
            Если (СокрЛП(Выборка.Вид) = "Адрес по прописке физ. лица") Или (СокрЛП(Выборка.Вид) = "Адрес фактич. проживания физ. лица") Тогда
                
                Представление = "РОССИЯ, " + СокрЛП(Выборка.Представление);



                мАдрес = Новый Структура();
                
                мАдрес.Вставить("Страна",             "РОССИЯ");
                мАдрес.Вставить("Индекс",             СокрЛП(Выборка.Поле1));
                мАдрес.Вставить("Регион",             СокрЛП("" + Выборка.Поле2));
                мАдрес.Вставить("Район",             СокрЛП("" + Выборка.Поле3));
                мАдрес.Вставить("Город",             СокрЛП("" + Выборка.Поле4));
                мАдрес.Вставить("НаселенныйПункт",     СокрЛП("" + Выборка.Поле5));
                мАдрес.Вставить("Улица",             СокрЛП("" + Выборка.Поле6));
                мАдрес.Вставить("Дом",                 Строка(Выборка.Поле7));
                мАдрес.Вставить("Корпус",             Строка(Выборка.Поле8));
                мАдрес.Вставить("Квартира",         Строка(Выборка.Поле9));
                мАдрес.Вставить("ТипДома",             Строка(""));
                мАдрес.Вставить("ТипКорпуса",         Строка(""));
                мАдрес.Вставить("ТипКвартиры",         Строка(""));
                
                АдреcXML  = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(мАдрес, Представление, Перечисления.ТипыКонтактнойИнформации.Адрес);
                //АдреcXML  = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(мАдрес, СокрЛП(Выборка.Представление), Перечисления.ТипыКонтактнойИнформации.Адрес);
                АдреcJSON = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(АдреcXML);
                
                мВид = ?((СокрЛП(Выборка.Вид) = "Адрес по прописке физ. лица"), Справочники.ВидыКонтактнойИнформации.АдресПоПропискеФизическиеЛица, Справочники.ВидыКонтактнойИнформации.АдресМестаПроживанияФизическиеЛица);
                
                //ПредставлениеАдреса = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(АдреcXML,  Перечисления.ТипыКонтактнойИнформации.Адрес);  
                ПредставлениеАдреса = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(АдреcJSON);  
                
                СтруктураСтроки = Новый Структура("Тип, Страна, Вид, Представление, Регион, Город, ЗначенияПолей",
                                                 Перечисления.ТипыКонтактнойИнформации.Адрес, "Россия", мВид, ПредставлениеАдреса, "", "", "");  
                                                
                СтруктураСтроки.Город    = СокрЛП(Выборка.Поле4);
                СтруктураСтроки.Вид    = мВид;
                СтруктураСтроки.Тип    = Перечисления.ТипыКонтактнойИнформации.Адрес;
                СтруктураСтроки.Регион = СокрЛП(Выборка.Поле2);
                //СтруктураСтроки.Представление = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(АдреcXML, Перечисления.ТипыКонтактнойИнформации.Адрес);
                СтруктураСтроки.Представление = ПредставлениеАдреса;
                СтруктураСтроки.ЗначенияПолей = АдреcXML;
                
                СтруктураСтрокиXML = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(СтруктураСтроки, , Перечисления.ТипыКонтактнойИнформации.Адрес);
                            
                СтруктураСтрокиJSON = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(СтруктураСтрокиXML);
                
                УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(мФизЛицо.Ссылка, СтруктураСтрокиJSON, мВид, ТекущаяДата(), Ложь);
                УправлениеКонтактнойИнформацией.ЗаписатьКонтактнуюИнформацию(мФизЛицо.Ссылка, СтруктураСтроки, мВид, Перечисления.ТипыКонтактнойИнформации.Адрес);

                //УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(мФизЛицо.Ссылка, Представление, мВид, ТекущаяДата(), Ложь);


            КонецЕсли;
Не получается...

PS Рылась, но инфы мало...
1 Масянька
 
10.07.25
13:34
+(0) Запрос:
    ЗапросУПП.Текст = "ВЫБРАТЬ
    |    КонтактнаяИнформация.Объект,
    |    ПРЕДСТАВЛЕНИЕ(КонтактнаяИнформация.Тип) КАК Тип,
    |    ПРЕДСТАВЛЕНИЕ(КонтактнаяИнформация.Вид) КАК Вид,
    |    ПРЕДСТАВЛЕНИЕ(КонтактнаяИнформация.Представление) КАК Представление,
    |    КонтактнаяИнформация.Поле1,
    |    КонтактнаяИнформация.Поле2,
    |    КонтактнаяИнформация.Поле3,
    |    КонтактнаяИнформация.Поле4,
    |    КонтактнаяИнформация.Поле5,
    |    КонтактнаяИнформация.Поле6,
    |    КонтактнаяИнформация.Поле7,
    |    КонтактнаяИнформация.Поле8,
    |    КонтактнаяИнформация.Поле9
    |ИЗ
    |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |    КонтактнаяИнформация.Объект.Код = &Код";
2 Gucci76
 
10.07.25
13:59
(0) А почему дом в улице?
3 Gucci76
 
10.07.25
14:00
А как хранится адрес в УПП?
4 Gucci76
 
10.07.25
14:02
В ЗУП в джсон и хмл.
Была еще функция (ранее встречал), которая раскладывала адрес по представлению.
Точное название не помню.
Поищите в общем модуле по названию функции.
5 Amra
 
10.07.25
14:02
(0) Инфы более чем достаточно. Смотри правила переноса из ЗУП 2.5 в 3.1, там прекрасно все преобразовывается
6 DrZombi
 
гуру
10.07.25
16:35
(0) В ЗУП не подскажу, но в конфигурации БП3.0 есть модуль, который как раз из УПП грузит Адрес.
Можно от туда подсмотреть код :)
7 DrZombi
 
гуру
10.07.25
16:36
+(0) Придется самой поискать, он созвучен, что-то: из Старого релиза, конвертация, по синониму найдете, в поиске :)