Интеграция 1С и 2ГИС



Возникла необходимость визуализировать клиентскую базу. Выбор пал на 2ГИС.
Результатам стала относительно универсальная обработка для формирования слоя с собственными данными.

Обработка содержит алгоритм и ряд процедур для формирования KMZ файла минималистической структуры:

  1. Формирование стилей отображения меток на карте
  2. Добавление новых меток
  3. Формирование слоя
  4. Компоновка KML слоя и сопутствующих файлов в KMZ

Полноценный пример, который вы можете скачать, был создан для решения более конкретной задачи. Нужно было вывести всех клиентов из базы на карте с учетом их статуса. Статус формировался на основе выполнения ряда условий. Адрес клиента должен быть заполнен по КЛАДРу. В случае, если в одном здании содержится несколько контрагентов, то для них создается единая метка на карте. Общий вид результата можно увидеть на карте.

36 Comments

  1. Angeros

    Почему решили работатьс дубль гис а не с яндексом? яндекс поддерживает больше городов.

    Reply ↓
  2. Infactum

    (1) Angeros, у 2ГИС карты актуальнее. По крайней мере в моем городе. Помимо этого 2ГИС — это оффлайн режим.

    Reply ↓
  3. Angeros

    Согласен… а моего родного там нету. Кстати а как насчет маршрутизации, существует ли возможность через механизм маршрутизации 2гиса проложить маршрут в нем из 1с.

    Reply ↓
  4. seermak

    При повторном открытии информация дублируется((((( В параметрах надо включать дополнительные слои — а то ничего не увидишь

    Reply ↓
  5. Infactum

    (4) seermak, Так слой и не надо каждый раз открывать. Нужно в 2ГИС в дополнительных слоях добавить обновляемую группу. Файлом для обновления будет ваш слой.

    Например в моей базе выгрузка производится регламентированным заданием. В результате я всегда имею актуальную информацию на карте.

    Плагин для дополнительных слоев конечно нужно. Кроме как через плагины, взаимодействовать с 2ГИС не получится. Так как этот плагин входит в стандартную поставку, не вижу причин его не использовать.

    (3) Angeros, Прокладку маршрута сделать можно, но тогда придется написать свой плагин, который будет служить прослойкой между 1с И 2ГИС. Можно еще воспользоваться онлайн API, но лицензионное соглашение запрещает его использование в бизнес решениях.

    Reply ↓
  6. seermak

    (5) да, так гораздо лучше))))

    Reply ↓
  7. serega3333

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

    Reply ↓
  8. Infactum

    (7) serega3333, верно. Одновременно только один город.

    Reply ↓
  9. AlexO

    Ошибки есть?

    Reply ↓
  10. kilokilo

    (9) AlexO,

    Ошибки есть?

    Нет.

    Reply ↓
  11. DimanYa

    Просто отлично, сейчас скачаю и попробую на нашей базе

    Reply ↓
  12. al461sy

    очень полезная вещь, будем тестировать!

    Reply ↓
  13. seermak

    протестировал — работает нормально, единственное адреса править приходится — адресные сокращения убирать(((

    Reply ↓
  14. Infactum

    (13) seermak, так там же была для этого функция с фееричным названием «ДопилитьНапильником». Но к сожалению универсальной ее сделать не получилось.

    Reply ↓
  15. seermak

    (14) вот и пилю…… По Москве еще проблема — с трудом понимает дома с к (19к1 и т.д.) в КЛАДре они все слитно пишутся а в ГИСе раздельно — но это уже глюки ГИСа….

    Reply ↓
  16. fnv

    (14) «ДопилитьНапильником» действительно феерично))))

    Автору публикации спасибо.

    Reply ↓
  17. zarius

    Для оффлайна советую посмотреть в сторону SAS Planet

    Reply ↓
  18. Infactum

    (17) zarius, Как уже было отмечено выше для некоторых городов, в том числе моего, карты 2ГИС актуальнее чем у гугля, яндекса и прочих.

    Если рассмотреть предложенный вами SAS.Planet, то он вроде как не может скачать карту с сайта 2ГИС. Да и смысл это делать если у них уже есть приложение с оффлайн режимом.

    Ну и самое главное — не нашел, может ли SAS.Planet получать координаты дома (для установки метки) зная только его адрес.

    Reply ↓
  19. AVVG

    А скажите пожалуйста вроде нашел то что давно искал, тока если все точки из 1С расставим маршрут уже в 2Гисе проложить можно?

    А так уже бомба а то вечно по географическому положению тока работают.

    Спасибо большое

    Reply ↓
  20. AVVG

    Забыл подписаться

    Reply ↓
  21. Infactum

    (19) AVVG, Можно. Есть варианты автомобильного маршрута и на городском транспорте. Про качество маршрута трудно что-либо сказать, сам редко пользуюсь.

    Reply ↓
  22. omut

    Класс. Замечание только одно возникло: в принципе, то что 2ГИС не понял адрес, это еще пол-беды. А вот как сделать, чтобы это ее непонимание она озвучила? Т.е. создали слой, пользователь смотрит карту. И если адрес не распознается, то точка на карте не появляется. А хотелось бы, чтобы такие адреса где-то можно было увидеть и оперативно в 1С подправить неверные форматы-данные. В противном случае точки просто молча теряются.

    Reply ↓
  23. echonok

    Не могу понять, а как добавить слой в карту 2ГИСа? Плагины дополнительные какие-то нужно скачивать?

    Reply ↓
  24. Infactum

    (23) echonok, Нужный плагин устанавливается вместе с 2ГИС по умолчанию. Опять же по умолчанию 2ГИС сам открывает слои. Самостоятельно можно добавить нажав кнопку «Справочники — дополнительные слои» и далее в списке слева добавить каталог или обновляемый каталог (на ваш выбор).

    Reply ↓
  25. V.Nikonov

    С городами (крупными) проблем нет. А что делать с мелкими городами? А особенно туго с мелкими населёнными пунктами… Получать метки на информационном слое по географическим координатам (Широта-долгота) можно?

    Reply ↓
  26. Infactum

    (25) V.Nikonov, 2ГИС это не карта всей России, как яндекс.карты или google maps. Нет там мелких городов и населенных пунктов (не считая пригородов и ближайшего окружения). Так что ваша проблема из другой области.

    Тем не менее получать по координатам метку можно. Только эту возможность я не включал в обработку. Смысла нет, тут уже полно работ было, реализующих геолокацию на основе более подходящих типов карт.

    Reply ↓
  27. V.Nikonov

    На Яндексе и Гугле нет подробностей для сельской местности (нет улиц и домов), но карта существует…

    В моей ситуации есть ГИС-подсистема для ЭТП бегающих по клиентам для сбора заказов с КПК/планшетами. Оттуда я могу получить географические координаты и привязать их к точкам. Т.к. штатная подсистема просмотра ГИС-информации лицензирована (т.е. ограничено количество рабочих мест), то есть желание воспользоваться информацией (Фактические координаты ТТ) для просмотра на картах из 1с8:УТ… А ТТ находятся не только в областном центре для которого есть 2ГИС карта, но и по области.

    Вторая сложность в том, что далеко не всегда Адрес доставки ТТ пишется в соответствии с КЛАДР. Едва удается добиться того, что бы уточняющие сведения дописывались к стандартному КЛАДР-адресу после адреса… Соответственно, любопытно, «ДопилитьНапильником» не сможет отбросить эти «суфиксы». Как сервис распознавания адреса переварит это излишек?

    Reply ↓
  28. V.Nikonov

    Ещё вопрос про отбрасывание адресных сокращений. Как перевариваются сервисом ситуации с одинаковыми названиями Площади, Улицы, Переулка.. Ведь их Имя собственное может повторяться…

    Reply ↓
  29. Anyxwar

    В общем первый раз из 1с работаю с картами.Если автору не сложно то пожалуйста распишите алгоритм действий.Я думаю я такой не один буду.Т.к. методом народного тыка с лету не получилось

    Reply ↓
  30. Infactum

    (30) Anyxwar, Да там все элементарно.

    Открываем модуль обработки, ищем функцию ПолучитьИсходныеДанные(). Вам необходимо описать свой алгоритм формирование ТЗ с исходными данными, а мою заглушку удалить.

    ТЗ должна содержать следующую информацию: Город, Улицу, Дом, Корпус, Контрагента, Информация (просто комментарий), Телефонный код города и телефон, 2 условия (определяют каким цветом выводится информация: красный, желтый, зеленый). Все адреса заполняйте по КЛАДРу.

    Так же надо поправить строку с указанием города в заголовке слоя 2ГИС. У меня там написано «Челябинск», так что по этой фразе можете легко в коде найти и исправить на свой. Либо слегка переделать алгоритм, чтобы он был более универсальным и брал город из исходных данных.

    Все, теперь можно сделать слой и открыть в 2ГИС. Если не знаете как, смотрите прошлые мои комментарии.

    Последнее о чем стоит упомянуть — возможноя разница между адресами в КЛАДР и 2ГИС в вашем городе. Такое можно определить только анализируя адреса контрагентов, которые не вывелись на карту. Для решения этой проблемы есть функция ДопилитьНапильником().

    Reply ↓
  31. Anyxwar

    Спасибо!!! Информативно

    Reply ↓
  32. Дмитрий74Чел

    (31) добавьте описание подключения «для чайников», в описание обработки. Уже не один раз вас спросили.

    Reply ↓
  33. a1ex4ndr

    я тоже думаю, что описание подключения лучше в общем описании обработки искать, а не в комментариях к обработке…

    Reply ↓
  34. capshow

    Какие примеры практического применения этой реализации?

    Насколько я понял, это вывести в 1С оффлайн карту (адрес клиента, местонахождение склада…), когда нет интернета, верно?

    А не собираетесь расширять функционал маршрутами, расчетом оптимальных? Или уже есть? Например, логистическим компаниям было бы очень удобно

    Reply ↓
  35. 1977

    Контрогентов, можно будедет видеть? Можно использовать для CRM….

    Reply ↓
  36. v.a.ryag

    В закладочки, надо обязательно скачать)

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *