My client has a rather complex requirement which I'm not sure if it's achievable in Navision...
A temp staff is to access the Aged Receivables report, which is shared by everyone else in the company.
The report will only print records where salesperson = S1 OR country code = C1 from the Customer Card for this particular user.
1. Is this possible to achieve with the standard report? Possible to print the report directly without use of something else calling this report like Report.RUN? How to set filter for this case?
2. Is it possible to control the reports filter or even the Customer tab such that for this user only Print & Preview buttons are shown? Possible to print the report directly without use of something else calling this report like Report.RUN? The purpose is to block the ability for selection in order to restrict the list of customers from being shown.
NAV - Norton Anti Virus
ERP Consultant (not just Navision) & Navision challenger
0
Comments
In the Customer OnAfterGetRecord trigger of the report, the code would be something like:
IF NOT (("salesperson code" = 'S1') OR ("country code" = 'C1')) then
currreport.skip
ELSE BEGIN
{ the existing code in the trigger}
END;
2. Yes. Edit the properties of the Customer dataitem, removing the ReqFilterFields, and selecting a key in the DataItemTableView property.
1. So I guess that means setfilter is not possible...
2. This report is used by normal users as well so they must be able to select their own filters, so setting a key to remove the tab will not be possible...
ERP Consultant (not just Navision) & Navision challenger
If your client is using SQL Server option then you can achieve this by using Security Filters on Roles But you have to create a new role for that particular user with specified security filters specified on Role.
Also in the report call SETPERMISSIONFILTER to apply Role Filters
Harjot
Does it work with OR?
ERP Consultant (not just Navision) & Navision challenger
Sorry My Mistake. Security Permissions only Handles AND
Harjot