|
Суммирование по табличным частям
| ☑ |
0
NIGHTHUNTER
25.08.22
✎
04:31
|
У документа есть 2 табличные части. Там есть поля сумма.
Необходимо суммировать эти поля в поле в шапке документа.
В какой процедуре это правильнее делать?
|
|
1
DEVIce
25.08.22
✎
04:42
|
ПриЗаписи
|
|
2
DEVIce
25.08.22
✎
04:42
|
Или ПередЗаписью
|
|
3
NIGHTHUNTER
25.08.22
✎
05:10
|
&НаКлиенте
Процедура ЛимитыСуммаСчетаПриИзменении(Элемент)
ИтогПоСумме();
КонецПроцедуры
//
&НаКлиенте
Процедура ЗаявкиНаРасходованиеСуммаПриИзменении(Элемент)
ИтогПоСумме();
КонецПроцедуры
//
&НаСервере
Процедура ИтогПоСумме()
Объект.Сумма = Объект.Лимиты.Итог("СуммаСчета") + Объект.ЗаявкиНаРасходование.Итог("Сумма");
КонецПроцедуры
|
|
4
NIGHTHUNTER
25.08.22
✎
05:14
|
(2) Сделал при изменении этих полей сумм в табличных частях и при создании на сервере.
|
|
5
DEVIce
25.08.22
✎
05:16
|
Можно и так, если надо видеть сумму сразу при редактировании. Но если сумму достаточно просто хранить, как в типовых, то ПриЗаписи один раз.
|
|
6
GenAcid
25.08.22
✎
05:38
|
ПриЗаписи бесполезно менять, он вызывается после записи объекта. Только ПередЗаписью или в УИ.
ПриСозданииНаСервере тоже так себе, при открытии объект будет сразу модифицирован.
|
|
7
NIGHTHUNTER
25.08.22
✎
05:41
|
(6) В форме документа?
ПередЗаписью()
ПередЗаписьюНаСервере() ?
или в модуле документа ?
|
|
8
rphosts
25.08.22
✎
05:50
|
(0) Зависит от того в какой момент тебе суммы нужны, если толко при сохранении документа - одно, если оперативно срауз как юзер закончил редактировать - другое.
(7) если цифири правятся только ручечками юзеров - достаточно в форме, если может быть программное изменение данных - только в модуле
|
|
9
DEVIce
25.08.22
✎
05:51
|
(7) Я бы в форме делал, так как это информация меняющаяся интерактивно. Если делать в модуле объекта, то пересчитываться будет каждый раз при любой записи, что как-бы нафиг не нужно.
|
|
10
Bigbro
25.08.22
✎
07:02
|
Зачем вообще лезть в записи и в объект?
Если это итог только для отображения на форме так и выводить в реквизит формы а не документа.
а при программном обращении всегда можно взять снова итоги, если требуется.
не вижу смысла плодить сущности.
я бы понял если бы мы хранили результат каких то сложных трудоемких расчетов, их нет смысла проводить каждый раз.
но сумма двух итогов по табличкам явно не тот случай.
|
|
11
DEVIce
25.08.22
✎
07:59
|
(10) Про плодение сущностей это ты скажи 1С, у нее такой реквизит есть практически в любом документе. Ну и таки если сумму надо получать часто, запрос к реквизиту будет работать по любому быстрее чем проход по всем строкам нескольких табличных частей.
|
|