Ввод значений в форму
Форма (CRF) собирается из секций и полей по дизайну исследования. Ввод устроен так, чтобы работать было быстро и с клавиатуры, а данные — невозможно потерять или молча перезаписать. Каждое сохранение попадает в аудиторский след.
Заполнение и статус поля
Заголовок раздела «Заполнение и статус поля»Откройте форму из кейсбука. Как только вы внесёте первое значение, форма перейдёт из Не начата в
В работе. У каждого поля тоже есть статус заполнения:
| Отметка | Что означает |
|---|---|
| Пусто | Значение ещё не вносилось |
| Введено | Значение внесено |
| Не выполнено | Процедура или измерение не выполнялись |
| Недоступно | Значение невозможно получить (утеряно или недоступно) |
«Не выполнено» и «Недоступно» — это не пустота
Заголовок раздела ««Не выполнено» и «Недоступно» — это не пустота»Если данных нет по объективной причине, не оставляйте поле пустым — отметьте его осознанно. В меню поля выберите «Отметить «не выполнено» / «недоступно»…»:
- Не выполнено — процедуру или измерение не проводили;
- Недоступно — значение получить невозможно (утеряно, недоступно).
Отметка требует причину. Если поле уже содержало значение, оно будет очищено (но останется в аудиторском следе), а покрывающие подписи — инвалидированы; система предупредит об этом заранее.
Проверки (edit checks)
Заголовок раздела «Проверки (edit checks)»При сохранении срабатывают правила проверки, заложенные в дизайн:
- block — значение заведомо невозможное (дата в будущем, вне диапазона): сохранение блокируется, поле подсвечивается, показывается сообщение правила;
- query — значение спорное: оно сохраняется, но система автоматически открывает запрос на это поле.
Порядок реакций при сохранении
Заголовок раздела «Порядок реакций при сохранении»Одно сохранение значения запускает фиксированную цепочку реакций — всегда в одном порядке и в одной транзакции. Если на каком-то шаге срабатывает блок, откатывается всё сохранение:
-
Отказ при действующей блокировке — в заблокированную область запись невозможна.
-
Причина изменения (RfC) — только при правке уже сохранённого значения; первичный ввод причины не требует.
-
Блокирующая проверка (block) — заведомо невозможное значение отклоняется целиком, ничего не сохраняется.
-
Запись значения и сброс производных осей — SDV возвращается в «ожидает», медобзор — в «не просмотрено», форма — в «в работе».
-
Инвалидация покрывающих подписей — если снимок данных был подписан.
-
Пересчёт автозаполнения и проверки-query — вычисляемые поля обновляются по новому значению; спорное, но возможное значение сохраняется и сопровождается авто-запросом.
-
Запись в аудиторский след — «до → после», автор, время (UTC) и, для правки, причина.
Полную сводку осей статуса и их взаимных реакций см. в Справочнике статусов.
Ввод с клавиатуры
Заголовок раздела «Ввод с клавиатуры»Форма спроектирована под быстрый ввод без мыши:
| Сочетание | Действие |
|---|---|
| Ctrl+S | Сохранить |
| Enter | Перейти к следующему незаполненному полю |
| Ctrl+D | Подставить значение из строки выше (fill-down) |
| Вставка из таблицы | Данные из буфера (TSV) заполняют строки вниз |
Вставка табличных данных удобна для повторяющихся строк (например, серии измерений): скопируйте диапазон из таблицы и вставьте — строки заполнятся вниз. После вставки система сообщит, сколько ячеек сохранено. Если какая-то ячейка требует причину изменения, её нужно поправить вручную.
Частичные даты
Заголовок раздела «Частичные даты»Не всегда известна полная дата. Поле даты принимает частичное значение в форматах ГГГГ, ГГГГ-ММ или ГГГГ-ММ-ДД — отдельными полями «Год», «Месяц», «День». Если формат неверен, подсказка объяснит ожидаемый вид.
Время и UTC
Заголовок раздела «Время и UTC»Дата-время хранится и отображается канонически в UTC — «как хранит сервер». В своём профиле можно задать таймзону представления: метки времени показываются в ней, но в базе и в аудите остаются в UTC.
Скрытые и автозаполняемые поля
Заголовок раздела «Скрытые и автозаполняемые поля»Дизайн может делать форму «живой» — часть полей появляется по условиям, часть заполняется системой:
- Поля с условием отображения показываются, только когда это уместно (например, «Если да — уточните» видно лишь при ответе «Да»). Скрытое поле не считается незаполненным и не мешает завершить форму. Если поле скрылось, а значение в нём уже было, система его не удаляет: вы увидите предупреждение «Скрыто условием, но содержит значение» и кнопку «Очистить (с причиной)» — либо очистите значение, либо верните управляющий ответ.
- Автозаполняемые поля (помечены «автозаполняется») система вычисляет сама из других полей — например ИМТ из роста и веса. Значение появляется мгновенно при вводе исходных; ручной ввод в такое поле закрыт. Правка исходных пересчитает результат — со сбросом SDV и инвалидацией подписей, покрывающих пересчитанное значение, как при любой правке данных.
Как это настраивается в дизайне — в статье Скип-логика и автозаполнение.
Слепые (blinded) поля
Заголовок раздела «Слепые (blinded) поля»Если поле ослеплено, его значение маскирует сервер, а не интерфейс — вы видите ••• и значок замка. Значение не приходит ни в интерфейс, ни в экспорт без соответствующего права. Обладатель допуска нажимает «Показать» — и этот факт расслеплённого чтения записывается в аудиторский след.
Завершение формы
Заголовок раздела «Завершение формы»Когда все нужные поля заполнены, нажмите «Завершить заполнение» — форма получит статус
Заполнена, и её можно подписать. Если остались пустые обязательные поля, система перечислит их и предложит либо перейти к полю, либо «Завершить всё равно».
Конфликт версий
Заголовок раздела «Конфликт версий»Если, пока вы редактировали значение, его изменил кто-то другой, сохранение не перезапишет чужую работу молча. Откроется диалог «Конфликт версий»: видно «Вы ввели», «Сейчас в базе», автора и время. Вы выбираете — взять значение из базы или перезаписать своим (перезапись потребует причину изменения).
Потеря соединения
Заголовок раздела «Потеря соединения»Если связь с сервером пропадёт, интерфейс сообщит об этом сразу — уведомлением «Соединение потеряно — данные не отправляются», в любом месте приложения; когда связь вернётся, появится «Соединение восстановлено».
Если конкретное сохранение не дошло до сервера из-за отсутствия сети, вы увидите «Нет подключения к сети — изменения не отправлены»: значит, значение не записано. Так потеря не остаётся незамеченной — дождитесь восстановления связи и сохраните значение снова.
Доступность
Заголовок раздела «Доступность»Экран формы полностью проходится с клавиатуры (Tab, Enter, горячие клавиши выше), поля и действия снабжены подписями для программ экранного доступа, а хлебные крошки всегда отвечают на вопрос «где я». Смена языка интерфейса меняет только подписи — данные и адреса остаются прежними.