В Survey123 можно настроить автозаполнение ответов разными способами.
Ответы по умолчанию
Ответы по умолчанию для вопросов в процессе разработки опроса можно установить в столбце default электронной таблицы. Таким образом ответ на один и тот же вопрос будет автоматически вноситься каждый раз, когда вы будете начинать опрос, или когда вопрос будет уместным. Это удобно, если предполагается получать одинаковый ответ на один и тот же вопрос множество раз. Вы все еще можете отредактировать ответ по умолчанию, если это необходимо, но установка ответа по умолчанию может сэкономить вам время при заполнении опросов. Ответы по умолчанию поддерживают ограничения, такие как число или строка.
Ответы на select_multiple questions имеют отличия от остальных, все они вводятся в том порядке, в котором были выбраны, и разделяются с помощью запятых. Чтобы задать несколько значений по умолчанию в поле select_multiple, их следует разделить запятыми, например, item1,item2,item3.
Вопросы типа геоточка, геотрассировка и геоформа поддерживают ответы по умолчанию. Подробнее о задании ответов по умолчанию см. Геоточки и Геотрассировка и геоформа.
Вычисления
Вычисления схожи со значениями по умолчанию, но имеют ряд отличий. В отличие от столбца по умолчанию, который оценивается только в том случае, если опрос открыт, или если вопрос станет уместным, вычисления оцениваются каждый раз, когда ответы в вашем опросе, являющиеся входными данными для эти вычислений, будут уместными. В вычислениях можно использовать имеющиеся ответы в форме. Например, выражение 100 - (${integer1} + ${integer2}), введенное в столбец вычислений вопроса, суммирует значения из вопросов integer1 и integer2, вычитает значение из 100 и записывает полученное значение в ответ. Пользователь может переписать это значение, но вычисление дает начальный ответ для удобства пользователя.
Подсказка:
Если результат вычисления будет редактироваться вручную, появится кнопка для удаления отредактированного значения и повторного выполнения вычисления.
Режим вычислений
Параметр calculationMode, введенный в элементы управления столбца bind::esri:parameters при выполнении вычислений в вопросах, например, calculationMode=manual. Существует четыре поддерживаемых значения:
- auto — вычисляется, когда вопрос пустой или не был предварительно изменен пользователем. Если не будет задано значение, это поведение вычисления по умолчанию.
- manual — вопрос будет выполнять вычисления только при щелчке на кнопку Вычислить рядом с вопросом.
- always — вычислить, когда любой вопрос, указанный в выражении расчета, изменяется. Это в том числе динамические функции, такие как now().
- whenEmpty — Вычислять до тех пор, пока не будет возвращено непустое значение. Как только возвращается непустое значение, вопрос ведет себя так же, как режим manual. Вычисления, содержащие динамические функции, такие как now(), не будут пересчитаны, пока не будет нажата кнопка Вычислить. Режим whenEmpty полезен, когда вы не хотите, чтобы уже вычисленный вопрос с непустым значением обновлялся при перезагрузке формы, например, при открытии из папки Inbox.
Вопросы следующего типа поддерживают параметр calculationMode:
- текст
- decimal
- integer
- note
- date
- время
- dateTime
- select_one
- select_multiple
- geopoint
- вычислить
- hidden
Примечание:
Параметр calculationMode не поддерживается в веб-приложении Survey123.
Устройства и свойства пользователя
Функция pulldata("@property") позволяет извлекать информацию об устройствах, с которых заполняется запрос, а также о пользователях, от имени которых это происходит. Эта функция удобна для записи технических деталей и информации о контексте, в котором был собран опрос.
Эта функция возвращает свойства устройства или пользователя с помощью формата pulldata("@property", '<property name>'). Следующий пример возвращает смещение времени по UTC для устройства, благодаря чему пользователи смогут определить, в каком часовом поясе был проведен опрос:
pulldata("@property", 'utcOffset')
Функция pulldata("@property") может быть использована для определения того, как пользователь в данный момент взаимодействует со своим ответом на опрос, используя следующие параметры:
pulldata("@property", 'mode')
Свойство mode имеет три возможных значения: new, если пользователь создает новый ответ на опрос (включая ответ, скопированный из существующего опроса), edit, если пользователь редактирует существующий ответ, и view, если пользователь просматривает существующий ответ в режиме только для чтения. Следующий пример, помещенный в столбец с настройкой только для чтения, определяет, редактирует ли пользователь существующий ответ, и запрещает ему редактировать выбранный вопрос:
pulldata("@property", 'mode') = 'edit'
Функция pulldata("@property") также может быть использована, чтобы определить, где был открыт опрос. В следующем примере проверяется, был ли опрос открыт из папки Входящие:
pulldata("@property", 'status') = 'inbox'
Внимание:
Рекомендуется не хранить результаты свойств mode или status в скрытом или вычисляемом вопросе и не включать / не отключать вопросы, использующие эти свойства, в столбце relevant. Это может привести к тому, что содержимое этих полей или значений не будет обновляться должным образом.
Функция pulldata("@property") поддерживает следующие свойства:
Свойство | Описание |
---|---|
pulldata("@property", 'portalUrl') | Адрес URL портала, на который будут публиковаться данные опроса. |
pulldata("@property", 'token') | Токен, передаваемый в векторный слой. |
pulldata("@property", 'portalInfo') | Вся информация о портале в виде объекта JSON. |
pulldata("@property", 'online') | Логическое значение. Значение True, если присутствует сетевая активность устройства, во всех остальных случаях – false. |
pulldata("@property", 'utcOffset') | Сдвиг в часах от UTC до местного часового пояса. |
pulldata("@property", 'language') | Язык, используемый в текущем опросе. |
pulldata("@property", 'locale')¹ | Объект локали, используемый в текущем опросе. |
pulldata("@property", 'localeInfo')¹ | Объект AppStudio LocaleInfo, используемый в текущем опросе, содержащий код языка в различных обозначениях. |
pulldata("@property", 'timeZone') | Код часового пояса |
pulldata("@property", 'username') | Имя пользователя учетной записи организации ArcGIS выполнившего вход пользователя. |
pulldata("@property", 'email') | Email учетной записи организации ArcGIS выполнившего вход пользователя. |
pulldata("@property", 'userFullName') | Имя и фамилия пользователя, осуществившего вход. |
pulldata("@property", 'userFirstName')² | Имя пользователя, осуществившего вход. |
pulldata("@property", 'userLastName')² | Фамилия пользователя, осуществившего вход. |
pulldata("@property", 'deviceId')³ | Уникальный ID, генерируемый Survey123, представляет определенное устройство, на котором производился опрос. Он отличается от International Mobile Equipment Identity (IMEI), т.к. Survey123 работает на устройствах, у которых может отсутствовать IMEI. |
pulldata("@property", 'deviceModel')³ | Модель устройства. |
pulldata("@property", 'OS')³ | Операционная система устройства. |
pulldata("@property", 'appVersion') | Номер версии полевого приложения или номер сборки веб-приложения. |
pulldata("@property", 'surveyName') | Имя опроса. |
pulldata("@property", 'userAgent') | Строка агента пользователя устройства. |
pulldata("@property", 'mode') | Возвращает new, если пользователь создает ответ на опрос, edit – если редактирует существующий ответ или view – если просматривает ответ в режиме только для чтения. |
pulldata("@property", 'status') | Возвращает draft, submitted, sent или inbox, если опрос был открыт из директорий Черновики, Исходящие, Отправленные или Входящие, соответственно. Если ответ новый, возвращается пустая строка. |
¹Только для использования с функцией pulldata("@javascript").
²Эти параметры зависят от настроек провайдера аутентификации и могут быть недоступны в организациях, где используется аутентификация, отличная от встроенной.
³Только полевое приложение Survey123.
Избранные ответы
После ввода ответов в полевом приложении Survey123, отправили их или сохранили опрос как черновик, вы можете использовать их в последующих опросах, указав избранные ответы. С помощью меню в правом верхнем углу вы можете настроить текущее состояние вашего опроса для работы в качестве избранных ответов.
Настроив избранные ответы вы можете вставить их в новые опросы, открыв меню и щелкнув Вставить ответы из Избранных.
В любой момент вы можете изменить избранные ответы, введите желаемые ответы в ваш текущий опрос и щелкните Добавить в избранные ответы. Если вводите повторяющуюся информацию в поле, вы можете использовать текущие ответы для автоматического заполнения следующих опросов. Опрос, ответы которого вы используете в качестве избранных, отмечается звездочкой.
Примечание:
Если папка Отправленные была отключена, отправленный опрос нельзя использовать для избранных ответов. В этом случае сохранение опроса с избранными ответами в качестве черновика позволит использовать опцию Вставить ответы из избранного.
Данные CSV
Автозаполнение ответов с использованием информации, которая хранится на вашем устройстве, может сэкономить время, необходимое для выполнения опроса. Эта информация может быть данными, собранными из предыдущего опроса, или она может включать несколько ответов, введенных на такой вопрос.
Предварительное заполнение ответов применяется во время опросов инвентаризации активов. При введении номера ID актива (напечатав или отсканировав бар-код), информация об активе может быть извлечена из файла .csv и использована для ответа на другие вопросы, такие как местоположение, дата последней проверки и состояние во время последней проверки.
Для более подробной информации о заполнении ответов этим способом см. Получение значения из CSV.
Примечание:
Если в файле .csv отсутствует заголовок столбца или в конце строк файла имеется запятая, файл .csv не может быть импортирован в опрос.