Обмен ›
Конвертация данных. Выгрузка контактной информации из регистра сведений в табличную часть ›
#12
13.02.24 9:07
Добрый день.
Немного дополню, вдруг кому пригодится.
Точно по такому же принципу нужно делать перенос адресов организаций: из регистра в табличную часть.
Столкнулся с тем, что при переносе адресов индивидуального предпринимателя - адреса не переносились (затирались точнее) . Причина в разном значении "Видов контактной информации" и в том, что в старых конфигурациях (УТ, КА, УПП) это адреса для физического лица, а не адрес организации.
В правиле конвертации (ПередОбработкой) использовал такой код:
Код |
---|
Если Источник.ЭтоГруппа Тогда
Отказ = Истина;
КонецЕсли;
Если ЗначениеЗаполнено(Источник.ИндивидуальныйПредприниматель) Тогда
Запрос = Новый Запрос("ВЫБРАТЬ
| ВЫБОР
| КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресФизЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресОрганизации)
| КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресФизЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресОрганизации)
| КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ИнформАдресФизЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресОрганизацииПочтовый)
| ИНАЧЕ КонтактнаяИнформация.Вид
| КОНЕЦ КАК Вид,
| ВЫБОР
| КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресФизЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресОрганизации)
| КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресФизЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресОрганизации)
| КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ИнформАдресФизЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресОрганизацииПочтовый)
| ИНАЧЕ КонтактнаяИнформация.Вид
| КОНЕЦ КАК ВидДляСписка,
| КонтактнаяИнформация.Поле4 КАК Город,
| КонтактнаяИнформация.Поле3 КАК НомерТелефона,
| КонтактнаяИнформация.Представление,
| КонтактнаяИнформация.Поле2 КАК Регион,
| КонтактнаяИнформация.Тип,
| КонтактнаяИнформация.Вид.Предопределенный
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект = &Объект");
Запрос.УстановитьПараметр("Объект", Источник.ИндивидуальныйПредприниматель);
Иначе
Запрос = Новый Запрос("
|ВЫБРАТЬ
| КонтактнаяИнформация.Вид,
| КонтактнаяИнформация.Вид КАК ВидДляСписка,
| КонтактнаяИнформация.Поле4 КАК Город,
| КонтактнаяИнформация.Поле3 КАК НомерТелефона,
| КонтактнаяИнформация.Представление,
| КонтактнаяИнформация.Поле2 КАК Регион,
| КонтактнаяИнформация.Тип
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект = &Объект");
Запрос.УстановитьПараметр("Объект", Источник.Ссылка);
КонецЕсли;
КоллекцияОбъектов = Запрос.Выполнить().Выгрузить(); |