• 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

Ali Raza Zaidi

A practitioner’s musings on Dynamics 365 Finance and Operations

Blog

Sales price and discount is not added to sales line X++

May 26, 2025 by alirazazaidi

I encountered this issue and, during troubleshooting, I discovered that the system performs an update on the sales line to retrieve sales prices and discounts. This process has a performance impact. In fact, the prices are copied from the trade agreement in Dynamics 365 for Finance and Operations

For manual price use following code snippet

 salesLine.initFromInventTable(InventTable::find(salesLine.ItemId));
 salesLine.InventDimId = inventDim.inventDimId;
                        
                        
 salesLine.SalesQty = listObject.parmSalesQty();
 salesLine.SalesPrice = listObject.parmOriginalPrice();


 salesLine.SalesUnit = _InventItemBarcode.UnitID;
 salesLine.PriceUnit = 1.00;

 if ( (listObject.parmOriginalPrice() >= listObject.parmOfferPrice()) && !(listObject.parmOfferPrice() <0) && !(listObject.parmOriginalPrice() <=0))
 {
     if (listObject.parmOfferPrice()!=0)
     {
         real _Discount =listObject.parmOriginalPrice() -listObject.parmOfferPrice();
         salesLine.LineDisc = _Discount;
     }
     else
     {

         salesLine.LineDisc = 0;
     }
 }
 salesLine.DefaultDimension =LedgerDimensionDefaultFacade::serviceMergeDefaultDimensions(salesTable.DefaultDimension,InventTable::find(salesLine.ItemId).DefaultDimension);
 salesLine.setPriceDiscChangePolicy(PriceDiscSystemSource::ManualEntry, fieldNum(salesLine, SalesPrice));
 salesLine.setPriceDiscChangePolicy(PriceDiscSystemSource::ManualEntry, fieldNum(salesLine, LineDisc));
// salesLine.setPriceDiscChangePolicy(PriceDiscSystemSource::ManualEntry, fieldNum(salesLine, LinePercent));
 salesLine.setPriceDiscChangePolicy(PriceDiscSystemSource::ManualEntry, fieldNum(salesLine, PriceUnit));


 Try
 {
     ttsbegin;
     salesLine.CreateLine(NoYes::Yes,NoYes::Yes);
ttscommit;
}
catch
{}


How to implement Tiny Experiment in Logseq

April 18, 2025 by alirazazaidi

Hello friends,

Recently, I came across a new technique for goal-setting and its implementation — and it’s been a game-changer for me.

I discovered the concept of Tiny Experiments, and it helped me shift from a linear mindset to an experimental mindset. The core of this approach is curiosity — the genuine desire to see what happens if I try something new. It’s no longer about “achieving a goal” but rather asking, what can I learn from this experiment?

This idea may have existed before, but I recently discovered it through Anne-Laure Cunff’s book Tiny Experiments. (Disclaimer: I haven’t read the full book yet, but I picked up the essence from her podcast and various blog posts.)

Here are a few key insights I gathered:

  • Long-term goals are often linear — we set a vision, but over time, we lose interest or life takes us in different directions.
  • Instead of big, rigid goals, Anne suggests setting short-term, curiosity-driven experiments.
  • The magic lies in small iterations and consistent reflection — this helps us either continue with what works or pivot to something new.

Her core formula:

“I will do this action for X number of iterations.”

She herself wrote 100 articles in 100 days, using this method — not to go viral, but to learn what worked and what didn’t.

Here’s the simple yet powerful workflow:

Observation → Question → Hypothesis → Pact → Reflect (Repeat)

Or in even simpler terms: Do and Learn — or as we say in Urdu, “کر کے دیکھو” (Kar ke dekho).


Let’s break it down:

1. Observation

Look at any area of your life: personal finance, health, relationships, career, etc.
Ask yourself: What’s going on?
This is a form of reflection — remember, we don’t learn from experience, we learn by reflecting on experience.


2. Question

Ask yourself:

  • What needs to change?
  • What’s not working right now?
  • What’s possible if I approach this differently?

3. Hypothesis

Make an assumption: If I take a specific action, what result do I expect?
It’s not about being right or wrong — it’s about testing and learning.


4. Pact

Define the experiment:

  • What action will I take?
  • For how long? (e.g., 10 days, 30 iterations, etc.)

5. Reflect

After your experiment, reflect on:

  • What worked?
  • What didn’t?
  • What should I try next?

Example: Health & Fitness

Let’s say you want to feel healthier and look more fit.

Observation

