Адрес

Назначение

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

Варианты адресов и выбранный адрес отображаются как строка переменной длины, включающаяв себя наименование адресного параметра и его значение. Подбор вариантов адресов осуществляется по принципу вхождения набранного пользователем значения в результирующую строку полного адреса. Удобнее всего осуществлять подбор наименования с самого детального из доступных элементов адреса - улицы. Широта охвата компонентой адресных параметров представлена набором элементов, начиная от адресного элемента Субъект Российской Федерации и заканчивая адресным элементом Улица(для ФИАС)/Квартира(для ГАР). Для ФИАС адресные элементы, детализирующие местоположение точнее улицы (например, дом, корпус, помещение и т.п.) должны вводиться отдельными компонентами (например, Текстовое поле) со ссылками на предназначенные только для них колонки пользовательской базы данных.

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

  1. Для отображения/сохранения выбранного в компоненте значения из/в базу данных(в данном случае, функция компоненты Адрес. Сохранение значения должна быть включена)
  2. Для использования без функциональности отображения/сохранения выбранного в компоненте значения из/в базу данных(в данном случае, функция компоненты Выпадающий список. Сохранение значения должна быть выключена или удалена через настройки функции по кнопке)

Компонента Адрес находится в разделе Компоненты - Поля - Адрес.

Свойства

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

Наименование свойства Назначение свойства Принимаемые значения
Подсказка позволяет создать подсказку, расположенную внутри элемента пример возможного значения: Вводите адрес в следующем порядке: населенный пункт -> город
Надпись позволяет задать наименование поля, которое будет отображаться на странице пример возможного значения: Адрес
Минимальное кол-во символов позволяет задать количество символов, после ввода которых пользователем, компонента начинает подбор и вывод вариантов, соответствующих уже введенной пользователем подстроке пример возможного значения: 3
Если отметка поставлена, то компоненте предписывается осуществлять поиск не только по актуальным вариантам адресов, но и по историческим версиям этих адресов. Если отметка снята, то компоненте предписывается осуществлять поиск только по актуальным вариантам адресов, игнорируя исторические версии этих адресов. Информация о том, какой версией является то или иное наименование адреса (актуальной или исторической) компонента берет из федеральной информационной адресной системы в режиме чтения как исходное данное, и не осуществляет присвоение или снятие этого признака своей активностью.
  • НЕ активно - подбор только среди актуальных версий адресов- значение по умолчанию
  • подбор среди актуальных и исторических версий адресов
Текст сообщения для строки результата поиска позволяет задать текст для сообщения (предупреждения), которое будет отображаться в случае, если по результатам поиска было найдено число совпадений, превышающее значение лимита по количеству возвращаемых строк в компоненте (настраивается в функции “ФИАС. Настройка - Количество строк”) пример возможного значения:Найдено более {limit} значений, уточните поиск - значение по умолчанию, где {limit} это указание значения параметра “Количество строк”
Прикрепить значение (Scroll Gravity) позволяет задать расположение уже выбранного значения при отображении в выпадающем списке доступных значений
  • По умолчанию (DEFAULT) - выбранное значение отображается в порядке своего следования в списке доступных значений для выбора
  • По центру (CENTER) - выбранное значение отображается по центру в выпадающем списке доступных значений для выбора
  • В верхней части (TOP)- выбранное значение отображается в верхней части выпадающего списка доступных значений для выбора
  • В нижней части (BOTTOM) - выбранное значение отображается в нижней части выпадающего списка доступных значений для выбора
Не действительно при не активном адресе (Invalid if address is not active) позволяет визуально помечать поле как невалидное на странице, в случае если в него было подгружено неактуальное значение адреса
Css class if not satisfy данное свойство доступно для управления при активном значении свойства Invalid If Address Is Not Actual и позволяет задать CSS-класс, который будет применяться к полю ФИАС, в случае если в него было подгружено неактуальное значение адреса
Тип иерархии адреса (Hierarchy Type) позволяет задавать иерархию адреса. Для данного свойства есть два метода getHierarchyType возвращает текущую иерархию и метод setHierarchyType позволяет менять текущую иерархию. ADMINISTRATIVE - административная, MUNICIPAL - муниципальная

