{"id":1299,"date":"2015-11-05T16:24:17","date_gmt":"2015-11-05T21:24:17","guid":{"rendered":"https:\/\/danvanfleet.com\/?p=1299"},"modified":"2015-11-05T16:24:17","modified_gmt":"2015-11-05T21:24:17","slug":"classic-permission-issue-pfwin-114","status":"publish","type":"post","link":"https:\/\/danvanfleet.com\/index.php\/classic-permission-issue-pfwin-114\/","title":{"rendered":"Classic Permission issue PFWIN-114"},"content":{"rendered":"<p><a href=\"https:\/\/i0.wp.com\/danvanfleet.com\/wp-content\/uploads\/2015\/11\/clip_image001.png\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" width=\"243\" height=\"244\" title=\"clip_image001\" align=\"left\" style=\"margin: 0px 10px 0px 0px; float: left; display: inline; background-image: none;\" alt=\"clip_image001\" src=\"https:\/\/i0.wp.com\/danvanfleet.com\/wp-content\/uploads\/2015\/11\/clip_image001_thumb.png?resize=243%2C244\" border=\"0\"><\/a>The other day a user needed to be given a permission in SpAdmin on a Classic 15 system. It didn&#8217;t go so well. The permission showed as being applied but the user was still unable to do the task. Print Checks was the permission needed rights granted.<\/p>\n<p>This was a contract customer, someone who pays me just for being around, so a solution needed to be found sooner than later. A dive into the PermissionsByUser table in the SoftPro Database found the problem. The Allow flag was set to False on the UserID for Program zero. I&#8217;m guessing Program zero is ProForm, one is ProTrust, two and three exist, but I don&#8217;t know enough to hazard a guess at this point.<!--more--><\/p>\n<p>&nbsp;<\/p>\n<p>The displayed error mentioned Permission ID 50, changing the first one lead us down a trial of 4 PermissionID&#8217;s that need flipped to turn on whatever they protected. Fixing this requires a tad of SQL knowledge, but can be done with virtually none.<\/p>\n<p>SSMS (SQL Server Management Studio) is needed to start, fire that up and point to your SoftPro Instance.<\/p>\n<p>Open the Databases tab, the SoftPro Tab and finally the Tables Tab.<\/p>\n<p>Right click on the PermissionsByUser table, usually prefaced with dbo. but it could be anything.<\/p>\n<p>Select Edit Table, or Edit Top (##) rows.<\/p>\n<p>From here if your list is short you can scroll to find the UserID, then PermissionID. I prefer to narrow it down.<\/p>\n<p>Right click on the Labels for the columns and select Pane then SQL.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/danvanfleet.com\/wp-content\/uploads\/2015\/11\/clip_image002.png\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"258\" height=\"168\" title=\"clip_image002\" align=\"left\" style=\"margin: 0px 10px 0px 0px; float: left; display: inline; background-image: none;\" alt=\"clip_image002\" src=\"https:\/\/i0.wp.com\/danvanfleet.com\/wp-content\/uploads\/2015\/11\/clip_image002_thumb.png?resize=258%2C168\" border=\"0\"><\/a><\/p>\n<p>Side Note: this is a common task, a great place to learn a bit about SQL statements.<\/p>\n<p>That will show the SQL command that filled out the table.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/danvanfleet.com\/wp-content\/uploads\/2015\/11\/clip_image003.png\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"368\" height=\"63\" title=\"clip_image003\" style=\"display: inline; background-image: none;\" alt=\"clip_image003\" src=\"https:\/\/i0.wp.com\/danvanfleet.com\/wp-content\/uploads\/2015\/11\/clip_image003_thumb.png?resize=368%2C63\" border=\"0\"><\/a><\/p>\n<p>Add to that<\/p>\n<p>&nbsp;<\/p>\n<p><strong>WHERE (UserID LIKE &#8216;FirstFewLettersOfUserID%&#8217;) AND (PermissionID = 50)<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Set the FirstFewLettersOfUserID to the first few letters of the user ID in question, since my login might be dan.vanfleet if we were interested in PermissionID 40 the where clause would look like this.<\/p>\n<p><strong>WHERE (UserID LIKE &#8216;dan.va%&#8217;) AND (PermissionID = 40)<\/strong><\/p>\n<p>Now execute the script to see the filtered list.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/danvanfleet.com\/wp-content\/uploads\/2015\/11\/clip_image004.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"106\" height=\"92\" title=\"clip_image004\" align=\"left\" style=\"margin: 0px 10px 0px 0px; float: left; display: inline; background-image: none;\" alt=\"clip_image004\" src=\"https:\/\/i0.wp.com\/danvanfleet.com\/wp-content\/uploads\/2015\/11\/clip_image004_thumb.png?resize=106%2C92\" border=\"0\"><\/a>Using the Exclamation point icon \/ the menu item off of Query Designer \/ &lt;Ctrl&gt; R<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/danvanfleet.com\/wp-content\/uploads\/2015\/11\/clip_image005.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"244\" height=\"70\" title=\"clip_image005\" style=\"display: inline; background-image: none;\" alt=\"clip_image005\" src=\"https:\/\/i0.wp.com\/danvanfleet.com\/wp-content\/uploads\/2015\/11\/clip_image005_thumb.png?resize=244%2C70\" border=\"0\"><\/a><\/p>\n<p>That will show a short list for the user and include a bit more information. Change Allow to True for any rows that seem appropriate. I only found Program 0 missing this value.<\/p>\n<p>Keep in mind you are treading on a very special table, be careful, walk softly, only change values to items you understand. This table needs respected. Back it up if you&#8217;re uncertain.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The other day a user needed to be given a permission in SpAdmin on a Classic 15 system. It didn&#8217;t go so well. The permission showed as being applied but the user was still unable to do the task. Print Checks was the permission needed rights granted. This was a contract customer, someone who pays [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[23],"tags":[6,21,13],"class_list":["post-1299","post","type-post","status-publish","format-standard","hentry","category-softpro-2","tag-error","tag-proform","tag-sql","entry"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4wyVb-kX","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/danvanfleet.com\/index.php\/wp-json\/wp\/v2\/posts\/1299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/danvanfleet.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/danvanfleet.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/danvanfleet.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/danvanfleet.com\/index.php\/wp-json\/wp\/v2\/comments?post=1299"}],"version-history":[{"count":1,"href":"https:\/\/danvanfleet.com\/index.php\/wp-json\/wp\/v2\/posts\/1299\/revisions"}],"predecessor-version":[{"id":1300,"href":"https:\/\/danvanfleet.com\/index.php\/wp-json\/wp\/v2\/posts\/1299\/revisions\/1300"}],"wp:attachment":[{"href":"https:\/\/danvanfleet.com\/index.php\/wp-json\/wp\/v2\/media?parent=1299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/danvanfleet.com\/index.php\/wp-json\/wp\/v2\/categories?post=1299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/danvanfleet.com\/index.php\/wp-json\/wp\/v2\/tags?post=1299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}