ЗУП.3.1 Контактная информация поле Значенияполей

1. user_2010 987 01.12.17 16:04 Сейчас в теме
Добрый день!

Вопрос по контактной информации физ лица.
Проблема с телефонами.

После переноса данных из 2.5 в .3.1 образовался хаос в телефонах.

В КИ есть такие поля для телефонов:
Представление = +7 (123) 456 22 23
НомерТелефона = 71234562223
НомерТелефонаБезКода = 4562223

и есть еще поле общее для всех видов КИ:
ЗначенияПолей - это поле xml:

<КонтактнаяИнформация xmlns="http://www.v8.1c.ru/ssl/contactinfo" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Представление="+7 (123) 111-11-01"><Комментарий/><Состав xsi:type="НомерТелефона" КодСтраны="7" КодГорода="111" Номер="111-11-01" Добавочный=""/></КонтактнаяИнформация>


После переноса заполнено только поле Представление.
Проблема в том, что если программно заполнять поля НомерТелефона и НомерТелефонаБезКода, то результат не виден - если посмотреть заполнение поля телефон по кнопке "..." - то там по прежнему заполнено только поле Представление.

А нужно как-то заполнить поле xml ЗначенияПолей.

Может кто-то копал уже? Поскажите, плз, -как?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user_2010 987 01.12.17 16:08 Сейчас в теме
Хм... Поле ЗначенияПолей - тип Строка - значит надо разобрать строку и заполнить?
Верно?
3. Fe9_min 50 01.12.17 16:25 Сейчас в теме
По сути верно, можно взять правила обмена, например, УТ 10.3 -> БП 3.0 и посмотреть как там переносится контактная информация. Прикрепил тебе бонусом во вложение свои.
Открываешь через КД и смотришь Алгоритм под названием "ПереносКИ".
Ниже фрагмент из того Алгоритма по-поводу твоего вопроса. Из него видно как ты должен построить свою Строку "ЗначенияПолей".

НоваяСтрока.ЗначенияПолей = ?(ЗначениеЗаполнено(Выборка.Поле1), "КодСтраны="     + Выборка.Поле1 + Символы.ПС, "")
		+ ?(ЗначениеЗаполнено(Выборка.Поле2), "КодГорода="     + Выборка.Поле2 + Символы.ПС, "")
		+ ?(ЗначениеЗаполнено(Выборка.Поле3), "НомерТелефона=" + Выборка.Поле3 + Символы.ПС, "")
		+ ?(ЗначениеЗаполнено(Выборка.Поле4), "Добавочный="    + Выборка.Поле4, "");
Прикрепленные файлы:
ПравилаОбменаДанными УТ 10 - БП 3.xml
4. user_2010 987 01.12.17 17:15 Сейчас в теме
(3) Большое спасибо!
Уже успела намудрить с поиском и заменой в строке...
5. Boneman 302 01.12.17 18:09 Сейчас в теме
(4)
а вот моя процедура
	Пока ВыборкаКИАдресОле.Следующий() Цикл
		
	СтруктураАдреса = Новый Структура;
        СтруктураАдреса.Вставить("Индекс",         ВыборкаКИАдресОле.Поле1);
        СтруктураАдреса.Вставить("Регион",         ВыборкаКИАдресОле.Поле2);
        СтруктураАдреса.Вставить("Район",          ВыборкаКИАдресОле.Поле3);
        СтруктураАдреса.Вставить("Город",          ВыборкаКИАдресОле.Поле4);
        СтруктураАдреса.Вставить("НаселенныйПункт",ВыборкаКИАдресОле.Поле5);
        СтруктураАдреса.Вставить("Улица",          ВыборкаКИАдресОле.Поле6);
        СтруктураАдреса.Вставить("Дом",            ВыборкаКИАдресОле.Поле7);
        СтруктураАдреса.Вставить("Корпус",         ВыборкаКИАдресОле.Поле8);
        СтруктураАдреса.Вставить("Квартира",       ВыборкаКИАдресОле.Поле9);
					
	МенеджерЗаписиКИ = Объект.КонтактнаяИнформация.Добавить();
		
	МенеджерЗаписиКИ.Тип 		= Перечисления.ТипыКонтактнойИнформации.Адрес;
	МенеджерЗаписиКИ.Вид 		= Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
	МенеджерЗаписиКИ.Представление = ВыборкаКИАдресОле.Представление;
	МенеджерЗаписиКИ.ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(СтруктураАдреса,ВыборкаКИАдресОле.Представление,Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента);
	
	КонецЦикла;
Показать

для телефона, принцип тот же
6. user_2010 987 01.12.17 19:56 Сейчас в теме
(5) О! Огромное спасибо! Полезно!
7. user_2010 987 02.12.17 10:52 Сейчас в теме
Еще такой вопрос - есть возможность скопировать телефон одного вида в другой вид.
Не могу найти код - которым программа копирует.
Нашла только копирование адреса.
8. johnnyshut23 75 03.12.17 12:30 Сейчас в теме
Нужно взять стандартную комманду разложитьстрокувxml и обрабатывать текстовое поле телефона в Значенияполей
tolya_kruglov; +1 Ответить
Оставьте свое сообщение

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