Свойство ФИАС. Настройка

Подгрузка данных

Источник подгрузки значений адресов конфигурируется в файле standalone.xml проекта в секции datasource jndi-name=“java:jboss/datasources/fias-ds” pool-name=“FIASDS” enabled=“true” use-java-context=“true”.

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

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

Используется как дополнительный предустановленный фильтр к подстроке, вводимой пользователем.

Пример возможной настройки:

В свойстве “Фильтр по умолчанию” зададим значение, например, Ленина (рис.1)

рис.1 Настройка свойства Фильтр по умолчанию

При отображении результатов поиска по значению, например, Казань, среди вариантов удовлетворяющих этому значению, для выбора будут доступны только те значения, которые содержат в себе слово “Ленина” (рис.2)

рис.2 Результаты поиска с установленным фильтром

Без установленного фильтра результаты аналогичного поиска выглядели бы следующим образом (рис.3):

рис.3 Результаты поиска без установленного фильтра

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

В случае, если по результатам поиска было найдено число совпадений, превышающее значение данного ограничения, пользователю будет отображаться сообщение (предупреждение) заданной в свойствеMessage Text For Result Set

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

Доступные следующие варианты уровней:

  • Субъект РФ
  • Район субъекта
  • Город
  • Район
  • Населенный пункт
  • Улица
  • Дом

При указании “Минимального уровня поиска адреса” в значение “Субъект РФ” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Субъектам РФ и по всем Районам субъекта, и по всем Городам, и по всем Районам города, и по всем Населенным пунктам, и по всем Улицам.

Данную настройку могут ограничивать параметры:

“Фильтр по умолчанию” - тогда поиск уже не по всем регионам (и прочим элементам), а только по тем, которые содержат подстроку из фильтра

“Максимальный уровень адреса” - тогда поиск будет опускаться по иерархии только до того уровня детализации, который указан в параметре*“Максимальный уровень адреса”

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

Максимальный уровень должен быть больше минимального.

Доступные следующие варианты уровней:

  • Субъект РФ
  • Район субъекта
  • Город
  • Район
  • Населенный пункт
  • Улица
  • Дом - в данном случае значения результата поиска будут отображаться с домами

При указании “Максимального уровня поиска адреса” в значение “Улица” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Улицам во всех Населенных пунктах, всех Районов города, всехГородов, всех Районов субъекта и всех Субъектов РФ.

Данную настройку могут ограничивать параметры:

“Фильтр по умолчанию” - тогда поиск уже не по всем улицам (и прочим родительским элементам), а только по тем, которые содержат подстроку из фильтра

“Минимальный уровень адреса” - тогда поиск будет подниматься по иерархии только до того уровня детализации, который указан в параметре*“Минимальный уровень адреса”

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

  • отображать полные наименования адресных элементов (рис.2)- значение по умолчанию

  • отображать сокращения адресных элементов (рис.1)

рис.1 Отображение с сокращениями адресных элементов

рис.2 Отображение без сокращения адресных элементов

Свойство ФИАС. Сохранение значения

В случае, если значение в поле ФИАС необходимо сохранить или подгрузить из базы данных, указывается поле таблицы базы данных, куда будет сохраняться и откуда будет подгружаться введенное значение. Для выбора доступны только колонки имеющий строковый тип в базе данных. В случае, если значение поля ФИАС не требуется сохранять или подгружать из базы данных, то данное свойство удаляется (или отключается). Данный вариант может быть необходим, когда поле используется дляотображения значения, которое является константой, определённой в логике приложения.

Свойство ГАР. Настройка

Параметры: * gar.enable - параметр отвечающий за необходимость подключения gar-client. По дефолту true, для отключения задать false. * gar.elastic.url.host - хост на котором развернут elasticsearch. * gar.elastic.password - пароль для аутентификации elasticsearch.

Дополнительные парметры: * gar.elastic.url.port - порт на котором развернут elasticsearch. По дефолту 9200 * gar.elastic.username - логин для аутентификации elasticsearch. По дефолту elastic

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

