Поля только для чтения в rtSurvey позволяют отображать информацию, которую респондент не может редактировать. Эта функция особенно полезна для отображения предварительно заполненных данных, вычисленных результатов или информации, которая должна оставаться неизменной на протяжении всего опроса.

Базовое использование

Чтобы сделать поле доступным только для чтения, используйте столбец read_only в XLSForm:

  | type    | name | label                 | read_only | default |
|---------|------|----------------------|-----------|---------|
| integer | num  | Номер пациента:    | yes       | 5       |
  

В этом примере номер пациента установлен равным 5 и не может быть изменён респондентом.

Сочетание только для чтения со значениями по умолчанию

Поля только для чтения часто используются вместе со значениями по умолчанию для отображения заранее определённой или вычисленной информации:

  | type    | name     | label               | read_only | default        |
|---------|----------|---------------------|-----------|----------------|
| text    | username | Вошедший пользователь:     | yes       | ${current_user}|
| date    | today    | Сегодняшняя дата:       | yes       | today()        |
  

Здесь имя пользователя и текущая дата отображаются, но не могут быть изменены.

Функции rtSurvey

Условный режим только для чтения

rtSurvey расширяет функциональность только для чтения условной логикой:

  | type    | name     | label           | read_only                |
|---------|----------|-----------------|--------------------------|
| integer | age      | Возраст:            | ${role} = 'viewer'       |
| text    | comments | Комментарии:       | selected(${status}, 'closed') |
  

В этих примерах:

  • Поле ‘age’ доступно только для чтения, если роль пользователя — ‘viewer’.
  • Поле ‘comments’ становится доступным только для чтения, если статус — ‘closed’.

Динамический статус только для чтения

rtSurvey позволяет динамически изменять статус только для чтения:

  | type      | name     | label    | read_only              |
|-----------|----------|----------| ----------------------|
| text      | address  | Адрес: | ${edit_mode} = 'false' |
  

Это позволяет переключаться между режимами редактирования и только для чтения в зависимости от определённых условий.

Лучшие практики использования полей только для чтения

  1. Ясность: Чётко указывайте, какие поля доступны только для чтения, с помощью визуальных подсказок или меток.
  2. Согласованность: Используйте поля только для чтения последовательно в опросе.
  3. Валидация: Включайте поля только для чтения в процесс валидации данных.
  4. Производительность: Будьте осторожны со сложными вычислениями в полях только для чтения.
  5. Доступность: Убедитесь, что поля только для чтения правильно помечены для программ чтения с экрана.

Расширенные техники

Вычисляемые поля только для чтения

Используйте поля только для чтения для отображения вычислений на основе других ответов:

  | type      | name     | label           | read_only | calculation            |
|-----------|----------|-----------------|-----------|------------------------|
| calculate | bmi      | ИМТ:            | yes       | ${weight} / (${height} * ${height}) |
  

Отображение исторических данных

Поля только для чтения могут отображать данные из предыдущих опросов или внешних источников:

  | type    | name           | label                  | read_only | default                    |
|---------|----------------|------------------------|-----------|----------------------------|
| text    | last_visit_date| Дата последнего визита:    | yes       | ${pulldata('visits', 'date', 'id', ${patient_id})} |
  

Соображения по управлению данными

  • Поля только для чтения включаются в экспорт данных.
  • При обновлении существующих записей поля только для чтения сохраняют исходные значения, если явно не перезаписаны через бэкенд.

Поведение мобильного приложения

  • Мобильное приложение rtSurvey соблюдает настройки только для чтения, включая условную логику.
  • Офлайн-режим полностью поддерживает функциональность только для чтения.

Известные ограничения

  • Некоторые сложные условия только для чтения могут незначительно влиять на производительность на устройствах низкого класса.
  • Поля только для чтения могут не предотвращать все формы манипуляции данными в экспортированных файлах — рекомендуется серверная валидация для критически важных данных.

Устранение проблем с полями только для чтения

  1. Поле неожиданно доступно для редактирования: Проверьте синтаксические ошибки в столбце read_only или условной логике.
  2. Вычисляемые значения не обновляются: Проверьте логику вычисления и убедитесь, что все поля правильно названы.
  3. Проблемы с производительностью: Оптимизируйте сложные вычисления или рассмотрите альтернативные подходы.
Была ли эта страница полезной?