Виджет КЛАДР (ФИАС)
Привет, сообщество Odoo!
Последнее время внимательно присматриваемся к форуму. Видим, что не все готовы делиться своими разработками. Что ж. Наша компания верит в свободные технологии. Посему начинаем цикл небольших статей о том, что удалось.
Сразу предупреждаем, большинство публикуемых модулей писались под конкретные проекты и применялись в альфа 8ой версии. Поэтому сильно на код не ругайтесь, а лучше давайте вместе работать над OpenERP… в смысле Odoo!
Первый пост — о модуле КЛАДР, одной из самых обсуждаемых плюшек средитайных поклонников 1С будущих пользователей корпоративной системы. Наши заказчики, по крайней мере, требуют её в обязательном порядке. Может, и вам пригодится.
Для использования API созданы виджеты (папка web_kladr_widget):
Для правильной работы виджетов, были переделаны классы, в которых встречаются адреса (res_partner — папка partner_kladr_address; crm_lead — папка kladr_crm):
Отображения также были изменены:

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

Модули доступны на GitHub
P.S. По последнему скриншоту (2 строка подсказки) можно судить об актуальности базы=)
Последнее время внимательно присматриваемся к форуму. Видим, что не все готовы делиться своими разработками. Что ж. Наша компания верит в свободные технологии. Посему начинаем цикл небольших статей о том, что удалось.
Сразу предупреждаем, большинство публикуемых модулей писались под конкретные проекты и применялись в альфа 8ой версии. Поэтому сильно на код не ругайтесь, а лучше давайте вместе работать над OpenERP… в смысле Odoo!
Первый пост — о модуле КЛАДР, одной из самых обсуждаемых плюшек среди
Что такое модуль КЛАДР и с чем его едят
Ключевая цель модуля — облегчить ввод и снизить количество ошибок при заполнении адресов за счёт автоматизации. Автоматические подсказки и автоматическая подстановка, однако, невозможны без надёжного классификатора. Требования же по актуальности делают прямой импорт в Odoo неразумным. Выход из ситуации — внешний API. Тем более, что добрые люди предлагают такой сервис абсолютно бесплатно. Он и был взят за основу.Для использования API созданы виджеты (папка web_kladr_widget):
- Регион
kladr_region
- Город
kladr_city
- Район
kladr_district
- Улица
kladr_street
- Дом
kladr_house
- Индекс
kladr_zip
Для правильной работы виджетов, были переделаны классы, в которых встречаются адреса (res_partner — папка partner_kladr_address; crm_lead — папка kladr_crm):
- Добавлены поля:
Район
Домdistrict
Квартира/офисhouse
office
- Добавлено поле регион типа char
Здесь нужно быть внимательным, т. к. на стандарном поле state типа many2one виджет работать не будетstate_id_kladr
- Дополнительно добавлены юридический и почтовые адреса (по аналогии с основным адресом)
- Все адреса генерятся функциями в строку
Отображения также были изменены:
- Спрятана вторая улица и стандартный регион. Так что, для применения к действующей базе, данные придётся переносить отдельно
- Поля расположены в порядке, удобном для заполнения с автоматическими подсказками
- Адрес заключен в контейнер класса
для тех случаев, когда на форме несколько однотипных виджетовkladr_address

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

Модули доступны на GitHub
P.S. По последнему скриншоту (2 строка подсказки) можно судить об актуальности базы=)
35 комментариев
Но тогда перестанут работать подсказки и автозаполнения.
1) Временные задержки. Если уж публикуем, так публикуем сразу и описание, и код, а не ждем подтверждения. Думаем, и читающим так будет удобнее.
2) Наличие многих веток. Если честно, то неохота заморачиваться структурой и совместимостью. Думаем, каждый сможет протестировать на своей версии. В описание это добавляем.
Скажите, кому дарить изменения:
<?xml version=«1.0» encoding=«utf-8»?>
<template id=«assets_backend» name=«web_kladr_widget assets» inherit_id=«web.assets_backend»>
Установил все 3 модуля с github, все нормально установилось, появились новые поля в карточке контрагентов, но данных городов и прочего нет, видимо их как то нужно загрузить в базу.
В настройках нигде ничего касаемо КЛАДРа не нашел.
Как загрузить данные что бы КЛАДР работал?
Данный модуль подгружает информацию online.
Вот можете посмотреть: runbot.www.odoo-russia.ru:60069/runbot/repo/https-github-com-itlibertas-odoo-public-addons-25
Вроде бы все нормально с модулем при обычной установке.
Если на 8-ке, в гите смените ветку на «8.0» (сверху меню «branch»)
Это же модуль задумывался для использования стороннего облачного сервиса на котором компетентно следят за актуальностью информации.
второе почему Кладр? нельзя что ли назвать Типа- Citylabels