24.10.2005, 14:51 | #1 |
Участник
|
Проблема с CALCSUMS
Возникла следующая проблема, помогите плз её решить.
Суть такова: В отчёте на табличке Item, триггер OnAfterGetRecord прописано: .... GetQuantityAndAmount(0D, CALCDATE('<-1D>', StartingDate)); StartingQty := ROUND(DebitQuantity - CreditQuantity / QuanUnitToBaseUnit, ValencyValue, '='); StartingCost := DebitCost - CreditCost; GetQuantityAndAmount(0D, EndingDate); EndingQty := ROUND(DebitQuantity - CreditQuantity / QuanUnitToBaseUnit,ValencyValue,'='); EndingCost := DebitCost - CreditCost; GetQuantityAndAmount(StartingDate, EndingDate); IncreaseQty := ROUND(DebitQuantity / QuanUnitToBaseUnit,ValencyValue,'='); IncreaseCost := DebitCost; .... Таким образом считаются суммы на: начало и конец периода, а также приход и расход за заданный период. Код самой функции: //код ValueEntry.SETRANGE("Posting Date", StartDate, EndDate); ValueEntry.SETFILTER(ValueEntry."Valued Quantity",'>0'); ValueEntry.CALCSUMS("Invoiced Quantity","Cost Amount (Actual)"); DebitQuantity := ValueEntry."Invoiced Quantity"; DebitCost := ValueEntry."Cost Amount (Actual)"; ValueEntry.SETFILTER(ValueEntry."Valued Quantity",'<0'); ValueEntry.CALCSUMS("Invoiced Quantity","Cost Amount (Actual)"); CreditQuantity := -ValueEntry."Invoiced Quantity"; CreditCost := -ValueEntry."Cost Amount (Actual)"; //код Эту функцию надо переделать таким образом, чтобы в неё попадали сторнирующие акты списания со знаком '+'. Есть вариант, но нужно отказаться от использования CALCSUMS. Переписывать отчёт полностью слишком долго. Может кто-нибудь подскажет вариант? Должно быть нечто подобное, как я понимаю: .... IF ValueEntry."Item Ledger Entry Type"=ValueEntry."Item Ledger Entry Type"::"Negative Adjmt." THEN .... |
|
24.10.2005, 17:15 | #2 |
Участник
|
Если я Вас правильно понял, то не вижу проблемы. Надо просто до CALCSUMS добавить строку
ValueEntry.SETFILTER(ValueEntry."Item Ledger Entry Type",ValueEntry."Item Ledger Entry Type"::"Negative Adjmt."). Главное, чтобы в ключе, по которому в этот момент идет сортировка присутствовало поле "Item Ledger Entry Type" |
|
26.10.2005, 07:02 | #3 |
Участник
|
Спасибо, данный вариант помог
Сам я тоже так пробовал, только, когда ставил ключ, воткнул его не в то поле :-[ |
|
|
Похожие темы | ||||
Тема | Ответов | |||
проблема с Temp таблицей | 2 | |||
Проблема с Developer's toolkit 2.0 sp1! | 0 | |||
Проблема с удаление трассировки товара | 0 | |||
Проблема с отчетом в Аттейн. | 2 | |||
Проблема с компиляцией отчёта | 2 |
|