We have identified a limitation in Survey123 Report Service when generating reports containing a large number of high-resolution image attachments.
Our workflow requires preserving the highest possible image quality because the reports are used for detailed engineering and quality documentation. For this reason, we use the following syntax in our report templates:
${#image_field}
${$file | getValue:"" | size:300:0}
${/}When reports contain many large images (for example 40+ attachments of approximately 5–10 MB each), report generation frequently fails with the error:
An error occurred when rendering by the report engine. Cannot read properties of undefined (reading 'value').
However, when the template is changed to:
${#image_field}
${$file | size:300:0}
${/}the same reports are generated successfully, even with the same number of attachments.
This suggests that the issue is not simply the number or size of attachments, but rather an interaction between the use of getValue on $file and large image collections.
Suggested improvement
We would like Survey123 Report Service to:
- handle ${$file | getValue:""} more efficiently for large reports,
- avoid report failures when many high-resolution images are included,
- or provide an option to preserve original image quality without requiring getValue.
If there are practical limits on the number or total size of attachments when using getValue, these should also be documented so report designers can make informed decisions.
Why this matters
Many Survey123 users work in engineering, construction, utilities and inspection workflows where image quality is critical for documentation and QA/QC.
Users should not have to choose between:
- preserving full image quality, and
- successfully generating reports with many attachments.
Improving this behavior would make Survey123 Report Service much more reliable for large inspection reports.