I have a user who can not see results for a Purchasing SmartList that calls a view. I can see results as sa just fine. The user can see results from other Purchasing SmartLists on this company database. The user can see the results from this SmartList on other company databases.
The initial reason the SmartList returned no results was because the view used the SmartList Id was missing from the database. I added it, and I am able to view it, but the user is not.
Things I tried but did not resolve the issue:
1) The view only calls tables in the GP company database, which the user has access to as a member of DYNGRP.
2) Tools->SmartList Builder->Security->SQL Table Security
I clicked on the company database and selected the checkbox next to the view used by the SL Task.
3) Tools->Setup->System->Security Tasks
For the SLB security task assigned to the user ->SmartList->SmartList Object->SmartList Object,
I selected Mark All to give access to all smart list object operations.
4) Tools->Setup->System->Security Tasks
For the SLB security task assigned to the user ->SmartList Builder->SmartList Builder Permissions->SmartList Builder,
Checked View SmartLists with SQL Tables
This has to be a permission issue. Any insight on where the permission needs to be set?
*This post is locked for comments
What ultimately allowed the user to view records through the SmartList view was to add the following database role permissions to the view:
GRANT SELECT,UPDATE,INSERT,DELETE
ON [dbo].[vwPM_Payments_by_Vendor_with_Invoices] TO DYNGRP
I was finally able to resolve this by removing the company from the User Access, removing user from the company in ms sql server, and then re-adding company for user. I had to go through and reset all the permissions, however.
Wow, caution. I ran this script with 'use <company db>' at the top, and now whenever any DYNGRP tries to log in, I receive the error:
"A get/change first operation on table 'coProcess' failed accessing SQL data."
Looking this up, it suggests changing the passwords, which I did, no change. I blanked out the passwords on the server, re-created password upon login for test user and no change.
This is affecting the step where the user tries to log into a company database, and it is affecting all the companies, instead of just the one I ran the script against.
When the user logs in, it generates the above error. If you try to log in again, it gives the error that the user is already logged on. you have to delete them from user activity before they can try to log in again, but they get the above get/change error.
I
I get the following error:
Cannot find the user 'DYNGRP', because it does not exist or you do not have permission.
I did bring up properties of the view on the company database he can see, and the DYNGRP has permissions set up in there, but the one that he can't see does not have these permissions set up. So the view permissions are exactly the key.
I found the script to change the view permissions for DYNGRP at www.gp-dynamics.com/dynamics-gp-command-details.asp
It sounds like you need to grant select permissions to DYNGRP on the view.
In SQL Server Management Studio run the following command
GRANT SELECT ON view_name TO DYNGRP
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 291,188 Super User 2024 Season 2
Martin Dráb 230,030 Most Valuable Professional
nmaenpaa 101,156