Questionnaire Feature
Overview
The Questionnaire feature allows a user to configure a set of questions that can result in several answers from different users.
This feature was designed to work as a stand-alone or as an integrated part of a document or process.
Integration
Currently the stand alone is disabled and integration was created for:
- Questionnaire Configurer:
- SourcingFlowDoc as Item requirements
- Questionnaire Answer:
- QuotationReceiverDoc as Item requirements in details
Generally, the Questionnaire Configurer and Answer should follow closely the behaviour of their respective Integration Document. This means that history versions should match, as well as reverting to previously valid states due to draft discardment or edition cancellation.
Integration Status
There are three Integration Statuses:
- Draft: when a user changes and saves the document.
- Final: when a submit order is executed from the Integration Document.
- Revert: when the current version is rejected reverting to a previously valid state.
Initial Configuration
Enabling the feature
The feature can be enabled/disabled in the table AppConfig using the value true/false for the key item_requirements_enable.
Even if the feature is disabled if an Integration Document contains a previously saved Questionnaire, it will be shown and processed as if the feature was enabled.
Question Type
It is possible to define the Question Types that can be used. This can be configured with the active field from table QuestionType. Currently the supported Question Types are the following:
- Text
- Selection Box
- Multiple Choice
- Date
- Number
- Percentage
- Attachment
Clipboard Tools
Questionnaires can be copied and pasted using the clipboard. These actions throw exceptions when they don't meet the requirements of the questionList. (implemented since v.3.9)
Copy
btnCopy copies the JSON object referring to the questionList. If at least one question is completed in all required fields, the copy will be successful, filtering out any questions left blank.

Paste
btnPaste pastes the value contained in the clipboard into the questionList. If the object is not a questionList structure, an exception will be thrown informing the error. For successfully copied objects, the identification field will be set to null and generated again during the paste action, avoiding base conflicts.
