If you can only see one customer’s sales orders or no sales orders show up in the All Sales Order List Page this blog can help you out. I’ve had this problem multiple times since AX 2012 has come out when using the Contoso Demo Dataset and finally I gave in and figured out why the heck the problem was occurring on my instance.
Here is what I knew:
1. I didn’t have an external relation setup on my user account.
a. External Relations are what is setup to filter the AX so you can only see you’re customer account records. This is primarily used with external users.
2. I didn’t have anything else setup that I thought was going to cause a problem.
Here is what I found:
I started out with finding what class was tied to the SalesTableListPage form and it was a class called SalesTableListPageInteraction.
This class has a method called “InitializeQuery” which kept pushing me down a path on line 8. I shouldn’t even hit line 8 because I don’t have the external relationship setup which the ‘if condition’ checks for as seen in the screenshot below.
I started to dig into where the “IsCustomer” variable is set and I was brought to Classes\EP\isCustomer. I kept falling into the ‘else’ on line 35 which runs a select statement that checks to see if you have a user account with a user relation setup which I do. Then it looks to see if that user relation has a customer associated to it which I don’t but the system said I did.
The funny part here is the comment in the code says that it is checking to see if you are a contact person for a customer account.
Anyway, I ran a select statement in SQL and it showed that my user relationship was associated with a customer in USSI which is a company that I had never used. I took a look in the application at this customer’s account and I didn’t find that I was a contact on the customer or that I had any association with the customer other than in the backend. I’m going to assume this error is due to data damage or a coincidence with the demo dataset. I removed the customer from USSI as they had no transactional data and then went back to USMF Company and I could see all the sales orders again. Woohoo!
Summary:
If you can only see one customer’s sales orders or zero sales orders when viewing the All Sales Order List Page this blog can help you out. It points you to the “external relationship” which is where you can setup what customer you are associated with. Not having an external relationship should give you access to all sales orders. This article also shows you what classes to look at to help troubleshoot the issue.
THANK YOU!!! I have just spent the last 4 hours doing everything in my power to figure out why my user could not see sales orders. I was almost to the point of deleting him out of AX and adding him back in again, but then we’d have to set him up as a new user and he’d lose all his personalizations, etc.. I thought it might be something with relationships, but when I looked at his employee record, it showed no external relationships. That code really helped me find out where the problem was. I was not able to delete the customer or the contact record, but I just changed the expiration date on his contact relationship record and that fixed it. Again, really appreciate you posting this!
Hi Kathy,
Thank you for the comment, it is nice to hear that our blog articles were able to help you out.
Cheers,
Brandon
And what was the SQL statement??
Hello Marijn,
Hello, after talking with Tom, he stated all he did was refactored the select statement that he highlighted in the blog, for an employee.
Thanks,
Brandon
Thank you SO MUCH! This saved me countless hours of frustration when we hired someone who used to work for one of our customers and could not figure out why they couldnt see any sales orders
Very glad this blog was able to help you out! Thanks for reading.