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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.11.2012, 10:40   #1  
iCloud is offline
iCloud
Enjoy!
Аватар для iCloud
MCP
Злыдни
 
195 / 112 (4) +++++
Регистрация: 06.03.2012
!
Я делал доработку кстати, вспомнил
Этот класс же используется для вывода Итогов в печатную форму Доп. листа. И я ему не поверил тоже!
Заменил calcTotal() на calcTotalNew() ну и его вызов из printTotal():
X++:
private void calcTotalNew()
{
    SalesBook_Print_Excel_RU    salesBook_Print_Excel_RU;
    SalesBookTable_RU           salesBookTable_RU;
    ;
    salesBook_Print_Excel_RU = new SalesBook_Print_Excel_RU();
    salesBook_Print_Excel_RU.parmBookId(correctedBookId);
    select firstOnly salesBookTable_RU
        where salesBookTable_RU.BookId == correctedBookId;
    salesBook_Print_Excel_RU.parmFromDate(salesBookTable_RU.LastUpdateDate);
    salesBook_Print_Excel_RU.parmToDate(salesBookTable_RU.ClosingDate);

    [sumTotalAmount,
     salesAmountExclVAT20,
     taxAmountVAT20,
     salesAmountExclVAT20Tmp,
     taxAmountVAT20Tmp,
     salesAmountExclVAT10,
     taxAmountVAT10,
     sumSalesAmountVAT0,
     sumAmountWithOutTaxes] = salesBook_Print_Excel_RU.calculateToAddList();
}
Ну и соответственно создал метод calculateToAddList() в классе SalesBook_Print_Excel_RU:
X++:
protected container calculateToAddList()
{
    SalesBookTrans_RU      salesBookTrans;
    PurchBookTrans_RU      purchBookTrans;
    Query                  query;
    ;

    isOldBook = false;
    queryRun = new QueryRun(SalesBook_Print_RU::createDefaultQuery(bookId, null, fromDate, toDate)); //скопировал из initParmDefault()
    this.initBookDateNumDelimiter();
    this.changeQueryRun();
    queryRun.reset();
    while (queryRun.next())
    {
        salesBookTrans = queryRun.get(tablenum(SalesBookTrans_RU));

        sumTotalAmount += salesBookTrans.AmountInclVAT;

        purchBookTrans = SalesBook_Print_RU::salesBookTrans2PurchBookTrans(salesBookTrans, isOldBook);

        if (salesBookTrans.TransType != SalesPurchBookTransType_RU::Prepayment &&
            salesBookTrans.TransType != SalesPurchBookTransType_RU::PrepaymentStorno)
        {

            salesAmountExclVAT20    += SalesBook_Print_RU::isCreditNote(salesBookTrans, isOldBook) ?
                                       #AmountLiableToVAT20_Purch(purchBookTrans,0)                :
                                       #AmountLiableToVAT20_Sales(salesBookTrans,0);

            salesAmountExclVAT20Tmp += SalesBook_Print_RU::isCreditNote(salesBookTrans, isOldBook) ?
                                       #AmountLiableToVAT20_Purch(purchBookTrans,1)                :
                                       #AmountLiableToVAT20_Sales(salesBookTrans,1);

            salesAmountExclVAT10    += salesBookTrans.AmountLiableToVAT10;
        }

        taxAmountVAT20          += SalesBook_Print_RU::isCreditNote(salesBookTrans, isOldBook) ?
                                   #TaxAmountVAT20_Purch(purchBookTrans,0)                     :
                                   #TaxAmountVAT20_Sales(salesBookTrans,0);

        taxAmountVAT20Tmp       += SalesBook_Print_RU::isCreditNote(salesBookTrans, isOldBook) ?
                                   #TaxAmountVAT20_Purch(purchBookTrans,1)                     :
                                   #TaxAmountVAT20_Sales(salesBookTrans,1);

        taxAmountVAT10          += salesBookTrans.TaxAmountVAT10;
        sumSalesAmountVAT0      += salesBookTrans.AmountLiableToVAT0;
        sumAmountWithOutTaxes   += salesBookTrans.AmountNotLiableToVAT;
    }
    return [sumTotalAmount,
            salesAmountExclVAT20,
            taxAmountVAT20,
            salesAmountExclVAT20Tmp,
            taxAmountVAT20Tmp,
            salesAmountExclVAT10,
            taxAmountVAT10,
            sumSalesAmountVAT0,
            sumAmountWithOutTaxes];
}
По аналогии и в покупках.

Последний раз редактировалось iCloud; 14.11.2012 в 12:36.
Старый 15.11.2012, 12:57   #2  
iCloud is offline
iCloud
Enjoy!
Аватар для iCloud
MCP
Злыдни
 
195 / 112 (4) +++++
Регистрация: 06.03.2012
Прошу прощения, в методе calcTotalNew() заменить:
X++:
    select firstOnly salesBookTable_RU
        where salesBookTable_RU.BookId == correctedBookId;
    salesBook_Print_Excel_RU.parmFromDate(salesBookTable_RU.LastUpdateDate);
    salesBook_Print_Excel_RU.parmToDate(salesBookTable_RU.ClosingDate);
на:
X++:
    //select firstOnly salesBookTable_RU
    //    where salesBookTable_RU.BookId == correctedBookId;
    salesBook_Print_Excel_RU.parmFromDate(fromDate);
    salesBook_Print_Excel_RU.parmToDate(toDate);
Быстрая доработка, ибо не было времени разбираться с bookAmountsEngine.
Теги
ax2009, ru8, баг, доп лист, локализация, ошибка, печатная форма, счет-фактура

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Включить в Доп.лист книги покупок фактуру по накладной поставщика meerkat DAX: Функционал 15 25.07.2013 11:09
DAX2009: Корректирующие СФ: Печать дополнительного листа книги продаж malex DAX: Программирование 2 18.06.2013 18:15
Книги покупок и продаж: Электронная и печатная формы Opolik DAX: Функционал 1 17.12.2009 13:09
Книги покупок/продаж dtsymbal DAX: Программирование 9 27.07.2009 08:16
Проводка предоплаты в книге продаж и книге покупок aevi82 DAX: Функционал 4 23.06.2005 16:35

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

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

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