Полетата само за четене в 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. Проблеми с производителността: Оптимизирайте сложните изчисления или помислете за алтернативни подходи за показване на данни само за четене.
Беше ли полезна тази страница?