Notifications
Announcements
No record found.
How can i restrict printing of reports to only one
Thanks
*This post is locked for comments
There are two ways,
Solution 1:
One way of attaining the solution is to customize the user set up form through which we can identify which user tries printing the report thereby restricting the user from printing the Report (You can add one Boolean field in user setup as 'Print Report (Name)' and will check it before printing report (Name) for user .If it is ticked in user setup then it will print or else it will not print and give error message ..) This is the easiest and simple way of doing.
Solution 2:
Another possibility in achieving the solution is to create a New Role and Assign Permission to the role.
1. Select the Object Type as “Report”
2. Set the Object ID as Customized report
3. Select the Read, Insert, Modify, Delete, Execute permission as Indirect
4. If the user needs all other report than 1401/50000, then create permissions (Read, Insert, Modify, Delete, and Execute) for all other reports as “Yes”.
This indicates that the role has all permission to the reports except 1401. Assign the role to the user who needs to be restricted.
One thing that needs to be considered with the above solution is that
• This access set up will not be applicable for SUPER Users.
• Check if the user is already assigned to any other role. Check the roles to see if the user has permission to access all the reports. If found delete the corresponding line in the role.
I personally recommend the 1st option..
Regards,
Anjan
maybe im getting the suggestion wrong, The solution i got was to stop a user from printing a report.
What i would like to accomplish is users can print an invoice report but this can occur once, the report cannot be printed a second time (twice)
1. Sales Invoice: Every time you print this document there is a field on the Sales Invoice Header that is updated (No. Printed) it is a integer field that is incremented by 1. If you want to limit it then put a code that will trow an error when the value of No. Printed is not 0.
2. Purchase Invoice: Every time you print this document there is a field on the Purch. Inv. Header that is updated (No. Printed) it is a integer field that is incremented by 1. If you want to limit it then put a code that will throw an error when the value of No. Printed is not 0.
Hey Alex,
The option as per my understanding is customization.
Yes on Documents like sales & Purchase you have a field called No. printed but its not provide the count of print based on user. It is just the count of times a document get printed.
So in your case what I think the customization is -
1) Create a New Table with Fields Report ID and User ID. (Both Should be part of primary key)
2) In CodeUnit 1 , Function FindPrinter - Check the Record in this table if Exist then provide an error else execute the Standard Logic.
3) In every Report That you want to have this feature - Add code on - OnPostReport Trigger to Insert Data into the New Created Table.
Let me know if you have any further queries.
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
As AI tools become more common, we’re introducing a Responsible AI Use…
We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…
These are the community rock stars!
Stay up to date on forum activity by subscribing.
HoangNam 7