Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

1С: Обмен опытом Выпуск №3


Выпуск №3 от 31 марта 2006 года.

Архив рассылки

Посоветуйте рассылку друзьям и знакомым. Для этого просто перешлите это письмо.
Подписаться на рассылку можно на сайте или письмом.

Здравствуйте, уважаемые читатели!

Сообщу Вам приятную новость, что рассылку перевели в категорию "Серебряные", и намомент написания выпуска количество подписчиков составило почти 800 человек. На сайте рассылки появляются новые ссылки, статьи и разработки, поэтому не забывайте периодически его посещать.

Сегодня продолжим рассматривать тему выпуска №2.

Классификатор адресов.

Итак, для написания обработки для работы с файлами kladr.dbf и street.dbf предложу следующий алгоритм. Для быстрого поиска данных в файлах, их нужно проиндексировать. Для kladr.dbf сделаем 4 индексных поля, назовем их Регионы, Районы, Города, ПоКоду. Каждому из них будет соответствовать следующее правило индексации:
Регионы - индексирование по полю "Name" с условием, что правые 9 символов равны "000000000". Это означает, что будут проиндексированы только регионы;
Районы - индексирование по полю "Code" с условием, что правые 6 символов равны "000000". Будут проиндексированы районы;
Города - индексирование по полю "Code" с условием, что правые 3 символа равны "000". Индексируются города;
ПоКоду - индексирование по полю "Code". Полное индексирование по коду.
Для street.dbf достаточно одного индекса: ПоКоду - индексирование по полю "Code" - полная индексация по коду.

Далее нужно настроить работу с диалогом формы. Нужно сделать две закладки: на первую поместить строковые поля ввода с кнопками выбора "Регион, Район, и т.д.", а на вторую - таблицу значений. Порядок работы таков: пользователь начинает выбирать адрес, начиная с региона. Обрабатывая событие ПриНачалеВыбораЗначения(), устанавливаем индекс "Регионы" и делаем выборку из kladr.dbf в таблицу значений. Таблица значений будет содержать регионы, и при выборе одного из них устанавливаем индекс "Районы", очищаем таблицу значений и снова делаем в нее и так далее.

Важно: позиционирование на записи файла dbf не теряется при смене индекса.

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

Ваши вопросы, идеи и предложения присылайте мне.

Удачи!


В избранное