X++ Code to create, validate & post "Project Journal" ( Fee, Hour, Expense type journals) in D365 FO || Ax2012

Hello everyone,

Today i would like to post a code snippet for creating and posting a project journal, by using this we can also Create/post Fee(Revenue), Hour, Expense type journals as well.

static void ProjJournalCreateAndPost(Args _args)
{
       // Variable declaration
        ProjJournalTable            jourTable;  
        ProjJournalTrans            jourTrans;  
        ProjJournalTableData    jourTableData;
        ProjJournalTransData    jourTransData;
        ProjJournalStatic            jourStatic;
        ProjJournalCheckPost    jourPost;
 

X++ Code to Create Zip Files in D365 - D365 F&O

Hello Everyone,

Today we will be looking at, how to create a Zip file by using X++ code, while exporting data from the system. Let us see how the code is build.

using System.IO.Compression;

public void createZipFile(Map _cStoreErrorData)
{
    MapEnumerator mapEnumerator = _cStoreErrorData.getEnumerator();
       
        if (_cStoreErrorData.elements() > 0)
        {
            using(System.IO.MemoryStream zipStream  = new System.IO.MemoryStream())
            {
                using(System.IO.Compression.ZipArchive archive  = new System.IO.Compression.ZipArchive(zipStream, System.IO.Compression.ZipArchiveMode::Create, true))

X++ Code To Use Existing NumberSeq While importing Data via OData Services - D365 F&O

Hello Everyone,

Today we will be looking at using the existing number sequence while importing a record using Odata and to have the record imported with automatic number sequence on any field. We need to overwrite the initValue method of DataEntity. Let us see how is the code is build.

public void initValue()

{
    if  (!this.skipNumberSequenceCheck())
    {
        NumberSeqRecordFieldHandler::enableNumberSequenceControlForField(this,
                                                                         fieldNum(

X++ Code to Post Sales Order Invoice line by line - D365 F&O || AX 2012

Hello Everyone,

Today we will be looking at how to invoice a Sales order line by line. We usually use "SalesFormLetter" class and "run" method to post and SO which will post the entire SO and all the lines in it. Recently I have come across a new requirement while posting an SO i.e.., to post the SO invoice line by line. So lets see how the code is build.


Public static void salesOrderInvoiceByLine(SalesLine    _salesline)
{
        salesFormLetter         salesFormLetter;
        salesFormletterParmData salesFormLetterParmData;
        salesParmUpdate         salesParmUpdate;
        salesParmTable          salesParmTable;
        salesParmLine           salesParmLine;
        salesTable              salesTable;
      
        ttsbegin;
        salesTable  = salesTable::find(_salesline.SalesId);
        salesFormLetterParmData = salesFormletterParmData::newData(DocumentStatus::Invoice, VersioningUpdateType::Initial);

        salesFormLetterParmData.parmOnlyCreateParmUpdate(true);
        salesFormLetterParmData.createData(false);
        salesParmUpdate = salesFormLetterParmData.parmParmUpdate();

        salesParmTable.clear();
        salesParmTable.TransDate                = _salesline.ReceiptDateRequested;
        salesParmTable.Ordering                 = DocumentStatus::Invoice;
        salesParmTable.ParmJobStatus            = ParmJobStatus::Waiting;
        salesParmTable.salesId                  = salesTable.salesId;