Механизм взаимодействия с Яндекс-картами. Возможность отображения и работы с районами города или другими административными областями

23.04.20

Интеграция - WEB-интеграция

Механизм работы с картами Яндекс. Возможность просто и быстро инициализировать карту и вывести ее на форму. Возможность расширять функционал согласно своим потребностям просто добавляя макеты JS и описывая процедуры их подключения. Реализовано взаимодействие с ObjectManager, polygonMaker Реализованы примеры по работе с метками, геокодером и пр. Добавлены примеры по выводу областей России, Районов произвольного города и других адм. регионов

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Подсистема взаимодействия с ЯК
.cf 78,03Kb ver:1.0.2
48 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Добрый день,

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

Предложенный механизм работает с толстым, тонким и web клиентом, мобильным клиентом на android

Все макеты JS Для работы с ЯК хранятся в макетах.

Вся процедура подключения происходит в ОМ  РаботаСЯндексКартами.

Моделирование текста HTML  происходит примерно так:

&НаСервере
Процедура ВывестиНаКарту()

	ТекстПодключаемыхСкриптов ="";
	РаботаСЯндексКартами.ИнициализироватьКарту(ТекстПодключаемыхСкриптов);
	РаботаСЯндексКартами.ДобавлениеObjectManager(ТекстПодключаемыхСкриптов, Справочники.СуществующиеФОК.СформироватьМассивСтруктурДляВыводаЧерезObjectManager());
	РаботаСЯндексКартами.РазместитьТочкуНаКарте(ТекстПодключаемыхСкриптов);
	РаботаСЯндексКартами.ДобавитьперемещениеТочкиПоКартеКликом(ТекстПодключаемыхСкриптов);
	СтраницаХТМЛ = РаботаСЯндексКартами.ПолучитьТекстHTML(ТекстПодключаемыхСкриптов);				
					
КонецПроцедуры

   

По мере доработки конфигурации я буду обновлять макеты JS, из планов:

Планер мультимаршрута

Вхождение точки в область.

Добавление областей на карту через ObjectManager

Управление параметрами областей

 

Upd 06/04/2020:

Добавлен планер маршрута. 

 

Upd 23/04/2020

Добавлена возможность вывода и выбора административных областей.

Добавлена возможность сохранения ее и последующей модификации.

 

Upd 27/04/2020

Добавлена возможность вывода карты города с делением по районам, а так же областей с делением по адм.районам

Регионы ищутся в базе данных OSM, а далее конвертируются в формат YandexMaps.

 

Тестировалось на 1С:Предприятие 8.3 (8.3.15.1565).

Вступайте в нашу телеграмм-группу Инфостарт

Яндекс.карты яндекс api Javascript ПолеHTML OSM

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    22922    33    24    

26

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17280 руб.

20.12.2024    5019    22    4    

24

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    21584    62    52    

40

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять товары в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически синхронизирует ваш каталог. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12000 руб.

29.08.2025    1375    2    0    

3

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

5196 руб.

28.04.2016    99602    114    218    

362

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    40677    74    45    

31
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Yashazz 4891 05.04.20 20:43 Сейчас в теме
я наткнулся на то, что почти никто не показывал адекватный, удобный для изменения и дополнения модульный механизм работы с сервисом.

Ну, я показывал ещё в 2012-м году. Удобный для изменения и дополнения и, смею надеяться, адекватный. Смотрели?
2. Yashazz 4891 05.04.20 20:45 Сейчас в теме
Да и вообще, на этом поприще столько хороших грамотных разработок сделано, разными авторами, что "почти никто" хочется отнести на счёт неудачно или неумело выполненного поиска. Ибо их тут и на других ресурсах было вполне себе. И модульность делали разную, и универсальную генерацию кода js делали, и через eval пробовали, короче говоря - дофига.

