сериализация контактной информации #779052


#0 by Горогуля
ситуация. имеется контрагент с юридическим адресом "190000, Санкт-Петербург г, Добровольцев ул, дом № 1", это Представление. вышло так, что в ТЧ оказался не заполнен реквизит ЗначенияПолей. БСП туда какой-то чёрной магией пишет сериализованный адрес. Вопрос: как бы мне теперь сериализовать представление для записи в Значения полей? гугл предлагает так: ОбъектXDTOКИ = КонтактнаяИнформацияСлужебный.ДесериализацияАдреса(...); ЗначенияПолей = КонтактнаяИнформацияСлужебный.СериализацияКонтактнойИнформации(ОбъектXDTOКИ); но это код, годный для БСП более старшей версии, теперь модуль называется УправлениеКонтактнойИнформациейСлужебный и СериализацияКонтактнойИнформации в нём отсутствует, глобальный поиск молчит, как партизан
#1 by Mauser
Версия БСП какая?
#2 by Горогуля
а хз, всё на работе, а сегодня выходной ;) что-то навроде бухии 3.42..
#3 by Горогуля
на рознице 2.2.2.20 воспроизводится. где там версию БСП подсмотреть?
#4 by Mauser
В общем модуле обновления иб бсп, там есть экспортное, которое версию возвращает
#5 by Горогуля
СтандартныеПодсистемыСервер.ВерсияБиблиотеки=2.3.2.33
#6 by Mauser
А попробуй, кстати, "грязный хак" Запиши в значения полей строку в древнем формате "ключ=значение", потом открой форму адреса, добавь-удали для модифицированности и сохрани =)
#7 by Mauser
Оок, через некоторое время скажу =)
#8 by Горогуля
там вроде как Символы.ПС как разделитель пар требуется. не вводится многострочная строка
#9 by Mauser
а откуда многострочное? Или тебя надо представление автоматом на части разобрать?
#10 by Mauser
А для многострочных там ПС+Таб работало как перенос.
#11 by Горогуля
>Запиши в значения полей строку в древнем формате "ключ=значение" что между "ключ1=значение1" и "ключ2=значение2"?
#12 by Горогуля
да и не буду ж я тысячи контрагентов руками пересохранять
#13 by pnamik
"Видала я такую чепуху, по сравнению с которой эта чепуха — толковый словарь!"
#14 by Горогуля
Алиса. угадал?
#15 by Mauser
Перенос строки. Если в значении многострочная строка, то перенос строки в ней меняется на ПС+Таб
#16 by Mauser
Нет. Алиса - это Кинчев.
#17 by pnamik
может Мэгги Тейлор?
#18 by pnamik
обратись к Lexey_. по заполнению он спец.
#19 by Горогуля
ТекКИ.ЗначенияПолей= ТекКИ.Представление="190000, Санкт-Петербург г, Добровольцев ул, дом № 1"; однако, взлетело. никаких пересохранений, форма выбора адреса открывается заполненной. но в значениях полей так и лежит несериализованное. Спасибо, товарищ Маузер. вопрос остаётся уже для саморазвития. как сериализовать? ;)
#20 by Mauser
Вот если ты что-то поменяещь и запишешь, оно сериализуется. Это хвост от обмена, когда из старых баз грузились старые адреса.
#21 by Mauser
Там в каких-то БСП программный интерфейс допилили, сейчас доеду, найду скажу =)
#22 by Горогуля
точно. ой, как неохота лезть отладчиком и искать, что оно там делает при записи...
#23 by Горогуля
ничо не понимаю. сохраняю руками из формы УправлениеКонтактнойИнформацией.ПередЗаписьюНаСервере(ЭтаФорма, ТекущийОбъект); там ЗаписатьКонтактнуюИнформацию(Объект, СтрокаТаблицы.ЗначенияПолей, ВидИнформации, ТипИнформации,, ДействуетС); смотрю в Объект.КонтактнаяИнформация[0].ЗначенияПолей - вижу желанное. делаю сам программно:     спр=Справочники.Контрагенты.НайтиПоНаименованию("Луи де Фюнес").ПолучитьОбъект;     ЗначенияПолей=Новый Структура("Индекс, ГородСокращение, Город, УлицаСокращение, Улица, Дом",     "190000", "г", "Санкт-Петербург г", "ул,", "Добровольцев ул,", "1"); в спр.КонтактнаяИнформация[0].ЗначенияПолей ничего не меняется. что не так?
#24 by Горогуля
вот так взлетело: правда, дорисовало новую строчку в ТЧ, но это уже мелочи
#25 by Mauser
Ближайшая под руками оказалась только 2.3.1.84. Там для низкого уровня есть вполне себе программный интерфейс УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML. Не думаю, что в новых его оторвали. В новых БСП есть интерфейс работы с параметрами - объектами, там тонкие случаи хранения владельцев КИ в табличной части учитываются и пр. Но это уж до понедельника...
#26 by Горогуля
ВидИнформации=Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;     Представление="190000, Санкт-Петербург г, Добровольцев ул, дом № 1"; а неплохо так. заполнить СЗ как надо и вперёд. спасибо ещё раз
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С