Lookup Event handler in d365

 [FormControlEventHandler(formControlStr(EcoResProductDetailsExtended, CST_MixNMatch_CST_MixMatchRevItemId), FormControlEventType::Lookup)]

    public static void CST_MixNMatch_CST_MixMatchRevItemId_OnLookup(FormControl sender, FormControlEventArgs e)

    {

        SysTableLookup      sysTableLookup  = SysTableLookup::newParameters(tableNum(InventTable), sender);

        InventTable inventTable;


        Query query = new Query();

        QueryBuildDataSource qbds;

        QueryBuildRange queryBuildRange;

        FormDataSource  formDataSource = sender.dataSourceObject();

        InventParameters inventParameters = formDataSource.cursor();


        qbds = query.addDataSource(tableNum(InventTable));

        qbds.addRange(fieldNum(InventTable, CST_MixNMatch)).value(queryValue(NoYes::Yes));


        sysTableLookup.parmQuery(query);

        sysTableLookup.addLookupfield(fieldNum(InventTable, ItemId));

        sysTableLookup.performFormLookup();


        FormControlCancelableSuperEventArgs cancelSuperEventArgs = e as FormControlCancelableSuperEventArgs;

        cancelSuperEventArgs.cancelSupercall();

    }


// lookup should come if the cst_flavours is yes

 [FormControlEventHandler(formControlStr(EcoResProductDetailsExtended, CST_MixNMatch_CST_MixMatchRevItemId), FormControlEventType::Lookup)]

    public static void CST_MixNMatch_CST_MixMatchRevItemId_OnLookup(FormControl sender, FormControlEventArgs e)

    {

        FormDataSource  formDataSource_ds = sender.formRun().dataSource();

        InventTable     inventTable = formDataSource_ds.cursor();


        if(inventTable.CST_Flavours == NoYes::Yes)

        {

            SysTableLookup      sysTableLookup  = SysTableLookup::newParameters(tableNum(InventTable), sender);

            Query query = new Query();

            QueryBuildDataSource qbds;

            QueryBuildRange queryBuildRange;

            qbds = query.addDataSource(tableNum(InventTable));

            qbds.addRange(fieldNum(InventTable, CST_MixNMatch)).value(queryValue(NoYes::Yes));

            sysTableLookup.parmQuery(query);

            sysTableLookup.addLookupfield(fieldNum(InventTable, ItemId));

            sysTableLookup.performFormLookup();

            FormControlCancelableSuperEventArgs cancelSuperEventArgs = e as FormControlCancelableSuperEventArgs;

            cancelSuperEventArgs.cancelSupercall();

        }

    }

    

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