Создание форм для редактирования атрибутов (Map Viewer)

Если ваша карта содержит редактируемые векторные слои (размещенные векторные слои, размещенные представления векторных слоев, размещенные слои таблиц или векторные слои ArcGIS Server), вы можете создать формы, которые редакторы будут использовать при обновлении значений полей векторных слоев веб-карты. Вы можете настроить форму для каждого редактируемого векторного слоя карты или только для тех слоев, которые, как вы думаете, пользователи карты будут редактировать.

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

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

Примечание:

В настоящий момент вы можете настраивать формы в Map Viewer в ArcGIS Online и ArcGIS Enterprise и в веб-приложении ArcGIS Field Maps.

Вы можете использовать формы для редактирования векторных слоев в Map Viewer ArcGIS Online и ArcGIS Enterprise, а также в мобильном приложении ArcGIS Field Maps.

Перед созданием формы

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

Создание формы

Можно создать форму ввода для каждого редактируемого слоя карты. Вы можете задать поля (элементы), которые будут появляться в форме, и то, где они будут появляться.

Когда редактор выбирает объект в редактируемом векторном слое, появляется форма, в которой редактор сможет вводить значения атрибутов этого слоя.

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

  1. Убедитесь, что вы выполнили вход и у вас есть права, необходимые для создания ресурсов.
  2. На панели инструментов Содержание (темный) щелкните Слои, чтобы открыть панель Слои.
  3. Добавьте редактируемый векторный слой на карту.
  4. С выбранным редактируемым векторном слоев щелкните Дополнительно на панели инструментов Настройки и выберите Формы Формы.

    Появится окно Настройка формы.

  5. Используйте эти возможности по-отдельности или вместе, чтобы добавить элементы в форму.

    Элементы формы - это группировка полей и поля ввода, появляющиеся в форме. Элементы-поля основываются на имеющихся полях векторного слоя.

    • Конвертация имеющихся всплывающих окон - если вы настроили для векторного слоя всплывающие окна, вы можете использовать существующую конфигурацию всплывающих окон в качестве отправной точки для настройки формы.
    • Добавить поля - выберите, какие поля слоя будут добавлены в форму. Когда поле добавляется в структуру формы, оно становится элементом формы.
    • Создать группы элементов - вы можете создавать расширяемые и сворачиваемые групповые элементы, чтобы хранить в форме логически связанную информацию.
  6. После добавления полей и групп в структуру формы в качестве элементов отформатируйте каждый элемент.
  7. При желании можно задать выражения Arcade или SQL, которые определяют, когда элемент будет, а когда - не будет отображаться в форме.
  8. По завершении добавления, форматирования и настройки условных выражений для элементов формы нажмите OK для создания формы.
  9. Сохраните карту.

    Примечание:

    Если вы закроете форму без сохранения, форма будет потеряна.

Если вы хотите после создания изменить форму, повторите выполненные ранее действия. Убедитесь, что вы сохранили карту после редактирования формы.

Конвертация имеющегося всплывающего окна

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

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

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

Примечание:

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

Добавление полей

Выберите, какие поля в слое будут доступны редакторам в качестве элементов формы. В большинстве случаев вы добавляете поля, в которых редакторы будут изменять значения.

Например, в векторном слое есть следующие поля: Имя площадки, Тип площадки, Статус застройки, Ландшафтный дизайн, Дата редактирования, Имя редактора, Дата создания, Имя создателя, ID и форма Shape - вы можете оставить в форме только Имя сайта, Тип сайта, Статус застройки и Ландшафтный дизайн, поскольку поля Дата редактирования, Имя редактора, Дата создания, Имя создателя и ID заполняются автоматически, а поле Shape заполняется, когда редакторы добавляют в слой пространственный объект.

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

  1. Используйте один из следующих методов добавления полей в качестве элементов формы.
    • Добавить в форму все поля - Щелкните Добавить все в списке Поля, чтобы добавить в форму все поля слоя. Если в вашем слое много редактируемых полей, добавление всех полей и удаление одного или двух системных или нередактируемых полей займет меньше времени, чем добавление нужных полей по одному.
    • Добавить выбранные поля в форму - чтобы включить в форму заданную выборку полей, нажмите клавишу Ctrl, выберите поля, которые хотите включить, а затем перетащите их в структуру формы.
    • Добавлять поля по одному - чтобы добавить к форме одно поле, дважды щелкните его или перетащите в структуру формы.

    Подсказка:

    Если слой или таблица содержит большое количество полей, вы можете использовать панель поиска Найти поля в списке Поля, чтобы найти определенное поле.

  2. После добавления полей в качестве элементов формы можно создать группы (это будет описано в следующем разделе), содержащие связанные поля либо выполнить форматирование элементов-полей.

