The Forums on slxdeveloper.com are now retired. The forum archive will remain available for the time being. Thank you for your participation on slxdeveloper.com!
|
|
SECCODEID wasn't added to the table.
Posted: 21 Sep 09 9:17 AM
|
Hi all,
My predicesor didn't include the SECCODEID in the custom tables he created. Now I am creating field level security for my sales agents and, of course, don't have access to these tables. Is there a way to add this in after the fact? Do these have to be rebuilt from scratch? Is there any simple solution for this one?
Thanks ahead of time. |
|
|
|
Re: SECCODEID wasn't added to the table.
Posted: 21 Sep 09 9:33 AM
|
Who says SECCODEID WAS added to custom tables for your predecessor? SLX has been around for 12 years, only recently did they add SECCODEID automatically (even for tables where you don't want it!) to field level security capable tables. Recall that 1:Many tables don't have FLS, period.
How many 1:1 tables do you need FLS added?
Am thinking out loud here..... FLS increments the FieldOffset in SECTABLEDEFS.... and sets up the table in ReSyncTableDefs as an FLS table (a flag). Also builds the SECProfiles up with the data.
On a DEV copy of the database: Drop the tables in SLX DB Manager, save changes. Add them back through DB Manager , this time with FLS. Repopulate the tables in SQL from production DB, including the new SECCODEID field. In Architect, create a bundle to Create Table for each of the tables WITH DATA.
In Production! 1. Cycle sync server twice. 2. Drop the tables. 3. Bring in the table bundles WITH THE DATA. 4. In Admin, make sure Sec Profiles are PERFECT. Save changes. 4. Cycle the sync server twice.
That should send out your new table, with FLS, and the data, to all remotes.
|
|
|
|
Re: SECCODEID wasn't added to the table.
Posted: 21 Sep 09 9:54 AM
|
Most of these are 1:Many tables. What other way would I have these be read only? Add a script that looks for the Agent Department and have each attribute field changed to read only? |
|
|
|
Re: SECCODEID wasn't added to the table.
Posted: 21 Sep 09 10:07 AM
|
If all you need is read-only for a certain group....
here's what I'd do:
1) Add a tag value to all the fields you want to make readonly. Like 2 or 3
2) On Form Change or Open ... Capture the username and determine if they are in a group that access full or readonly access.
3) If they have full access do nothing
4) If they are suppose to have readonly access use a For Each Loop using the Form.Controls collection and if the tag property = 2 then set it to readonly=True
5) Using this method you could do this on a number of different forms by copying and pasting your code or putting it into an include script.
6) If you need an IsMember function ... Search this forum there are a few posted.
|
|
|
|
Re: SECCODEID wasn't added to the table.
Posted: 21 Sep 09 3:09 PM
|
I found the article on Generically Setting a Form as Read-Only. I have it implemented but I don't think I am calling the form name correctly. I am only getting through one iteration of the loop. If I look in the plugins manager and the form properties the name is DC-Add Edit Account Product. I tried using this and System:DC-Add Edit Account Product. Should I be using the display name or is there a system var I can call so this data is passed correctly?
Thank you,
Michael. |
|
|
|
Re: SECCODEID wasn't added to the table.
Posted: 21 Sep 09 9:30 PM
|
the name of form is not the plugin name.
The form is part of the plugin. once you open the plugin ... simply click on the form and on the props to the right use that name. |
|
|
|
Re: SECCODEID wasn't added to the table.
Posted: 22 Sep 09 9:02 AM
|
Thank you everyone for all of your help. When I clicked on the form it didn't popup the name. But if you click on the form and go to the icons at the top there is a properties icon. At the very top of the properties screen is the name in the upper left most corner. Hope this helps anyone who may read this in the future.
Thanks again!
Michael. |
|
|
|