D365/AX7:Refresh caller Form DataSource from a class

Requirement

Refresh caller Form DataSource From a class

Sample Code

class AcxInventBarcodeMoveQuantity
{
static void main(Args args)
{
AcxInventBarcodePrinting inventBarcodePrinting;
FormDataSource formDataSource;
ItemId itemId;
;

inventBarcodePrinting = args.record();

if (inventBarcodePrinting.RecId && inventBarcodePrinting.PrintQty)
{
formDataSource = args.record().dataSource();
ttsbegin;
inventBarcodePrinting.selectForUpdate(true);
inventBarcodePrinting.MovedQty += inventBarcodePrinting.PrintQty;
inventBarcodePrinting.BalanceQty -= inventBarcodePrinting.PrintQty;
if (inventBarcodePrinting.BalanceQty == 0)
{
inventBarcodePrinting.BarcodeFilter = AcxBarcodeFilter::Printed;
}
inventBarcodePrinting.PrintQty = 0;
inventBarcodePrinting.doUpdate();
formDataSource.executeQuery();
 formDataSource.refresh();
formDataSource.allowEdit(true);
ttscommit;
info('Quantity Moved.');
}
}

}

Leave a Reply