В случае, если по результатам поиска было найдено число совпадений, превышающее значение данного ограничения, пользователю будет отображаться сообщение (предупреждение) заданной в свойствеMessage Text For Result Set img.png

img.png

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

Доступные следующие варианты уровней:

  • REGION(Субъект РФ)
  • DISTRICT(Административный/Муниципальный Район)
  • SETTLEMENT(Сельское/городское поселение)
  • CITY(Город)
  • TOWN(Населенный пункт)
  • PLANNING_STRUCTURE(Элемент планировочной структуры)
  • STREET(Элемент улично-дорожной сети)
  • HOUSE(Дом)
  • APARTMENT(Квартира)

При указании “Минимального уровня поиска адреса” в значение “Субъект РФ” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Субъектам РФ и по всем Районам субъекта, и по всем Городам, и по всем Районам города, и по всем Населенным пунктам, и по всем Улицам.

Данную настройку могут ограничивать параметры:

“Фильтр по умолчанию” - тогда поиск уже не по всем регионам (и прочим элементам), а только по тем, которые содержат подстроку из фильтра

“Максимальный уровень адреса” - тогда поиск будет опускаться по иерархии только до того уровня детализации, который указан в параметре*“Максимальный уровень адреса”

img_1.png

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

Максимальный уровень должен быть больше минимального.

Доступные следующие варианты уровней: - REGION(Субъект РФ) - DISTRICT(Административный/Муниципальный Район) - SETTLEMENT(Сельское/городское поселение) - CITY(Город) - TOWN(Населенный пункт) - PLANNING_STRUCTURE(Элемент планировочной структуры) - STREET(Элемент улично-дорожной сети) - HOUSE(Дом) - APARTMENT(Квартира)

При указании “Максимального уровня поиска адреса” в значение “STREET” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Улицам во всех Населенных пунктах, всех Районов города, всехГородов, всех Районов субъекта и всех Субъектов РФ. При указании “Максимального уровня поиска адреса” в значение “HOUSE” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Домам и Улицам во всех Населенных пунктах, всех Районов города, всехГородов, всех Районов субъекта и всех Субъектов РФ. При указании “Максимального уровня поиска адреса” в значение “APARTMENT” поиск по введенной пользователем в компоненту подстроке будет осуществляться по всем Квартирам, Домам и Улицам во всех Населенных пунктах, всех Районов города, всехГородов, всех Районов субъекта и всех Субъектов РФ.

Данную настройку могут ограничивать параметры:

“Фильтр по умолчанию” - тогда поиск уже не по всем улицам (и прочим родительским элементам), а только по тем, которые содержат подстроку из фильтра

“Минимальный уровень адреса” - тогда поиск будет подниматься по иерархии только до того уровня детализации, который указан в параметре*“Минимальный уровень адреса”

img_2.png

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

  • false -> отображать полные наименования адресных элементов - значение по умолчанию

  • true -> отображать сокращения адресных элементов

Свойство ГАР. Сохранение значения

В случае, если значение в поле ГАР необходимо сохранить или подгрузить из базы данных, указывается поле таблицы базы данных, куда будет сохраняться и откуда будет подгружаться введенное значение. Для выбора доступны только колонки имеющий строковый тип в базе данных. В случае, если значение поля ФИАС не требуется сохранять или подгружать из базы данных, то данное свойство удаляется (или отключается). Данный вариант может быть необходим, когда поле используется дляотображения значения, которое является константой, определённой в логике приложения.

Базовые функции

Заполнить значением по умолчанию

Заполнить значением по умолчанию

Заполнить значением из переменной процесса

заполнить значением из переменной любого типа

Дополнительные функции

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

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

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

Сохранить значение в переменную процесса любого типа

сохранить значение в переменную процесса любого типа

Определить права текущего пользователя

Определить права текущего пользователя

Определить роли текущего пользователя

Определить роли текущего пользователя

Методические рекомендации по применению

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

Часто задаваемые вопросы

