Posts

Showing posts from October, 2025

Customize Invent On-hand Form and Add Batch related Display method on it in D365 FO x++

 [ExtensionOf(formDataSourceStr(InventOnhandItem, InventSum))] final class InventOnhandItem_InventSum_DSTWMSIntegration_Extension {     [SysClientCacheDataMethodAttribute(true)]     public  display TransDate batchExpDate_DSTWMS(InventSum _inventSum)     {                FormDataSource   InventDim_FDS    =   this.formRun().dataSource(formDataSourceStr(InventOnhandItem, InventDim));                  InventDim inventDimJoined = formJoinedRecord(_inventSum, InventDim_FDS);                  return InventBatch::find(inventDimJoined.inventBatchId,_inventSum.ItemId).expDate;     }     [SysClientCacheDataMethodAttribute(true)]     public  display TransDate batchBestBefore_DSTWMS(InventSum _inventSum)     {              ...

Product Dimension activation Check in D365 FO x++

     public boolean isProductDimensionActive(RecId _productRecId, RecId _EcoResProductDimensionAttributeRecId)     {              EcoResProductDimensionGroupProduct ecoResProductDimensionGroupProduct = EcoResProductDimensionGroupProduct::findByProduct(_productRecID);         EcoResProductDimensionAttribute ecoResProductDimensionAttribute = EcoResProductDimensionAttribute::find(_EcoResProductDimensionAttributeRecId);         FieldId dimFieldId = ecoResProductDimensionAttribute.getInventDimFieldId();         return EcoResProductDimGroupSetup::newDimensionGroup(ecoResProductDimensionGroupProduct.ProductDimensionGroup).getFieldSetup(dimFieldId).isActive();     } // calling the above method  select * from EcoResProductDimensionAttribute where EcoResProductDimensionAttribute.DimensionTableId == tableNum(EcoResFlavor);    if(this.isProductDimensionAct...