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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.09.2007, 17:48   #1  
Diman is offline
Diman
Участник
Сотрудники Microsoft Dynamics
 
166 / 35 (2) +++
Регистрация: 27.06.2003
Адрес: Москва
ошибка на dis в CustVendSettle? (для владельцев DAX 3.0 SP 6 EE)
Здравствуйте, коллеги.
при компиляции класса CustVendSettle ругается в методе postPennyDiff (стр 144):
X++:
this.postPennyDiffOnCashDisc((mSTDiffTrans.amountMST + taxSettled),
                                         _custVendTrans,
                                         (_custVendTrans.amountMST * 100/_custVendTrans.amountCur),
                                         custVendTransCredit,_dimension);
хотя в определении этого метода только 4 параметра.
X++:
void postPennyDiffOnCashDisc(AmountCur      _totalAmountCur,
                             CustVendTrans  _custVendTrans,
                             ExchRate       _exchRate,
                             CustVendTrans  _custVendTransCredit)
Повторный запуск глобальной компиляции проблему не решил.
Это только у меня так?

Последний раз редактировалось Diman; 06.09.2007 в 18:07.
Старый 06.09.2007, 17:52   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
А при чем здесь глобальная компиляция?
Там же 4 параметра, а передается 5. Конечно ругается.

Вот метод из 4ки (SP2). Возможно сможете подделать под него. Нужно просто все custVendTransCredit.Dimension заменить на dimension. Но вообще - это баг, имхо. Надо регистрировать, кто может.
X++:
void postPennyDiffOnCashDisc(AmountCur      _totalAmountCur,
                             CustVendTrans  _custVendTrans,
                             ExchRate       _exchRate,
                             CustVendTrans  _custVendTransCredit,
                             Dimension      _dimension = custVendTransCredit.Dimension)
{
    int             idx = conlen(conLedgerAccount);
    int             idxMax;
    LedgerAccount   ledgerAccount;
    AmountCur       remainAmountCur = -_totalAmountCur;
    AmountCur       amountCur;
    ;
    if (idx)
    {
        idxMax = idx;

        while (idx != 0)
        {
            // if tax has been posted we can find the account here
            ledgerAccount = conpeek(conLedgerAccount, idx);
            if (idx == idxMax)
            {
                amountCur    = remainAmountCur;
            }
            else
            {
                amountCur    = conpeek(conTaxBaseAmountCur, idx);
            }
            // if no tax was posted we can find the account here
            if (!ledgerAccount)
            {
                ledgerAccount = this.cashDiscAccount(_custVendTrans);
            }
            idx--;
            remainAmountCur  -= amountCur;

            ledgerVoucher.addTrans(
                LedgerVoucherTransObject::newCreateTrans(
                    ledgerVoucher.findLedgerVoucherObject(),
                    LedgerPostingType::MSTDiff,
                    ledgerAccount,
                    _dimension,
                    CompanyInfo::standardCurrency(),
                    amountCur,
                    _custVendTrans.TableId,
                    _custVendTrans.RecId,
                    0,
                    _exchRate,
                    0,
                    UnknownNoYes::No));
        }
    }
    if (remainAmountCur)
    {
        if (!ledgerAccount)
        {
           ledgerAccount = this.cashDiscAccount(_custVendTrans);
        }
        ledgerVoucher.addTrans(
            LedgerVoucherTransObject::newCreateTrans(
                ledgerVoucher.findLedgerVoucherObject(),
                LedgerPostingType::MSTDiff,
                ledgerAccount,
                _dimension,
                CompanyInfo::standardCurrency(),
                remainAmountCur,
                _custVendTrans.TableId,
                _custVendTrans.RecId,
                0,
                _exchRate,
                0,
                UnknownNoYes::No));
    }
}
Старый 06.09.2007, 18:01   #3  
Diman is offline
Diman
Участник
Сотрудники Microsoft Dynamics
 
166 / 35 (2) +++
Регистрация: 27.06.2003
Адрес: Москва
Цитата:
Сообщение от kashperuk Посмотреть сообщение
А при чем здесь глобальная компиляция?
Там же 4 параметра, а передается 5. Конечно ругается.
[/xpp]
Перестарховка, мало-ли криво лег...
Ну вообще-то там весь класс кривой: taxSettlement, taxCashDisc в этих методах тоже ошибки.
Метода approvalVoucherDate вообще нет. Блин.
Вот мне и стало интересно, откуда у ошибок ноги растут
Понятно, что дело поправимое, но все-таки

Последний раз редактировалось Diman; 06.09.2007 в 18:27.
Старый 07.09.2007, 13:20   #4  
SEKL is offline
SEKL
Участник
Сотрудники Microsoft Dynamics
 
48 / 27 (1) +++
Регистрация: 15.08.2007
Адрес: Denmark
Конечно криво лег.
Пятый параметр добавлен в syp слое. Отсюда вывод, либо вы его вообще не положили, либо положили неправильный. Систему правильно поставили? Проверьте, должно помочь.
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Разноска "процент-нот" в DAX 4.0 SP2 FP1 EE Ivanhoe DAX: Функционал 7 17.12.2008 16:11
DAX 4 SP2 FP1 EE xshaman DAX: Программирование 8 09.09.2008 15:13
Пропали обновления приложения DAX 4.0 EE SP2 pe DAX: Администрирование 3 20.02.2008 00:28
DAX 4.0 SP1 EE Ошибка в классе PurchFormLetter_PackingSlip метода createParmLineFromWMSJournalTrans.. aidsua DAX: Функционал 2 30.01.2008 12:13
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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