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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.03.2015, 14:40   #3  
rkorchagin is offline
rkorchagin
Участник
 
81 / 69 (3) ++++
Регистрация: 26.09.2006
На самом деле calcGrossAmount считает не совсем то что надо. Если надо узнать какова реально линия будет в инвойсе то я написал такой метод:



X++:
// [CR372][Release 41] Created on 05 Mar 2015 by TE-korru: Customer credit limit management
AmountMst CalcTotalAmountMst()
{
    SalesTotals salesTotals;
    AmountMst   ret;

    SalesParmTable tmpSalesParmTable;
    SalesParmLine  salesParmLine;

    SalesQuantity  salesQuantity;
    ParmId  parmId = NumberSeq::newGetNum(CompanyInfo::numRefParmId()).num();
    ;

    ttsbegin;
    tmpSalesParmTable.setTmp();
    tmpSalesParmTable.initFromSalesTable(this.salesTable());
    tmpSalesParmTable.ParmId = parmId;
    tmpSalesParmTable.TableRefId = parmId;
    tmpSalesParmTable.write();

    salesParmLine.initFromSalesLine(this);
    salesParmLine.ParmId = parmId;
    salesParmLine.TableRefId = parmId;
    salesQuantity = SalesQuantity::construct(DocumentStatus::Invoice);

    [salesParmLine.DeliverNow, salesParmLine.RemainBefore      , salesParmLine.RemainAfter      ]   = salesQuantity.qtySales  (this);
    [salesParmLine.InventNow , salesParmLine.RemainBeforeInvent, salesParmLine.RemainAfterInvent]   = salesQuantity.qtyInvent (this);

    salesParmLine.setLineAmount(this);
    salesParmLine.write();


    salesTotals = SalesTotals::construct(tmpSalesParmTable, SalesUpdate::All, AccountOrder::None, parmId, '', DocumentStatus::Invoice);
    ret = Currency::amountCur2MST(salesTotals.totalAmount(),this.CurrencyCode);

    delete_from salesParmLine where salesParmLine.ParmId == parmId && salesParmLine.TableRefId == parmId;
    ttscommit;

    return ret;


}
 


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

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

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