AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.10.2005, 14:13   #1  
RemO is offline
RemO
Участник
 
4 / 10 (1) +
Регистрация: 07.07.2005
Thumbs up
Возникла следующая проблема, помогите плз её решить.
Суть такова:

В отчёте на табличке 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. Переписывать отчёт полностью слишком долго.
Может кто-нибудь подскажет вариант?
Старый 24.10.2005, 14:18   #2  
RemO is offline
RemO
Участник
 
4 / 10 (1) +
Регистрация: 07.07.2005
Т.е должно быть нечто подобное:

....
IF ValueEntry."Item Ledger Entry Type"=ValueEntry."Item Ledger Entry Type"::"Negative Adjmt." THEN
....
Старый 28.10.2005, 14:24   #3  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Либо Entry Type в ключ, либо перебором в цикле.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:36.