Создание групп элементов

Чтобы сгруппировать связанные поля в одном и том же физическом местоположении формы, создайте элемент группы. Группирование элементов аналогично размещению вопросов в одном разделе бумажной формы. У групп в цифровых формах есть дополнительное преимущество, заключающееся в том, что вы можете спрятать элементы и отображать только заголовок группы до тех пор, пока пользователь формы не развернет группу.

Например, в форме для обновления содержимого в векторном слое тропинок создайте группу для всех полей, связанных со свойствами тропы, такими как имя, тип и сложность тропы. Отдельную группу можно создать для полей, в которых будет записана такая информация об обслуживании, как имя группы обслуживания, дата последнего обслуживания и описание выполненного обслуживания. Если вы решите открыть форму со свернутыми группами, редакторы будут видеть только имена двух групп, пока эти группы не будут развернуты.

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

  1. Перетащите элемент Группа из списка Элементы формы в структуру формы.

    Элемент формы добавляется в структуру формы.

  2. Перетащите связанные поля в группу.

    Можно перетаскивать поля из формы или из списка Поля на панель Конструктор форм.

  3. Выберите элемент группы, чтобы отредактировать его свойства.

    Откроется панель Свойства, где можно отредактировать следующую информацию:

    • Отображаемое имя - укажите имя, описывающее поля, входящие в группу. Это аналог заголовка раздела бумажной формы. Требуется значение.
    • Описание – введите описание группы.
    • Начальное состояние - по умолчанию группы раскрываются при открытии формы, что означает, что все поля будут видны автоматически. Снимите отметку Раскрыто, если хотите, чтобы начальным состоянием группы было свернутое. Пользователи формы щелкнут группу, чтобы развернуть ее и просмотреть содержащиеся в ней поля.
    • Условная видимость - добавьте атрибутивное выражение SQL и Arcade, чтобы применить правила, определяющие отображение группы в форме. Подробнее см. Настройка условной видимости.

Подсказка:

Вы можете удалить все элементы формы из группы, выбрав Разгруппировать на панели инструментов группы. Вы можете удалить из группы несколько элементов, нажав Ctrl и выбрав каждый из элементов, который хотите удалить, а затем перетащив их за пределы группы.

Применение форматирования к элементам формы

Когда вы выбираете элемент формы в ее структуре, появляется панель Свойства.

В предыдущем разделе описано задание свойств для элементов группы.

Для элементов-полей в разделе Форматирование панели Свойства отображаются свойства, которые вы можете задать для элемента формы, а также неизменяемые в форме свойства, унаследованные от слоя. В следующих разделах описаны свойства, которые можно задавать для элементов-полей формы.

Задание отображаемого имени

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

Для полей отображаемое имя по умолчанию совпадает с именем поля. Согласитесь со значением по умолчанию или введите более понятное или описательное отображаемое имя для каждого поля.

Форматирование текстовых элементов

Если элемент формы ссылается на текстовое поле, выполните следующие действия для форматирования элемента:

  1. Выберите текстовый элемент формы, чтобы открыть панель Свойства.
  2. Щелкните ниспадающее меню Тип ввода и выберите один из вариантов.
    • Штрих-код - может использоваться только в приложениях, у которых есть считыватель штрих-кодов. Если вы выберете этот тип ввода, в приложениях, которые не могут считывать штрих-коды в качестве входных данных, например, в Map Viewer, элемент станет одной строкой текста.
    • Текст - одна строка - в поле ввода формы будет отображаться одна строка текста.
    • Текст - несколько строк - у поля ввода формы будет высота в несколько строк. Используйте этот тип ввода для текстовых полей с большой длиной, чтобы редакторы могли видеть весь текст в поле.
  3. Чтобы отобразить текст в поле, который предлагает редактору ввести правильное значение, введите этот текст в поле Заполнитель.

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

    Текст заполнителя появляется внутри элемента-поля ввода и заменяется введенным редактором текстом.

    Нельзя добавить текст-заполнитель для поля, у которого задано значение по умолчанию.

  4. В поле Описание введите текст, объясняющий, что означают значения в поле.

    Описание появляется под элементом формы.

  5. Задайте для элемента значения Мин. длина (минимальное число символов) и Макс. длина (максимальное число символов).

    Иногда векторный слой публикуется с длиной текстового поля по умолчанию, а не с точной длиной, заданной для поля. Например, длина поля векторного слоя, в котором может быть записан набор определенных значений, например, да, нет или неизвестно, может составлять 256 символов. Но вы можете задать минимальное и максимальное значения равными 1, если хотите, чтобы редакторы при изменении значений в поле вводили только y, n или u.

    Нельзя задавать максимальное количество символов для поля, превышающее длину этого поля.

  6. Воспользуйтесь ниспадающим меню Обязательно для задания обязательности поля.
  7. Чтобы пользователи не могли изменять значения в поле формы, снимите отметку Разрешить редактирование.

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

