Form Data Source Level and Form Data Field Event Handlers in x++

// Activated Event Handler

   [FormDataSourceEventHandler(formDataSourceStr(SalesTable, SalesLine), FormDataSourceEventType::Activated)]

    public static void SalesLine_OnActivated(FormDataSource sender, FormDataSourceEventArgs e)

    {

        SalesLine        salesLine   = sender.cursor();

        info(strFmt("%1", salesLine.ItemId));

    }


// Modified Event Handler


    /// <summary>

    ///

    /// </summary>

    /// <param name="sender"></param>

    /// <param name="e"></param>

    [FormDataFieldEventHandler(formDataFieldStr(SalesTable, SalesLine, ItemId), FormDataFieldEventType::Modified)]

    public static void ItemId_OnModified(FormDataObject sender, FormDataFieldEventArgs e)

    {   

        FormDataSource salesLine_ds = sender.datasource();

        SalesLine salesLine = salesLine_ds.cursor();

        info(strFmt("%1", salesLine.ItemId));


    }


//Activated Event Handler 

  [FormDataSourceEventHandler(formDataSourceStr(PurchTable, PurchTable), FormDataSourceEventType::Activated)]

    public static void PurchTable_OnActivated(FormDataSource sender, FormDataSourceEventArgs e)

    {

        PurchLine purchLine;

        PurchTable purchTable;

        while select  * from purchTable

        {

            while select sum(PurchQty) from purchLine where purchLine.PurchId == purchTable.PurchId

            {

                update_recordset purchTable

                    setting PurchaseQty = purchLine.PurchQty

                    where  purchTable.PurchId == purchLine.PurchId;     

            }

        }      

    }


Comments

Popular posts from this blog

how to post trade agreement journals automatically using x++ code

How to Create a wizard in x++ d365

x++ code to submit and approve and reject the invent movement workflow in d365 F&O