![]() |
#1 |
Участник
|
CustomerLE.SETRANGE("Posting Date", 0D, BeginDate - 1);
CustomerLE.CALCFIELDS(Amount,"Amount (LCY)"); поле Amount FlowField Но после этого выводит все равно 0 |
|
![]() |
#2 |
Участник
|
поле Amount "собирает" суммы по таблице "Detailed Cust. Ledg. Entry" а не по Customer Ledger Entry
используйте поле Date Filter вместо Posting Date и, кстати, какая цель этого куска кода? |
|
![]() |
#3 |
Участник
|
Код правильный, ошибка где-то в другом месте. Вероятно код написан не на том триггере. По информации, которая дана нельзя ничего сказать определенно.
|
|
![]() |
#4 |
Участник
|
код кривоват...
Нет позиционирования на CustomerLE, надо бы FIND добавить.... да и по логике кода не видно чего хочет программер
__________________
Want to believe... |
|
![]() |
#5 |
Участник
|
Цитата:
Код: Sum("Detailed Cust. Ledg. Entry".Amount WHERE (Cust. Ledger Entry No.=FIELD(Entry No.), Entry Type=FILTER(бла-бла-бла), Posting Date=FIELD(Date Filter))) ![]() |
|
![]() |
#6 |
Участник
|
Я и говорю что не скажешь ничего, но калкфиклдс вычислит поля для текущей записи независимо от фильтра на DateFilter. Если FIND поставить.
|
|
![]() |
#7 |
Участник
|
Как это независимо от фильтра, если этот фильтр участвует в формуле?
|
|
![]() |
#8 |
Участник
|
Для одной записи посчитает, которая уже отфильтрована по Posting Date.
Amo := 0; AmoLCY := 0; CustomerLE.RESET; //CustomerLE.SETRANGE(... CustomerLE.SETRANGE("Posting Date", 0D, BeginDate - 1); IF CustomerLE.FIND('-') THEN REPEAT CustomerLE.CALCFIELDS(Amount,"Amount (LCY)"); Amo += CustomerLE.Amount; AmoLCY += CustomerLE."Amount (LCY)" UNTIL CustomerLE.NEXT = 0; Либо как ты говоришь на Date Filter тогда без цикла. |
|
![]() |
#9 |
Участник
|
еще раз говорю не хватает только FIND после установки фильтра... datefilter вообще ни причем.
__________________
Want to believe... |
|
![]() |
#10 |
Участник
|
DateFilter может и причем
![]() А вот циклы в таких случаях точно не лучшее решение. Лучше попробовать что-то типа этого: Код: "Detailed Cust. Ledg. Entry".SETRANGE("Customer No.", CustomerFilter); "Detailed Cust. Ledg. Entry".SETRANGE("Posting Date", 0D, BeginDate - 1); "Detailed Cust. Ledg. Entry".CALCSUMS(Amount); |
|
![]() |
#11 |
Участник
|
|
|
![]() |
#12 |
Участник
|
Автора в студию
![]() |
|
![]() |
#13 |
Участник
|
Он просто разместил объяву
![]() |
|