Monday, 13 May 2019

D365 Disable grid field based on other field value

Disable grid field based on other field value in D365 FO


Here we will see how we can disable field in the grid based on the other field value.
1. Create a call extension for the form
2. Goto From the data source and in events copay active event
3. come to class you created in step one and past it.
4. Below is the sample code. 

[ExtensionOf(formStr(FormParameters))]
final class ParametersFormUP_Extension
{
   
    ///
    /// for UsagePrice the Group should must be disabled
    ///
    ///
    ///
    [FormDataSourceEventHandler(formDataSourceStr(FormParameters,FormDatasource), FormDataSourceEventType::Activated)]
    public static void FormDatasource_OnActivated(FormDataSource sender, FormDataSourceEventArgs e)
    {
        FormDataSource              fds = sender.formRun().dataSource(formDataSourceStr(FormParameters,FormDatasource));
        FormDatasourceTable       dsTable = fds.cursor();
        FormRun                     fr = sender.formRun();
        //FormControl                 fc = fr.design(0).controlName("FINMeters_FINRollover");
        //FormControl                 fcMeterType = fr.design(0).controlName("FINMeters_FINMeterType");

        //fc.enabled(meterTable.FINMeterType == FINMeterType::Continuous);
       
        fds.object(fieldNum(FormDatasourceTable ,fieldForGroup)).allowEdit(!(dsTable.AgreementType == AgreementType::UsagePricing));

    }

}

D365FO : Script for update Storage Dimension Group for the Items with no transactions. x++

We have a problem on finance test... The storage dimension group = Mlok is setup to use warehouse management. But we don't have all the ...