Форматирование элементов-дат

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

Для форматирования элементов, ссылающихся на поля дат, выполните следующие действия:

  1. Выберите элемент-дату формы, чтобы открыть его панель Свойства.
  2. Щелкните ниспадающее меню Тип ввода и выберите один из вариантов.
    • Дата - позволяет пользователю задать дату.
    • Дата и время - позволяет пользователю задать дату и время.
  3. В поле Описание введите текст, объясняющий, что означают значения в поле.

    Описание появляется под элементом формы.

  4. Для элементов-дат можно указать значения параметров Дата начала и Дата окончания, чтобы ограничить диапазон вводимых редактором дат.

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

  5. Для элементов даты и времени можно задать значения параметров Время начала и Время окончания.

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

  6. Воспользуйтесь ниспадающим меню Обязательно для задания обязательности поля.
  7. Чтобы пользователи не могли изменять значения в поле формы, снимите отметку Разрешить редактирование.

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

Форматирование числовых элементов

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

  1. Выберите текстовый элемент формы, чтобы открыть панель Свойства.
  2. Щелкните ниспадающее меню Тип ввода и выберите один из вариантов.
    • Штрих-код - может использоваться только в приложениях, у которых есть считыватель штрих-кодов. Если вы выберете этот тип ввода, в приложениях, которые не могут считывать штрих-коды в качестве входных данных, например, в Map Viewer, элемент получит тип ввода по умолчанию.
    • Число - Двойной точности - если поле в слое задано как поле двойной точности, приложение, в котором карта будет редактироваться, не поддерживает штрих-код в качестве входных данных, и редакторам необходимо вводить десятичные числа, выберите Число - Двойной точности.
    • Число - Целое - если поле в слое задано как целочисленное или двойной точности, приложение, в котором карта будет редактироваться, не поддерживает штрих-код в качестве входных данных, и редакторам не нужно будет вводить десятичные числа, выберите Число - Целое.
  3. Чтобы отобразить текст в поле, который предлагает редактору ввести правильное значение, введите этот текст в поле Заполнитель.

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

    Текст заполнителя появляется внутри элемента-поля ввода и заменяется введенным редактором текстом.

    Нельзя добавить текст-заполнитель для поля, у которого задано значение по умолчанию.

  4. В поле Описание введите текст, объясняющий, что означают значения в поле.

    Описание появляется под элементом формы.

  5. Воспользуйтесь ниспадающим меню Обязательно для задания обязательности поля.
  6. Чтобы пользователи не могли изменять значения в поле формы, снимите отметку Разрешить редактирование.

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

Форматирование элемента, содержащего список из трех или большего числа значений

Если для поля в векторном слое определен список, содержащий три или большее число значений, вы можете настроить элемент формы так, чтобы он отображался в виде поля со списком или переключателей.

  1. Выберите элемент формы, ссылающийся на поле с заданным для него списком значений, чтобы открыть его панель Свойства.
  2. В разделе Форматирование щелкните ниспадающее меню Тип ввода и выберите один из следующих вариантов:
    • Поле со списком - пользователь формы выбирает значение из списка имеющихся вариантов.
    • Переключатели - все варианты появляются на форме вместе с расположенными рядом с ними кнопками-переключателями. Пользователи формы нажимают на нужную кнопку.

    Если список содержит большое число значений (например, семь и более), поле со списком позволит сэкономить место в форме.

  3. В поле Описание введите текст, объясняющий, что означают значения в поле.

    Описание появляется под элементом формы.

  4. Воспользуйтесь ниспадающим меню Обязательно для задания обязательности поля.
  5. Чтобы пользователи не могли изменять значения в поле формы, снимите отметку Разрешить редактирование.

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

Форматирование элементов с двумя возможными значениями

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

