24.01.2006, 11:55 | #1 |
Участник
|
проводки по поставщику
Нужно по неотфактурованной еще закупке создать проводки в Гк и по поставщику. С гк усе ок, а вот как по поставщику создать проводки? Ax 2.5.
Понятно, что за проводки по поставщику отвечает класс vendVoucher. Но вот с примерами чот туговато. Если брать за основу создание проводок при фактуровке, так там вызывается newVendVoucherPurch у vendVoucher и, соответственно, нужна сч-фактура. Если отталкиваться от разноски по журналу Гк, то тут вызывается newVendVoucherJournal у vendVoucher и соответственно нужен LedgerJournalTrans. Можно конечно формировать журнал, разносить , а потом удалять его, но эт как-то криво . где копать? буду благодарна за примеры. спасибо |
|
24.01.2006, 12:50 | #2 |
Участник
|
А обработать накладную без фактуры не пойдет?
|
|
24.01.2006, 13:47 | #3 |
Участник
|
нет
|
|
24.01.2006, 13:51 | #4 |
Участник
|
в 3.0 ест такой код
\Classes\BankChequeCancel\createPaymentOffsetTrans X++: protected VendVoucher createPaymentOffsetTrans(VendTrans _vendTrans, LedgerVoucher _ledgerVoucher) { VendTrans vendTrans_old = VendTrans::find(_vendTrans.recId); LedgerTransTxt transTxt; CustVendVoucher vendVoucher; ; vendVoucher = CustVendVoucher::construct(SysModule::Vend, _ledgerVoucher, vendTrans_old.accountNum, -vendTrans_old.amountCur, vendTrans_old.currencyCode, transTxt, vendTrans_old.dimension, vendTrans_old.PostingProfile,//'', LedgerPostingType::VendBalance); vendVoucher.setPaymMode(vendTrans_old.paymMode); vendVoucher.setPaymSpec(vendTrans_old.paymSpec); vendVoucher.parmTransTxt(strFmt('%1: %2, %3',"@SYS1068", vendTrans_old.voucher, cancelReason)); vendVoucher.parmTransDate(transDate); vendVoucher.exchRate(vendTrans_old.amountCur ? vendTrans_old.amountMST / vendTrans_old.amountCur * 100 : 0); vendVoucher.post(vendTrans_old); return vendVoucher; } |
|
24.01.2006, 20:04 | #5 |
Участник
|
спасибо, я в 2.5 тоже такой код нашла, но
>vendVoucher.post(vendTrans_old); Я, может, чего-то не понимаю, но vendTrans_old - у меня нет VendTrans , мне его по сути создать надо попробовала объявить VendTrans в процедуре и передать(то есть передать пустой VendTrans), но стал жаловаться на отсутствие баланса в документе. |
|
24.01.2006, 21:11 | #6 |
Участник
|
можно передать пустой буфер
|
|
24.01.2006, 21:21 | #7 |
Участник
|
выложил свое представление сюда База знаний ERP : Axapta / Класс / Vend Voucher
|
|
25.01.2006, 17:21 | #8 |
Участник
|
проблема осталась Если комментарю создание проводок по поставщику то все ок(по гк создаются). А как только расскомментаришь - говорит нет баланса.
Не подскажете, зачем в методе post класса CustVendVoucher создается проводка ГК ledgerVoucherTrans.createTrans? создаю проводки поставщика так: PHP код:
|
|
25.01.2006, 18:33 | #9 |
Участник
|
я не очень уверен, но он создает бухгалтерское отражение операции -- может быть вы просто уберете проводку ГК, которая дублируется проводкой из VendVoucher? я так и сделал.
Правда в другом месте мне пришлось делать наоборот: вставил CustVendVoucher.parmSkipLedgerPost |
|
26.01.2006, 10:33 | #10 |
Участник
|
2belugin:
спасибо, видимо, так и сделаю |
|
23.06.2011, 15:24 | #11 |
Участник
|
Не могу найти, где это. Не подскажете?
У меня есть задача создать проводку в VendTrans без проводки по ГК. AX2009, General. Помогите, пожалуйста. Пишу функцию: X++: void createVendTrans(AccountNum VendAccount, Amount Amount, LedgerTransTxt transtxt){ CustVendVoucher vendVoucher; VendTrans vendTrans; VendTable vendTable = VendTable::find(VendAccount); LedgerVoucher LedgerVoucher; ; vendVoucher = CustVendVoucher::construct(SysModule::Vend, ledgerVoucher, // не определяю, т.к. все равно фин.проводка не нужна. vendTable.accountNum, Amount, Companyinfo::find().currencyCode, transTxt, vendTable.dimension, '', LedgerPostingType::VendBalance); ???vendVoucher.< , > vendVoucher.setPaymMode(vendTable.paymMode); vendVoucher.setPaymSpec(vendTable.paymSpec); vendVoucher.post(vendTrans); } Последний раз редактировалось gefr; 23.06.2011 в 15:32. Причина: уточнение |
|