Do Navision store the information regarding fields of a form in some virtual table.Actually this is needed for me to make a module((i.e. a generic module for any form we select) to provide security on fields of a form.If anyone has information regarding this please suggest me. An early response is needed.
Not sure I understand what you are requiring. Can you provide a bit more information as to what you are trying to achieve?!
Your project sounds a little over-ambitious but I wish you the best of luck anyway. Do check out this link for an existing product with similar features (it may give you some ideas): http://www.lanhamassoc.com/securitymgmt.htm
The main problem is to avoid the need to update ALL forms that require this field level security, as there does not exist this “virtual table” that you mention, at least not accesible. I would rather try to take advantage of the change log feature which includes some functions in Codeunit 1 (GlobalInsert, GlobalModify…) that get called automatically whenever you insert a record or modify a field. You could include your field level security in there, disadvantage is that you need to have Change Log activated and need the Change Log granule, otherwise all these functions are not even called… Saludos Nils
…I would rather try to take advantage of the change log feature which includes some functions in Codeunit 1 (GlobalInsert, GlobalModify…) that get called automatically whenever you insert a record or modify a field. You could include your field level security in there…
Originally posted by nilsm - 2004 Nov 03 : 11:32:27
That’s a nice (fairly inexpensive) alternative to this problem. I will have to keep it in mind if I ever get this requirement. Excellent suggestion Nils.
But the Change Log alternative stands no chance for the most typical request: grant a user access to a table but not to all of it’s fields. Examples: - A warehouse user that will use the Item table but shouldn’t know the cost/price/profit; - Someone who should access customer data but shouldn’t see the Balance or the Credit Limit. How can you meet these requirements without extensively modifying the forms?
Nelson, I think we can agree on that one, once we are clear on what we want to achieve [;)] If we are talking about setting fields “visible/not visible” you need to modify the forms directly (or create new forms), I completely agree with you. If we are talking about the ability to “modify/not modify” a single field on a form that is visible to the user, then the function call to GlobalModify will serve the purpose. It’s like having read access to the field but no modification permission. Saludos Nils
And how often does a customer ask for one or the other? I have no idea because I work on the “other side”. [;)] My guess would be the “visible/not visible” option is a lot more requested than the “modify/not modify” option. But is it so in reality?
I think it depend a lot on the circumstance and I have come across both requirements. The best solution of course would be to be able to handle both visible/not visble and modify/not modify - much like the read/modify standard permisions. E.g. Unit price in sales line should be visible, but only a few persons should be able to modify them, other fields should not be visible to users, like cost amount fields… as always in our projects, it depends [:P] Saludos Nils
hi sanjeev, When u r talking abt developing a generic granule, then visible/non visible functionality would be difficult to achieve…for that i have to go down to every form and do the required changes depending upon the user roles, but others editable/non editable u can easily obtain by using ‘Field’ and ‘Permissions’ system table, if u donnt have change log feature available with u (its a goof suggestion by neils…keep it up nilsm[:D])… [8D]