Q1: Are there any particular measures to take in the designing of a staging area where you write the FormWork?

A: Yes, you must respect these limits:

1) Each relationship among table has to involve only 2 columns (a source one and a target one) that must have the same name and datatype:



2) There can be no composite unique keys.

However, you can create relationship that involve more than two columns thanks to POVs that according to the current value filter the values on the fact table and look-ups.

3) All the records of the tables you want to use have to be identifiable by the value of one or more fields; if the primary keys are presents, they will do (they are not mandatory, since they can be set subsequently at an application level).

Q2: Do I have to provide extra fields in the staging area?

A: No. But due to the constraint that relations impact only two columns, it can be useful to create surrogate keys to be used for relations.

Q3: Can the FormWork write or delete some records from the views?

A: Yes, but the records must be updatable.

Q4: Can the FormWork write on tables that do not have the primary keys in the database?

AYes. Once the table (or view) is imported in the logical model, it is possible to mark one or more fields as primary key.

Please see How to - Import existing tables in the logical model.

Q5: Are the primary keys I set in the logical model created in the database where the table is?

ANo. The FormWork does not change in any way the source tables.

Q6: I associated an AfterWrite event on my form and the write does not modify any record. Is the AfterWrite event executed? 

A: No. If you didn't enable the client table diff on your form.

Yes. If the client table diff was not enabled, then the write event pipeline will be executed. See also What happens when a User performs a Write?

Q7: Can I prevent users from writing specific fields?

AYes. But you need to provide at least two forms: one with writable fields, visibile by one user category, and another with read-only fields, accessible by users with restricted privileges.

Q8: Can I prevent users from writing specific form records?

ANo. You cannot set security at record level. Use POV to reduce visible data instead.

Q9: My procedure reads a form. Can the user write through it?

AYes, provided that the form is available on their catalog.

Q10: I need to insert a number in an Excel text field. Should I put a superscript  before the number? 


Q11: When I try to create a new record by pressing the TAB, the background color of some required fields is not red. Is that the intended behaviour?

AYes,  this circumstance occurs if in the table you pasted at least one cell has been pasted with NO values. Remember always to paste values in your form, in order to avoid these problems.

Q12: If I press 'delete', will I delete the records?

ANo, the records are marked as 'to be deleted' but are not actually deleted from the database until you run a Write action. 

Q13: After how many error logins is a user blocked?

AIt depends on the settings of your authentication providers. You can see them here: Admin-->Security-->User Accounts-->User settings.

Q14: I configured my instance through Active Directory authentication. How can I add a User in my instance?

AYou just need to log in with your domain user details. Once you logged in, you can assign privileges to the created user.

Q15: If I create a form, how many users will see it?

A: It depends on the folder that contains it: the form inherits folder authorizations by default.  For further information, please see Grant rights to catalog objects.

Q16: Does the primary key of a form have to be always visible on Excel?

A:  Yesotherwise it would be impossibile to identify a record uniquely.

Q17: Can I prevent from writing a form in case of invalid data or according to a condition?

AYes, please see the How to - Add validation rules.

Q18: I need to change an already mapped column datatype in the repository and that column is linked to another one. Does this action break the link?


Q19: Where can I find a procedure to be assigned as error handler? 

A: You have to create it, because once installed the FormWork server has no such procedures. The error handling procedure is a normal procedure created by the developer. For further information, please see Configure a global error handler.


Q20: How can I extract the username that is executing my procedure?  

A: Use the Activity GetUsernameFromToke Activity, for further information please see GetUsernameFromToken.

Q21: How can I set a form field tooltip? 

A: Please see the How to - Create a Data Entry Form (step 5).

Q22: I set a description and the Excel tooltip is visualized correctly, but its title is cut. Is that Ok? 

AYes, it is due to an Excel limitation that only allows for 32 characters for the tooltip title.

Q23: I set a field description in the form creation wizard, then I edited the field description in its column on the table below, but the field shows the old descritpion. Is that the intended behaviour?  

AYes, if you voluntarily set a field in a form, even though the description on the corresponding column is edited, the field will keep the description added by the user. 

Q24: I set a template with an image, but I cannot see the image when I download the template. Is that Ok?

A: Yes, please make sure you have set the image with 'Insert and link' mode by choosing Insert --> (choose your image and select the 'Insert and link' mode bottom right)

Q25: I set conditional formatting on a form column, but new records don't inherit it. Why?

A: You have to make sure you selected the columns cell within the table, and not the entire column in your sheet.

Q26: Can I sort the visible elements in a loop-up?

A: Yes, you need to sort the extraction from your table / view.

Q27: Can I sort POVs in order to define which value show as the first one?

A: Yes, you just need to move and sort them in your catalog.

Q28: Can I sort resulting columns of a pivoted form with a Template?

A: Yes, read the form, reorder its column as you prefere, assing the result as a template and you have done it.