Имя: Пароль:
1C
1С v8
Как программно взять(изменить) строки с табличной части?
0 Guerro
 
20.02.19
17:11
Есть форма документа, в котором есть строки Цена, Количество, Сумма.
Чтобы их взять и изменить использую:
<code>
Процедура ТабличноеПоле1КоличествоЦенаПриИзменении(Элемент)
    
    Для каждого Строка Из ТабличнаяЧасть1 Цикл
    Строка.Сумма = Строка.Цена * Строка.Количество;
    КонецЦикла;
    
КонецПроцедуры
</code>
Есть ли возможность сделать по адекватнее?
http://vfl.ru/fotos/90e5431a25476168.html
http://vfl.ru/fotos/69747d7225476169.html
1 Ёпрст
 
гуру
20.02.19
17:14
есть. Менять нужно только у текущей строки, а не у всей табличной части
2 RomanYS
 
20.02.19
17:14
ТекущаяСтрока = Элемент.ТекущиеДанные;
3 RomanYS
 
20.02.19
17:16
*(2) в данном случае точнее
ТекущаяСтрока = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;
4 Guerro
 
20.02.19
17:16
(2) {Документ.РасходСредств.Форма.Форма1.Форма(107)}: Поле объекта не обнаружено (ТекущиеДанные)
    Сообщить(Элемент.ТекущиеДанные);
5 RomanYS
 
20.02.19
17:18
(4)  в (2) верно для событий табличного поля, у тебя же элемент (в колонке)
6 Guerro
 
20.02.19
17:23
Все заработало. Единственное, что меня удивило, что
не работало:
ТекущаяСтрока = Элементы.ТабличноеПоле1.ТекущиеДанные;
а это работает:
ТекущаяСтрока = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные
7 RomanYS
 
20.02.19
17:25
(6) Элементы в УФ, ЭлементыФормы в ОФ.
8 aleks_default
 
20.02.19
17:55
(6)Ты кем работаешь, удивительный ты наш?