КЛАДР KLADR

КЛАДР — это компонент на базе лайтбокса, который позволяет указывать адрес в соответствии с Классификатором адресов России.

Адрес на странице

В форме или на странице реквизитов адрес отображается как блок текста, со ссылкой «Заполнить адрес» или «Изменить адрес»:

В блоке с адресом не используются сокращения типов топонимов «ул.» «пер.» и прочие. Вместо этого пишем слова полностью «улица», «переулок» и так далее.

Топо́ним (от др.-греч. τόπος — место + ὄνομα — имя, название) — имя собственное, обозначающее название географического объекта: Москва, Екатеринбург, Волга, Исеть, Байкал и т.д.

Тип топонима — родовой географический термин: город, село, деревня, хутор, река и т.п.

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

Если в адресе отсутствует какой-то тип топонима, он просто не показывается вместе с разделителем:

Состав лайтбокса

При клике на ссылку открывается лайтбокс с определенным набором полей.

Не все поля обязательны для заполнения, но после потери фокуса все заполненные поля проверяются на соответствие справочнику КЛАДР.

Вариант для бухгалтеров


Бухгалтер знает набор полей КЛАДРа и привык к нему. Скорее всего указывая адрес, бухгалтер списывает его с какого-нибудь документа, в котором он указан именно в таком порядке: индекс, регион, город.

По потере фокуса полем «Индекс» автоматически заполняются поля «Регион», «Район», «Город» и «Населенный пункт».

В полях «Регион», «Район», «Город» и «Населенный пункт» работает автокомплит, предлагая значения из справочника.

При заполнении поля «Город» или «Населенный пункт» значения в родительские элементы — «Регион» и «Район» подставятся автоматически, если они не были заполнены ранее.

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

Вариант для предпринимателей


Предполагает упрощенный сценарий, когда пользователь указывает адрес по памяти, и первым заполняет поле «Город или населенный пункт».

В этом варианте, при заполнении или изменении поля «Город или населенный пункт», регион, район, и, если необходимо, город (по населенному пункту), определяются автоматически по КЛАДРУ, и не редактируются. Поля «Индекс» и «ОКТМО» определяются автоматически, но могут быть изменены.


Вариант с населенным пунктом:

Автокомплит

В полях «Страна», «Регион», «Район», «Город», «Населенный пункт», «Улица», «Дом» используется автокомплит без стрелки с опцией «Сложный список».

Состояние по умолчанию

Фокус на пустом поле

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

Поиск

Ищем по подстроке:

Ищем и в топонимах, и в их типах. Если есть совпадения и с топонимом и с наименованием типа — приоритет в показе у топонимов:

Не нашли ничего в топонимах, но есть совпадения с типом — показываем все топонимы введенного типа:

Продолжаем поиск после введенного пробела:

После выбора подставляем значение целиком, если тип не совпадает с названием поля:

Сложные данные

Если пользователь начал первым заполнять одно из полей: «Область», «Город», «Населенный пункт» — автокомплит должен искать по всему справочнику, показывая первые 5 из всех найденных результатов.

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

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

По нажатию Enter фокус получает следующее незаполненное поле.

Автокомплит в поле «Дом, корпус»

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

Валидация

У адреса РФ есть три состояния

  1. Заполнен по справочнику адресов
  2. Заполнен не по справочнику адресов
  3. Не заполнен

В зависимости от требований системы критичность ошибки может меняться. Кнопка лайтбокса «Сохранить» доступна всегда — можно закрыть лайтбокс сохранив любое его состояние.

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

Например, выбрали регион Свердловская обл, город Екатеринбург, потом меняем регион на Калужскую область, Екатеринбург не убираем, а подсвечиваем красным и пишем ошибку «Заполнено не по справочнику адресов».

Незаполненность поля не считается ошибкой.

Поля «Индекс», «Дом/корпус» и «Офис/квартира» не валидируются, в них можно ввести любые значения, в поле индекса — в цифровом формате, в поля поля дом/корпус и офис/квартира в любом формате.

Так же не валидируются поля ниже при изменении индекса.

Адреса не в Российской Федерации

В зависимости от того какой указывается адрес есть 3 варианта лайтбокса:

  1. Юридический адрес РФ — нет поля «Страна». 

  2. Адрес (есть поле «Страна», выбрана Россия).

  3. Адрес в другой стране (есть поле «Страна», выбрали страну, отличную от России).

Поле «Страна»

По умолчанию подставляем Россию, если указывают другую, то поля индекс и адрес работают без автокомплита:

Описание полей КЛАДРа для бухгалтеров

Индекс

В поле «Индекс» нет автокомплита, но оно влияет на все остальные поля. Если пользователь указал индекс — поля «Регион», «Район», «Область», «Город» и «Населенный пункт» заполнятся автоматически значениями, соответствующего этому индексу.

В поле «Индекс» можно ввести только цифры.

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

Регион

Автокомплит у региона работает всегда и он ищет как по названиям так и по коду региона.

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

Район

Автокомплит работает всегда. Если регион не выбран, в списке показываем варианты с регионом. После выбора подставится регион и индекс.

«Район» и «р-н» не пишем, только название района.

Город

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

Городов федерального значения (которые на самом деле регионы) четыре: Москва, Санкт-Петербург, Севастополь, Байконур.

Если в город вводим один из этих городов (автокомплит при этом есть), то после ухода из поля подставляем регион. Город при этом остается, но код КЛАДРа формируется правильный (как если бы был выбран только регион Москва).

«Город» и «г.» не пишем, только название города.

Населенный пункт

Автокомплит работает, если указаны район или город (оба с регионом).

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

Улица

Автокомплит работает, если указаны город или населенный пункт.

Если это не улица (проспект, переулок и т.д.) вместе с названием пишем тип.

Как и в регионе не сокращаем названия типов: Космонавтов пр. — проспект Космонавтов; Базовый пер. — переулок Базовый

Дом, корпус, квартира

Автокомплит работает, если указана улица.

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

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

Квартира

У поля «Квартира» пользователь может поменять тип на «Офис» или «Помещение». Автокомплит в поле не работает.