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

23.04.20

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

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

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

Наименование Файл Версия Размер
Подсистема взаимодействия с ЯК
.cf 78,03Kb
45
.cf 1.0.2 78,03Kb 45 Скачать

Добрый день,

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

Предложенный механизм работает с толстым, тонким и 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

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

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

36000 руб.

03.08.2020    15751    10    17    

11

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17559    6    15    

13

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16365    42    49    

23

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25746    9    0    

7

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 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

2400 руб.

28.04.2016    88593    160    215    

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

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

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

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

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

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

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


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

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

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

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