Имя: Пароль:
1C
1С v8
Как оптимально добавить цену в текущую строку ТЧ ?
0 SherifSP
 
29.03.13
19:15
Как добавить цену именно в строку ТЧ, а не в строку ТабличногоПоля формы?


// Процедура - обработчик события "ПриИзменении" поля ввода номенклатуры
// в строке табличной части "Товары".
//
Процедура ТоварыНоменклатураПриИзменении(Элемент)

   ПриИзмененииНоменклатурыТовары(Элемент);

   Если ХолодильноеОборудование Тогда
       ТЗ = ПолучитьЦенуНоменклатуры(Элемент.Значение);
       Отбор = Новый Структура;
       Отбор.Вставить("Номенклатура", Элемент.Значение);
       ИскомаяСтрока = ТЗ.НайтиСтроки(Отбор);
       Для Каждого НайденнаяСтрока Из ИскомаяСтрока Цикл
           // Нужно поменять цену, текущей строки ТЧ
       КонецЦикла;
   КонецЕсли;
   
КонецПроцедуры // ТоварыНоменклатураПриИзменении()
1 Reset
 
29.03.13
19:19
ЭлементыФормы.Товары.ТекщиеДанные.Цена=
2 Reset
 
29.03.13
19:20
текущие*
3 SherifSP
 
29.03.13
19:20
(1) Только так?
4 Reset
 
29.03.13
19:21
(3) Чем не устраивает?
5 SherifSP
 
29.03.13
19:22
А если вместо массива перебрать строки ТЧ и сравнивать по номенклатуре, если совпадают тогда Строка.Цена = ИскомаяСтрока[0].Цена
6 SherifSP
 
29.03.13
19:22
(4) Да просто помню как то сказали что лучше работать с данными, а не с реквизитами формы
7 Reset
 
29.03.13
19:23
(6) ТекущиеДАННЫЕ
8 SherifSP
 
29.03.13
19:24
(7) Уговорил)
9 Reset
 
29.03.13
19:25
Тебе же нужно в текущй строке поменять, на которой  пользователь "стоит" и где только что номенклатуру поменял? Без св-ва таблично поля не обойтись. Понятие "текущий" интерактивное
10 SherifSP
 
29.03.13
19:27
(9) Ок, спс
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший