Информационные системы
Алгоритм подключения классификатора адресов KLADR
 

1С:Предприятие

Статьи

Почему SQL "тормозит"?
Маленькие хитрости
Взаимодействие через OLE
Распределенные базы
Работа с конфигурацией
Администрирование
Сетевые "глюки" 1С
Технологические вопросы
Особенности архитектуры
Запросы
Производительность
Сервер терминалов
Подключение KLADR


Учебник
Рассылка
Курс лекций
Программы
Ссылки

Информационные технологии

Интересное

Форум

mista.ru / 1С:Предприятие / Статьи / Подключение KLADR

 Алгоритм подключения классификатора адресов KLADR для 1Сухгалтерии 4.5, 1С: Зарплата и кадры 3.2 и т.п.

Автор статьи:
© Затеев Роман Михайлович aka MiCo, romzat@mail.ru
2004.06.01, г. Новокузнецк.

 

Содержание

Введение
Проблема
Причина
Решение проблемы
Алгоритм подключения классификатора КЛАДР


Введение

 В данной статье я пытаюсь поставить все точки над “i” (по крайней мере для себя) в вопросе подключения классификатора КЛАДР к конфигурациям 1C: Предприятие 7.7, в частности, 1C: Бухгалтерский учет 4.5, 1С: Зарплата и кадры 3.2 и т.п.

Проблема подключения справочника КЛАДР периодически появляется на форумах в Интернете, в частности:

http://forum.mista.ru/topic.php?id=1131 (Топик открывал я в январе 2004г )

http://forum.mista.ru/topic.php?id=1073

и др, но до сих пор дельного предложения по решению проблемы не было указано.

P.S. Проблема не возникает у тех, кто подписан на ИТС, но не все могут себе позволить подписку.


Проблема

При импортировании в программу 1С справочник KLADR, скачанный с сайта http://www.gnivc.ru/techno/56.htm - ГНИВЦ МНС, не удается обеспечить нормальную работу программы: справочник физически подсоединяется, программа выдает положительные диагностические сообщения:

Файл kladr.dbf с адресным классификатором найден, копируется...

Файл kladr.dbf с адресным классификатором скопирован.

Файл street.dbf с классификатором улиц найден, копируется...

Файл street.dbf с классификатором улиц скопирован.

Файл socrbase.dbf с классификатором сокращений найден, копируется...

Но далее происходит следующее (пример: установка адреса для сотрудника):

Нажимаем на кнопке […] возле поля регион. Появляется форма:

Далее вводим название региона: Кемеровская обл.

Нажимаем [OK].

Выбранный регион попадает в поле регион в форме ввода адреса.

Далее пытаемся выбрать город “Новокузнецк” в поле “Город”, нажав кнопку […]

В справочнике “Города” выбираем город “Новокузнецк”

Нажимаем кнопку [OK].

Открывается форма “Ввод адреса”, курсор перескакивает на пункт “Населенный пункт”, НО ВСЕ ПОЛЯ ОКАЗЫВАЮТСЯ ПУСТЫМИ.


Причина

На сайте http://www.gnivc.ru/techno/56.htm размещается версия КЛАДР немного отличная по структуре от той, которая применяется в 1С 7.7.

Отличия заключаются в следующем:

Структура таблицы KLADR.DBF, которую “понимает” 1С 7.7 следующая:

Table Format: dBase III

Records Number: 157815

Fields Number: 5

Header Size: 193

Record Length: 72

 

# Field Name Field Type Field Size

- ---------- ---------- ----------

1 NAME       Character  40        

2 SOCR       Character  10        

3 CODE       Character  11        

4 INDEX      Character  6         

5 GNINMB     Character  4  

 

А структура таблицы KLADR.DBF, которая выкладывается по адресу http://www.gnivc.ru/techno/56.htm имеет формат:

Table Format: dBase III

Records Number: 166775

Fields Number: 8

Header Size: 289

Record Length: 88

 

# Field Name Field Type Field Size

- ---------- ---------- ----------

1 NAME       Character  40        

2 SOCR       Character  10        

3 CODE       Character  13        

4 INDEX      Character  6         

5 GNINMB     Character  4         

6 UNO        Character  2         

7 OCATD      Character  11        

8 STATUS     Character  1 

 

Т.о. видно, что KLADR.DBF в версии ГНИВЦ МНС имеет поле CODE длиной 13 символов (в отличие от версии 1С – 11 символов), а также имеет поля UNO, OCADT, STATUS.

Остальные таблицы (SOCRBASE.DBF, STREET.DBF) имеют одинаковый формат.

 


Решение проблемы

