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