Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
База данных адресов России - КЛАДР
5 000
Опубликовано: 19.08.2011
Обновлено: 20.02.2015
Версия: 1.7.4
Установлено: 100 - 499 раз

Модуль для 1С-Битрикс: КЛАДР

Не заставляйте людей вводить весь адрес целиком.
Установите модуль КЛАДР и ваши клиенты будут благодарны вам!
Твитнуть
 
Обратите внимание!
Все модули устанавливаются и обновляются только на активные лицензии 1С-Битрикс: Управление сайтом. Узнать про лицензии можно на странице продление лицензии 1С-Битрикс.
Модуль предназначен для интеграции базы данных адресов России - КЛАДР в 1С-Битрикс.
Модуль необходим для таких задач, как:
  • автоматизация ввода адреса пользователем
  • автоматизация поиска почтового индекса
  • избежание ошибок, при регистрации или при вводе адреса доставки
Модуль добавляет свой шаблон для компонентов "sale.order.full" и "bitrix:sale.order.ajax". Его необходимо выбрать в настройках компонента. После чего местоположение будет выглядеть следующим образом:

КЛАДР

При клике по ссылке "указать адрес" появляется окно "Поиск по адресу":

КЛАДР

Можно просто ввести индекс, кликнув по ссылке "Ввести индекс":

КЛАДР

Вот так выглядит результат выбора:

КЛАДР

Для работы модуля в первую очередь необходимо загрузить базу КЛАДР с сайта ФГУП ГНИВЦ ФНС России. На сайте представлены для скачивания два вида архивов. Скачайте один из них, распакуйте и запакуйте в формат ZIP. После чего загрузите полученный архив на странице модуля и нажмите кнопку импорта. Импорт КЛАДР в базу данных сайта будет производиться от двух до пяти минут, в зависимости от мощности сервера.
Внимание! Перед использованием Классификатора адресов России (КЛАДР), ознакомьтесь с лицензионным соглашением.

Импорт баз осуществляется в ручном режиме. Для импорта необходимо:
  1. Скачать базу данных сервера КЛАДР.
  2. Извлечь из архива файлы
    • KLADR.DBF
    • STREET.DBF
    • SOCRBASE.DBF
    • DOMA.DBF
  3. Загрузить файл через форму: в исходном виде, в сжатом виде, с расширением gz или в архиве BASE.zip. Скрипт разрешает загружать только файлы с именами:
    • KLADR.DBF
    • STREET.DBF
    • SOCRBASE.DBF
    • DOMA.DBF
    • KLADR.DBF.gz
    • STREET.DBF.gz
    • SOCRBASE.DBF.gz
    • DOMA.DBF.gz
    • BAZE.zip
  4. Установить время шага и запустить импорт. Для корректного импорта необходимо загрузить всё файлы. При импорте импортируются всё файлы сразу.

 

кладр

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

КЛАДР

КЛАДР

В настройках списка свойств заказа в поле "Альтернативное поле ввода местоположения" ничего не должно быть выбрано!

API модуля КЛАДР


API модуля КЛАДР

Класс CAltasibKladrRegions


Поле
Тип
Описание
Пример
NAME string Название без типа региона
Алтайский
FULL_NAME string Полное название
Алтайский край
CODE string(2) Код КЛАДР
22
SOCR
string Сокращение
край, обл, Респ
SORT
int
Сортировка
500
POSTINDEX
string(6)
Почтовый индекс
656000

CAltasibKladrRegions::GetList($arFilter = array(), $arSelect = array(), $arSort = array(), $arNavigation = array(), $Logic = "AND")
Выборка регионов.
$arFilter - фильтр по полям
$arSelect - массив выбираемых полей
$arSort - сортировка
$arNavigation - параметры навигации
$Logic ( AND/OR ) - тип операции при фильтрации.

CAltasibKladrRegions::GetByStr($string)
Возвращает массив регионов с полями:
"CODE", "NAME", "SOCR", "FULL_NAME"
$string - подстрока, например моск

CAltasibKladrRegions::GetByCode($code)
Возвращает регион по его коду.
$code - код региона, например 22

CAltasibKladrRegions::GetNameByCode($code, $bFullName = false)

Возвращает название региона по его коду.
$code - код региона, например 22
$bFullName - вывод полного или не полного названия региона

Класс CAltasibKladrDistricts


Поле
Тип
Описание
Пример
NAME string Название
Первомайский
CODE string(5) Код КЛАДР
22034
SOCR
string Сокращение
р-н
SORT
int
Сортировка
500

CAltasibKladrDistricts::GetList($arFilter = array(), $arSelect = array(), $arSort = array(), $arNavigation = array(), $Logic = "AND")
Выборка районов.
$arFilter - фильтр по полям
$arSelect - массив выбираемых полей
$arSort - сортировка
$arNavigation - параметры навигации
$Logic ( AND/OR ) - тип операции при фильтрации.

