漏洞 ID 编号 |
BUG-000156375 |
已提交 | March 7, 2023 |
上次修改时间 | June 5, 2024 |
适用范围 | ArcGIS Survey123 |
找到的版本 | 3.16 |
操作系统 | Windows OS |
操作系统版本 | 10.0 64 Bit |
状态 | As Designed
经开发团队审核,已确定此行为符合设计。 有关详细信息,请参阅“其他信息”部分。
|
附加信息
In the scenario explained in this defect, the question that is used to calculate the repeat count is outside of the repeat. When the form is filled out for the first time, this question is populated with a certain value which determines the number of repeats that show up on the form. However, when the same form is edited in the draft mode, this value is not recalculated since it already has an existing value, therefore, the number of repeats would not change. In order to recalculate the repeat count every time even when an existing form is being edited, use "calculationMode=always" in the bind::esri:parameters column. Refer to the following documentation for additional information: https://doc.arcgis.com/en/survey123/desktop/create-surveys/prepopulateanswers.htm#ESRI_SECTION2_5938C978416F46B4A21837428F888F61.
解决办法
Use a conditional statement in the calculation to set the repeat count to 1 if no other value is being calculated.
For example "if(count-selected(${Question_Name}) > 0, count-selected(${Question_Name}), 1)" instead of "${deficiency_repeat_count}". Then, delete the third line. Put the calculation directly in the repeat_count column instead of using a variable with the calculation applied to it.
重现步骤