|
![]() |
#1 |
Постигающий
|
Оказывается это не конец.
ledgerVoucher.end() проходит до конца, вижу инфо "столько то проводок создано", но в таблице LedgerVoucher они не появляются...в чем может проблема? ![]() |
|
![]() |
#2 |
Участник
|
А что за таблица такая LedgerVoucher?
Вообще, сочетание фразы "две недели как начал изучать Ахapta" и написание модуля, выполняюещего самостоятельные разноски в ГК смело, но к добру редко приводит. Может есть смысл на этом этапе просто формировать журнал ГК, который уже пользователи будут разность со всеми стандартными проверками? |
|
![]() |
#3 |
Постигающий
|
сорри ошибся - LedgerTrans. В ней не появляются записи после разноски...
Возможно...но с меня требуют |
|
![]() |
#4 |
Участник
|
Тогда приведите ваш код формирования проводок (естественно, опустив несущественные детали).
|
|
![]() |
#5 |
Постигающий
|
Код: 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(); } |
|
![]() |
#6 |
Участник
|
На первый взгляд - код рабочий (если отвлечься от некоторых недочетов - например, отсутствие записи в лог). А сумма у вас случайно не нулевая? Или может в вышестоящем коде есть отмена транзакции?
Последний раз редактировалось Raven Melancholic; 17.04.2007 в 12:30. |
|
![]() |
#7 |
Постигающий
|
О какой сумме речь? (amount конечно не нулевая)
транзакции вообще не начинал в своем модуле Последний раз редактировалось Андрей К.; 17.04.2007 в 12:37. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|