I feel overweight and not in good shape.

Questions

  • Do I need to change my lifestyle?
  • Should I join a gym or just walk daily?
  • Should I change my diet?

Hypothesis

If I walk daily and reduce my food intake, I’ll lose 20 kg in 2 months.

Pact

  • Walk 40 minutes daily for 30 days.
  • Reduce roti intake to 1 per meal or 1 thali of rice, no refills, for the next 30 days.

Reflect (after 30 days)

What worked:

  • I feel better
  • My energy levels have increased
  • I feel more active

What didn’t:

  • My shape hasn’t changed much
  • Weight hasn’t reduced significantly

So now, you can design a new tiny experiment based on this reflection — and repeat the cycle.


Hope you found this helpful!
Try it out with an open mind. Start small, stay curious, and remember:

Don’t chase goals. Run experiments.

You can use logseq tempate and implement this in following ways.

And How we use this template something similar

How to make better linked notes – PKM

April 15, 2025 by alirazazaidi

I was facing an issue where many notes were just empty linked pages—basically serving only as references or bridges between other notes.

So, I created a separate folder called [[Linked Pages]] to store these.

For fleeting notes, I made a new folder named [[In Box]].

  • After reviewing and modifying them, I move them to specific folders as permanent notes.

For my daily journal, I created a separate folder called [[Jots]], which is linked to the calendar.

Json deserialize issue in service class An exception occured when invoking the operation – Type ‘Class’ is not supported by serializer. D365 Finance and operations

April 10, 2025 by alirazazaidi

Yesterday, I was working on integration, and everything was going fine. However, when I tried to retrieve a string from the DataContract, it threw an error: “Type ‘Class’ is not supported by the serializer.” The issue persisted even when I used Newtonsoft. The rest of the logic was functioning correctly.

Eventually, I discovered that the issue was due to missing AX 2012 attributes on the list’s getter/setter or parameter. Once I added those attributes, the actual getter/setter started working as expected.

 [
    DataMemberAttribute('transactions'),  
    DataCollectionAttribute(Types::Class, classStr(DSTTransactionDC))  
  ]  
  public List Parmtransactions(List _transactions = transactions)  
  {  
    transactions = _transactions;  
return transactions;
  }

I have to add following

  AifCollectionTypeAttribute('_transactions', Types::Class, classStr(DSTTransactionDC)),
  AifCollectionTypeAttribute('return', Types::Class, classStr(DSTTransactionDC))

After that getter setter become something similar

 [
    DataMemberAttribute('transactions'),  
    DataCollectionAttribute(Types::Class, classStr(DSTTransactionDC)),  
    AifCollectionTypeAttribute('_transactions', Types::Class, classStr(DSTTransactionDC)),  
    AifCollectionTypeAttribute('return', Types::Class, classStr(DSTTransactionDC))  
  ]  
  public List Parmtransactions(List _transactions = transactions)  
  {  
    transactions = _transactions;  
 return transactions;
  }

after this change, datacontract easily serialise. 
Also change attribute at class header from datacontracattribute to dataContract.

Hope you like this post.

How to apply updates on Cloud Hosted Environment D365 Finance and Operations

April 1, 2025 by alirazazaidi

I recently encountered a small functionality difference in the cloud-hosted environment.

Upon investigation, I found that the Dev machine is on 10.0.40, while the UAT environment is on 10.0.42.

This minor difference seems to be due to a Microsoft quality update. My next question is: How can I update it?

Essentially, the UAT and production environments are available on the project’s main page.

Dev machines are also cloud-hosted and can be found in the menu in LCS

After selecting the machine you need to click on Full details button

from top menu you can select and apply update.

Hope you like this small post

Next Page »

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 (59)
  • Data Management (1)
  • database restore (1)
  • Dynamics 365 (58)
  • Dynamics 365 for finance and operations (135)
  • Dynamics 365 for Operations (165)
  • 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)
  • Implementations (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 (3)
  • Personal Knowledge Management (2)
  • PKM (13)
  • Power Platform (6)
  • Procurement (5)
  • procurement and sourcing (5)
  • Product Information Management (4)
  • Product Management (6)
  • Production Control D365 for Finance and Operations (10)
  • Sale Order Process (10)
  • Sale Order Processing (9)
  • Sales and Distribution (5)
  • Soft Skill (1)
  • Supply Chain Management D365 F&O (3)
  • Tips and tricks (278)
  • Uncategorized (165)
  • Upgrade (1)
  • Web Cast (7)
  • White papers (4)
  • X++ (7)

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