CAltasibKladrDistricts::GetByCode($code)
Возвращает район по его коду.
$code - код региона, например 22034

CAltasibKladrDistricts::GetNameByCode($code, $bFullName = false, $bSocr = false)

Возвращает название района по его коду.
$code - код региона, например 22034
$bFullName - вывод региона, например "Алтайский край, Первомайский"
$bSocr - вывод сокращения. Если true - то результат будет вида "Первомайский р-н"

Класс CAltasibKladrCities


Поле
Тип
Описание
Пример
NAME string Название
Барнаул
CODE string(11) Код КЛАДР
22000001000
ID_DISTRICT
string(5) Код КЛАДР района 22000
SOCR
string Сокращение
г, п, д
SORT
int
Сортировка
500
POSTINDEX
string(6)
Почтовый индекс
656000

CAltasibKladrCities::GetList($arFilter = array(), $arSelect = array(), $arSort = array(), $arNavigation = array(), $Logic = "AND")
Выборка населенных пунктов.
$arFilter - фильтр по полям
$arSelect - массив выбираемых полей
$arSort - сортировка
$arNavigation - параметры навигации
$Logic ( AND/OR ) - тип операции при фильтрации.

CAltasibKladrCities::GetByStr($string, $region, $bValue = false)
Возвращает массив населенных пунктов с полями:
"CODE", "NAME", "SOCR", "STATUS","POSTINDEX"
$string - подстрока, например моск
$region - код региона, например 22
$bValue - возвращать в результате значение вида
"VALUE" => "Регион, Район, Населенный пункт"

CAltasibKladrCities::GetByCode($code)
Возвращает населенный пункт по его коду.
$code - код региона, например 22000001000

CAltasibKladrCities::GetNameByCode($code, $bFullName = false, $bSocr = false)

Возвращает название населенного пункта по его коду.
$code - код населенного пункта, например 22000001000
$bFullName - вывод региона и района, например "Алтайский край, Первомайский р-н, Первомайское"
$bSocr - вывод сокращения. Если true - то результат будет вида "г. Барнаул"

Класс CAltasibKladrStreets


Поле
Тип
Описание
Пример
NAME string Название
Авиаторов
CODE string(11) Код КЛАДР
220000010000099
ID_CITY
string(5) Код КЛАДР населенного пункта
22000001000
SOCR
string Сокращение
ул, пер, проезд
SORT
int
Сортировка
500
POSTINDEX
string(6)
Почтовый индекс
656048

CAltasibKladrStreets::GetList($arFilter = array(), $arSelect = array(), $arSort = array(), $arNavigation = array(), $Logic = "AND")
Выборка улиц.
$arFilter - фильтр по полям
$arSelect - массив выбираемых полей
$arSort - сортировка
$arNavigation - параметры навигации
$Logic ( AND/OR ) - тип операции при фильтрации.

CAltasibKladrStreets::GetByStr($string, $city = false, $bFullName = false, $count = false)
Возвращает массив улиц со всеми полями:
$string - подстрока, например лени
$city - код населенного пункта, например 22000001000
$bFullName - возвращает полный адрес улицы, например "Регион, Район, Населенный пункт, Улица"
$count - максимальное  количество выводимых значений

CAltasibKladrStreets::GetByCode($code)
Возвращает улицу по её коду.
$code - код улицы, например 220000010000099

CAltasibKladrStreets::GetNameByCode($code, $bFullName = false, $bSocr = false)

