16.04.2007, 15:36 | #1 |
Постигающий
|
Ошибки при разноске в ГК
Ошибка вылетает при переходе к
ledgerBalancesList = LedgerVoucherBalancesList::Construct(); Текст ошибки: Тип счета 'Заголовок'( бухг. счет '01.000'.
Обновление было прервано из-за ошибки Тип счета 'Заголовок'( бухг. счет '20.000'. Обновление было прервано из-за ошибки Транзакция отменена Ума не приложу как исправить и что делать подскажите плиз Последний раз редактировалось Андрей К.; 16.04.2007 в 15:40. |
|
16.04.2007, 15:58 | #2 |
Member
|
Это у вас кастомизация?
__________________
С уважением, glibs® |
|
16.04.2007, 15:59 | #3 |
Постигающий
|
так точно
все идет гладко до ledgerVoucher.end() Последний раз редактировалось Андрей К.; 16.04.2007 в 16:43. |
|
16.04.2007, 17:16 | #4 |
Member
|
Тогда сказать сложно. Складывается впечатление, что в вашей кастомизации что-то пытается сгенерить и разнести ваучер в ГК, однако в настройках разноски не была установлена проверка на запрет выбора итоговых счетов плана счетов, и кто-то их таки выбрал.
__________________
С уважением, glibs® |
|
16.04.2007, 17:24 | #5 |
Злыдни
|
Проверьте в ссылка на счета, где настроены в разноске 01.000 и 02.000 (судя по всему, это что-то с ОС). Измените счета на те, котрые не относятся к заголовкам или итогам
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
16.04.2007, 17:33 | #6 |
Постигающий
|
спасибо за советы, но мы на разных языках разговариваем (я две недели как начал изучать Ахapta)
вобщем я указываю в настройках своего модуля два счета для разноски - 01.000 и 20.000, далее, когда выполняю разноску вылетает эта ошибка...ЧТО ЗА МИСТИКА! |
|
16.04.2007, 17:40 | #7 |
Member
|
Аксапта не разносит проводки по итоговым счетам.
Либо укажите не итоговые, либо...
__________________
С уважением, glibs® |
|
16.04.2007, 17:45 | #8 |
Постигающий
|
|
|
16.04.2007, 17:49 | #9 |
Постигающий
|
Всем СПАСИБО! ВСЕ ! РАБОТАЕТ!!! )))
|
|
17.04.2007, 09:45 | #10 |
Постигающий
|
Оказывается это не конец.
ledgerVoucher.end() проходит до конца, вижу инфо "столько то проводок создано", но в таблице LedgerVoucher они не появляются...в чем может проблема? |
|
17.04.2007, 11:38 | #11 |
Участник
|
А что за таблица такая LedgerVoucher?
Вообще, сочетание фразы "две недели как начал изучать Ахapta" и написание модуля, выполняюещего самостоятельные разноски в ГК смело, но к добру редко приводит. Может есть смысл на этом этапе просто формировать журнал ГК, который уже пользователи будут разность со всеми стандартными проверками? |
|
17.04.2007, 11:59 | #12 |
Постигающий
|
сорри ошибся - LedgerTrans. В ней не появляются записи после разноски...
Возможно...но с меня требуют |
|
17.04.2007, 12:03 | #13 |
Участник
|
Тогда приведите ваш код формирования проводок (естественно, опустив несущественные детали).
|
|
17.04.2007, 12:12 | #14 |
Постигающий
|
Код: 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 | #15 |
Участник
|
На первый взгляд - код рабочий (если отвлечься от некоторых недочетов - например, отсутствие записи в лог). А сумма у вас случайно не нулевая? Или может в вышестоящем коде есть отмена транзакции?
Последний раз редактировалось Raven Melancholic; 17.04.2007 в 12:30. |
|
17.04.2007, 12:30 | #16 |
Постигающий
|
О какой сумме речь? (amount конечно не нулевая)
транзакции вообще не начинал в своем модуле Последний раз редактировалось Андрей К.; 17.04.2007 в 12:37. |
|
17.04.2007, 12:44 | #17 |
Постигающий
|
Стоило указать у одного из TransObject'a
LedgerPostingType::Bank и все стало разноситься |
|
|
|