Feeling very confused about this one.
I have a parent clause with the following Enabled? setting:
I am using a Number-Type datafield with presets 1-4 to adapt the text of my clauses:
In the Q&A, users can select from the Numbers 1-4, no free answers allowed, with labels to hide the fact that they are selecting a number. The answer is mandatory and pre-set to 1. So the export should always include a filled value for this datafield which must be 1, 2, 3 or 4.
My idea is that if a user selects 2, 3, or 4, the parent clause is Enabled.
Here is where things get weird: this works perfectly in the C9 Online Preview AND if I export the Binder as a single document - but selecting “Export as separate subdocuments” ignores the Enabled?-Setting.
I have built similar functionality with variable clauses based on numbers before, and triple-checked my other clauses. Here, selecting “Export as separate subdocuments” does not break Enabled? functionality. I am not abled to reproduce this error with the other clause that is enabled by a different number-datafield.
Any clue what I might be missing?
Also, adding != 1 in Enabled does not fix it, sadly:
the Document is #1018769, but the error only occurs within Binder #1021309, within Q&A #1021742, when “Export as subdocuments” is selected for the Q&A Export.
Changing the datafield in the Binder directly and exporting as subdocuments does not produce the error, either - only the Q&A.
I have not yet been able to reproduce this problem — the “Export as separate subdocuments” setting should really not have an effect on the Enabled?-setting — but let’s resolve that offline.
For both you and future readers, however, the following remarks may be interesting:
- I know this results from your trials to get the problem resolved, but perhaps good to point out that logically speaking, the condition below is overkill:
If the following simultaneously holds true:
- the only possible values are 1, 2, 3 and 4, then
#sha^downround-protection != 1
- you want to differentiate between 1 ↔ (2, 3, or 4)
then the first limb
#sha^downround-protection != 1 is enough. The other three limbs of the condition do not add anything.
- The difference between the behaviour in Assemble Document and your Q&A may be explained by the following:
Your Document had the value 3 “baked in” (i.e., stored withiin) for the downround-protection:
To make things more complicated: then you baked in the number 1 into your Binder. This is a feature (because it allows you to selectively override the value of a lower-level document), but you need to be attentive to it. The software also warns you for this with the yellow icon:
And this is not the end of the line. In your Q&A, you had the value 1 set as the default predefined answer. As the Q&A always acts as a layer on top of the document/binder, this predefined-answer would then “override” the datafield-value 3 that was baked-into the Document and the Binder.
Perhaps this was causing the discrepancies during your editing session?