Просмотр Исходного

{toc}

h2. Общая информация

Данные домов можно синхронизировать из [Федеральной информационной адресной системой (ФИАС)|https://fias.nalog.ru/]. Непосредственно они загружаются из сервиса [DaData|https://dadata.ru].
У синхронизации есть некоторые особенности работы:
* Синхронизация проходит со справочником "ФИАС", однако используется структура адреса совместимая со справочником "КЛАДР", поэтому в документации используются оба названия.
* Дерево домов строится от субъекта РФ

h2. Как синхронизировать?

В настройках [дома|CarbonBilling:Добавление домов в справочник] включите опцию "*Синхронизировать с КЛАДР(ФИАС)*" и обновите страницу:

!fias_sync_button.png|border=0,width=300!

h2. Как повторно синхронизировать?

Отключите опцию и снова включите.

h2. Я включаю опцию, а она отключается. Почему?

Вероятно происходит какая-то ошибка синхронизации. Все ошибки пишутся в лог:
{code}/app/asr_billing/var/log/workers/send_commands.log{code}
Как правило, это исключительные ситуации и они требуют анализа отделом разработки.

h2. Часть полей пустая

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

h2. Не удается добавить корректно адрес в справочник биллинга

Некоторые адреса в справочнике заведены с небольшими особенностями
||Пример||
|Свердловская область, городской округ Березовский, город Березовский, +улица Ленина (п.Шиловка)+|
Обратите внимание, как именно указано название улицы. Если информацию в скобках опустить, то в данном случае будет назначен адрес непосредственно из города Березовский.
* Если у вас возникают какие-либо проблемы с заполнением справочника домов, вы можете проверить адрес в карточке абонента - [поле "Дом"|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=115867650#Дома-Сподсказками] (*Будет работать лишь в том случае, если включены подсказки*)
* Проверить в самом справочнике [ФИАС|https://fias.nalog.ru].

----

h2. В карточке абонента автоматически изменяется назначенный адрес

Например, абонент проживает по адресу Иркутская обл., Усольский р-н, тер. ДНП Жилой Комплекс, д 189

|В "Общих настройках" биллинга включена опция *"Использовать подсказки для домов"*|

В карточке абонента заполняем поле *"Адрес"*, далее может возникнуть два состояния :
* Возникнет надпись _"Не найдено"_;
* Адрес будет заполнен _"Иркутская обл., Усольский р-н, тер. ДНП Жилой Комплекс, д 189"_, но при сохранении поле изменится, к примеру на _"тер. ДНП Жилой Комплекс, д 245"_ (ранее указывали в биллинге этот адрес другому абоненту)

h4. Отладка проблемы

# Подключитесь к серверу по ssh и сделайте sql-запрос для определения ID записи адреса _"тер. ДНП Жилой Комплекс, д 245"_ в БД биллинга в таблице abonents у абонента:
{code}
[root@carbon~]# sqlexec "select home_id from abonents where id=6121"

HOME_ID
============
2522
{code}
# Далее, сделаем запрос для определения внешнего ID этого адреса в сторонней системе КЛАДР
{code}
[root@carbon~]# sqlexec -l "select * from homes where id=2522" | grep KLAD
KLADR_ID 38021000000000900
KLADR_SYNC_DATE <null>
KLADR_SYNC 0
{code}
# Необходимо проверить данные в стороннем сервисе, от которого получаем информацию об адресах ["Дадата":| https://dadata.ru/suggestions/#address]
В поле указываем необходимый адрес _Иркутская обл., Усольский р-н, тер. ДНП Жилой Комплекс, д 189_
!189.png|width=500px!
Сервис выводить информацию по адресу, но с предупреждением +"Неизвестный дом"+. Обратите внимание на записи "Код ФИАС" и "Код КЛАДР".
"Код КЛАДР" соответствует записи из БД биллинга
|KLADR_ID| 38021000000000900
|"Код КЛАДР"| 38021000000000900
|"Код ФИАС"| 51b29200-0812-486a-ace4-cbe5439c4efb (актуальный)
# Необходимо будет найти в сервисе ["Дадата" |https://dadata.ru/suggestions/#address] назначенный адрес _"тер. ДНП Жилой Комплекс, д 245"_
!245.png|width=500px!
Сверяем значение "Код ФИАС" и "Код КЛАДР" у этих адресов - они идентичны, так как оба дома отсутствуют в системе.

*ИТОГ:* биллинг проверяет при сохранении, чтобы не было дублей адресов. "Код КЛАДР" в "Дадате" = HOMES.KLADR_ID в БД биллинга. Так как "Дадата" на запрос обоих домов отдаёт идентичные ID, а одна запись адреса уже есть в БД биллинга, поэтому адрес в карточке сохраняется не с тем домом, что был в подсказке, а с тем что уже есть в БД биллинга.

h4. Решение
Добавить адрес в справочник "Дома" в БД биллинга вручную, без включения опции "Синхронизировать с "КЛАДР" - делается администратором биллинга;
Сообщить абоненту, что его дома нет в справочнике и есть возможность либо отключить подсказки, либо временно добавить дом в реквизиты строкой и подождать когда дом появится в ФИАС.