|
Табличная часть цикл
| ☑ |
0
Snail
01.02.21
✎
17:43
|
&НаСервереБезКонтекста
Функция ТЧРНоменклатураПриИзмененииНаСервере(Дата, Номенклатура)
Возврат РегистрыСведений.Цены.ПолучитьПоследнее(Дата, Новый Структура("Номенклатура", Номенклатура)).Цена;
КонецФункции
&НаКлиенте
Процедура ПроцентПриИзменении(Элемент)
Для Каждого Строка Из Объект.ТЧРасход Цикл
ТД = Элементы.ТЧРасход.ТекущиеДанные;
А = ТЧРНоменклатураПриИзмененииНаСервере(Объект.Дата, ТД.Номенклатура);
Строка.Цена = А - А /100 * Объект.Процент;
КонецЦикла;
КонецПроцедуры
Считает, но для всех строк одинаковая цена. Как исправить?
|
|
1
DrShad
01.02.21
✎
17:47
|
потому что одна и та же номенклатура передается
|
|
2
Fragster
гуру
01.02.21
✎
17:47
|
а зачем при изменении строки пересчитывать все цены?
|
|
3
ZDenis
01.02.21
✎
17:48
|
(0) Вместо ТД.Номенклатура - Строка.Номенклатура
|
|
4
Fragster
гуру
01.02.21
✎
17:48
|
замени Строка.Цена на ТД.Цена а цикл выкинь вообще
|
|
5
Fragster
гуру
01.02.21
✎
17:49
|
не говоря уже о том, что в цикле ходить на сервер (хоть и без контекста) и в нем выполнять запрос - прям сильно не оптимально
|
|
6
Snail
01.02.21
✎
17:50
|
ZDenis, огромное спасибо!
|
|
7
Snail
01.02.21
✎
17:52
|
Всем спасибо!
|
|
8
Cthulhu
01.02.21
✎
20:09
|
(7): стоять!
давай выгружай тч - передавай сразу на сервер - обрабатывай сразу все на сервере - возвращай сразу все в клиента - запиндюливай полученное обратно в данные...
|
|
9
Fragster
гуру
02.02.21
✎
11:01
|
(8) см (2),(4)
|
|
10
Волшебник
02.02.21
✎
11:04
|
(8) Что за странная привычка всё считать в запросе? Клиент вполне справится с расчётом процента скидки
|
|