Пользовательские столбцы Esri для XLSForm предлагают пользователям Survey123 дополнительную функциональность.
Тип поля
Пользовательский столбец bind::esri:fieldType должен использоваться, когда вам необходимо точно контролировать тип и длину полей, которые создаются в ArcGIS для вопросов опроса. Дополнительную информацию о поддерживаемых типах полей см. в разделе Типы данных полей ArcGIS.
Для некоторых вопросов вы можете изменить тип поля, который по умолчанию назначается Survey123. В следующей таблице перечислены некоторые примеры:
Тип вопроса | Тип поля по умолчанию | Комментарии |
---|---|---|
select_one | esriFieldTypeString | Чтобы гарантировать сохранение выбора в виде целого числа, измените его на esriFieldTypeInteger. |
date | esriFieldTypeDate | esriFieldTypeDate всегда содержит элемент времени. Для хранения только даты измените на esriFieldTypeDateOnly. |
dateTime | esriFieldTypeDate | esriFieldTypeDate не содержит индикацию часового пояса. Для включения часового пояса в поле, измените на esriFieldTypeTimestampOffset. Если задано значение esriFieldTypeTimestampOffset, в форме для вопроса dateTime отобразится указатель часового пояса. По умолчанию будет применен текущий часовой пояс устройства. |
time | esriFieldTypeString | Чтобы сохранить время в виде значения времени, измените его на esriFieldTypeTimeOnly |
Для управления типом поля введите одно из следующих значений в столбец bind::esri:fieldType:
- esriFieldTypeString
- esriFieldTypeDate
- esriFieldTypeDateOnly
- esriFieldTypeTimeOnly
- esriFieldTypeTimestampOffset
- esriFieldTypeInteger
- esriFieldTypeBigInteger
- esriFieldTypeSingle
- esriFieldTypeDouble
- esriFieldTypeSmallInteger
- esriFieldTypePointZ
- esriFieldTypeGUID
Обратите внимание, что bind::esri:fieldType может управлять только типом поля, созданного в векторном слое. Для управления типом поля для вопроса в процессе опроса используйте bind::type столбец . Например, если ввести значение int в столбец bind::type для вопроса calculate, то данное поле будет считаться как integer, а не как тип поля по умолчанию – string. Значения, принимаемые столбцом bind::type:
- int
- decimal
- string
- date
- dateTime
- time
В столбце bind::esri:fieldType также может быть значение null, в результате чего вопрос будет исключен из созданного векторного слоя. Хотя вопрос по-прежнему будет находиться в опросе и работать обычным способом, ответ не будет передаваться в векторный слой и не будет отображаться при просмотре ответов. Это удобно для вычислений, ограничений и других вопросов, которые необходимы для презентаций, но не требуются при отображении результатов.
Следующих типы вопросов не поддерживают тип поля null:
- select_one or other
- select_multiple or other
- hidden
Примечание:
Вопросы типа геоточка и геоформа должны поддерживать нулевой тип поля только в том случае, если опрос включает хотя бы один другой вопрос с геоточкой, геотрассировкой или геоформой, тип поля которого не является нулевым; либо если геоточка, геотрассировка или геоформа повторяются.
Длина поля
Пользовательский столбец bind::esri:fieldLength должен использоваться, когда вам необходимо точно контролировать длину строковых (текстовых) полей, которые создаются в ArcGIS для вопросов опроса.
Примечание:
Целочисленные вопросы и вопросы с десятичными знаками таким образом контролировать невозможно. В базах данных не указывается длина числового поля, диапазон корректных значений управляется типом числового поля. Например, целочисленные поля хранят любые целые значения в диапазоне от -2,147,483,648 до 2,147,483,647.
Псевдонимы полей
По умолчанию, псевдоним поля опроса наследует то же значение, что и надпись поля, со ссылкой на первичное поле при открытии опроса в ArcGIS. Это можно изменить, введя значение в столбец bind::esri:fieldAlias, которое затем станет новым псевдонимом поля.
Поскольку скрытые вопросы и вычисления в форме не отображаются, содержимое поля надписи не сохраняется. Это значит, что при просмотре записей опроса на веб-сайте Survey123 или ArcGIS для этих типов вопросов вы увидите имя вопроса, показанное в заголовке столбца. Чтобы в заголовке столбца скрытого вопроса или вопроса-вычисления показывалась подпись, используйте bind::esri:fieldAlias столбец в своей таблице для отображения надписи.
Маска ввода
Входная маска задает формат текстовых вопросов с помощью знаков и символов. При применении к вопросу входной маски, все ответы должны соответствовать образцу, задаваемому входной маской. В веб-приложении и полевом приложении Survey123ответы на опросы не могут быть опубликованы, пока не будут одобрены все входные маски.
Подсказка:
Входные маски могут быть применены только к вопросу типа text. Для вопросов типа integer и decimal воспользуйтесь столбцом constraint для ограничения ответов. Подробнее см. Ограничения.
Чтобы применить входную маску к вопросу, задайте ее в столбце body::esri:inputMask. В следующей таблице перечислены знаки и символы, которые можно использовать в маске ввода:
Символ | Значение |
---|---|
A | Требуется буквенный символ ASCII Могут использоваться символы от A до Z и от a до z. |
a | Разрешены, но не требуются, буквенные символы ASCII. |
N | Требуется буквенно-числовой символ ASCII. Могут использоваться символы от A до Z, от a до z и от 0 до 9. |
n | Разрешены, но не требуются, буквенно-числовые символы ASCII. |
X | Требуется любой непустой символ. |
x | Допускаются любые непустые символы. |
9 | Требуется числовой символ ASCII. Могут быть цифры от 0 до 9. |
0 | Разрешены, но не требуются, цифры ASCII. Могут быть цифры от 0 до 9. |
D | Требуется числовой символ ASCII. Можно использовать цифры от 1 до 9. |
d | Разрешены, но не требуются, цифры ASCII. Можно использовать цифры от 1 до 9. |
# | Разрешены, но не обязательны, цифры ASCII или знак плюс/минус. |
H | Требуется шестнадцатеричный символ. Могут использоваться символы от A до F, от a до f и от 0 до 9. |
h | Разрешены, но не требуются, шестнадцатиричные символы. |
B | Требуется бинарный символ. Могут быть цифры от 0 до 1. |
b | Разрешены, но не требуются, бинарные символы. |
> | Все следующие буквенные символы являются заглавными. |
< | Все следующие буквенные символы являются строчными. |
! | Отключить смену регистра. |
\ | Старайтесь не использовать указанные выше специальные символы в качестве разделителей. |
Маска состоит из строки символов и разделителей, после нее можно добавить двоеточие и знак, соответствующий пробелам. Знаки пробелов удаляются из текста после редактирования. В следующей таблице перечислены примеры масок:
Пример маски | Описание |
---|---|
>A<xxxxxxxxxxxx | Текст, начинающийся с заглавной буквы, за которой следуют строчные. |
AAA-AAA-AAA;_ | Уникальный идентификатор, использующий тире в качестве разделителей с точкой запятой в конце входной маски и подчеркиванием для символов, ввод которых обязателен. |
B9.99;- | Обозначение значения pH. Число должно начинаться с 0 или 1 и содержать не более 2 десятичных знаков. Точкой с запятой заканчивает входную маску с последующей черточкой, которая используется для обозначения символов, ввод которых обязателен. |
999-99-9999 | Номер социального страхования США. |
(999) 999-9999 | Номер телефона США. |
900 kg | Вес в килограммах между 0 и 999. |
99999 | 5-значный почтовый индекс США. |
AAA | Код аэропорта IATA. |
Рабочий процесс
Используйте пользовательский столбец bind::esri:workflow, чтобы указать, что поле может быть заполнено из листа .Дальномер в галерее. Этот столбец поддерживается только текстовыми вопросами, а следующие значения принимаются столбцом bind::esri:workflow.
- rangefinderMode=height
- rangefinderMode=offset
- rangefinderMode=height,offset
- rangefinderHeight
Каждое из значений rangefinderMode включает соответствующий пользовательский интерфейс для полевого рабочего. Когда выбран желаемый рабочий процесс дальномера, пользователь выбирает опрос и делает от 1 до 3 замеров инструментом, далее опрос автоматически запускается для полевого рабочего для заполнения остальных вопросов.
Значение rangefinderHeight уникально, что позволяет полевым рабочим проходить каждый вопрос опроса, который настроен на получение значения высоты, с помощью стрелок вперед и назад. Когда все высоты измерены, полевой рабочий касается Готово и переходит к опросу для заполнения всех остальных вопросов.