I have two roles A and B. For role A i have put a personal lock feature (CTRL + Personal Lock button) to lock all records in c_order table whose c_doctype_id = Standard Order.
Thus in the window whoever logs in with role A will not be able to see Standard Orders but all others types he is able to.
Whereas Role B can see everything!
Perfect! But now I developed a report with a view which relates to c_order table. This report is commonly share between Role A and Role B. I was under the knowledge that since records were locked, Role A will not be able to see them in the reports too.
But i was wrong. Both Role A and Role B was able to see entire report records irrespective of the lock.
Is the lock feature only enabled on windows? Will i be able to see a locked record if pulled from report?
Perhaps Role Data Access is what you need to use.
Thanks for your input. I however cannot figure out a way to use the Role Data Access.
All i see is to hide a particular table/column. But what i actually want is to have Role A not see Standard Orders of C_order table while Role B can see everything.
The same should happen to the reports too. Here what's happening to me is that Role A is not able to see Standard Orders in Sales Order window (C_order table) but however when he pulls the report (shared report) there is no restriction. He is able to see all records as similar to Role B.
May be I'm not doing it properly.
I did a very quick test (so perhaps I am mistaken), but I locked a couple of sales orders using GardenAdmin in the GW client, then I logged in as GardenUser and ran the standard Order Transactions report (under sales) and those records I locked were not printed.
You mentioned you created a new DB View… I wonder if the problem lies with the view?
When you create the the Lock it's on the table C_Order but when you run the report it will be against the YOUR_VIEW not C_Order! The app cannot control what access the SQL server applies.
You could test the Orders Transactions report to confirm is this the issue - it should not include the locked records.
Probably that (using a view) might be the reason why the lock is not associated. Why i used a view?
Well i need to join in two to three tables one of which is C_order and contains c_order.c_doctype_id column. So i assumed since the lock was present on C_doctype_id (with the option dependent entries ticked) the lock would also carry forward to the view.
So If this being the case, is there any way that I could possibly perform the same filter on this view rather than using 2 pre-filtered view for the same report.
You could add the logic to the SQL selection that creates the view that will apply the logic!?
Maybe someone else has a better idea.