|
Сумма по колонке табличной части с отбором
| ☑ |
0
Маленький Вопросик
23.11.18
✎
19:17
|
Напишите самое оптимальное решение на ваш взгляд:
Для Каждого Стр11 ИЗ Объект.ВыручкаБезНДС Цикл
Если Стр11.Период = Период Тогда
ВырБезНДС = ВырБезНДС + Стр11.Сумма;
КонецЕсли;
КонецЦикла;
Спасибо!
|
|
1
Franchiser
гуру
23.11.18
✎
19:41
|
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект, "ВыручкаБезНдс")
|
|
2
Franchiser
гуру
23.11.18
✎
19:44
|
ВырБезНДС = ?(Стр11.Период = Период,ВырБезНДС + Стр11.Сумма, ВырБезНДС)
|
|
3
Маленький Вопросик
23.11.18
✎
19:46
|
(2) +1!
|
|
4
Конструктор1С
23.11.18
✎
20:27
|
(0) оптимальное в каком плане?
|
|
5
Маленький Вопросик
23.11.18
✎
20:29
|
(4) универсальности
|
|
6
RomanYS
23.11.18
✎
20:32
|
вроде недавно выяснили, что обход большой ТЧ на клиенте абсолютно неоптимален. Так что уходим на сервер, а там хоть цикл с условием, хоть найтистроки и цикл без условий, хоть запрос, хоть в ТЗ выгружай и сворачивай
|
|
7
Маленький Вопросик
23.11.18
✎
20:50
|
(6) почему? на клиенте всегда лучше такие вещи делать, чем на сервере? вот 100 юзеров запустит обход
|
|
8
RomanYS
23.11.18
✎
20:54
|
(7) если вкратце, то из-за оптимизации платформы большая ТЧ не передается на клиент целиком, а только видимая часть (в ветке вроде называлась цифра 15 строк). В итоге тупой обход пары тысяч строк на клиенте вызовет сотню вызовов сервера. Вроде понятно, что даже один лишний вызов сервера в среднем перекроет всю вашу оптимизацию арифметики.
|
|
9
Маленький Вопросик
23.11.18
✎
21:02
|
те все-так &НаКлиенте использует Сервер????
|
|
10
RomanYS
23.11.18
✎
21:06
|
(9) если данных нет на клиенте, то ответ очевиден.
Для динамического списка такое поведение боле чем естественно, а вот для ТЧ и табличных документов - результат оптимизации.
|
|