Вопрос Ответ
Значение какого типа возвращает компонента? Для ФИАС: В общем случае компонента возвращает значение тестового типа в виде длинного идентификатора (для записи в базу данных). Для использования значения выбранного адреса на экранной форме посредством компоненты Обработка событий, аналитику доступны несколько методов, которые возвращают разные значения. В условиях сравнения компоненты Обработка событий могут использоваться методы: Метод “Получить значение” возвращает идентификатор (так называемый GUID) выбранного адреса в строковом виде, например: {“version”:“1.0”,“aoid”:“b026a0f9-9478-4c61-a55f-95b38cb099c1”,“aoid_p1”:“c6d874d0-a7e8-46a1-b345-e2e1e9758c59”,“aoid_p2”:“625866a1-1278-4883-8dc5-ba34e0c463c4”,“aoid_p3”:“fc50add0-c3c7-4f07-99cd-8831166e6619”,“aoid_p4”:null,“aoid_p5”:null,“guid”:“b026a0f9-9478-4c61-a55f-95b38cb099c1”} Метод “Получить значение как текст” возвращает строку адреса в человекочитаемом виде в строковом виде, например “Респ Дагестан, р-н Буйнакский, с Верхнее Казанище, ул Ленина”. В секции Тогда компоненты Обработка событий могут использоваться методы: Метод"ФИАС.Задать значение" выставляет в компоненте адрес по идентификатору GUID ({“version”:“1.0”,“aoid”:“b026a0f9-9478-4c61-a55f-95b38cb099c1”,“aoid_p1”:“c6d874d0-a7e8-46a1-b345-e2e1e9758c59”,“aoid_p2”:“625866a1-1278-4883-8dc5-ba34e0c463c4”,“aoid_p3”:“fc50add0-c3c7-4f07-99cd-8831166e6619”,“aoid_p4”:null,“aoid_p5”:null,“guid”:“b026a0f9-9478-4c61-a55f-95b38cb099c1”}). Используется для полей - приемника информации об адресе (как показано на скриншоте). Метод “ФИАС. Получить значение” возвращает значение - идентификатор GUID, как из источника данных об адресе для последующей вставки в другое поле ФИАС. Метод “ФИАС. Получить значение"возвращает строку адреса в человекочитаемом виде в строковом виде,как из источника данных об адресе для последующей вставки в другое читаемое тестовое поле (например, Компонент Текстовое поле). Для ГАР: {“hierarchyId”:”{"indexId":"1415865","hierarchy":"MUNICIPAL","indexStructureType":"ADDRESS_OBJECT","withHouse":false}",“address”:“Автодорога Ад Москва-Уфа-Челябинск 1016 км 435 м”,“level”:6,“date”:“20000808”,“actual”:false,“okato”:“36228824000”,“oktmo”:“36628424”,“aoGUID=‘97e5e5dc-f63a-4c5f-bdbf-61d608e27895’”,“addressLevels”:{“regionName”:null,“regionCode”:null,“areaName”:null,“areaCode”:null,“cityName”:null,“cityCode”:null,“placeName”:“Ад Москва-Уфа-Челябинск 1016 км 435 м”,“placeCode”:null,“planName”:null,“planCode”:null,“streetName”:null,“streetCode”:null,“houseNumber”:null,“apartmentNumber”:null}}
Все ли свойства компоненты обязательны для заполнения? Нет.Свойства компоненты определяются в зависимости от решаемой задачи.
Возникнет ли ошибка при запуске приложения, если оставить незаполненным свойство ФИАС. Сохранение значения? Да. В случае, если функция “ФИАС. Сохранения значения” включена у элемента и не заполнены ее параметры, то при валидации проекта возникнет ошибка. Если по условию задачи данное поле не должно подгружаться и сохраняться в базу данных, данную функцию в компоненте необходимо либо отключить либо удалить.
Если удалить базовые функции, которые включены в компоненту по умолчанию, например, “Заполнить значением по умолчанию” можно ли будет вновь их добавить? Да. Если удалить какую-то базовую функцию компоненты, то по кнопке “Добавить функцию” она будет доступна для выбора.