Перейти к содержимому

Ввод значений в форму

Форма (CRF) собирается из секций и полей по дизайну исследования. Ввод устроен так, чтобы работать было быстро и с клавиатуры, а данные — невозможно потерять или молча перезаписать. Каждое сохранение попадает в аудиторский след.

0:000:00
Ввод значения, блокирующая проверка (edit check) и сохранение — с записью в аудиторский след

Откройте форму из кейсбука. Как только вы внесёте первое значение, форма перейдёт из Не начата в

В работе. У каждого поля тоже есть статус заполнения:

Отметка Что означает
Пусто Значение ещё не вносилось
Введено Значение внесено
Не выполнено Процедура или измерение не выполнялись
Недоступно Значение невозможно получить (утеряно или недоступно)

«Не выполнено» и «Недоступно» — это не пустота

Заголовок раздела ««Не выполнено» и «Недоступно» — это не пустота»

Если данных нет по объективной причине, не оставляйте поле пустым — отметьте его осознанно. В меню поля выберите «Отметить «не выполнено» / «недоступно»…»:

  • Не выполнено — процедуру или измерение не проводили;
  • Недоступно — значение получить невозможно (утеряно, недоступно).

Отметка требует причину. Если поле уже содержало значение, оно будет очищено (но останется в аудиторском следе), а покрывающие подписи — инвалидированы; система предупредит об этом заранее.

При сохранении срабатывают правила проверки, заложенные в дизайн:

  • block — значение заведомо невозможное (дата в будущем, вне диапазона): сохранение блокируется, поле подсвечивается, показывается сообщение правила;
  • query — значение спорное: оно сохраняется, но система автоматически открывает запрос на это поле.

Одно сохранение значения запускает фиксированную цепочку реакций — всегда в одном порядке и в одной транзакции. Если на каком-то шаге срабатывает блок, откатывается всё сохранение:

  1. Отказ при действующей блокировке — в заблокированную область запись невозможна.

  2. Причина изменения (RfC) — только при правке уже сохранённого значения; первичный ввод причины не требует.

  3. Блокирующая проверка (block) — заведомо невозможное значение отклоняется целиком, ничего не сохраняется.

  4. Запись значения и сброс производных осей — SDV возвращается в «ожидает», медобзор — в «не просмотрено», форма — в «в работе».

  5. Инвалидация покрывающих подписей — если снимок данных был подписан.

  6. Пересчёт автозаполнения и проверки-query — вычисляемые поля обновляются по новому значению; спорное, но возможное значение сохраняется и сопровождается авто-запросом.

  7. Запись в аудиторский след — «до → после», автор, время (UTC) и, для правки, причина.

Полную сводку осей статуса и их взаимных реакций см. в Справочнике статусов.

Форма спроектирована под быстрый ввод без мыши:

Сочетание Действие
Ctrl+S Сохранить
Enter Перейти к следующему незаполненному полю
Ctrl+D Подставить значение из строки выше (fill-down)
Вставка из таблицы Данные из буфера (TSV) заполняют строки вниз

Вставка табличных данных удобна для повторяющихся строк (например, серии измерений): скопируйте диапазон из таблицы и вставьте — строки заполнятся вниз. После вставки система сообщит, сколько ячеек сохранено. Если какая-то ячейка требует причину изменения, её нужно поправить вручную.

Не всегда известна полная дата. Поле даты принимает частичное значение в форматах ГГГГ, ГГГГ-ММ или ГГГГ-ММ-ДД — отдельными полями «Год», «Месяц», «День». Если формат неверен, подсказка объяснит ожидаемый вид.

Дата-время хранится и отображается канонически в UTC — «как хранит сервер». В своём профиле можно задать таймзону представления: метки времени показываются в ней, но в базе и в аудите остаются в UTC.

Дизайн может делать форму «живой» — часть полей появляется по условиям, часть заполняется системой:

  • Поля с условием отображения показываются, только когда это уместно (например, «Если да — уточните» видно лишь при ответе «Да»). Скрытое поле не считается незаполненным и не мешает завершить форму. Если поле скрылось, а значение в нём уже было, система его не удаляет: вы увидите предупреждение «Скрыто условием, но содержит значение» и кнопку «Очистить (с причиной)» — либо очистите значение, либо верните управляющий ответ.
  • Автозаполняемые поля (помечены «автозаполняется») система вычисляет сама из других полей — например ИМТ из роста и веса. Значение появляется мгновенно при вводе исходных; ручной ввод в такое поле закрыт. Правка исходных пересчитает результат — со сбросом SDV и инвалидацией подписей, покрывающих пересчитанное значение, как при любой правке данных.

Как это настраивается в дизайне — в статье Скип-логика и автозаполнение.

Если поле ослеплено, его значение маскирует сервер, а не интерфейс — вы видите ••• и значок замка. Значение не приходит ни в интерфейс, ни в экспорт без соответствующего права. Обладатель допуска нажимает «Показать» — и этот факт расслеплённого чтения записывается в аудиторский след.

Когда все нужные поля заполнены, нажмите «Завершить заполнение» — форма получит статус

Заполнена, и её можно подписать. Если остались пустые обязательные поля, система перечислит их и предложит либо перейти к полю, либо «Завершить всё равно».

Если, пока вы редактировали значение, его изменил кто-то другой, сохранение не перезапишет чужую работу молча. Откроется диалог «Конфликт версий»: видно «Вы ввели», «Сейчас в базе», автора и время. Вы выбираете — взять значение из базы или перезаписать своим (перезапись потребует причину изменения).

Если связь с сервером пропадёт, интерфейс сообщит об этом сразу — уведомлением «Соединение потеряно — данные не отправляются», в любом месте приложения; когда связь вернётся, появится «Соединение восстановлено».

Если конкретное сохранение не дошло до сервера из-за отсутствия сети, вы увидите «Нет подключения к сети — изменения не отправлены»: значит, значение не записано. Так потеря не остаётся незамеченной — дождитесь восстановления связи и сохраните значение снова.

Экран формы полностью проходится с клавиатуры (Tab, Enter, горячие клавиши выше), поля и действия снабжены подписями для программ экранного доступа, а хлебные крошки всегда отвечают на вопрос «где я». Смена языка интерфейса меняет только подписи — данные и адреса остаются прежними.