Причём, в отличие от этой публикации, во многих случаях всё было выложено открыто и бесплатно.
dock; swenzik; +2 Ответить
3. insurgut 208 06.04.20 10:25 Сейчас в теме
(2) а можно ссылку? Все, что не находил - на деле либо не работает в текущий момент, либо работает не внутри 1С (открывая вкладки браузера). Ни одной корректно работающей обработки, которая возвращает маршрут по списку адресов, вроде нет, только на ветер $m выбрасываются.
Segate; Светлый ум; +2 Ответить
5. Segate 285 06.04.20 12:34 Сейчас в теме
(3) добавил планер маршрута.
(4) Сейчас реализован только стандартный RoutePlaner Который строит маршрут между двумя точками. Multiroute если надо могу собрать,
Но проще его сделать добавлением строк в 1с, а отрисовкой их на карте. Т.к. существующей контрол панельки для мультироута нет.
В ближайшем будущем в плане нариовать виджет для карты =)
Если подробнее опишите задачу, возможно реализую так как нужно вам =) если это не противоречит моей задаче
6. insurgut 208 06.04.20 14:18 Сейчас в теме
(5) задача самая простая и востребованная для 1С. Есть список адресов. Есть начальная точка маршрута (наша организация) и конечная (тоже наша организация). Нужно проложить кратчайший маршрут.

Начальная точка: Наша организация
Точка 1: адрес 2
Точка 2: адрес 5
Точка 3: адрес 1
Точка 4: адрес 3
Точка 5: адрес 4
Конечная точка: Наша организация
7. Segate 285 06.04.20 14:53 Сейчас в теме
(6) Если у вас есть понимание последовательности обхода точек, т.е. сначала мы идем в точку 1, затем 2,... и в конце 5,
То это не сложно и я сделаю пример сегодня к вечеру...
Но если вас интересует решение задачи коммивояжера, то в рамках яндекса - этот сервис платный, нужно покупать подписку. подробнее здесь: https://yandex.ru/dev/routing/vrp/
8. insurgut 208 06.04.20 15:24 Сейчас в теме
(7) я думаю, интересует решение задачи как раз бесплатно :) Наверное я слишком общую задачу написал. Конкретно не хватает функции, которая вернет расстояние между двумя точками. Или может Яндекс умеет отдавать сразу матрицу расстояний? Тогда было бы совсем круто и удобно получить по списку адресов сразу матрицу расстояний, но это не принципиально. Получение расстояния между двумя адресами более чем достаточно. Яндекс вроде это умеет делать на бесплатной основе?

Строим для N-адресов матрицу расстояний, используя функцию, которой не хватает. Дальше уже сами решаем задачу собственными силами как угодно :)
9. Segate 285 06.04.20 15:42 Сейчас в теме
(8) Насколько я знаю, бесплатных адекватных алгоритмов решения популярных нп-полных задач не существует...
Тарифы
Для сервиса «Матрица расстояний и Построение маршрутов между двумя точками» нет бесплатной версии. Чтобы использовать сервис нужно подключить коммерческую лицензию.

Для продукта «Матрица расстояний и Построение маршрутов между двумя точками» доступны два вида лицензии: стандартная и расширенная. При использовании стандартной лицензии запрещается сохранять или изменять данные, полученные через API. В расширенной лицензии это ограничение снято.

Стоимость лицензии зависит от количества запросов к сервису.


