• Skip to main content
  • Skip to primary sidebar
  • Home
  • About
  • Recommended Readings
    • 2022 Book Reading
    • 2023 Recommended Readings
    • Book Reading 2024
    • Book Reading 2025
  • Supply Chain Management Guide
  • PKM
  • Microsoft Excel
  • Microsoft Copilot in Office 365
  • Public Wiki Page

Ali Raza Zaidi

A practitioner’s musings on Dynamics 365 Finance and Operations

X++ tips

Data Manipulation in Dynamics Ax 2012- Array as Extended Data Type

July 2, 2018 by alirazazaidi

I found a array based field in TSTimesheetLineWeek table, Field TSWeeklyHours

Now challenge is to enabled field based on Array. For example need to disabled on day 6.

Following code snippet help me to enabled disabled fields generated on the base of array extended Type

TSTimesheetLineWeek_ds.object(fieldId2Ext(fieldNum(TSTimesheetLineWeek, Hours), 6)).allowEdit(false);

Reference :

https://msdn.microsoft.com/en-us/library/aa675074.aspx

https://docs.microsoft.com/en-us/previous-versions/dynamicsax-2009/developer/aa592700(v=ax.50)

Relation between VendPackingSlipJour and PurchParmTable Dynamics Ax 2012 R3

December 7, 2017 by alirazazaidi

Couple of days ago, I was helping a young developer. Who was doing some customization. He added some customization in PurchParmtable and want information in VendPackingSlipJour Table.

It was very strange that there is no direct relationship between vendPackingSlipJour and  PurchParmTable.

 

After Exploring I found that There is ParmId field in VendPackingSlipVersion table.

And we can get VendPackingSlipVersion by static method with PurchId and PackingSlipId, DeliveryDate.

 

This ParmId has relation with PurchParmTable.

I wrote down following code snippet to get Value from PurchParmTable, with respect to VendPackingSlipVersion.

 

 

 

display real _netWeight()
{
PurchParmTable _purchParmTbl;
parmid _id;
_id=VendPackingSlipVersion::findFromInterCompanyPackingSlip((this.PurchId),
(this.PackingSlipId),(this.DeliveryDate)).ParmId;
select *from _purchParmTbl where _purchParmTbl.ParmId==_id;
return _purchParmTbl.NetWeght;
}

 

Hopes this help

Select on InventSum vs InventOnHand Class Dynamics Ax 2012 R3.

August 22, 2017 by alirazazaidi

Today I face the very strange behavior of X++ code.

We develop customization. We generate transfer and issuance through X++.

Logic was very simple,If stock is available then transfer  / Issuance or Adjustment journal create otherwise generate error message, We took this decision  based of query on Inventsum. It works fine in most of cases but In one case when stock is zero it fails. We create Movement Journal to generate stock in that Item variant.  The select query always return Zero stock in posted quantity. Even I get the recid in debug mode and placed in table explorer, Quantity is available in table explore.

This case occurs when got Zero stock in Inventsum table and we try to increase stock by movement journal, other wise select on InventSum works fine.

 

The query will be very similar

 

Select * from InventSum where Inventsum.ItemId == line.ItemId && inventSum.invetdimId == line.fromInventiDimId;

 

This will not work. Even Db synch, Inc Cil, Cache clear done, even Restart the Test server AOS.

 

I have to switch code from select query to Class InventOnhand. Very similar to following.

 

InventOnHand inventOnhand

InventDim       InventDim;

InventDimParm inventDimParm;

 

 

inventDimParm.initFormInventDim(_Line.FromInventDimId);

inventOnHand = InventOnhand::newParameters(_line.Itemid,_line.FromInventDimId,inventDimParm);

 

If (inventOnHand.availPhysical() > _line.RequestedQty)

{

Info( ” Quantity Avalible “);

}

Else

{

Info (” Not available “);

}

 

Its works perfectly fine. I think  InventonHand class is better the do direct query on Inventsum table.

 

Primary Sidebar

About

I am Dynamics AX/365 Finance and Operations consultant with years of implementation experience. I has helped several businesses implement and succeed with Dynamics AX/365 Finance and Operations. The goal of this website is to share insights, tips, and tricks to help end users and IT professionals.

Legal

Content published on this website are opinions, insights, tips, and tricks we have gained from years of Dynamics consulting and may not represent the opinions or views of any current or past employer. Any changes to an ERP system should be thoroughly tested before implementation.

Categories

  • Accounts Payable (2)
  • Advance Warehouse (2)
  • Asset Management (3)
  • Azure Functions (1)
  • Books (6)
  • Certification Guide (3)
  • Customization Tips for D365 for Finance and Operations (62)
  • D365OF (60)
  • Data Management (1)
  • database restore (1)
  • Dynamics 365 (59)
  • Dynamics 365 for finance and operations (138)
  • Dynamics 365 for Operations (174)
  • Dynamics AX (AX 7) (134)
  • Dynamics AX 2012 (274)
  • Dynamics Ax 2012 Forms (13)
  • Dynamics Ax 2012 functional side (16)
  • Dynamics Ax 2012 Reporting SSRS Reports. (31)
  • Dynamics Ax 2012 Technical Side (52)
  • Dynamics Ax 7 (65)
  • Exam MB-330: Microsoft Dynamics 365 Supply Chain Management (7)
  • Excel Addin (1)
  • Favorites (12)
  • Financial Modules (6)
  • Functional (8)
  • General Journal (1)
  • Implementations (1)
  • Ledger (1)
  • Lifecycle Services (1)
  • Logseq (4)
  • Management Reporter (1)
  • Microsoft Excel (4)
  • MS Dynamics Ax 7 (64)
  • MVP summit (1)
  • MVP summit 2016 (1)
  • New Dynamics Ax (19)
  • Non Defined (9)
  • Note taking Apps (2)
  • Obsidian (4)
  • Personal Knowledge Management (3)
  • PKM (16)
  • Power Platform (6)
  • Procurement (5)
  • procurement and sourcing (6)
  • Product Information Management (4)
  • Product Management (6)
  • Production Control D365 for Finance and Operations (10)
  • Sale Order Process (10)
  • Sale Order Processing (10)
  • Sales and Distribution (5)
  • Soft Skill (1)
  • Supply Chain Management D365 F&O (4)
  • Tips and tricks (278)
  • Uncategorized (165)
  • Upgrade (1)
  • Web Cast (7)
  • White papers (4)
  • X++ (10)

Wiki

  • SCM

Copyright © 2026 · Magazine Pro On Genesis Framework · WordPress · Log in