Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
База данных адресов России - КЛАДР
6 000
Опубликовано: 19.08.2011
Обновлено: 05.05.2016
Версия: 1.7.8
Установлено: 500 - 999 раз

Модуль для 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


Поле
Тип
Описание
Пример
NAMEstringНазвание без типа региона
Алтайский
FULL_NAMEstringПолное название
Алтайский край
CODEstring(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


Поле
Тип
Описание
Пример
NAMEstringНазвание
Первомайский
CODEstring(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


Поле
Тип
Описание
Пример
NAMEstringНазвание
Барнаул
CODEstring(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


Поле
Тип
Описание
Пример
NAMEstringНазвание
Авиаторов
CODEstring(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С-Битрикс
1.7.8- Обновление шаблонов компонента оформления заказа
1.7.7- Обновление шаблонов компонента оформления заказа
1.7.6- Отладка работы адресов г. Севастополь и г. Байконур
1.7.5- Устранение ошибки подключения библиотеки JS
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- Корректировка функционала выбора местоположения в компоненте - Расширение функционала выбора города с автоматической подстановкой района

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

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