|
10.02.2017, 11:37 | #1 |
Участник
|
заполнение новых полей в GeneralJournalAccountEntry
Ax2012 R3
Есть задача: добавить новое поле в GeneralJournalAccountEntry и заполнять его при разноске вендор-инвойса (из этого самого инвойса) вопрос 1) есть стандартный/простой способ решения подобной задачи? по отладке пошарился - GeneralJournalAccountEntry заполняется переносом из Subledger, а те заполняются из временных таблиц SubledgerJournalAccountEntryTmpDetail / SubledgerJournalAccountEntryTmpSummary. Насколько я понял, в создании этих временных записей Subledger используются Accounting Distribution и фреймворк Source Document. А в Source Document черт ногу сломит. вопрос 2) может быть, протаскивать новые поля в 2012 вообще не вариант, а можно (с учетом какого-нибудь Source Document Framework) по записи GeneralJournalAccountEntry легко и однозначно сказать, из какой строки инвойса она сделана, например? |
|
10.02.2017, 14:36 | #2 |
Участник
|
Все зависит от того, какой результат вам нужен на выходе - нужно только определить источник проводки ГК или вам нужно создавать проводки в ГК с учетом группировки по данному новому полю. В случае группировки, это однозначно смотреть и править текущий механизм формирования проводок.
Если нужен только источник, тот тут необходимо учитывать следующее - связь строк накладной поставщика с проводками ГК в общем случае много к одному, поэтому ваш второй вопрос скорее должен быть таким: каким набором строк накладных сформирована проводка ГК. По п.1 - не все поля в таблице GeneralJournalAccountEntrу, заполняются таким способом, который вы описали, см. пример как заполняется поле ReasonRef, для идентификации строк такое решение наврядли подойдет, но можно заполнять из строк накладной минуя весь механизм SubLedger*, SourceDocument* и прочее. По п.2 - посмотрите в сторону запроса SubLedgerJournalAccountEntryView join AccountingDistribution (SourceDocumentHeader+LedgerDimension), по идее это набор записей сформировавшей вашу проводку, по AccountingDistribution.SourceDocumentLine уже можно добраться до конкретной строки документа.
__________________
Sergey Nefedov |
|
13.02.2017, 00:25 | #3 |
Banned
|
Все уже сделано до нас: в последнем CU для AX2012 появился https://ax.help.dynamics.com/en/wiki...urce-explorer/. Добавьте туда в join это новое поле и не придется ничего больше придумывать.
|
|
|
За это сообщение автора поблагодарили: trud (2). |
13.02.2017, 10:08 | #4 |
Участник
|
1. GJAE может быть сформирована как из source document FW так и по старинке из LedgerVoucherObject - у вас первый путь из VendorInvoice, но учтите на будущее.
2. Одна проводка может соответствовать нескольким документам - есть режим суммаризации когда Subledgerы разносятся пакетным заданием 3. Есть таблица GeneralJournalAccountEntrySubledgerJournalAccountEntry которая показывает из каких строк Subledger сгенерирована данная проводка, дальше можно добраться до исходного документа |
|
|
За это сообщение автора поблагодарили: mazzy (2), Logger (3). |