gifts2017

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

Опубликовал Егор Иванов (Infactum) в раздел Обмен - Обмен с другими системами

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

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

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

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

Скачать файлы

Наименование Файл Версия Размер
Обработка выгрузки 293
.epf 15,77Kb
07.08.12
293
.epf 15,77Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Доржи Балбаров (Angeros) 08.08.12 04:06
Почему решили работатьс дубль гис а не с яндексом? яндекс поддерживает больше городов.
2. Егор Иванов (Infactum) 08.08.12 05:38
(1) Angeros, у 2ГИС карты актуальнее. По крайней мере в моем городе. Помимо этого 2ГИС - это оффлайн режим.
3. Доржи Балбаров (Angeros) 08.08.12 05:51
Согласен... а моего родного там нету. Кстати а как насчет маршрутизации, существует ли возможность через механизм маршрутизации 2гиса проложить маршрут в нем из 1с.
4. Сергей (seermak) 08.08.12 06:26
При повторном открытии информация дублируется((((( В параметрах надо включать дополнительные слои - а то ничего не увидишь
5. Егор Иванов (Infactum) 08.08.12 06:58
(4) seermak, Так слой и не надо каждый раз открывать. Нужно в 2ГИС в дополнительных слоях добавить обновляемую группу. Файлом для обновления будет ваш слой.
Например в моей базе выгрузка производится регламентированным заданием. В результате я всегда имею актуальную информацию на карте.
Плагин для дополнительных слоев конечно нужно. Кроме как через плагины, взаимодействовать с 2ГИС не получится. Так как этот плагин входит в стандартную поставку, не вижу причин его не использовать.

(3) Angeros, Прокладку маршрута сделать можно, но тогда придется написать свой плагин, который будет служить прослойкой между 1с И 2ГИС. Можно еще воспользоваться онлайн API, но лицензионное соглашение запрещает его использование в бизнес решениях.
6. Сергей (seermak) 08.08.12 09:49
(5) да, так гораздо лучше))))
7. qweasd qweasdzc (serega3333) 08.08.12 15:37
прикольно, надо будет попробовать, только получается в пределах одного города можно смотреть? если по всем россии контрагенты, лучше я так понимаю яндексом пользоваться
8. Егор Иванов (Infactum) 08.08.12 15:40
(7) serega3333, верно. Одновременно только один город.
9. Алекс Ю (AlexO) 08.08.12 15:47
10. kiril lipatov (kilokilo) 08.08.12 16:57
11. Дмитрий Ярославцев (DimanYa) 09.08.12 09:31
Просто отлично, сейчас скачаю и попробую на нашей базе
12. Анна Е (al461sy) 09.08.12 10:12
очень полезная вещь, будем тестировать!
13. Сергей (seermak) 09.08.12 17:05
протестировал - работает нормально, единственное адреса править приходится - адресные сокращения убирать(((
14. Егор Иванов (Infactum) 09.08.12 17:59
(13) seermak, так там же была для этого функция с фееричным названием "ДопилитьНапильником". Но к сожалению универсальной ее сделать не получилось.
15. Сергей (seermak) 09.08.12 18:29
(14) вот и пилю...... По Москве еще проблема - с трудом понимает дома с к (19к1 и т.д.) в КЛАДре они все слитно пишутся а в ГИСе раздельно - но это уже глюки ГИСа....
16. f f (fnv) 13.08.12 11:47
(14) Infactum, "ДопилитьНапильником" действительно феерично))))
Автору публикации спасибо.
17. Alexey (zarius) 13.08.12 12:03
Для оффлайна советую посмотреть в сторону SAS Planet
18. Егор Иванов (Infactum) 13.08.12 18:39
(17) zarius, Как уже было отмечено выше для некоторых городов, в том числе моего, карты 2ГИС актуальнее чем у гугля, яндекса и прочих.
Если рассмотреть предложенный вами SAS.Planet, то он вроде как не может скачать карту с сайта 2ГИС. Да и смысл это делать если у них уже есть приложение с оффлайн режимом.
Ну и самое главное - не нашел, может ли SAS.Planet получать координаты дома (для установки метки) зная только его адрес.
19. Антон Васильев (AVVG) 15.08.12 09:52
А скажите пожалуйста вроде нашел то что давно искал, тока если все точки из 1С расставим маршрут уже в 2Гисе проложить можно?
А так уже бомба а то вечно по географическому положению тока работают.
Спасибо большое
20. Антон Васильев (AVVG) 15.08.12 09:53
21. Егор Иванов (Infactum) 15.08.12 11:49
(19) AVVG, Можно. Есть варианты автомобильного маршрута и на городском транспорте. Про качество маршрута трудно что-либо сказать, сам редко пользуюсь.
22. Евгений Фербер (omut) 16.08.12 03:45
Класс. Замечание только одно возникло: в принципе, то что 2ГИС не понял адрес, это еще пол-беды. А вот как сделать, чтобы это ее непонимание она озвучила? Т.е. создали слой, пользователь смотрит карту. И если адрес не распознается, то точка на карте не появляется. А хотелось бы, чтобы такие адреса где-то можно было увидеть и оперативно в 1С подправить неверные форматы-данные. В противном случае точки просто молча теряются.
23. Николай (echonok) 16.08.12 17:12
Не могу понять, а как добавить слой в карту 2ГИСа? Плагины дополнительные какие-то нужно скачивать?
24. Егор Иванов (Infactum) 16.08.12 17:19
(23) echonok, Нужный плагин устанавливается вместе с 2ГИС по умолчанию. Опять же по умолчанию 2ГИС сам открывает слои. Самостоятельно можно добавить нажав кнопку "Справочники - дополнительные слои" и далее в списке слева добавить каталог или обновляемый каталог (на ваш выбор).
25. Вадим Никонов (V.Nikonov) 16.08.12 20:49
С городами (крупными) проблем нет. А что делать с мелкими городами? А особенно туго с мелкими населёнными пунктами... Получать метки на информационном слое по географическим координатам (Широта-долгота) можно?
26. Егор Иванов (Infactum) 16.08.12 21:29
(25) V.Nikonov, 2ГИС это не карта всей России, как яндекс.карты или google maps. Нет там мелких городов и населенных пунктов (не считая пригородов и ближайшего окружения). Так что ваша проблема из другой области.
Тем не менее получать по координатам метку можно. Только эту возможность я не включал в обработку. Смысла нет, тут уже полно работ было, реализующих геолокацию на основе более подходящих типов карт.
28. Вадим Никонов (V.Nikonov) 17.08.12 08:23
На Яндексе и Гугле нет подробностей для сельской местности (нет улиц и домов), но карта существует...
В моей ситуации есть ГИС-подсистема для ЭТП бегающих по клиентам для сбора заказов с КПК/планшетами. Оттуда я могу получить географические координаты и привязать их к точкам. Т.к. штатная подсистема просмотра ГИС-информации лицензирована (т.е. ограничено количество рабочих мест), то есть желание воспользоваться информацией (Фактические координаты ТТ) для просмотра на картах из 1с8:УТ... А ТТ находятся не только в областном центре для которого есть 2ГИС карта, но и по области.
Вторая сложность в том, что далеко не всегда Адрес доставки ТТ пишется в соответствии с КЛАДР. Едва удается добиться того, что бы уточняющие сведения дописывались к стандартному КЛАДР-адресу после адреса... Соответственно, любопытно, "ДопилитьНапильником" не сможет отбросить эти "суфиксы". Как сервис распознавания адреса переварит это излишек?
29. Вадим Никонов (V.Nikonov) 17.08.12 08:28
Ещё вопрос про отбрасывание адресных сокращений. Как перевариваются сервисом ситуации с одинаковыми названиями Площади, Улицы, Переулка.. Ведь их Имя собственное может повторяться...
30. Яшин Антон (Anyxwar) 23.08.12 09:30
В общем первый раз из 1с работаю с картами.Если автору не сложно то пожалуйста распишите алгоритм действий.Я думаю я такой не один буду.Т.к. методом народного тыка с лету не получилось
31. Егор Иванов (Infactum) 24.08.12 06:11
(30) Anyxwar, Да там все элементарно.
Открываем модуль обработки, ищем функцию ПолучитьИсходныеДанные(). Вам необходимо описать свой алгоритм формирование ТЗ с исходными данными, а мою заглушку удалить.
ТЗ должна содержать следующую информацию: Город, Улицу, Дом, Корпус, Контрагента, Информация (просто комментарий), Телефонный код города и телефон, 2 условия (определяют каким цветом выводится информация: красный, желтый, зеленый). Все адреса заполняйте по КЛАДРу.
Так же надо поправить строку с указанием города в заголовке слоя 2ГИС. У меня там написано "Челябинск", так что по этой фразе можете легко в коде найти и исправить на свой. Либо слегка переделать алгоритм, чтобы он был более универсальным и брал город из исходных данных.
Все, теперь можно сделать слой и открыть в 2ГИС. Если не знаете как, смотрите прошлые мои комментарии.
Последнее о чем стоит упомянуть - возможноя разница между адресами в КЛАДР и 2ГИС в вашем городе. Такое можно определить только анализируя адреса контрагентов, которые не вывелись на карту. Для решения этой проблемы есть функция ДопилитьНапильником().
33. Яшин Антон (Anyxwar) 24.08.12 12:09
34. Дмитрий Г (Дмитрий74Чел) 30.08.12 13:43
(31) Infactum, добавьте описание подключения "для чайников", в описание обработки. Уже не один раз вас спросили.
35. Александр *** (a1ex4ndr) 03.09.12 02:57
я тоже думаю, что описание подключения лучше в общем описании обработки искать, а не в комментариях к обработке...
36. Александр Кикабидзе (capshow) 06.09.12 16:11
Какие примеры практического применения этой реализации?
Насколько я понял, это вывести в 1С оффлайн карту (адрес клиента, местонахождение склада...), когда нет интернета, верно?
А не собираетесь расширять функционал маршрутами, расчетом оптимальных? Или уже есть? Например, логистическим компаниям было бы очень удобно
37. Александр МАН (1977) 07.09.12 17:06
Контрогентов, можно будедет видеть? Можно использовать для CRM....
38. Артем Ватан (v.a.ryag) 11.09.12 14:15
В закладочки, надо обязательно скачать)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа