|
Суммирование по табличным частям | ☑ | ||
---|---|---|---|---|
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С, у нее такой реквизит есть практически в любом документе. Ну и таки если сумму надо получать часто, запрос к реквизиту будет работать по любому быстрее чем проход по всем строкам нескольких табличных частей.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |