Имя: Пароль:
1C
1С v8
КД, ВыгрузитьПоПравилу, вложенная ТаблицаЗначений в ВыборкуДанных не выгружается
0 perkos
 
11.12.13
10:08
ВыборкаДанных.НоваяСтрока();
            ВыборкаДанных.Артикул = СокрЛП(Арт);
            ВыборкаДанных.Цена = Цена;
            ВыборкаДанных.ТабличнаяЧасть = тч;
        КонецЕсли;

    ВыборкаДанных.ВыбратьСтроки();
    Пока ВыборкаДанных.ПолучитьСтроку() = 1 Цикл
        ВыгрузитьПоПравилу(ВыборкаДанных, , , , "Номенклатура");
    КонецЦикла;

в итоге

- <Объект Нпп="1" Тип="ДокументСсылка.Номенклатура" ИмяПравила="Номенклатура">
- <Свойство Имя="Артикул" Тип="Строка">
  <Значение>01277</Значение>
  </Свойство>
- <Свойство Имя="Цена" Тип="Число">
  <Значение>891</Значение>
  </Свойство>
  <ТабличнаяЧасть Имя="ТабличнаяЧасть" />
  </Объект>

в чем тут дело? почему табличная часть не выгружается, подсобите пожалуйста
1 6tuf
 
11.12.13
10:39
в ПКО обработка табличной части прописана?
2 perkos
 
11.12.13
10:44
3 6tuf
 
11.12.13
10:50
я бы посмотрел примеры правил где идет работа с табличными частями, может дело в кривом типе тч?
4 Йохохо
 
11.12.13
11:15
судя по картинке правил для конвертации типов реквизитов тч нет
5 perkos
 
11.12.13
11:51
разобрался.... забавное дело

тч.УдалитьСтроки(); удаляет как строки тч так и стороки ВыборкаДанных.ТабличнаяЧасть

не знал раньше о таком свойстве(= но догадывался... ВыборкаДанных.ТабличнаяЧасть = тч; в этом месте тч передается как адрес на ТЗ поэтому либо стоит пересоздавать тч вместо удаленияСтрок, либо ВыборкаДанных.ТабличнаяЧасть = создать(ТЗ) ; тч.выгружать(ВыборкаДанных.ТабличнаяЧасть)