Quantcast
Channel: Microsoft Dynamics 365 and Power Platform Library
Viewing all articles
Browse latest Browse all 102

AX 2012 - Create and Post hour journal through X++

$
0
0
Following job can be used to create, validate, and post hour journal in Project Management and Accounting module in AX 2012 R3.








staticvoid
createHourJournal(Args _args)


{


    ProjJournalTableData    JournalTableData;


    ProjJournalTransData    journalTransData;


    ProjJournalTable        journalTable, journalTableUpdate;


    ProjJournalTrans        journalTrans;


    ProjTable               projTable;


    ProjInvoiceTable        projInvoiceTable;


    NumberSeq               numberSeq;




    ProjJournalCheckPost    jourPost;




    ProjQtyEmpl             qty;


    JournalNumOfLines       numOfLines;




    ttsBegin;




    journalTableData =
JournalTableData::newTable(journalTable);


    journalTransData =
journalTableData.journalStatic().newJournalTransData(journalTrans,
journalTableData);




    // Init
JournalTable


    journalTable.clear();


    journalTable.JournalId      = journalTableData.nextJournalId();


    journalTable.JournalType    = ProjJournalType::Hour;


    journalTable.JournalNameId  = MROParameters::find().JournalHour;


    journalTable.initFromProjJournalName(ProjJournalName::find(journalTable.JournalNameId));


    journalTable.insert();




    // Init
JournalTrans


   
journalTableData.initFromJournalName(journalTableData.journalStatic().findJournalName(journalTable.JournalNameId));




    journalTrans.clear();


    journalTransData.initFromJournalTable();




    projTable           = ProjTable::find('000057');


    projInvoiceTable    = projTable.projInvoice();




    journalTrans.setTransDate();


    journalTrans.TransDate      = systemDateGet();


    journalTrans.ProjTransDate  = systemDateGet();


    journalTrans.ProjId         = projTable.ProjId;


    journalTrans.Qty            = 7.5;


    journalTrans.CategoryId     = 'Category
ID'
;


    journalTrans.LinePropertyId = 'Line property ID';


    journalTrans.Worker         = DirPersonUser::currentWorker();


    journalTrans.ActivityNumber = 'Activity number';


    journalTrans.Txt            = 'Sample
Text'
;




    if
(projInvoiceTable.CurrencyId)


        journalTrans.CurrencyId =
projInvoiceTable.CurrencyId;


    else


        journalTrans.CurrencyId =
CompanyInfo::standardCurrency();




    journalTrans.DefaultDimension   = projTable.DefaultDimension;


    journalTrans.TaxGroupId         =
ProjParameters::taxGroupInvoice(projTable.ProjId);




    if
(journalTrans.Worker)


    {


        journalTrans.setHourPrices();


        journalTrans.setPeriodDate();


    }




    numberSeq =
NumberSeq::newGetVoucherFromId(journalTable.VoucherNumberSequenceTable, false);


    journalTrans.Voucher        = numberSeq.voucher();




    journalTransData.create();




    ttsCommit;


   


    // Validating
the journal


    jourPost =
ProjJournalCheckPost::newJournalCheckPost(true,true,JournalCheckPostType::Check,tableNum(ProjJournalTable),journalTable.JournalId);


   


    // Posting the
journal


    jourPost =
ProjJournalCheckPost::newJournalCheckPost(true,true,JournalCheckPostType::Post,tableNum(ProjJournalTable),
journalTable.JournalId);


    jourPost.run();


}












Viewing all articles
Browse latest Browse all 102

Trending Articles