Фиас и кладр чем отличаются
Отличие ФИАС от КЛАДР, Разъяснения ФНС по поводу применения ФИАС
[Источник здесь и ниже: 2].
Назад на страницу общей информации и ссылок на скачивание ФИАС.
1. Кто осуществляет присвоение адресов объектам адресации и размещение адресной информации в государственном адресном реестре?
Федеральным законом от 06.10.2003 № 131-ФЗ «Об общих принципах организации местного самоуправления в Российской Федерации» (в редакции Закона № 443-ФЗ) установлено, что к вопросам местного значения городских и сельских поселений, муниципальных районов, городских округов относится, в том числе, присвоение адресов объектам адресации, изменение, аннулирование адресов, присвоение наименований элементам улично-дорожной сети (за исключением автомобильных дорог федерального значения, автомобильных дорог регионального или межмуниципального значения), наименований элементам планировочной структуры в границах соответствующих муниципальных образований, изменение, аннулирование таких наименований, размещение информации в государственном адресном реестре.
При этом под объектом адресации понимается один или несколько объектов недвижимого имущества, в том числе земельные участки, либо в случае, предусмотренном установленными Правительством Российской Федерации правилами присвоения, изменения, аннулирования адресов, иной объект, которому присваивается адрес.
Таким образом, адреса объектам адресации, в том числе земельным участкам, зданиям, помещениям, объектам капитального строительства, присваивают органы местного самоуправления, органы государственной власти субъектов Российской Федерации – городов федерального значения. Кроме того, указанные органы размещают в государственном адресном реестре информацию об адресах.
2. В чем разница между Классификатором адресов ФНС России (КЛАДР) и ФИАС?КЛАДР – это ведомственный классификатор, который был инициативно создан ФНС России в 1998 году для обеспечения взаимодействия Службы с налогоплательщиками.
КЛАДР содержит формализованные наименования элементов планировочной структуры, элементов улично-дорожной сети. Официальные наименования элементов планировочной структуры, элементов улично-дорожной сети содержатся в ФИАС. На портале ФИАС доступны для скачивания полная база данных ФИАС, обновления ФИАС, а также база данных в формате КЛАДР. Скачивание указанных баз данных производится бесплатно.
Таким образом, пользователь самостоятельно решает, какую базу данных использовать – ФИАС или КЛАДР.
3. Что делать, если в государственном адресном реестре адрес отсутствует или неточен?Чтобы внести актуальные сведения об адресе в государственный адресный реестр, физическому или юридическому лицу необходимо обратиться в орган местного самоуправления, орган государственной власти субъектов Российской Федерации — городов федерального значения по месту нахождения объекта адресации. Источник 2: ФНС.Последнее обновление страницы: ноябрь 2014.
Как перейти от КЛАДР к ФИАС и ничего себе не сломать
ГНИВЦ ФНС сообщает, что с начала 2018 года КЛАДР перестанет существовать и скачать его будет нельзя.
Дисклеймер:
Если вы совсем не поняли, что означают эти наборы букв, ничего страшного. Ниже мы расскажем о реалиях работы с адресами в России. Если вам это неинтересно, почитайте про топографические каламбуры.
Правильные адреса нужны компаниям, которые любят своих клиентов. Знакомые банки, страховые и интернет-магазины, которые сейчас используют справочник КЛАДР, спрашивают нас, что же делать дальше. Поэтому мы запарились и написали пошаговое руководство по переходу с одних букв на другие от КЛАДР к ФИАС.
Зачем нужны классификаторы адресов
Компаниям нужны адреса клиентов, чтобы рассылать письма, указывать в договорах и соглашениях. Но мало просто отправить письмо: желательно, чтобы его получили и прочитали. Поэтому адреса должны быть правильными и понятными.
Как вы думаете, какой государственный орган наиболее заинтересован в том, чтобы вы получали от него письма? Правильно! Налоговая. Поэтому ФНС России много лет разрабатывает и поддерживает ведомственные общероссийские классификаторы адресов. И так как более полных справочников нет, их стали использовать повсеместно.
Сначала был КЛАДР, и было в нем 6 уровней:
Регион → Район → Город → Населенный пункт → Улица → Дом со строениями и корпусами
С 2012 года в эксплуатацию ввели новый классификатор — ФИАС. Про основные отличия мы писали три года назад в статье «ФИАС или КЛАДР: выбираем справочник адресов». В ФНС к разработке нового классификатора подошли основательнее и постарались учесть все грабли минусы КЛАДР. Из интересного добавили дату начала и окончания записи, ввели фиксированный ID для каждого дома (предполагается, что он не будет меняться).
До сих пор продолжают обновляться оба классификатора, но поддерживать совместимость становится сложнее. В прошлом году в ФИАС начали добавлять новые уровни. Например, планировочные структуры — это всякие дачные товарищества и микрорайоны, в классификаторе их уже больше 81 000. В конечном итоге в ФНС приняли логичное решение прекратить поддержку КЛАДР и удалить его в конце 2017 года.
Как адреса хранятся в ФИАС и КЛАДР
Мы видели много способов хранения адресов в структуре КЛАДР. В основном они сводятся к двум вариантам:
То есть задача миграции сводится к тому, чтобы перевести код или текстовый адрес в формате КЛАДР в код ФИАС.
Классификационные коды выглядят так:
№ | Уровень | Пример | код ФИАС | код КЛАДР |
1 | Регион | Ленинградская область | СС: 47 | СС: 47 |
2 | Автономный округ | |||
3 | Район | Всеволожский р-н | РРР: 005 | РРР: 005 |
4 | Город | ГГГ: 000 | ГГГ: 000 | |
5 | Внутригородская территория | |||
6 | Населенный пункт | деревня Кудрово | ||
65 | Планировочная структура | мкр Новый Оккервиль | ||
7 | Улица | УУУУ | УУУУ: 0023 | |
75 | Земельный участок | ЗЗЗЗ | ||
8 | Здание, сооружение, объект незавершенного строительства | ДДДД | ДДДД | |
9 | Помещение в пределах здания, сооружения | ОООО | ||
90 | Дополнительная территория | |||
91 | Подчинённые дополнительных территорий |
Раскладываем адрес по уровням ФИАС и КЛАДР
Из примера видно, что даже в простых ситуациях между классификаторами возникает недопонимание. Но есть еще один очень важный момент.
Классификационный код отражает текущую структуру адреса, а она может измениться. Например, у Оккервиля изменится район и весь код станет недействительным, мы его уже не найдем.
Чтобы избавиться от этого, в ФИАС добавили еще идентификационный код ФИАС. Это глобальный идентификатор для каждого объекта: города, улицы, района и т. д. Выглядит он как набор букв и цифр, который формируется по стандарту GUID (Globally Unique Identifier). Типичный GUID в ФИАС выглядит так: f77948dc-7bc8-42cb-979e-2c958d162d63.
Код КЛАДР → идентификационный код ФИАС
Если адрес у вас хранится как код КЛАДР улицы + домовая часть («дом 1 строение 3 квартира 44»), то для него все относительно просто.
Таблица ADDROBJ хранит все адресные объекты с их идентификаторами
Для работы понадобится таблица ADDROBJ из выгрузки ФИАС в формате xml или dbf. В ней хранятся все объекты (города, улицы и т. д.) подряд с уникальными идентификаторами GUID.
Будем использовать следующие колонки:
Пример: Москва, ул Александра Солженицына. Код КЛАДР: 77000000000151900.
Шаг 1. Выделяем из кода КЛАДР код до улицы, то есть берем первые 15 цифр: 770000000001519 00.
Шаг 2. Ищем код КЛАДР в поле PlainCode. Если нашлась одна запись, то сохраняем значение поля AoGuid и пропускаем следующий пункт. Но по нашему коду 770000000001519 находится три записи, нужна дополнительная проверка.
Но можно поступить еще проще и воспользоваться готовым сервисом. DaData.ru умеет подсказывать адреса в конкретных регионах, районах, городах и населенных пунктах. Понимает названия («Петергоф»), коды КЛАДР («7800000800000») и ФИАС («8f238984-812b-4bb1-850b-49749fb5c56d»).
Строчный адрес КЛАДР → код ФИАС
Самый простой вариант — воспользоваться DaData.ru. Сервис сделает все за вас автоматически. Но можно и развлекаться самостоятельно.
Адреса одной строкой
Если адреса у вас хранятся одной строкой, вроде этой:
г Москва, улица Большая Коммунистическая, дом 3, то поздравляем, это самая интересная задача. Нужно писать свой адресный парсер, который будет разделять строку в формате КЛАДР на части, искать каждый ее компонент в ФИАС с учетом опечаток, сокращений, исторических названий и определять по ним ФИАС-код. Легче это сделать уже готовым адресным парсером. Как выбрать алгоритм для адресного фильтра, мы рассказывали раньше.
Адреса по КЛАДР
Тип региона | Название региона | Тип улицы | Название улицы | Тип дома | Номер дома |
г | Москва | улица | Коммунистическая Б. | дом | 3 |
Примерно так выглядит адрес, разложенный по КЛАДР
Код ФИАС можно собрать, используя всё ту же таблицу ADDROBJ. Но в этом случае двигаться по уровням нужно от большего к меньшему.
Шаг 1. Берем название региона и ищем его в поле FormalName таблицы ADDROBJ.
FormalName = Москва →
AoGuid = 0c5b2444-70a0-4932-980c-b4dc0d3f02b5
Шаг 2. Идем дальше по уровням вниз и ищем по FormalName с фиксированным родителем — найденным AoGuid на предыдущем шаге. В нашем случае уровни «город» и «населенный пункт» пустые, а следующий непустой уровень — улица.
ParentGuid = 0c5b2444-70a0-4932-980c-b4dc0d3f02b5,
FormalName = Коммунистическая Б. → AoGuid=f77948dc-7bc8-42cb-979e-2c958d162d63
Шаг 3. Если дошли до улицы, то можно найти и дом. Для этого в таблице HOUSE ищем номер дома с фиксированным AoGuid улицы. ФИАС не полон домами, поэтому не расстраивайтесь, если нужный номер не найдется.
AoGuid = f77948dc-7bc8-42cb-979e-2c958d162d63,
дом номер 3 →
HouseGuid = bce8be1f-f2f7-4cce-836e-08daac0b931e
Подводные камни
LEVEL | SCNAME | SOCRNAME | KOD_T_ST |
7 | тракт | Тракт | 727 |
7 | туп | Тупик | 728 |
7 | ул | Улица | 729 |
7 | уч-к | Участок | 730 |
7 | ф/х | Фермерское хозяйство | 789 |
7 | ферма | Ферма | 769 |
7 | х | Хутор | 758 |
7 | ш | Шоссе | 731 |
Таблица SOCRBASE хранит полные и сокращенные типы объектов
Тип по КЛАДР может быть сокращенным и полным: «ул» — «Улица», «х» — «Хутор». В ФИАС в явном виде хранится только сокращенный тип (в поле ShortName). Полный тип в сокращенный можно превратить с помощью таблицы SOCRBASE, в ней для каждого уровня хранится соответствие сокращённых и полных типов.
И напоследок хорошая новость для тех, кому лень запариваться всем перечисленным. В ближайшее время мы планируем выпустить ФИАС в формате КЛАДР для тех, кто не успеет перейти на формат ФИАС до конца года. Следите за новостями 🙂
ФИАС: особенности, этапы перехода и обязательность применения
ФИАС: что это такое
Федеральная информационная адресная система (ФИАС) была создана в соответствии с распоряжением Правительства РФ от 10.06.2011 № 1011-р и начала работать уже с 01.11.2011 года. До этого времени в целях систематизации информации об адресах использовался КЛАДР – классификатор адресов, разработанный ФНС России исключительно в налоговых целях.
В ФИАС вносятся сведения обо всех имеющихся на территории России адресах, а также о реквизитах документов о присвоении, изменении и аннулировании этих адресов (ст. 4 Федерального закона от 28.12.2013 № 443-ФЗ «О федеральной информационной адресной системе…»).
Сведения об адресах включают в себя следующую информацию:
Также в ФИАС представлены присвоенные объектам коды ОКТМО и коды ОКАТО.
Информация об адресах в ФИАС постоянно актуализируется и дополняется. В случае изменения или аннулирования адреса все ранее внесенные сведения об адресе сохраняются в ФИАС со статусом «архивная информация».
Предоставление сведений об адресах в электронном виде осуществляется бесплатно. Для получения сведений на бумажном носителе потребуется заплатить пошлину (ч. 6 ст. 8 Федерального закона от 28.12.2013 № 443-ФЗ).
Чем ФИАС отличается от КЛАДР
Главное отличие между этими двумя системами заключается в том, что КЛАДР – это сугубо ведомственная база данных, а ФИАС – общая для всех министерств, организаций и физлиц адресная система.
В КЛАДР используются формализованные наименования элементов планировочной структуры и элементов улично-дорожной сети. В ФИАС же содержатся официальные наименования всех этих элементов.
ФИАС содержит больше информации об объектах адресации, адреса в ней стандартизированы, а предоставление сведений конечному пользователю осуществляется в более удобной и детализированной форме.
В отличие от КЛАДР, в ФИАС добавлены такие весьма важные компоненты, как:
Для рядовых пользователей учетных программ (приложений) и их разработчиков основное различие между ФИАС и КЛАДР сводится к тому, что файлы первой адресной системы гораздо «тяжелее» файлов второй. Так, если файлы КЛАДР «весят» 300 Мб, то файлы ФИАС занимают уже 9 Гб файлового пространства.
Данное обстоятельство обуславливает следующие моменты:
Этапы внедрения ФИАС
Федеральный закон от 28.12.2013 № 443-ФЗ «О федеральной информационной адресной системе…» вступил в силу с 1 июля 2014 года. С этого момента содержащиеся в ФИАС сведения об адресах стали обязательны для использования следующими субъектами:
Для организаций и ИП обязанности по использованию сведений, содержащихся в ФИАС, законом не установлено. Поэтому рядовые налогоплательщики по-прежнему могут пользоваться сведениями из КЛАДР (в случае их актуальности).
При этом ФНС России официально поддерживала и регулярно обновляла КЛАДР до 31.12.2017.
Но и сейчас ведомство по-прежнему регулярно выгружает ФИАС в формате КЛАДР и публикует его.
Организации и ИП могут использовать в отчетности не только коды по ФИАС, но и коды по КЛАДР. Форматы, передаваемые в ФНС, не требуют обязательного указания идентификатора адреса по ФИАС.
Единственным форматом, в котором требовался обязательный ввод идентификатора адреса по ФИАС, в январе 2018 года стал формат «Спецификации на обмен данными в электронном виде о нетрудоспособности и других сведениях…», используемый при оформлении документов на прямые выплаты пособий в пилотных регионах ФСС.
С 1 января 2018 года при заполнении данного формата нельзя было использовать коды из КЛАДР. Между тем, уже в ноябре 2018 года ФСС утвердил спецификацию версии 1.7.6, в которой изменилась обязательность полей. Вместо GUID из ФИАС появилась возможность передавать код того же адреса по КЛАДР.
Таким образом, в настоящее время среди форм отчетности, передаваемых в контролирующие органы, не осталось ни одной, где код по ФИАС был бы обязателен.
ФИАС в учетных решениях 1С
В программе «1С:Бухгалтерия 8» начиная с версии 3.0.37.25 в качестве источника адресной информации используется ФИАС. Вся линейка других современных программ 1С также поддерживает работу с ФИАС с 2014 года.
Проверка адреса по ФИАС доступна в разделе Администрирование – Общие настройки – Контактная информация.
ФИАС не поддерживается только в программах «старого поколения». К ним, в частности, относятся:
Вместо автоматической загрузки кодов ФИАС во всех этих программах предусмотрен ручной ввод адресов, без подсказок, автозаполнения и проверки корректности адресов.
ФИАС: этапы перехода, обязательность применения и особенности
ФИАС был внедрен еще в 2011 году, но так с тех пор не только не заменил собой КЛАДР, но еще и не стал общеобязательным.
Что такое ФИАС
Федеральная информационная адресная система (ФИАС) начала действовать на территории Российской Федерации, начиная с 01.11.2011 года в соответствии с постановлением Правительства №1011-р от 10.06.2011 года. До момента внедрения ФИАС, использовался классификатор адресов КЛАДР, который был разработан ФНС России исключительно в налоговых целях.
В федеральную информационную адресную систему (ФИАС) вносятся сведения обо всех имеющихся адресах на территории Российской Федерации, а также сведения о реквизитах документов, присвоении, аннулировании и изменении этих адресов.
Так, сведения об адресах включают в себя:
Вся предоставляемая информация об адресах в ФИАС обновляется и актуализируется на постоянной основе. Если происходят изменения или аннулирование адреса, то все сведения о нем переносятся в раздел «архивная информация» и сохраняются в базе ФИАС.
Адресный реестр ФИАС находится на официальном портале (веб-сайте) ФНС России, а оператором реестра выступает сама федеральная налоговая служба РФ. Получить доступ к реестру могут физические и юридические лица без необходимости оплачивать просмотр и подавать предварительный запрос в ФНС или любой другой орган.
В электронном виде все сведения об адресах находящиеся в базе ФИАС предоставляются бесплатно. Пошлина уплачивается только в тех случаях, когда нужны сведенья на бумажном носителе.
Отличия ФИАС от КЛАДР
Главное отличие между КЛАДР и ФИАС заключается в том, что ФИАС – это общая адресная система для всех организаций, министерств и физлиц, а КЛАДР – сугубо ведомственная база данных.
В федеральной информационной адресной системе содержится больше информации об объектах адресации, вся информация стандартизирована, а данные предоставлены в детализированной и максимально удобной форме.
В КЛАДР используются формализованные наименования элементов планировочной и улично-дорожной структуры (сети). В ФИАС же используется не формализованные, а официальные наименования всех указанных элементов.
Помимо этого, в ФИАС внедрены такие важные элементы, как:
Также промышленные зоны, строительно-гаражные кооперативы и садово-огороднические товарищества в ФИАС разделены на различные уровни, поэтому не путаются с поселениями и городами РФ, как это бывает в случае с КЛАДР.
Различие между КЛАДР и ФИАС для рядовых пользователей учетных приложений и их разработчиков сводится к тому, что учетные файлы ФИАС намного больше занимают дискового пространства. Так, файлы ФИАС занимают около 9 Гб памяти, в то время как КЛАДР занимает всего 300 Мб.
В связи с этим у ФИАС есть несколько недостатков:
ФИАС – этапы внедрения
Федеральный закон № 443-ФЗ от 28.12.2013 вступил в силу 01.05.2014 года. Начиная с этого момента, информация, содержащаяся в сведениях об адресах в ФИАС стала обязательной для использования:
Обязательное использование сведений, содержащихся в ФИАС, для ИП и организаций, законном не предусмотрено. В связи с этим, ИП и организации по-прежнему могут использовать актуальные сведения из КЛАДР.
Нужно заметить, что ФНС России до 31.12.2017 года на регулярной основе обновляла и поддерживала КЛАДР. Сегодня, федеральная налоговая служба продолжает выгружать ФИАС в формат КЛАДР и регулярно его публиковать (без обновления).
Именно поэтому, ИП и организации могут использовать в предоставляемой отчетности актуальные коды как по КЛАДР, так и по ФИАС. При этом форматы, передаваемые в ФНС РФ, не требуют обязательного указания идентификатора адреса по ФИАС.
Включительно до 1 января 2018 года единственным форматом, где нужно было обязательно вводить код идентификатора адреса по ФИАС был формат «Спецификации на обмен данными в электронном виде о нетрудоспособности и других сведениях…», который применялся при оформлении документов на прямые выплаты пособий.
С 01.01.2018 года не осталось ни единого формата, где код по ФИАС был бы обязательным на законодательном уровне.
ФИАС в 1С
В качестве основного источника адресной информации, ФИАС используется в «1С:Бухгалтерия 8», начиная с версии 3.0.37.25. Другие программы 1С также поддерживают работу и функционируют с ФИАС (с 2014 года).
Проверить адрес по ФИАС можно зайдя в раздел «Администрирование», выбрав «Общие настройки» и нажав на раздел «Контактная информация».
ФИАС не поддерживается в программах 1С «старого поколения», к которым относятся:
Во всех вышеперечисленных 1С программах, используется не автоматическая загрузка кодов по ФИАС, а ручной ввод адресов, без проверки корректности, подсказок и автозаполнения полей.
Напоминаем, что предоставление информации в электронном виде об адресах в ФИАС производится на безвозмездной (бесплатной) основе, а плата за предоставление информации взымается только при необходимости получения документов в бумажном виде (согласно ч. 6 ст. 8 Федерального закона от 28.12.2013 № 443-ФЗ).
Задача со звездочкой: как мы перекодировали ФИАС в КЛАДР
С 1 января ФНС перестанет обновлять адресный справочник КЛАДР. Он официально устареет, останется один ФИАС. Но многие промышленные системы до сих пор работают с КЛАДР. Поставщики не собираются их обновлять, а переделывать своими руками бизнесу выходит долго и дорого.
Мы послушали клиентов и придумали решение: взять ФИАС, который живее всех живых, и написать перекодировщик в КЛАДР.
Со стороны задача кажется легкой. Нам так и говорили: «То есть вы просто берете ФИАС и переделываете в КЛАДР?». На деле никакого «просто» нет. У справочников совсем разные структуры и непонятно, как из подкачанного ФИАС раскидать данные в неказистый КЛАДР. При этом общей документации для справочников нет.
Это было веселье, которым мы сейчас щедро поделимся.
Сопоставили структуры справочников
ФИАС весит порядка 28 Гб, в нем около 450 таблиц. КЛАДР — это примерно 500 Мб и 6 табличек. Данные для КЛАДР лежат всего в трех таблицах ФИАС. Остальные для перекодирования не нужны, их КЛАДР не предусматривает.
Если на схеме в скобках стоит «», значит, для каждого региона есть своя табличка с подобным названием
Переносить запись за записью не получится: сломаются или связи между таблицами, или логика внутри таблиц, или еще что-нибудь.
Например, в ФИАС один дом — это одна запись в таблице. Мы на радостях перекидали дома один за другим в КЛАДР, и справочник фатально разбух: 3,5 Гб против нормальных 500 Мб.
КЛАДР — скромняга, он не может себе позволить отдельную запись под каждый дом. Поэтому похожие дома в справочнике сгруппированы в одну строку. При этом их номера на голубом глазу хранят в поле NAME через запятую.
Когда дома находятся на одной улице и различаются только номером, их записывают в одну строку
Тогда мы принялись загружать из ФИАС улицу за улицей и группировать дома по записям. Отсчитываешь, столько номеров влезет через запятую в NAME, и создаешь в КЛАДР общую запись для этих домов. (В NAME, к слову, 40 символов.) Дело пошло́.
Для тех, кто решится повторить наш путь: так выглядит диаграмма зависимостей ФИАС и КЛАДР
Обычная проблема перекодировки: неясно, как переносить поля между похожими таблицами, а документация не выручает. Удивляться нечему, потому что документацию писали явно не для перепиливания одного справочника в другой.
Например, в ФИАС есть поля:
Еще пример. Это описание полей в ФИАС:
В итоге мы брали КЛАДР и ФИАС от ФНС и смотрели, как значения полей перетекают из одного справочника в другой. Универсального рецепта нет, поэтому получилась тьма разнородных правил переноса.
Нашли, где брать КЛАДР-коды
КЛАДР-код — главный идентификатор справочника КЛАДР. Только по нему можно однозначно определить адресный объект.
ФИАС тоже хранит КЛАДР-коды. Причем с оптимизацией в справочнике так себе, поэтому из одной только таблицы ADDROB можно получить коды тремя способами:
Ничего страшного, у нас же есть CODE! Снова сюрприз: он пуст так часто, что со временем перестаешь удивляться. А если не пуст, расслабляться рано: код в нем может не совпадать с PLAINCODE.
Подобрались к последнему бастиону: начали склеивать КЛАДР-коды сами. И что бы вы думали? Да, собранный код частенько расходится с PLAINCODE или CODE.
Поняли, как переносить планировочные структуры и дополнительные территории
Разработчики предусмотрели в ФИАС больше уровней адресных объектов, чем в КЛАДР: 13 и 6 соответственно.
При этом в КЛАДР есть объекты «лишних» уровней: планировочные структуры и доптерритории. Это садовые товарищества, дачные кооперативы и т. д. Их переносят из ФИАС с изрядными костылями. Делают так: условное садовое товарищество превращают в улицу, а к названию подчиненных ему улиц в скобках добавляют название товарищества.
В теории сложно, объясню на примере. Допустим, в садовом товариществе «Массив N2 СТ Вишня» есть улица Луговая. При переносе этих объектов из ФИАС в КЛАДР происходит вот что:
Разобрались с переименованиями и переподчинениями
В России постоянно переименовывают и переподчиняют города, области, улицы. Например, подмосковный Железнодорожный 40 лет был городом, а потом внезапно стал районом Балашихи.
В адресных справочниках устаревшие сущности хранят для обратной совместимости. Получаются цепочки версий.
Был город V1. Его переименовали — в справочнике появилась версия V2. Переподчинили — V3. И так далее до V
Цепочки подчинений переносят с учетом уровней, которых нет в КЛАДР. Например, цепочка «улица → район города → город» приходит из ФИАС в КЛАДР в виде «улица → город».
Иногда в ФИАС одна версия объекта отличается от другой только полями, которых вообще нет в КЛАДР. Например, у города Майкоп 20 февраля 2017 года сменился ОКТМО: был 79701000, стал 79701000001. Больше ничего не поменялось, но в ФИАС все равно появилась новая версия объекта. Если изменившиеся данные не предусмотрены в КЛАДР, правильно переносить только новую версию объекта. Мы делаем вид, что прошлой как бы и не было.
А порой объект из-за переподчинения переходит на уровень, которого нет в КЛАДР. Типичная история: поселок Обираловка → город Железнодорожный → район Железнодорожный города Балашиха. Уровня городских районов нет в КЛАДР, и Железнодорожный переселяют с 4-го уровня на 99-й. Казалось бы, повышение, но нет: на 99-м уровне хранят исчезнувшие адресные объекты. Был город, стал деклассированный элемент. Еще и улицы переподчинили, причем хитро: создали в КЛАДР несколько населенных пунктов, передали им улицы Железнодорожного, а населенные пункты — Балашихе.
Разрешили конфликты сокращений
LEVEL | SOCRNAME | SCNAME | KOD_T_ST |
---|---|---|---|
3 | Автономный округ | АО | 305 |
3 | Территория | тер | 303 |
3 | Район | р-н | 301 |
3 | Улус | у | 302 |
3 | Муниципальный р-н | м р-н | 309 |
В КЛАДР таблица сокращений тоже есть, но записей там поменьше. Просто перенести сокращения из ФИАС в КЛАДР нельзя: уровни не совпадают. Некоторых вообще нет, у других разные номера.
Мы долго сравнивали справочники и все-таки вывели ФНС на чистую воду. Вот как она сдвигает уровни сокращений.
ФИАС | КЛАДР |
---|---|
0 | X |
1 | 1 |
2 | 1 |
3 | 2 |
4 | 3 |
5 | X |
6 | 4 |
7 | 5 |
8 | 6 |
9 | X |
35 | X |
65 | 5 |
75 | X |
90 | X |
91 | X |
«X» значит, что уровень просто закрывается. Все сокращения, что были в ФИАС на этом уровне, не попадают в КЛАДР. Например, в справочнике нет внутригородских территорий, помещений в пределах зданий, земельных участков и т. д.
Из-за сдвига уровней появляются проблемы с KOD_T_ST — уникальным идентификатором сокращения. KOD_T_ST состоит из двух частей: уровня сокращения и собственно ID сокращения. При переходе с ФИАС на КЛАДР уровни сдвигаются и появляются конфликты.
В официальном КЛАДР проблему решают лихо: в код одного из конфликтующих сокращений вместо уровня подставляют девятку. Потому что могут. Из-за этого в эталонном КЛАДР код сокращения для района — 911 вместо 511, причем в поле LEVEL остается пятерка.
В документации об этом ничего, конечно же, не написано.
Протестировали в полях
Мы делали из ФИАС такой же КЛАДР, какой поставляет ФНС. Проверяли по трем параметрам:
Через ASVCheck мы проверяли адреса из живого банковского реестра. Сначала прогоняли по официальному КЛАДР, а потом по своему́. Затем, понятное дело, смотрели на отличия.
Тут надо сказать, что ASVCheck — таинственный парень. Он не говорит, почему пометил адрес как неправильный. Отлаживали наугад. Некоторые ошибки вообще выглядели как баг утилиты: она перестала браковать часть адресов, когда мы просто отсортировали записи в своем справочнике по КЛАДР-коду.
Но закончилось все успешно: теперь ASVCheck выдает одинаковый результат на нашем КЛАДР и на справочнике ФНС.
Получили КЛАДР с преферансом и обновлениями
Теперь у нас есть КЛАДР, который будет жить в веках. Нашим клиентам не нужно спешно переделывать ПО под ФИАС: они подключают новый справочник и все работает как раньше.