Имя: Пароль:
1C
1С v8
Заполнение табличной части обработки
0 Trance
 
18.02.13
09:10
Создал внешнюю обработку, и в цикле заполняю его табличную часть. Не могу понять, почему при заполнении табличной части на форме не отображаются значения реквизитов типа документссылка Реализация и Сделка.
вот код заполнения:
   ВыборкаРТУ = Документы.РеализацияТоваровУслуг.Выбрать(НачПериода,КонПериода);
   Пока ВыборкаРТУ.Следующий() Цикл
       Источник        = ВыборкаРТУ.Ссылка;
       ТЧ = ЭтотОбъект.ЗадолженностьДляОплаты;
       Строка = ТЧ.Добавить();
       Строка.Реализация                    = Источник;
       Строка.Подразделение                = Источник.Сделка.Подразделение;
       Строка.КурсДокумента                = Источник.КурсВзаиморасчетов;
       Строка.ФормаОплаты                    = ДокПланирования.ФормаОплаты;
       Строка.СуммаРеализации                = Источник.СуммаДокумента;
       Строка.Контрагент                    = Источник.Контрагент;
       Строка.Реализация                    = Источник.Сделка;
       Строка.ДатаПлатежа                    = ДокПланирования.ДатаПоступления;
       Попытка
           Строка.СуммаПлатежа                    = ДокПланирования.РасшифровкаПлатежа[0].СуммаПлатежа;
       Исключение
       КонецПопытки;
   КонецЦикла;
1 Галахад
 
гуру
18.02.13
09:12
Типы, наверное.
2 ОбычныйЧеловек
 
18.02.13
09:13
(0) У тебя точно реквизит "Реализация" имеет тип "ДокументСсылка" ?
3 Trance
 
18.02.13
09:16
(1), (2) да, ДокументСсылка.Реализация товаров и услуг. После заполнения, кстати, выбрать реализацию из списка документов дает. Трассировка тоже показывает, что значение присваивается, но вот на форме ничего не отображается.
4 kosts
 
18.02.13
09:16
Не следует помещать в попытку, то что можно обработать и так


Если ДокПланирования.РасшифровкаПлатежа.Количество() > 0 Тогда
   Строка.СуммаПлатежа                    = ДокПланирования.РасшифровкаПлатежа[0].СуммаПлатежа;
КонецЕСли;
5 kosts
 
18.02.13
09:18
Так должно быть?

...
Строка.Реализация                    = Источник;
...
Строка.Реализация                    = Источник.Сделка;
...
6 Trance
 
18.02.13
09:23
(4) "так" обработать не получится... не гарантировано, что есть долг по реализации
(5) Спасибо, уважаемый... Цейтнот замылил глаз... все ок..
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший