Имя: Пароль:
1C
 
XDTO скопировать список XDTO
, ,
0 evgenius-inc
 
21.04.15
20:18
Всем привет.
Есть 2  объекта XDTO ДокЗаказ И ДокСчет которые должны содержать в себе один и тот же списокXDTO структураКонтрагента.

//структураКонтрагента - списокXDTO, содержит в себе структуру ///..значений справочника Контрагента
//Далее добавляю список в Объект докЗаказ

докЗаказ.Контрагент.Добавить(структураКонтрагента);

//Затем хочу уже сформированный список структураКонтрагента добавить //..в другой Объект докСчет
докСчет.КонтрагентюДобавить(структураКонтрагента);


Вроде бы все ничего, но при просмотре в отладчике в структураЗаказа.Контрагент до добавления списка структураКонтрагента в ДокСчет значения присутствуют, а вот после уже пустые в докЗаказ.Контрагент. Такое ощущение что он просто напросто список перекидывает, а не копирует. Как скопировать список структуры, чтобы не заполнять для другого объектаXDTO заново?
1 evgenius-inc
 
21.04.15
20:29
ап
2 evgenius-inc
 
21.04.15
20:41
uper
3 Fragster
 
гуру
21.04.15
20:44
фигани через XML
4 RomaH
 
naïve
21.04.15
21:15
структураКонтрагента - это что? тип какой?
5 RomaH
 
naïve
21.04.15
21:16
Такое ощущение что он просто напросто список перекидывает, а не копирует.  - ну правильные ощущения
надо новый объект создавать
6 RomaH
 
naïve
21.04.15
21:18
структураКонтрагента - это ведь объект XDTO?
а Контрагент - это список
7 RomaH
 
naïve
21.04.15
21:26
А теперь, следите за руками!
http://catalog.mista.ru/public/168148/
8 RomaH
 
naïve
21.04.15
21:27
(0) и, это, выучи определения - список/объект - сам себя путаешь
9 Serginio1
 
22.04.15
08:15
ЗаписьХМЛ= Новый ЗаписьXML;

        ЗаписьХМЛ.УстановитьСтроку();


    ФабрикаXDTO.ЗаписатьXML(ЗаписьХМЛ, ОбъектXDTO);

    Стр=ЗаписьХМЛ.Закрыть();


ЧтениеXML.УстановитьСтроку(стр);

    ЧтениеXML.ПерейтиКСодержимому();

     ТипОбъектаXDTO=ФабрикаXDTO.Тип(ЧтениеXML.URIПространстваИмен,ЧтениеXML.Имя);
  

    КопияОбъектXDTO=ФабрикаXDTO.ПрочитатьXML(ЧтениеXML,ТипОбъектаXDTO);
10 evgenius-inc
 
22.04.15
10:24
Всем спасибо. Решил по иному. Создал новый объект XDTO и скопировал туда свойства списка

структураК = Фабрика.Создать(Фабрика.Тип("http://shema","структураКонтрагента";))
ЗаполнитьЗначенияСвойств(СтруктураК,структураКонтрагента);
11 Serginio1
 
22.04.15
10:34
(10) Структуру то ты заполнишь, а вот для списка нужно копировать каждую строку
Ошибка? Это не ошибка, это системная функция.