Добрый день!
В БСП реализована подсистема "АдресныйКлассификатор", основная цель которой (судя даже из названия) - работа с адресами и их классификация. Все адресные объекты, которые хранятся в регистрах сведений "АдресныеОбъекты", "ДомаЗданияСтроения" и "ЗемельныеУчастки" (и других нескольких вспомогательных), могут загружаться автоматизированно двумя способами. Первый способ - это скачать файл с данными с сайта ИТС и загрузить его в информационную базу с помощью формы загрузки классификатора. Второй способ интереснее, но требует подключения интернет-поддержки пользователей. При подключении поддержки пользователю не требуется самому скачивать файлы классификатора - они будут скачаны и обработаны автоматически.
Заинтересовавшись вопросом, насколько сложно реализовать автоматическую загрузку адресного классификатора из файлов, которые предоставляет ФНС, я провел исследование на сравнение форматов файлов с данными. Откровенно говоря меня здорово затянула эта тема, так что было сложно оторваться от неё на другие дела. В качестве результата исследования предоставляю расширение, которое автоматически скачивает и обрабатывает все необходимые файлы адресного классификатора. Для регионов, которые уже были загружены ранее, будут скачаны только те пакеты, дата версии которых больше текущей версии, загруженной в 1С. Если же необходимо загрузить регион, который ранее не загружался, то будет скачана и обработана полная БД для такого региона.
Нюансы при установке расширения:
- Расширение требует БСП с наличием в ней подсистемы "АдресныйКлассификатор".
- В расширении я создал новый регистр сведений (РС), для того, чтобы в нем хранить коды регионов, необходимых к загрузке. По умолчанию эти коды нигде не хранятся. Если из-за версии платформы или режима совместимости конфигурации нет возможности хранить созданный РС, то следует сделать следующее:
- Удалить из расширения РС "ФИАС_РегионыКЗагрузкеАдресныхСведений"
- Удалить заимствованный РС "АдресныеОбъекты"
- В заимствованном общем модуле "АдресныйКлассификаторСлужебный" в функции "СубъектыРФДляЗагрузки" закомментировать запрос получения данных из удаленного регистра.
- В том же общем модуле закомментировать метод "ОбновитьСубъектРФКЗагрузке"
- При удалении регистра сведений "ФИАС_РегионыКЗагрузкеАдресныхСведений" регионы, необходимые к загрузке, не будут нигде храниться. Из-за этого могут быть загружены только те регионы, которые уже загружались ранее, то есть это те регионы, у которых есть хоть какая-либо запись в регистре сведений "ЗагруженныеВерсииАдресныхСведений". Чтобы всё-таки была возможность загружать новые регионы, то РС, подобный удаленному из расширения, следует добавить в основную конфигурацию.
- Чтобы была возможность регламентного выполнения загрузки адресного классификатора, можно воспользоваться механизмом дополнительных отчетов и обработок. Суть обработки крайне проста (см. код ниже). Если необходимо, такую обработку выложу вторым файлом. Её нужно подключить и поставить ей расписание.
- Расширение и обработка разрабатывались и тестировались на БСП версии 3.1.4.280. Но продукт будет работать и на более ранних версиях БСП (начиная с 3.0), так как подсистема "АдресныйКлассификатор" существенно не изменялась. При этом следует учитывать нюансы, описанные выше.
В последующем планирую написать отдельную статью с исследованием нюансов загрузки ФИАС и различий данных, предоставляемых 1С и ФНС.
Спасибо за внимание!