I and my Project Manager, couple of days back, discussed many things involving GP and Dexterity. One particular topic was very interesting and something very weird.
Required Fields in GP are displayed as we specify in the User Preferences -> Display Options. For instance, if I have set the preferences to show the Required Fields in Bold & Red, then I will be seeing the required fields in Bold & Red. But this will not be happening for the fields which are in a Scrolling Window.
For instance, Unit of Measure in SOP Entry form is placed in the SOP Line Scrolling Window, is a Required Field for an SOP Line. If we do not enter a value, we won’t be allowed to leave that line. But the prompt (Label), which is right on top of the grid, is not shown like it is setup in the User Display Preferences.
The issue is, the User will not be knowing which field he needs to enter and which he can leave. When the message pops up, he will not be shown with any meaningful message, such as “Unit of Measure is a required field. Please enter… … … “. If a field in a Scrolling Window is Required, then it needs to be indicated to the User somehow.
There is a limitation in Dexterity that we need to link the respective field to it’s Prompt, using Link Prompt in Dexterity. For a field in Scrolling Window, it is not possible technically to link this field to a Prompt which is in the Header Window. Since Scrolling Window is considered as a separate window in Dexterity, this becomes impossible.
I am still thinking of how we can achieve this. Thanks to Sajeesh, who fed my thoughts with this point. It will be really helpful for the Users to know all the Required Fields, both from the Header and the Scrolling Window area, to effectively enter their records.
Sincere welcome to any ideas regarding this.
VAIDY
Hi VaidyThe way I handle this is after the required field check fails in the Scroll Change script, I have a series of if empty(field) then focus field; abort script; end if; commands.That way when you get the message, the focus is left on the offending field.You could make this work by attaching dummy fields in the main window to the scrolling window header prompts.Davidhttp://blogs.msdn.com/DevelopingForDynamicsGP/
LikeLike
David,Thanks so much for your inputs.2nd option (placing dummy fields) is pretty good compared to the other one. It’s like placing Lookup Buttons on both Scrolling Window and the Header Window. But a bit in reverse manner.This is very useful information for us to develop future customizations.Vaidy
LikeLike
Hi all,There is also another work around in dex.1. Use a textbox as a header(above the grid) for the required field in the scrolling window, instead of a standard label.2. In the main window pre script, fetch the color and font value from the User master table and assign that color and font to the textbox which is placed as a header.By doing this, the user can identify the required field in the scrolling window. Thanks,Prakash
LikeLike
Hi Prakash,This one is also a terrific option. Thanks for sharing this info.Vaidy
LikeLike
Prakash,This is too late for me to post this comment, but I just wanted to update my post that the idea that you have suggested works only with Customizations and NOT with GP Forms.Nevertheless, it's a great idea.Vaidy
LikeLike