Hello everyone,
I was required to setup custom security roles for some users and encountered two weird problems in D365FO.
1. In Apply prepayment form some users have no records available in "Select prepayment to apply" area. When I give myself the same combination of roles, I can see the records for the same example.
2. In Vouchers transactions for some users the button "All related vouchers" is always disabled. I've also checked this example myself and had this button enabled.
I really want to understand what's behind these two issues. As these things are not caused by insufficient menu item rights or form controls with manual setup, it's quite puzzling. Also I think I should mention that I had to create roles/privileges/duties via interface and not in AOT.
Any suggestions would be appreciated.
Hi Alexey,
Have you done any customization on this table or process? Is there any record level security in the system?
Thanks,
Hi Alexey,
With this single screenshot, I'm not able to check what might be causing this. Did your test user have the system administrator role assigned before? Have you checked if the tables are subject to the table permissions framework? You can read about this and check the list with tables via my blog post: Securing a menu item is not enough - table permissions - Dynamicspedia
If the tables are subject to the table permissions framework, you must add additional table permissions via the security.
Hi André,
Thank you very much for your answer!
Answering to your first post: yes, the roles assigned to me (well, actually I used a test user we have in the system) and the mentioned users were exactly the same, and all roles provide access to all legal entities in the system.
1. The form is VendAdvance. I access it via Pending vendor invoice details > Apply prepayment. Here's how it looks for the user:
And evidently there has to be a line here. It doesn't look like the user has any filters on the form fields (I thought it might be the reason for absence of records).
2. Yes, that's exactly what's been bothering me, only logic can enable or disable the button, not security rights. Yet, when I checked the same example following the same path the user took, it was enabled for me and not for them. Strange.
Best regards, Alexey
Hi Alexey,
I was able to quickly verify the coding for the related vouchers. There is a functional check if there are any existing related vouchers. If not, the button will be disabled. So, this might be due to the selected record on the form.
If you can provide more information, we can also help you with the first question.
Hi Alexey,
I will try to help by providing some thoughts and questions for you. Are the roles for you and the "some users" exactly the same or do you still have more roles assigned?
1. This could be either a functional or security issue. When there is a functional filter, it can indeed hide records for some users only. E.g. you can make journals private for a user group. Then users not part of that group will not see those journal records, but can see and work with other records. Can you share the technical form name or the steps you perform to get to this form?
2. Having a button enabled or disabled is due to x++ logic. With security you can manage if the button will be visible or not, but without addiitonal x++ logic it there is no option to have a menu item button disabled. Did you look at exactly the same vouchers?
André Arnaud de Cal...
291,979
Super User 2025 Season 1
Martin Dráb
230,848
Most Valuable Professional
nmaenpaa
101,156