One of the inconvenient associated to Work With pattern is that doesn't allow user to modify the generated objects without missing the link with the pattern.
In order to solve this, Work With Plus pattern introduces the idea of User Tables. A User Table represents an HTML table which will be introduced in form, in the layout set by the user. The user will edit the content of this table directly in the Genexus Editor. This modifications will not be overwritten once the pattern is re applied.
Lets see an example. We add a User Table to the Selection node of our Person transaction.
We can visualize the User Table inside the main node.
We should assign a name to this User Table:
We name it as customUserTable and then we move it above the table named TableActions.
After this we reapply the pattern and we open the PersonWW object.
When opening the object we can visualize the User Table created, in the layout previously set in the instance. Now we are able to edit the content of this table, from the Genexus object editor as we can appreciate. This content will remain on the form even after re applying the pattern. Moreover, once the table is modified we can move it from the instance to another layout, keeping the changes made on it.
In this case we write some text ("Hello World") and modify the background color of the table.
We save the object and then we move the table´s location within the WorkWithPlus instance.
After applying the pattern once again, we open the WWPerson object in order to verify that the content of the table remains intact and that the table changed its layout on the form to the properly position set in the instance.
With User Tables, if we need to make challenging or difficult developments in any of the instance objects (Transaction, Selection, etc.), we can accomplish it directly in the generated object taking advantage of Genexus Editor, instead of trying to perform it from the instance pattern in a more difficult way.