![]() |
#6 |
Microsoft Dynamics
|
Вот пример кода программного создания журнала:
Код: void createIncomingJournal() { LedgerJournalNameId incomingName; LedgerJournalTable incomingJournal; ledgerJournalTrans incomingTrans; ledgerJournalTrans ledgerJournalTrans; LedgerJournalEngine ljeIn; LedgerJournalEngine ledgerJournalEngine; NumberSeq numSeq; ProjTable projTable; RContractTable rct; RContractPartnerType rctType; ; ttsbegin; select forupdate incomingJournal; incomingJournal.clear(); incomingJournal.initValue(); incomingJournal.JournalName=incomingName; incomingJournal.insert(); // Такие вещи позволяет делать только BMLedgerJournalEngine, но не LedgerJournalEngine ljeIn = new BMLedgerJournalEngine(null); ljeIn.newJournalActive(incomingJournal); if(ljeIn) { //Строки журнала - исходые данные в таблице, скажем, lines while select lines { ledgerJournalTrans=incomingTrans; ledgerJournalEngine=ljeIn; select forupdate ledgerJournalTrans; ledgerJournalTrans.clear(); ledgerJournalTrans.TransDate=lines.PaymDate; ledgerJournalTrans.currencyCode=lines.CurrencyID; ledgerJournalTrans.ExchRate=lines.ExchRate; ledgerJournalTrans.initValue(); ledgerJournalTrans.JournalNum=incomingJournal.JournalNum; ledgerJournalEngine.numberSeqFormHandlerJournal().parmLedgerJournalTrans(ledgerJournalTrans); ledgerJournalEngine.formMethodDataSourceCreatePost(); ledgerJournalEngine.initValue(ledgerJournalTrans); // Fill data ledgerJournalTrans.TransDate=lines.PaymDate; ledgerJournalTrans.currencyCode=lines.CurrencyID; ledgerJournalTrans.ExchRate=lines.ExchRate; ledgerJournalTrans.accountType=lines.AccountType; ledgerJournalTrans.AccountNum=lines.Account; ledgerJournalTrans.offsetAccountType=lines.offsetAccountType; ledgerJournalTrans.OffsetAccount=lines.offsetAccount; if(AmountDebit) ledgerJournalTrans.AmountCurDebit=lines.AmountDebit; else if(AmountCredit) ledgerJournalTrans.AmountCurCredit=lines.AmountCredit; ledgerJournalTrans.Txt=lines.TransTxt; ledgerJournalTrans.DocumentNum=lines.DocumentNum; ledgerJournalTrans.DocumentDate=lines.PaymDate; // uhh. Validate and write ledgerJournalTrans.validateWrite(); ledgerJournalEngine.preWrite(ledgerJournalTrans); ledgerJournalEngine.formMethodDataSourceWritePre(); ledgerJournalTrans.write(); ledgerJournalEngine.write(ledgerJournalTrans); }//while select lines }// if(ljeIn) ttscommit; if(ljeIn) info(strfmt("Создан журнал входящих платежей %1", incomingJournal.JournalNum)); }
__________________
You should use Bing before asking dumb questions. Последний раз редактировалось Jabberwocky; 14.08.2006 в 14:26. |
|