Если для поля слоя не задано значение по умолчанию, можно настроить появляющийся на форме в виде поля со списком или кнопок-переключателей элемент.

  1. Выберите элемент формы, ссылающийся на поле с заданным списком из двух значений и установленным значением по умолчанию, чтобы открыть его панель Свойства.
  2. В разделе Форматирование щелкните ниспадающее меню Тип ввода, чтобы выбрать представление этого элемента:
    • Поле со списком - пользователь формы выбирает в ниспадающем списке одно из значений.
    • Кнопки-переключатели - в форме появятся два варианта с расположенными рядом с ними кнопками-переключателями. Пользователи формы нажимают на нужную кнопку.
    • Переключатель - пользователи формы включают и выключают переключатель.

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

      Если для поля не задано значение по умолчанию и вы выберите Переключатель в качестве типа ввода, на форме элемент отобразится в виде поля со списком.

  3. В поле Описание введите текст, объясняющий, что означают значения в поле.

    Описание появляется под элементом формы.

  4. Воспользуйтесь ниспадающим меню Обязательно для задания обязательности поля.
  5. Чтобы пользователи не могли изменять значения в поле формы, снимите отметку Разрешить редактирование.

    Если элемент формы недоступен для редактирования, с помощью кнопок-переключателей, списка или переключателя формы будет показано имеющееся значение атрибута. Если вы добавляете объект, значения для полей со списком и кнопок-переключателей не будут отображаться. Для элементов-переключателей на форме отображается настройка по умолчанию.

Определение необходимых элементов

Чтобы данные в поле было вводить обязательно, вы можете настроить элементы формы так, чтобы указание в них значений было необходимым. Например, если для всех заявок требуется дата подачи, сделайте дату подачи обязательным элементом-датой.

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

  1. Щелкните поле формы, чтобы открыть его Свойства.
  2. Щелкните ниспадающее меню Обязательно и выберите одну из следующих опций:
    • Нет - выберите эту опцию, если элемент формы не должен обязательно обновляться в этой форме, а поле в векторном слое является необязательным, когда другие приложения добавляют или редактируют данные.
    • Да, не разрешать нулевые значения - выберите эту опцию, если редактор обязательно должен вводить данные в этот элемент поля, а поле векторного слоя настроено как поле, не допускающее значения NULL.
    • Да, разрешать нулевые значения - выберите эту опцию, если редактор обязательно должен вводить данные в этот элемент поля, а поле векторного слоя допускает значения NULL.

Настройка условной видимости

Вы можете отображать или скрывать элементы формы в зависимости от значений, добавленных в предыдущие поля. Например, форма Building Assessment содержит поле для обозначения в нем наличия повреждений от воды. Также она содержит группу элементов, содержащую поля, связанные с повреждениями от воды. Выражение условной видимости может быть применено к группе повреждений от воды так, чтобы она отображалась, если ранее было указано наличие повреждений от воды. Для создания выражения условной видимости выполните следующие действия:

  1. Щелкните поле формы, чтобы открыть его Свойства.
  2. В разделе Условная видимость щелкните + Добавить выражение.

    Появится окно Редактировать выражение.

  3. Постройте выражение одним из следующих способов:
    • Воспользуйтесь ниспадающем меню, чтобы выбрать поля, операции и значения, необходимые для создания выражения.
    • Щелкните Запустить редактор Arcade, чтобы написать выражение Arcade в редакторе Arcade. Это может быть удобно для более сложных выражений.

    Каждое выражение задается одним или несколькими условиями. Условие содержит имя поля, оператор и, возможно, значение. Список доступных операторов определяется типом поля (текстовый, числовой или дата).

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

    • Имя поля - Water damage
    • Оператор - is
    • Значение - Yes

    Вот как выглядит это выражение в синтаксисе Arcade:

    DomainName($feature, "water_damage") == "Yes"
    

    Map Viewer применяет Профиль ограничений Arcade для оценки соответствия объекта критериям, заданным в выражении. Если значение, отличное от Yes, указано в поле water_damage, в форме не будет отображена группа повреждений от воды.

  4. Чтобы применить несколько условий, щелкните Добавить условие и повторите предыдущий шаг.

    Примечание:

    Если вы задаете несколько условий, выберите, должны ли выполняться все условия (Соответствие всем условиям) или только одно условие должно быть истинным (Соответствие хотя бы одному условию) для отображения элемента формы.

  5. Щелкните Сохранить.

    Выражение условной видимости будет применено к группе или полю.

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

Вы можете дублировать, изменить или удалить выражение в любое время, используя меню Условная видимость. Чтобы отредактировать выражение в Arcade, щелкните в этом меню Редактировать (расширенное).