Если вы готовы покупать лицензию, мы можем обсудить реализацию сервиса отдельно...
10. insurgut 208 06.04.20 16:16 Сейчас в теме
(9) я же уже написал, неправильно написал. Забудьте про задачу :) Вопрос - можно добавить в данную разработку функцию получения расстояния (в метрах) между двумя адресами?
Вот тут вроде описано: https://yandex.ru/blog/mapsapi/rasstoyanie-mezhdu-tochkami-v-peremennuyu
11. Segate 285 06.04.20 17:17 Сейчас в теме
(10) добавил вывод длинны активного маршрута в реквизит формы
insurgut; +1 Ответить
13. shard 292 07.04.20 00:26 Сейчас в теме
(8) если в матрицу расстояний записывать время в пути с учетом пробок, то весьма вкусно может получиться
14. Segate 285 07.04.20 17:10 Сейчас в теме
(13) основная проблема в этом решении в невозможности реализации его не коммерчески при сколько нибудь объемных масштабах.
Из-за того, что путь из точки "а" в точку "б" совсем не обязательно равен пути из точки "б" в точку "а", сложность задачи и количество запросов растет слишком быстро, и по факту бесплатной версии апи хватит на расчет 5-10 не особо сложных маршрутов из максимум 5 точек... если, внезапно, точек будет хотя бы на одну-две побольше - то количество маршрутов резко сократиться, что не особо применимо в рамках промышленного решения
15. shard 292 07.04.20 22:57 Сейчас в теме
(14) то есть бесплатный api ограничивает и количество запрашиваемых маршрутов из двух точек? Уточняю, т.к. не работал с картами в этом контексте.

уточнил:
В API установлен суточный лимит на использование сервисов геокодирования, маршрутизации и панорам Яндекса. Для бесплатной версии API лимит составляет 25 000 запросов в сутки. Подробнее о том, какие запросы входят в этот лимит, см. в таблице ниже.

25000 это примерно 200 маршрутов из пяти точек обсчитать - вполне хватит, имхо
21. V.Nikonov 124 07.05.20 19:42 Сейчас в теме
(15) Задачу Коммивояжора в первом приближении можно решить используя географические координаты точек маршрута... При этом в первом приближении получить последовательность точек удаляясь от Фиксированной стартовой.
Соответственно можно считать сформированной таблицу:
№пп Тчк Широта Долгота (Адрес)

Можно вывести такой маршрут с расчётом пробега на автомобиле? Укладывается в бесплатную лицензию?
22. shard 292 08.05.20 00:13 Сейчас в теме
(21) Для одного автомобиля бесплатного лимита более чем достаточно, имхо.
Географические координаты обычно лишние, т.к. маршрут строится по адресам. Для построения матрицы расстояний на n=5 точек (без разницы, в километрах или часах) нужно 20 запросов маршрутизации (в предыдущем посте протупил: почему-то думал там n! а не n^2-n). Задача коммивояжера - попробуйте сами исходя из размера автопарка и длины маршрутов.
23. V.Nikonov 124 10.07.20 21:28 Сейчас в теме
(22) Среднестатистический маршрут содержит 15-25 точек. На многих предприятиях таких маршрутов может быть десяток и более.
12. Yashazz 4891 06.04.20 21:50 Сейчас в теме
18. Russian_Santa 17 01.05.20 21:09 Сейчас в теме
19. Segate 285 02.05.20 08:33 Сейчас в теме
(18) там в посте ниже рассказывают, что нужно не просто построение маршрута, а решение задачи комивояжера, и бесплатно )
20. Russian_Santa 17 02.05.20 08:37 Сейчас в теме
(19)бесплатно?:)а отвечал я на сообщение в котором вы говорили что не было ни одного работающего на данный момент,либо открывающее вкладки и т.п.
4. Светлый ум 456 06.04.20 11:53 Сейчас в теме
В маршруте точки нумеруются?
16. Deniskinr83 49 30.04.20 20:24 Сейчас в теме
Здесь https://infostart.ru/public/1204568/ метки адресов нумеруются, рассчитывается длина маршрута между точками.
17. Segate 285 01.05.20 10:15 Сейчас в теме
(16) на данный момент мультимаршрут - это не приоритетная задача. т.к. из за специфики проекта, упор делается именно на геометрию и выделение областей, а так же дальнейшую работу с ними(площадь пересечения, попадание точки в области, и тд)
Как только все расчеты геометрии будут закончены, я добавлю планер мультимаршрута, возможно попытаюсь сделать простенькие матрицы расстояний и тд.
24. RustIG 1934 12.11.21 15:17 Сейчас в теме
(16) раздвоение личности: Денискинр83 и Денр83?...
Для отправки сообщения требуется регистрация/авторизация