Имя: Пароль:
1C
1С v8
Проблема с табличной частью документа
,
0 9451523
 
13.07.18
10:51
Привет Всем
Есть документ ЗаготовкаМатериалов , есть Табличные Части "РасчетПолотна" и "Раскладка", Табличная часть "РасчетПолотна" использует процедуру Процедура РасчетПолотнаПриИзменении(Элемент)
в ней мне нужно использовать для расчета данные табличной части второй таблицы "Раскладка" вот код:

&НаКлиенте
Процедура РасчетПолотнаПриИзменении(Элемент)
    ТД2=Элементы.Раскладка.ТекущиеДанные;
    ТД=Элементы.РасчетПолотна.ТекущиеДанные;
    ТД.Тара1рул=0.5;
    ТД.ОбщВесТары=ТД.Рулонов*ТД.Тара1рул;
    ТД.НеттоПартии=ТД.ВесПартии-ТД.ОбщВесТары;
    Если ЗначениеЗаполнено(Объект.СрГрИзд) Тогда
        ТД.СрГрИзд=Объект.СрГрИзд;
        ТД.КройПартии=ТД.НеттоПартии/Объект.СрГрИзд;
        
    КонецЕсли;
    ТД.НаДокрой=ТД.КройПартии*ТД.КоэфДокроя/100;
    ТД.НаДокрой=ТД2.Крой*ТД.КоэфДокроя/100*ТД2.СрГрИзд;
    Сообщить(ТД2.Крой);
    ТД.НаБейку=ТД.КройПартии*ТД.Бейка1изд;
КонецПроцедуры
при выполнении вываливается ошибка: Значение не является значением объектного типа, подскажите где копать?
Форма управляемая, 1С 8.3
С Уважением дамир
1 Малыш Джон
 
13.07.18
10:55
(0) ну начать нужно с номера строки с ошибкой

а вообще - значение не является значением объектного типа - это значит ты обращаешься к переменной как к объекту, а там - бац - и не объект.
2 Малыш Джон
 
13.07.18
10:55
вот на это небось ругается:

ТД.НаДокрой=ТД2.Крой*ТД.КоэфДокроя/100*ТД2.СрГрИзд;

?
3 9451523
 
13.07.18
10:55
ну да
4 9451523
 
13.07.18
10:56
как правильно подскажите, опыта нету пока
5 Малыш Джон
 
13.07.18
10:57
правильно - посмотреть в отладчике: а почему у тебя в ТД2 - не текущие данные строки, а Неопределено?
6 Малыш Джон
 
13.07.18
10:58
и офф: куда ж ты все то время деваешь, которое сэкономил на печати закодированных названий переменных?
или это сразу обфускация кода?
7 9451523
 
13.07.18
10:58
где неопределено?
8 9451523
 
13.07.18
11:00
просто подскажите на любом примере как можно использовать текущиеданные с двух таблиц одного документа
9 Малыш Джон
 
13.07.18
11:00
>>правильно - посмотреть в отладчике: а почему у тебя в ТД2 - не текущие данные строки, а Неопределено
>>почему у тебя в ТД2 - не текущие данные строки
>>у тебя в ТД2
>>в ТД2
10 Малыш Джон
 
13.07.18
11:03
(8) текущие данные - это буквально текущие данные строки, которая в данный момент выделена в ТЧ
когда ты щелкаешь по строке ТД - ты выделяешь эту строку, таким образом, для ТД  текщие данные - это выделенная строка

теперь вопрос: а в этот момент какие данные являются текущимим для ТД2?
11 9451523
 
13.07.18
11:04
вот блин не подумал, и как теперь?
12 9451523
 
13.07.18
11:08
получается к ТД2 как к объекту надо обращаться?
13 Малыш Джон
 
13.07.18
11:10
вопрос не в том как к ней обращаться
вопрос в том, как тебе понять какая строка одной ТЧ имеется в виду, когда ты работаешь со второй ТЧ
добавь колонку с флажками
выделил нужные строки и работай с ними