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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.04.2007, 09:45   #1  
Андрей К. is offline
Андрей К.
Постигающий
 
152 / 10 (1) +
Регистрация: 09.04.2007
Оказывается это не конец.
ledgerVoucher.end() проходит до конца, вижу инфо "столько то проводок создано", но в таблице LedgerVoucher они не появляются...в чем может проблема?
Старый 17.04.2007, 11:38   #2  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
А что за таблица такая LedgerVoucher?
Вообще, сочетание фразы "две недели как начал изучать Ахapta" и написание модуля, выполняюещего самостоятельные разноски в ГК смело, но к добру редко приводит.
Может есть смысл на этом этапе просто формировать журнал ГК, который уже пользователи будут разность со всеми стандартными проверками?
Старый 17.04.2007, 11:59   #3  
Андрей К. is offline
Андрей К.
Постигающий
 
152 / 10 (1) +
Регистрация: 09.04.2007
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
А что за таблица такая LedgerVoucher?
сорри ошибся - LedgerTrans. В ней не появляются записи после разноски...
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Вообще, сочетание фразы "две недели как начал изучать Ахapta" и написание модуля, выполняюещего самостоятельные разноски в ГК смело, но к добру редко приводит.
Возможно...но с меня требуют
Старый 17.04.2007, 12:03   #4  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Тогда приведите ваш код формирования проводок (естественно, опустив несущественные детали).
Старый 17.04.2007, 12:12   #5  
Андрей К. is offline
Андрей К.
Постигающий
 
152 / 10 (1) +
Регистрация: 09.04.2007
Код:
protected void postLedgerTrans(kasRRepRepairLine _repairLine)
{
    LedgerVoucher               ledgerVoucher;
    LedgerVoucherObject         ledgerVoucherObject;
    LedgerVoucherTransObject    ledgerVoucherTransObject;
    TransactionTxt              transactionTxt;
    LedgerBondClient_RU     ledgerBondClient;
    NumberSeq               numberSeq;
    Voucher                 voucherId;
    kasRRepEquipmentTable      equipmentTable;
    kasRRepEquipmentGroup      equipmentGroup;
    TransDate               transDate   = _repairLine.FinishDate;
    AmountMST               amount      = _repairLine.Rate * _repairLine.duration();
    ;
    numberSeq = NumberSeq::newGetNum(ProdParameters::numRefProdJournalVoucherId());
    voucherId = numberSeq.num();
    transactionTxt  = new TransactionTxt();
    transactionTxt.setType(LedgerTransTxt::None);
    transactionTxt.setDate(transDate);
    transactionTxt.setVoucher(voucherId);
    transactionTxt.txt(_repairLine.Note);
    ledgerVoucherObject = LedgerVoucherObject::newVoucher(voucherId,
                                                            transDate,
                                                            SysModule::System,
                                                            LedgerTransType::None,
                                                            NoYes::No);
    ledgerVoucher = LedgerVoucher::newLedgerPost(DetailSummary::Summary, SysModule::System, voucherId);
    ledgerVoucher.parmVoucherSeriesCode(numberSeq.parmNumberSequenceCode());
    ledgerVoucher.AddVoucher(ledgerVoucherObject);
    ledgerBondClient = ledgerVoucher.findLedgerVoucherObject().ledgerBondClient_RU();
    select firstonly equipmentTable
        index hint EquipmentIdx
    join equipmentGroup
        index hint EquipmentGroupIDX
        where   equipmentTable.EquipmentID      == _repairLine.EquipmentID &&
                equipmentGroup.EquipmentGroupID == equipmentTable.EquipmentGroupID;
    if (ledgerBondClient)
    {
        ledgerBondClient.addNewLogObject();
    }
    ledgerVoucherTransObject =
        LedgerVoucherTransObject::newCreateTrans(ledgerVoucher.findLedgerVoucherObject(),
                                                 LedgerPostingType::Allocation,
                                                 equipmentGroup.AccountNum,
                                                 Dimensions::emptyDimension(),
                                                 CompanyInfo::standardCurrency(),
                                                 amount,
                                                 _repairLine.RecId);
    ledgerVoucherTransObject.parmTransTxt(transactionTxt.txt());
    ledgerVoucher.addTrans(ledgerVoucherTransObject);
    ledgerVoucherTransObject =
        LedgerVoucherTransObject::newCreateTrans(ledgerVoucher.findLedgerVoucherObject(),
                                                 LedgerPostingType::Allocation,
                                                 kasRRepRepairType::find(_repairLine.RepairTypeID).AccountNum,
                                                 Dimensions::emptyDimension(),
                                                 CompanyInfo::standardCurrency(),
                                                 -(amount),
                                                 _repairLine.RecId);
    ledgerVoucherTransObject.parmTransTxt(transactionTxt.txt());
    ledgerVoucher.addTrans(ledgerVoucherTransObject);
    if (ledgerBondClient)
    {
        if (ledgerBondClient.currentLogLength() == 2)
            ledgerBondClient.bondLastVRef2CurrentLog();
        ledgerBondClient.removeCurrentLogObject();
    }
    ledgerVoucher.end();
}
Старый 17.04.2007, 12:24   #6  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
На первый взгляд - код рабочий (если отвлечься от некоторых недочетов - например, отсутствие записи в лог). А сумма у вас случайно не нулевая? Или может в вышестоящем коде есть отмена транзакции?

Последний раз редактировалось Raven Melancholic; 17.04.2007 в 12:30.
Старый 17.04.2007, 12:30   #7  
Андрей К. is offline
Андрей К.
Постигающий
 
152 / 10 (1) +
Регистрация: 09.04.2007
О какой сумме речь? (amount конечно не нулевая)
транзакции вообще не начинал в своем модуле

Последний раз редактировалось Андрей К.; 17.04.2007 в 12:37.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Немного об архитектуре разноски в ГК и проблеме корреспонденции счетов mazzy DAX: База знаний и проекты 29 02.05.2019 17:56
Просьба тем кто с Казахстана по разноске ГК Kuat DAX: Администрирование 4 30.07.2008 07:45
При повторном вызове linkActive проваливается в validateWrite(Строки общего журнала ГК) Lemming DAX: Программирование 6 25.10.2007 13:50
Ошибка (?) в периодических журналах ГК Anais DAX: Функционал 1 10.06.2005 13:20
sp5. Возможность получить Корр.счет ГК попроводкам клиента/поставщика без извращений studentLPC DAX: Функционал 20 27.05.2003 13:55
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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