14.11.2013, 16:36 | #1 |
Участник
|
В отчете имеется DataItem: Sales Invoice Line
Есть ли какие-то способы уже в триггере OnPreDataItem (этого самого DI)получить сумму по столбцу "Line Discount Ammount"? т.е. сами строки уще не выводились, но я уже знаю общую сумму скидки по счету. Пробовала и свойство TotalFields устанавливать и в триггере OnPreDataItem писать: Код: CurrReport.CREATETOTALS("Line Discount Amount"); IF "Line Discount Amount" = 0 THEN Кроме как завести доп. переменную и через нее просчитать сумму скидки по всем строкам, есть другие более изящные методы? |
|
15.11.2013, 00:10 | #2 |
Участник
|
Значит сверху айтем на Sales Invoice Header'e? Может сделать в хидере выч. поле (если его еще нет) по сумме Line Discount Amount в строках и вычислять его либо на DI (Header) - OnAfterGetRecord, либо как вы хотите в OnPreDataItem() DI на Sales Invoice Line.
|
|
15.11.2013, 11:55 | #3 |
Участник
|
Цитата:
В хтдере такого поля нет. Думаю, ради одного отчета его создавать не стоит. Обошлвсь доп.переменной. Код: SalesInvLine.RESET; SalesInvLine.SETRANGE("Document No.",SalesInvHeader."No."); SalesInvLine.SETFILTER("Line Discount Amount", '<>%1',0); IF NOT SalesInvLine.FINDFIRST THEN Я просто думала, что возможно CREATETOTALS использовать. Но как я поняла, эта функция даст результат только в секциях Footer, но никак не Header. :-/ В 1С 7-ке, помнится, была такая фича: пока не начал выбирать строки, указатель стоит на записи с общей суммой. |
|
15.11.2013, 12:17 | #4 |
Участник
|
Цитата:
Сообщение от Kadawrik
...просто установить факт: есть в счете скидка или нет (др.словами, есть в счете строки с ненулевой скидкой...
Код: SalesInvLine.RESET; SalesInvLine.SETRANGE("Document No.",SalesInvHeader."No."); SalesInvLine.SETFILTER("Line Discount Amount", '<>%1',0); IF NOT SalesInvLine.FINDFIRST THEN |
|
15.11.2013, 12:23 | #5 |
Участник
|
|
|
15.11.2013, 12:49 | #6 |
Участник
|
Код: SalesInvLine.RESET; SalesInvLine.SETRANGE("Document No.",SalesInvHeader."No."); SalesInvLine.SETFILTER("Line Discount Amount", '<>0'); Или нужно узнать только наличие скидок в счете, а обрабатывать по такому счету все строки? |
|
15.11.2013, 12:53 | #7 |
Участник
|
Цитата:
Строки распечатываются все, но наличие скидки влияет на шапку отчета (если скидка хотя бы в одной строке есть, тогда и в шапке должны быть колонки под нее. Если скидок нет, тогда и "светить" эти колонки тоже не надо |
|