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

23.04.20

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

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

Файлы

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

Наименование Скачано Купить файл
Подсистема взаимодействия с ЯК
.cf 78,03Kb ver:1.0.2
47 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С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    5942    4    3    

7

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

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

14400 руб.

20.12.2024    3314    17    2    

19

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

В расширении реализован механизм интеграции между системой поставщика и Личным кабинетом СДТ. Реализован обмен заказами и реализациями (накладными), предусмотрено отслеживание статусов документов. Расширение предназначено для 1С:УТ 11.4.

35856 руб.

27.11.2024    1776    1    0    

1

Обмен с ГосИС 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

5196 руб.

28.04.2016    97275    109    218    

359

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

Универсальное расширение конфигурации для автоматической загрузки и заполнения реквизитов контрагентов (партнеров) из ОГРН для 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.4), 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.2), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.5), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.4), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.3), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.4), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.0) и 1С:Бухгалтерия 8 (Бухгалтерия предприятия, редакция 3.0).

5000 руб.

08.11.2017    69357    415    298    

84

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

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

12000 руб.

02.02.2021    20189    58    52    

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

Ну, я показывал ещё в 2012-м году. Удобный для изменения и дополнения и, смею надеяться, адекватный. Смотрели?
2. Yashazz 4867 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 283 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 283 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 283 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 283 06.04.20 17:17 Сейчас в теме
(10) добавил вывод длинны активного маршрута в реквизит формы
insurgut; +1 Ответить
13. shard 282 07.04.20 00:26 Сейчас в теме
(8) если в матрицу расстояний записывать время в пути с учетом пробок, то весьма вкусно может получиться
14. Segate 283 07.04.20 17:10 Сейчас в теме
(13) основная проблема в этом решении в невозможности реализации его не коммерчески при сколько нибудь объемных масштабах.
Из-за того, что путь из точки "а" в точку "б" совсем не обязательно равен пути из точки "б" в точку "а", сложность задачи и количество запросов растет слишком быстро, и по факту бесплатной версии апи хватит на расчет 5-10 не особо сложных маршрутов из максимум 5 точек... если, внезапно, точек будет хотя бы на одну-две побольше - то количество маршрутов резко сократиться, что не особо применимо в рамках промышленного решения
15. shard 282 07.04.20 22:57 Сейчас в теме
(14) то есть бесплатный api ограничивает и количество запрашиваемых маршрутов из двух точек? Уточняю, т.к. не работал с картами в этом контексте.

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

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

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