Есть задача перенести документ из одной базы в идентичную другую. Перенос через V82.ComConnector. В документе есть табличная часть, в которой одним из реквизитов является ХранилищеЗначения, в котором хранится структура из 10 ключей. Как перенести этот реквизит в другую базу?
Док1 = Соединение.Документы.Накладная;
Док = Док1.СоздатьДокумент();
НовУслуга = Док.Услуги.Добавить();
изХранилища = струслуги.Договор.Получить();
УдаленноеХранилище= Соединение.NewObject("ХранилищеЗначения",изХранилища);
НовУслуга.Договор= УдаленноеХранилище;
На такой текст ругается
Произошла исключительная ситуация (1C:Enterprise 8.2.18.104): Переданное значение не может быть помещено в ХранилищеЗначения, поскольку не сериализуется или содержит вложенный несериализуемый элемент
Сделала так, если кому то будет интересно:
СтрокаXML = XMLСтрока(стрУслуги.Договор);
Хранилище = XMLЗначение(Тип("ХранилищеЗначения"), СтрокаXML);
НовХран = ЗначениеВСтрокуВнутр(Хранилище);
НовУслуга.Договор = Соединение.NewObject("ХранилищеЗначения", НовХран);
На той стороне при открытии дока проверка:
Если ТипЗнч(стрУслуги.Договор.Получить())=Тип("Строка") ТОгда
изХранилища = ЗначениеИзСтрокиВнутр(изХранилища).получить();
КонецЕсли;
// ИзХранилища - это уже структура и с ней работаем как обычно