On Leaving Event Handler in D365fo X++

 On Leaving Event Handler in D365fo X++

/// <summary>
    ///
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    [FormControlEventHandler(formControlStr(EntAssetWorkOrderJournal, ProjJournalTransHour_Qty), FormControlEventType::Leaving)]
    public static void ProjJournalTransHour_Qty_OnLeaving(FormControl sender, FormControlEventArgs e)
    {
        try
        {
            FormDataSource      ProjJournalTrans_ds     = sender.formRun().dataSource(formDataSourceStr(EntAssetWorkOrderJournal, ProjJournalTransHour));
            ProjJournalTrans    ProjJournalTrans        = ProjJournalTrans_ds.cursor();

            FormRealControl HoursVal    = sender.formRun().design().controlName(formControlStr(EntAssetWorkOrderJournal, ProjJournalTransHour_Qty));
            FormRealControl CostPrice   = sender.formRun().design().controlName(formControlStr(EntAssetWorkOrderJournal, ProjJournalTransHour_CostPrice));
            FormRealControl TotalCost   = sender.formRun().design().controlName(formControlStr(EntAssetWorkOrderJournal, ProjJournalTransHour_CBLTotalCostAmount));

            real Total = HoursVal.realValue() * CostPrice.realValue();

            ProjJournalTrans.CBLTotalCostAmount = Total;

            
     ProjJournalTrans_ds.reread(); //will only re-read the CURRENT record from the DB
      ProjJournalTrans_ds.refresh(); //refresh the form cache
//ProjJournalTrans_ds.research(); // will rerun the existing form query against the data
            //ProjJournalTrans_ds.executeQuery();
        }
        catch(Exception::CLRError)
        {
            System.Exception ex = CLRInterop::getLastException();
            error(ex.Message);
        }
    }

Comments

Popular posts from this blog

D365FO – AX – X++ –Refresh, Reread, Research, and ExecuteQuery

Create Inventory Journal through Code in D365FO X++

SalesLine Reservation in D365fo x++