Выражения отчета

Ответ на вопрос может отображаться в шаблоне отчета, если его имя заключено в фигурные скобки {}, а в начале стоит знак доллара. Любое значение строки, включенное в выражение, должно быть заключено в двойные кавычки.

В следующем примере отображается ответ на текстовый вопрос с именем firstname:

${firstname}

Помимо отображения ответа на вопрос в отчете, ключевые слова могут использоваться для отображения другой полезной информации. В следующем примере отображаются текущие дата и время при печати отчета:

${$date}

Если результатом является массив, то можно выполнить итерацию по массиву, используя # в качестве начального тега и / в качестве конечного тега в фигурных скобках. Следующее выражение позволяет напечатать все файлы изображений отдельными строками:

${#image1}
${$file}
${/}

Также можно использовать выражения для настройки способа отображения ответов. Выражение может состоять из названия одного вопроса или ключевого слова (как показано выше), вычисления по одному или нескольким вопросам или ключевым словам, а также из имени вопроса или ключевого слова с методами и параметрами для стилизации или ограничения ответа. В выражении используются следующие обозначения:

${questionname or keyword | method:parameter}

Выражение может включать несколько методов и параметров или вообще не включать. Параметры могут быть либо значениями из других вопросов, либо фиксированным значением.

Следующее выражение отображает вычисление количественного вопроса с именем floweringtrees, деленного на количественный вопрос, называемый totaltrees. При использовании нескольких вопросов в одном выражении, имена отдельных вопросов должны быть указаны прямо, без использования скобок:

${floweringtrees / totaltrees}

Следующее выражение отображает значение координаты x из вопроса местоположения, где getValue - это метод, а x - параметр.

${location | getValue:"x"}

Следующее выражение показывает true, если ответ на вопрос fruitcolor не равен red.

${if fruitcolor!="red"}The fruit is not red.${/}

Строки могут быть собраны в выражение с помощью знака плюс. Следующее выражение использует соединение для передачи содержания вопроса field_0 в сервис генерации QR-кодов, создавая QR-код для ответа на вопрос:

${$image | src:"https://barcode.tec-it.com/barcode.ashx?code=QRCode&data="+field_0}

Примеры выражений для каждого типа вопросов доступны в следующих разделах:

Методы выражений

Не все типы вопросов поддерживают выражения и методы. В следующей таблице перечислены методы и параметры, которые можно использовать с вопросами различных типов:

МетодПараметрТип вопроса Connect.Тип вопроса Web designer.Описание

getValue

-

Все типы вопросов

Все типы вопросов

Извлекает необработанное значение данных из векторного слоя или необработанное изображение из вложения.

getValue

x, y, z, wkid

geopoint

Карта

Получает координаты x, y, z по отдельности в указанной пространственной привязке. Параметр wkid является необязательным и его значение будет таким же, как пространственная привязка векторного слоя, если он не указан.

getValue

длина, площадь, секция, тип измерения

geotrace, geoshape

Карта

Возвращает длину полилинии, периметр или площадь полигона в заданных единицах, а также задает, являются ли измерения планарными или геодезическими. Тип измерения по умолчанию - геодезический.

getValue

имя, размер

изображение, аудио, файл

Изображение, Подпись, Аудио, Файл

Возвращает имя файла или размер вложения.

getValue

ширина, высота, x, y, дата, время, направление

image

Изображение, подпись

Ширина и высота возвращают целочисленное значение ширины и высоты изображения в пикселах, а x, y, дату, время и направление возвращают значения, считанные из EXIF изображения, если они есть.

getValue

count

начать повтор, изображение, аудио, файл

Повтор, Изображение, Подпись, Аудио, Файл

Возвращает общее число повторов или вложений.

getValue

position

начать повтор, изображение, аудио, файл

Повтор, Изображение, Подпись, Аудио, Файл

Возвращает целое число, равное позиции с индексом 1 в массиве.

getValue

duration

audio, file

Аудио, Файл

Возвращает длительность аудио-записи в секундах.

Внимание:

Длительность не возвращается в ответах, собранных в веб-приложении при использовании Safari.

appearance

multiline

текст

Многострочный текст

Используется для сохранения разрывов строк в строке. Если значение внешнего вида не задано, возвращается однострочная строка.

appearance

bullets

select_multiple

Несколько вариантов ответа

Возвращает ответ в виде маркера.

checked

Имя выбора

select_one, select_multiple

Несколько вариантов ответа, Один вариант ответа, Сетка одного варианта ответа, Ниспадающий список, Шкала Лайкерта, Рейтинг

Возвращает поставленную отметку, если значение поля равно значению имени, в противном случае возвращает снятую отметку.

selected

Имя выбора

select_one, select_multiple

Несколько вариантов ответа, Один вариант ответа, Сетка одного варианта ответа, Ниспадающий список, Шкала Лайкерта, Рейтинг

Если домен кодированных значений существует, возвращает true, если значение поля равно значению имени, в противном случае возвращает false.

countSelected

-

select_one, select_multiple

Несколько вариантов ответа, Один вариант ответа, Сетка одного варианта ответа, Ниспадающий список, Шкала Лайкерта, Рейтинг

Возвращает количество выбранных вариантов.

selectedAt

index

select_one, select_multiple

Несколько вариантов ответа, Один вариант ответа, Сетка одного варианта ответа, Ниспадающий список, Шкала Лайкерта, Рейтинг

Возвращает строку в положении индекса в списке выбора. Индекс начинается с нуля.

locale

код языка

date, dateTime, start, end, decimal

Дата, Дата и время, Число

Возвращает локализованные дату, время и число.

format

строка формата

date, dateTime, integer, decimal, start, end

Дата, Дата и время

Возвращает отформатированную строку даты.

utcOffset

значение смещения

date, dateTime, start, end

Дата, Дата и время

Возвращает значение даты или даты-времени, сдвинутое на значение смещения к UTC.

mapSettings

индетификатор элемента веб-карты, масштаб карты

geopoint, geotrace, geoshape

Карта

Задает базовую карту и масштаб при печати изображения карты.

Прежние версии:

Этот метод заменен map и mapScale.

mapExtent

xmin, ymin, xmax, ymax, wkid

geopoint, geotrace, geoshape

Карта

Задает фиксированный экстент карты при печати изображения карты. Параметр wkid является дополнительным и будет задан как 4326 (WGS 1984), если не указано иное.

карта

Идентификатор элемента веб-карты

geopoint, geotrace, geoshape

Карта

Задает базовую карту при печати изображения карты.

mapScale

масштаб карты

geopoint, geotrace, geoshape

Карта

Задает масштаб карты при печати изображения карты.

mapFilters

layer ID на веб-карте JSON, параметры запроса

geopoint, geotrace, geoshape

Карта

Задает один или несколько фильтров векторного слоя на веб-карте при печати изображения карты.

rotate

degrees

геоточка, георассировка, геоформа, изображение

Карта, Изображение

Определяет угол поворота карты или изображения.

drawingInfo

currentLayer, URL слоя объектов

geopoint, geotrace, geoshape

Карта

Задает информацию для отображения при печати изображения карты, включая символы, надписи и прозрачность.

src

URL изображения

-

-

Задает исходный URL-адрес динамического элемента изображения.

size

ширина, высота, макс. ширина, макс. высота

image

Изображение

Задает размер печатаемого изображения.

round

количество знаков после запятой

decimal, geopoint, geoshape, geotrace

Число

Округляет десятичное число до указанных десятичных знаков.

useGrouping

boolean

decimal

Число

Если true, возвращает число с разделителями групп, которые задаются локальными настройками, если false, разделители не используются.

toFixed

количество знаков после запятой

decimal, geopoint, geoshape, geotrace

Число

Задает фиксированное число знаков после разделители десятичных знаков. Добавляет ноль, если требуется фиксированное количество цифр.

attachmentsDefExp

Выражения SQL

изображение, аудио, файл

Изображение, Подпись, Аудио, Файл

Определяет вложения к вопросу или текущий объект с помощью ключевого слова $attachment.

Ключевые слова выражения

В следующей таблице перечислены все ключевые слова, которые можно использовать в выражении:

Ключевое словоОписание

$date

Вставляет текущие дату и время при печати отчета. По умолчанию выводит дату в текущем локальном формате.

Примеры:

${$date | format:"MM/DD/YYYY"}
$($date | utcOffset:"+08:00"}
$($date | locale:"zh-cn"}

$image

Вставляет элемент изображения в отчет. Используйте метод src для задания URL изображения.

Пример:

${$image | src:"https://upload.wikimedia.org/wikipedia/commons/1/13/Esri_Headquarters%2C_Building_Q.jpg"}

$map

Вставляет элемент карты в отчет без привязки к вопросу опроса.

Пример:

${$map | map:"10df2279f9684e4a9f6a7f08febac2a9" | mapScale:4000000 | size:200:100}

$shape

Печатает геометрию (точку, полилинию или полигон) текущего объекта на карте.

Примеры:

${$shape}
${$shape | map:"10df2279f9684e4a9f6a7f08febac2a9" | mapScale:4000000 | size:200:100}

$attachment

Представляет первое вложение или все вложения текущего объекта.

Примеры:

${$attachment | getValue:"name"}
${$attachment | getValue:"size"}
${$attachment | size:200:300}

Чтобы итерировать все вложения, включите начальный и конечный теги.

${#$attachment}
${$file}
${/}

$file

Представляет текущий файл при итерации нескольких файлов вопроса опроса с вложениями или вложений объекта.

Примеры:

${#image1}
${$file | size:460:0}
{/}

${#$attachment}
${$file | getValue:"position"}. ${$file | getValue:"name"}
${/}

$feature

Представляет текущий объект в массиве объектов.

Пример:

{#repeat1}
{$feature | getValue: "position"}
{/}

$layers["<layername>"] или

$layers[<layerId>]

Ссылается на любой слой по имени или идентификатору в том же сервисе объектов, что и слой съемки.

Примеры:

${$layers["cities"] | where:”1=1 !important” | stats:”count,objectid”}
${#$layers["states"]}...${/}