Загрузка адресов произвольного формата (КЛАДР и нестандартных "грязных" адресов) в ФИАС современных конфигураций из 1С 7.7
Интеграция - Загрузка и выгрузка в Excel
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
В современных конфигурациях есть встроенный хороший механизм, способный с небольшой доработкой на стороне 1С 7.7 удовлетворить требования по переносу адресов из 1С 7.7 с разложением по ФИАС в современные конфигурации 1C 8.3. Несколько раз я начинал преобразовывать адреса 1С 7.7 в адреса 8.3 не зная о нем, что я только не перекачал и не перечитал, даже с помощью интернет-сервисов качественного резутьтата загрузки некачественных адресов с разложением по полям ФИАС "область, город, улица, дом, корпус" в ERP добиться так и не смог, попытки доработать чьи-то заготовки сразу глубоко погружали меня в дебри кода ERP и манили к всяким внешним веб-сервисам налоговой, карт яндекса и Гугли - как стало ясно результат в них от нас не зависит и зачастую не достижим. Кидание в стороны потому что нет результата очень погружает и выматывает.
Моя обработка является синтаксическим анализатором, который подставляет в строку грязного адреса выражение "Дом №" и "Корпус", благодаря чему грязные адреса 7.7 сами очень хорошо раскладываются по значимым полям ФИАС - заполняется область, город, улица, дом, корпус.. все раскладывается по полям без единого веб-сервиса само с помощью встроенного механизма современных конфигураций 1С 8.3, который написали сами сотрудники фирмы 1С! На следующем скрине показан фрагмент модуля функции синтактического анализатора "Функция РазложитьАдресДляФИАС(Адрес)", код - под спойлером.

Предлагаемый синтаксический анализатор очень прост и не затейлив, опробован на загрузке адресов базы данных крупной торговой компании. Дает самый лучший результат из всего что я смог пощупать собственными руками и додумать. Если адрес не может разложиться, он сохраняется встроенным механизмом ERP как есть в виде представления, но не разложившихся адресов получается совсем не много. Единственное скажу - если адрес сильно замусорен, нестандартные головоломные значения попадают в поле "Корпус".

На стороне 1С 7.7 от нас требуется получить табличку вот такого вида:

Пример кода, который получает данную табличку - под следующим спойлером.
С точками партнеров (фактическими адресами забора и привоза товара) немножко больше возни, у них должны быть дополнительные "якоря", так как их идентифицировать надо в связке с контрагентом.

Пример кода для выгрузки адресов торговых точек прилагается под спойлером.
На всякий случай служебная функция, которая готовит список контрагентов для дозаполнения адресов - у помеченных элементов контрагентов и точек не должно быть адресов, чтобы отсечь путаницу у транспотрной логистики. Сами контрагенты и точки переносились ранее по правилам КД2 все без исключений (так как они могут быть в переносимых документах), процесс начального заполнения контрагентов и точек описан ранее в //infostart.ru/public/1100236/
Теперь к самому главному - о том, как загрузить полученные адреса в современную конфигурацию на примере ERP.

Настраиваем соответствие полей

Выбираем поля по которым будет найден элемент для обновления адреса - сопоставить надо по совпадающему между 7.7 и ERP полю, например по коду 7.7 или по наименованию.

При нажатии на кнопку "Загрузить данные" для сопоставленных строк будут загружены адреса, где возможно (в большинстве случаев) они уже будут разложены по полям ФИАС, в совсем нестандартных случаях останется только текстовое представление адреса, которое позже пользователи смогут разложить вручную.
Обратите внимание, нет предела совершенству! При наличии свободного времени не сложно дописамь мою обработку так что ФИАС современной конфигурации (например ERP) поймет любые безумно сложные крези-адреса!
Вступайте в нашу телеграмм-группу Инфостарт