Решение проблемы заключается в том, что необходимо в таблице KLADR.DBF в версии ГНИВЦ МНС уменьшить размер поля CODE до 11 символов. Это не приведет к потере данных в поле CODE по причине того, что все строки в поле CODE имеют последние символы 00, зато приведет к нормальной работе 1С 7.7. Следует отметить, что после таких “обрезаний” скорее всего не будет работать “родной” VIEW’ер базы КЛАДР KLADRS.exe (да от нас этого и не требуется).

“Урезание” поля можно проделать в программе Database Desktop от Borlanda. Процедура описана ниже.

 


Алгоритм подключения классификатора КЛАДР

 

1.     Скачиваем с сайта http://www.gnivc.ru/techno/56.htm файлы

a.      BASE.A01

b.     BASE.A02

c.     BASE.A03

d.     BASE.A04

e.      BASE.A05

f.       BASE.ARJ
в подкаталог C:\_tmp_

2.     Далее необходимо выполнить команды (в командном файле):

md "E:\_1C_\_KLADR_"

"%ProgramFiles%\WinRar\WinRar.exe" e "C:\_tmp_\BASE.ARJ" "E:\_1C_\_KLADR_"

pause

3.     В результате в подкаталоге "E:\_1C_\_KLADR_" появятся 6 файлов:

a.      ALTNAMES.DBF
- содержит сведения о соответствии кодов записей со старыми и новыми наименованиями адресных объектов, а также сведения о соответствии кодов адресных объектов до и после их переподчинения

b.     DOMA.DBF
содержит записи с объектами шестого уровня классификации (номера домов улиц городов и населенных пунктов)

c.     FLAT.DBF
- содержит записи с объектами седьмого уровня классификации (номера квартир домов)

d.     KLADR.DBF
- содержит записи с объектами первых четырех уровней классификации (регионы; районы; города, поселки городского типа, сельсоветы; сельские населенные пункты)

e.      SOCRBASE.DBF
- содержит записи с краткими наименованиями типов адресных объектов

f.       STREET.DBF
- содержит записи с объектами пятого уровня классификации (улицы городов и населенных пунктов)

 

4.     Далее запускаем DataBase DeskTop и открываем в нем таблицу KLADR.dbf

"%ProgramFiles%\Common Files\Borland Shared\Database Desktop\DBD32.EXE" "E:\_1C_\_KLADR_\KLADR.DBF"

5.     Появится таблица:

6.     Жмем на кнопку [Restructure] (или выбираем пункт меню Table-> Restructure). Появится окно “Restructure”

7.     Выбираем поле CODE параметр “Size” для этого поля меняем значение с 13 на 11. Нажимаем [Enter].

8.     Нажимаем на кнопку [Save]. Появится окно “Restructure Warning”

9.     Жмем [OK] и закрываем DataBase Desktop.

10. Запускаем 1С: Бухгалтерию 7.7 (Зарплату и кадры и т.п.).

11. Входим в пункт меню Справочники->Сотрудники.

12. Выбираем любого сотрудника либо создаем нового.

13. Заходим на вкладку Прочее

14. Нажимаем на кнопку рядом с полем “Адрес регистрации”.

15. В появившейся форме “Ввод адреса” выбираем вкладку “Классификаторы” и заполняем ее, как показано на рисунке (Путь: E:\_1c_\_Kladr_) :

16. Нажимаем кнопку [Загрузить]

17. В списке сообщений появятся строки:

18. Переходим на вкладку “Формат МНС”

19. Жмем на кнопку […] рядом с полем “Регион”

20. Появится сообщение. Жмен [Да] для запуска переиндексации.

21. В окне “Регионы” выбираем “Кемеровская обл.” [OK]

22. Жмем на кнопку […] рядом с полем “Город”

23. В окне “Города” выбираем “Новокузнецк” [OK]

24. Жмем на кнопку […] рядом с полем “Улица”

25. Появится сообщение о необходимости провести переиндексацию. Жмем [OK]

26. В окне “Улица” выбираем “Кирова” [OK]. Жмем [OK]

27. Вводим номер дома и номер квартиры. [OK]

28. Видим, что адрес благополучно появился в поле “Адрес по регистрации”

 На этом подключение и проверку подключения справочника КЛАДР к конфигурации 1Сухгалтерия 7.7 можно выполненной.

Далее остается проделать алгоритм с пункта 10 по 28 для всех остальных конфигураций (Зарплата и кадры, Комплексная конфигурация), установленных на компьютере.

P.S. Существует множество версий классификатора КЛАДР. Каждая из них “заточена” под определенную программу (или ряд программ), например, версия http://kladr.nalogy.ru/, для “Налогоплательщик” и CHECKPSN.

С уважением, Затеев Роман Михайлович aka MiCo.

© Станислав Митичкин
www.mista.ru
, 1997-2003
1C:TOP-100
Волшебный форум