ФИАС
Компонент на базе модального окна, который позволяет указывать адрес в соответствии с Федеральной информационной адресной системой, сокращённо - ФИАС.
Адрес на странице
В форме или на странице реквизитов адрес отображается как блок текста, со ссылкой «Заполнить адрес» или «Изменить адрес»:
В блоке с адресом не используются сокращения типов топонимов «ул.» «пер.» и прочие. Вместо этого пишем слова полностью «улица», «переулок» и так далее.
Топо́ним (от др.-греч. τόπος — место + ὄνομα — имя, название) — имя собственное, обозначающее название географического объекта: Москва, Екатеринбург, Волга, Исеть, Байкал и т.д.
Тип топонима — родовой географический термин: город, село, деревня, хутор, река и т.п.
Между наименованием типа топонима и топонимом ставятся неразрывные пробелы, чтобы при переносах они не отрывались друг от друга.
Если в адресе отсутствует какой-то тип топонима, он просто не показывается вместе с разделителем:
Состав модального окна
При клике на ссылку открывается модальное окно с определенным набором полей.
Не все поля обязательны для заполнения, но после потери фокуса все заполненные поля проверяются на соответствие справочнику
Поле быстрого поиска адреса
Поле представляет собой комбобокс без стрелки с настройкой «Поиск по вхождению» и иконкой поиска справа
При получении полем фокуса выпадающий список не появляется, пока не начался ввод
При начале ввода начинается поиск по самому крупному топониму — региону
Если в произвольный момент ввода пользователь поставил пробел или запятую, начинается поиск по следующему в иерархии топониму
И так далее до последнего по иерархии топонима: «Дом, сооружение»
Если в произвольный момент поиска пользователь выбирает стрелкой или мышью подходящий адрес, то он автоматически подставляется в соответствующие в поля модального окна адреса. Фокус ввода при этом перемещается на следующий по иерархии топоним
В поле поиска подставляется выбранный вариант полностью. Если названия топонимов изменяются пользователем в полях ввода, они автоматически обновляются и в поле поиска. Если значение в поле поиска длиннее поля, оно обрезается с конца
При повторном получении поиском фокуса введенное значение выделяется и в поле становится виден конец введенной строки.
При изменении пользователем любой части адреса поиск возобновляется с того топонима, который был изменен
Автоматическое заполнение
В поля справочника — комбобоксы без стрелки с настройкой «Поиск по вхождению».
Состояние по умолчанию
Фокус на пустом поле
При получении полем фокуса выпадающий список не появляется, пока не введен хотя бы один символ.
Поиск
Ищем по подстроке. Результаты упорядочены по алфавиту или номерам в порядке возрастания. Показываем первые 5 результатов.
Ищем в следующем порядке:
- по подстроке названий, тип топонима которых совпадает с названием поля;
- по подстроке названий с другим типом топонима;
Сначала отображаются результаты, где подстрока найдена раньше, затем остальные. При одинаковом положении подстроки, результаты упорядочены по возрастанию.
Есть два варианта поиска: поиск топонима по всему справочнику адресов и поиск по справочнику, ограниченному родительским топонимом.
Поиск по всему справочнику
Такой поиск работает для полей «Район», «Город», «Населенный пункт», «Иная территория».
Для этих полей ищем по всему справочнику адресов. В результатах поиска показываем через запятую все вышестоящие по иерархии топонимы. Названия топонимов при этом отображаются всегда у всех элементов в цепочке. Результаты упорядочены сначала по положению топонима в цепочке, а затем по возрастанию названий родительских топонимов.
Например, при поиске по городу «Нижн» результат «Нижегородская область, город Нижний Новгород» стоит выше, чем «Республика Татарстан, Нижнекамский район, город Нижнекамск», а последний - выше, чем «Свердловская область, Алапаевский район, город Нижняя Синячиха».
При выборе результата поля выше заполняются автоматически.
Если пользователь уже ввел значения в поля выше, используем их для уточнения поиска. В этом случае сначала ищем непосредственно по родительскому топониму, а затем - по его дочерним топонимам. Например, если ввели регион «Свердловская область» и начинают вводить город, то сначала ищем по городам Свердловской области, а затем по городам районов Свердловской области.
При этом в результатах поиска не показываем название топонима если оно совпадает с названием поля и стоит первым в цепочке иерархии топонимов.
Поиск по ограниченному справочнику
Для всех остальных полей-комбобоксов поиск происходит только по справочнику адресов, ограниченному родительским топонимом: для улицы необходимо заполнить населенный пункт, для дома - улицу и так далее.
Отображение названий топонимов
Если в результатах поиска тип топонима совпадает с названием поля, не выводим его в списке результатов. Например, для поля «Улица» в результатах будет просто «Мамина-Сибиряка», но полностью «проспект Ленина» или «переулок Васильковый». Первыми выводятся совпадения в топонимах, и только потом, результаты поиска по подстроке в названии типа.
После выбора значения подставляем в поле тип топонима, только если он не совпадает с названием поля.
Валидация
У адреса РФ есть три состояния:
- Заполнен по справочнику адресов;
- Заполнен не по справочнику адресов;
- Не заполнен.
В зависимости от требований аналитики критичность ошибки может меняться. Кнопка модального окна «Сохранить» доступна всегда — можно закрыть модальное окно сохранив любое его состояние, даже с ошибкой.
Поля в модальном окне проверяются по иерархии сверху вниз, каждый раз по потере фокуса любым из полей и подсвечивается первое по старшинству среди неправильно заполненных полей.
Например, выбрали регион Свердловская обл, город Екатеринбург, потом меняем регион на Калужскую область, подсветится поле «Город».
Адреса не в Российской Федерации
Если требуется указывать адрес не только в Российской Федерации, то добавляется поле с автокомплитом «Страна».
Если выбрана страна, отличная от «Россия», показываем только многострочное поле «Адрес» и поле «Индекс».
Если пользователь вводит страну «Россия», ниже показываем все поля ввода адреса по справочнику ФИАС.
Модальное окно с дополнительными полями ФИАС
В зависимости от требований аналитики возможно наличие полей «Индекс», «ОКАТО», «ОКТМО» и «Номер адреса в реестре».
У дополнительных полей показываем значок вопроса с подсказкой о том, что поля заполняются автоматически.
Описание полей
Страна
Автокомплит работает всегда, ищет как по полным названиям стран так и по общепринятым сокращениям. Значения упорядочены по алфавиту.
Название поля в справочнике ФИАС: Наименование страны
Регион
Автокомплит работает всегда, ищет как по названиям так и по коду региона.
При поиске по году региона, ищем по подстроке. Первыми отображаются результаты, где подстрока встречается раньше. При одинаковом положении подстроки - упорядочено по возрастанию значений.
При поиске по названию ищем по подстроке. Первыми идут результаты с совпадением в названиях регионов, затем - в названиях топонимов.
Коды регионов показываются только в выпадающем списке, в поле будет подставлено лишь название региона. Тип региона (республика, автономный округ, край, область) пишется без сокращений.
Название поля в справочнике ФИАС: Наименование субъекта Российской Федерации
Район
Автокомплит работает всегда. Работает поиск по всему справочнику адресов. В выпадающем списке у вариантов не пишем название топонима «район». Если регион не выбран, в списке показываем варианты через запятую с регионом и пишется название топонима «район». После выбора подставится регион.
Для выбранного значения названия топонима «район» и «р-н» не пишем, только название выбранного района.
Название поля в справочнике ФИАС: Наименование муниципального района, городского округа или внутригородской территории (для городов федерального значения) в составе субъекта Российской Федерации
Город
Автокомплит работает всегда. Работает поиск по всему справочнику адресов. В выпадающем списке у вариантов не пишем название топонима «город». Если не выбраны значения в полях выше, в списке показываем варианты через запятую с регионом и районом и пишем название топонима «город». После выбора подставится район и регион.
Городов федерального значения (которые на самом деле регионы) четыре: Москва, Санкт-Петербург, Севастополь, Байконур.
Для выбранного значения не пишем название топонима «город» или «г.».
Название поля в справочнике ФИАС: Наименование городского или сельского поселения в составе муниципального района (для муниципального района) или внутригородского района городского округа
Населенный пункт
Автокомплит работает всегда. Работает поиск по всему справочнику адресов. Если не указаны поля выше, в списке показываем полный путь через запятую до населенного пункта.
В результатах поиска и для выбранного значения пишем тип населенного пункта.
Название поля в справочнике ФИАС: Наименование населенного пункта
Иная территория
Автокомплит работает всегда. Работает поиск по всему справочнику адресов. Если не указаны поля выше, в списке показываем полный путь через запятую до иной территории.
В результатах поиска и для выбранного значения пишем тип территории.
Если в указанном в полях выше топониме нет иных территорий, показываем сообщение.
Название поля в справочнике ФИАС: Наименование элемента планировочной структуры
Улица
Автокомплит работает, только если заполнены поля «Город» или «Населенный пункт».
Если не заполнены, показываем сообщение.
Если результат поиска - улица, то название топонима не выводим. Если это не улица, а проспект, переулок и т.д., вместе с названием пишем тип топонима. Как и в регионе не сокращаем названия типов: Космонавтов пр. — проспект Космонавтов; Базовый пер. — переулок Базовый.
Ищем по подстроке. Первыми идут результаты с совпадением в названиях улиц, затем - в названиях других типов топонима (проспект, переулок и т.д.), последними - с совпадениями в названиях типов топонима.
Название поля в справочнике ФИАС: Наименование элемента улично-дорожной сети
Участок
Автокомплит работает, только если заполнено поле «Улица». Если не заполнено, выводится cообщение.
Если в топониме «Улица» нет участков, показываем сообщение.
Название поля в справочнике ФИАС: Номер земельного участка
Дом, сооружение
Автокомплит работает, только если заполнено поле «Улица». Если не заполнено, показываем сообщение.
В поле «Дом, сооружение» предлагаются все варианты и сочетания значений «дом», «владение», «домовладение», «корпус», «строение», «сооружение», «литер». Название топонима «дом» не пишется ни в списке, ни в выбранном значении.
Название поля в справочнике ФИАС: Тип и номер здания, сооружения или объекта незавершенного строительства
Квартира, помещение
Текстовое поле.
Название поля в справочнике ФИАС: Тип и номер помещения, расположенного в здании или сооружении
Индекс, ОКАТО, ОКТМО и Номер адреса в реестре
Поля заполняются автоматически на основании заполненных выше полей адреса, но пользователь может ввести собственное значение.
Во все эти поля можно ввести только цифры, а в поле «Номер адреса в реестре» - допускаются еще первые 6 латинских букв и дефис.
Если адрес введен неверно, поля очищаются.
Если пользователь изменяет поля вручную, показывается предупреждение с возможностью вернуть исходное значение.
Устаревшие адреса
В зависимости от требований аналитики устаревшие адреса могут отображаться или не отображаться в результатах поиска.
Если в сервисе используется отображение устаревших названий, нужно учитывать случаи, когда не требуется обновлять значения.
Если требуется заполнять адрес, как есть в документе, например, при указании прописки. То в сервисе должно быть выведено предупреждение о том, что введенный адрес является устаревшим. И предложение пользователю выбрать один из вариантов - заменить актуальным или оставить устаревшее.
При выборе замены новым, адрес поменяется во всех полях. Если пользователь выбрал вариант оставить устаревшим, то предупреждение больше не показывается.
Если же в сервисе требуется ввод только актуальных адресов, например, при отчетности в ФНС, то устаревший адрес будет отмечен ошибкой и предложен вариант заменить актуальным.