Я пытаюсь создать (и опубликовать) журналы бухгалтерской книги на основе данных, полученных через входящую службу AIF. Данные записываются в настраиваемую промежуточную таблицу со всеми необходимыми полями.

Теперь мне нужно создать журналы и записи транзакций из этой промежуточной таблицы. Я могу создать запись LedgerJournalTable с несколькими записями LedgerJournalTrans.

Вот фрагмент кода для создания LedgerJournalTrans:

 ledgerJournalTrans = this.initJournalTransFromStaging(ledgerJournalStaging);
 ledgerJournalTrans.initValue();
 ledgerJournalTrans.JournalNum   = ledgerJournalTable.JournalNum;
 ledgerJournalTrans.Voucher      = numberSeq.voucher();

 if (ledgerJournalTrans.validateWrite())
 {
     ledgerJournalTrans.insert();
 }
 // After that comes voucher validation using JedgerJournalCheckPost, which issues error that the voucher does not balance

Где this.initJournalTransFromStaging инициализирует некоторые стандартные поля, такие как AccountNum, AmountCurDebit и так далее.

Моя проблема в том, что OffsetAccount не заполняется из настроек по умолчанию (в моем конкретном случае он должен быть установлен по умолчанию из имени журнала главной книги, но его также можно взять из основных настроек учетной записи), что приводит к ошибке при проверке ваучера ( не балансирует).

Было бы здорово воспользоваться некоторыми стандартными функциями для правильной инициализации смещения учетной записи.

Благодарность!

0
Maxim Lazarev 6 Мар 2015 в 10:50

2 ответа

Лучший ответ

Я нашел решение:

ledgerJournalEngine = LedgerJournalEngine::construct(ledgerJournalTable.JournalType);
ledgerJournalEngine.newJournalActive(ledgerJournalTable);

ledgerJournalEngine.accountModified(ledgerJournalTrans);

Это сделало фокус! Он запускает свой счет смещения от LedgerTable или LedgerJournalName, причем LedgerTable имеет более высокий приоритет.

2
Maxim Lazarev 9 Мар 2015 в 15:31

Вы можете инициировать счет смещения и размер смещения из записи LedgerJournalName. Есть ли причина, по которой вы этого не делаете, или вы спрашиваете, существует ли более правильный способ сделать это из коробки?

См. Мой ответ здесь по очень похожему вопросу: https://stackoverflow.com/a/27853468/1179573

0
Community 23 Май 2017 в 11:50