Имя: Пароль:
1C
 
Как через КД передать ОписаниеТипа между разными конфигурациями?
,
0 toypaul
 
гуру
18.11.21
10:04
В КД 2.0 есть проблемка в ПВЗ - стандартно никак не передать ТипЗначения. Если конфы одинаковые, можно передать через ЗначениеВСтрокуВнутр. Но тут конфы разные.
Хотя по составу типов все одинаково. В том числе по наименованию. Как-то бы ОписанияТипа (или Тип) передать в строку и потом обратно из строки.

Может есть какие-то методы (древняя УПП и самописка на БСП тоже древняя). Или может какие-то готовые функции
1 fisher
 
18.11.21
10:12
Что такое ПВЗ?
2 fisher
 
18.11.21
10:13
И куда надо передать? Не припоминаю, чтобы можно было реквизиты таких типов создавать.
3 Малыш Джон
 
18.11.21
10:19
(0) передавай через параметры все данные для описания типа. В приемнике создавай описание типа по этим параметрам.
4 toypaul
 
гуру
18.11.21
10:20
Похоже как-то так

    ЗначениеТипа = Реквизит1.ТипЗначения.ПривестиЗначение(Неопределено);
    
    ХМЛТип = XMLТипЗнч(ЗначениеТипа);
    ИмяТипа = ХМЛТип.ИмяТипа;
    
    Сообщить(ИмяТипа);
    
    Тип = ИзXMLТипа(ИмяТипа, Пространство);
    Сообщить(Тип);
5 toypaul
 
гуру
18.11.21
10:21
(3) так я и передаю. не совпадают внутренние ИД чтобы напрямую передавать
6 toypaul
 
гуру
18.11.21
10:22
(1) ПВХ. опечатка
7 youalex
 
18.11.21
10:23
СериализаторXDTO.ЗаписатьJSON() можно попробовать, но если имена не совпадут - при десериализации будет ошибка.
8 Alex S D
 
18.11.21
10:28
может через параметры передать строковое представление, а там уже после загрузки что-то сделать
9 big
 
18.11.21
10:29
Создать узел, в него записать что нужно. В Приемнике прочитать узел перед загрузкой, сделать что нужно.
10 big
 
18.11.21
10:32
УзелИД = СоздатьУзел("ТипаЗначение");
УстановитьАтрибут(УзелИД,"ЗначениеТипа",ЗначениеТипа);
УзелДобавить = УзелИД;
ДобавитьПодчиненный(Приемник,УзелДобавить);
11 fisher
 
18.11.21
10:36
(6) Тебе надо ПКС для реквизита типа ПланВидовХарактеристикСсылка.<ИмяПВХ>?
12 toypaul
 
гуру
18.11.21
11:41
Вот так передаю в параметр

ЗначениеТипа = Источник.ТипЗначения.ПривестиЗначение(Неопределено);
ХМЛТип = XMLТипЗнч(ЗначениеТипа);
Значение = ЗначениеВСтрокуВнутр(ХМЛТип);

Вот так потом загружаю после загрузки

ПолученноеЗначение = ПараметрыОбъекта.Получить("Типы");
ЗначениеТипа = ЗначениеИзСтрокиВнутр(ПолученноеЗначение);

Типы = Новый Массив;
Тип = ИзXMLТипа(ЗначениеТипа.ИмяТипа, ЗначениеТипа.URIПространстваИмен);
Типы.Добавить(Тип);
Объект.ТипЗначения = Новый ОписаниеТипов(Типы);
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн