AXForum  
Zurück   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 24.10.2005, 14:51   #1  
VioHap ist offline
VioHap
Участник
 
29 / 10 (1) +
Registriert seit: 06.07.2005
Ort: Е-бург
Проблема с 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
....
Alt 24.10.2005, 17:15   #2  
Eugeny_F ist offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Registriert seit: 18.11.2003
Ort: Москва
Если я Вас правильно понял, то не вижу проблемы. Надо просто до CALCSUMS добавить строку
ValueEntry.SETFILTER(ValueEntry."Item Ledger Entry Type",ValueEntry."Item Ledger Entry Type"::"Negative Adjmt.").

Главное, чтобы в ключе, по которому в этот момент идет сортировка присутствовало поле "Item Ledger Entry Type"
Alt 26.10.2005, 07:02   #3  
VioHap ist offline
VioHap
Участник
 
29 / 10 (1) +
Registriert seit: 06.07.2005
Ort: Е-бург
Спасибо, данный вариант помог
Сам я тоже так пробовал, только, когда ставил ключ, воткнул его не в то поле
:-[

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
проблема с Temp таблицей Padre NAV: Программирование 2 16.05.2007 13:48
Проблема с Developer's toolkit 2.0 sp1! asacom NAV: Прочие вопросы 0 16.08.2005 14:54
Проблема с удаление трассировки товара Nataly NAV: Функционал 0 12.07.2004 12:44
Проблема с отчетом в Аттейн. sash_xp NAV: Функционал 2 13.10.2003 09:30
Проблема с компиляцией отчёта RomariO NAV: Программирование 2 23.04.2003 11:21

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 04:10 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.