Возвращает название улицы по её коду.
$code - код улицы, например 220000010000099
$bFullName - вывод региона и района, например "Алтайский край, Барнаул, Авиаторов"
$bSocr - вывод сокращения. Если true - то результат будет вида "ул. Авиаторов"
1.7.4 - Доработка и отладка шаблонов оформления заказа. - Отладка работы адресов г. Севастополь - Доработка шаблона altasib-kladr-ac
1.7.3 - Исправление багов компонентов
1.7.2 - Доработка системы поиска местоположений для совместимости с eDost - Небольшие доработки шаблонов компонента оформления заказа
1.7.1 - Обновление системы поиска местоположений для совместимости с eDost - Выпуск нового шаблона компнентов altasib:kladr.input и bitrix:sale.order.ajax. Включение нового плагина автокомплита без использования jQuery
1.7.0 - Новый функционал автоматического обновления баз данных КЛАДР - Усовершенствование логики поиска населенных пунктов
1.6.10 - Обновление для поддержки PHP версии 5.4
1.6.9 - Обновление шаблона altasib-kladr-visual
1.6.8 - Усовершенствование логики поиска местоположений битрикса - Обновление классов
1.6.7 - Незначительные исправления
1.6.6 - Исправление багов js скриптов - Дополнение логики поиска местоположений
1.6.5 - Исправление багов получения улиц - Добавление публичного шаблона компонента system.field.view
1.6.4 - Доработка функционала поиска улиц
1.6.3 - Исправление багов импорта баз - Обновление классов поиска по базе - Обновление класса определения индекса домов
1.6.1 - ВНИМАНИЕ: при установке обновления будут созданы не активные свойства заказа, необходимые для полноценного функционирования нового шаблона altasib-kladr-visual
1.6.0 - Новый шаблон компонента оформления заказа - Улучшение и расширение функций поиска данных в базе - Расширение функциональности библиотеки JS - Добавление Демо-режима
1.5.7 - Оптимизирован поиск улиц в компоненте выбора адреса - Исправлен ряд ошибок выбора местоположения
1.5.6 - Дополнение компонента ввода адреса, вывод населенных пунктов при выводе улиц.
1.5.5 - Совместимость шаблонов с обновленными компонентами оформления заказа - Оптимизация JS скриптов, подключение через CUtil::InitJSCore() - Исправление ошибки, возникающей при включении в настройках главного модуля 1С-Битрикс опции "Объединять JS файлы".
1.5.3 - Отладка функционала компонента kladr.input
1.5.2 - Добавление интеграции с модулем altasib.geoip - Обновление функционала компонентов kladr.input и sale.ajax.locations.kladr - Устранение ошибок в пользовательском свойстве
1.5.1 - Обновление функционала компонентов kladr.input и sale.ajax.locations.kladr
1.5.0 - Обновление плагинов JQuery - Отладка js-скриптов - Обновление функционала компонентов kladr.input и sale.ajax.locations.kladr
1.4.4 - Добавлена функция установки параметра SET SQL_BIG_SELECTS=1 для решения проблем с некоторыми настройками БД.
1.4.3 - Отладка функции выбора привязанных местоположений.
1.4.2 - Исправлена ошибка сохранения местоположений. - Доработана логика поиска улиц.
1.4.1 - Доработан механизм установки местоположений. - Исправлена ошибка сохранения местоположений.
1.4.0 - Доработан механизм установки местоположений.
1.3.9 - Исправлена ошибка установки модуля
1.3.8 - Исправлена ошибка поиска индекса
1.3.7 - Добавление возможности включить индексацию базы данных (увеличивает скорость выполнения некоторых запросов в несколько раз).
1.3.6 - Обновлен компонент выбора адреса КЛАДР для элементов инфоблока.
1.3.5 - Обновлен компонент определения местоположения
1.3.4 - Исправлены ошибки в классах.
1.3.3 - Обновлены классы. - Доработан компонент определения местоположения - Включена поддержка встроенной библиотеки JQuery
1.3.2 - Обновлены классы.
1.3.1 - Обновлены классы. Доработано определение микрорайонов.
1.3.0 - Произведен ряд изменений логики работы поиска адреса в компоненте выбора местоположения. - Обновлены классы. - Исправлен ряд ошибок
1.2.9 - Исправлена ошибка в IE 7
1.2.8 - Незначительные доработки классов - Доработка компонента выбора местоположения, добавление настройки установки обязательности полей.
1.2.7 Доработан функционал компонента выбора местоположения: - добавлен параметр выбора поля для сохранения кода КЛАДР в свойство заказа - сохранение в заказе кода КЛАДР позволяет запоминать адрес в профилях - добавлен параметр разрешения внесения адреса для других стран в текстовом виде
1.2.6 - Доработан функционал компонента выбора местоположения, исправлена ошибка сохранения данных при вставке нескольких полей.
1.2.5 - Добавлен компонент фильтрации элементов ИБ по полям КЛАДР - Доработан функционал компонента выбора местоположения, появилась возможность установки нескольких компонентов на одной странице. - Исправлена ошибка, возникающая при разрыве соединения с БД
1.2.4 - Обновление компонента выбора местоположения
1.2.3 - Внесена настройка: "Выводить текстовое поле для адреса, если не найден индекс"
1.2.2 - Незначительные исправления
1.2.1 - Исправлены некоторые ошибки в полях типа КЛАДР
1.2.0 - Разработка функционала полей КЛАДР для информационных блоков. - Разработка свойства типа КЛАДР для информационных блоков. - Разработка компонента вывода полей КЛАДР
1.1.1 - Обновление классов и компонента выбора местоположения
1.1.0 - Изменение функционала поиска адреса местоположения. - Установка выбора местоположения по умолчанию в случае не нахождения местоположения. - Добавлены поля корпус/строение - Добавлен функционал автопоиска индекса
1.0.1 - Корректировка функционала выбора местоположения в компоненте - Расширение функционала выбора города с автоматической подстановкой района


Пример работы компонента:

Назад в раздел