0. Техподдержка 10.01.19 11:12

Простые маршруты [OSM]

Универсальное решение по работе с картой OpenStreetMap в 1С для любых конфигураций по отображению на карте адреса доставки из любых документов базы данных (геокодирование адреса доставки, рисование полигонов для группировки маркеров в маршруты, оптимизация маршрута и отображение трека на карте, и прочие возможности)

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. saa@kuzov.org 10.01.19 20:12 Сейчас в теме
Демо-версия с управляемым кодом отказалась работать в веб-клиенте (Chrome) на 8.3.13.1644 - ошибки
2. Техподдержка 10.01.19 20:13
только толстый или тонкий клиент
3. prog77 16.01.19 09:44 Сейчас в теме
Добрый день! Можете привести ссылку, где Яндекс разрешает использовать бесплатно 25000 запросов/месяц?
5. lunjio 59 16.01.19 12:51 Сейчас в теме
Добрый день, минимальную версию платформы укажите пожалуйста, а то скачали для 8.2.19.130 и поняли что не подходит. Есть для 8.2.19.130 демо ?
6. Техподдержка 16.01.19 12:53
Добрый день. Почему не подходит ?
7. lunjio 59 16.01.19 13:21 Сейчас в теме
(6)
{Обработка.ПростыеМаршрутыOSM.Форма.Форма.Форма(136,117)}: Тип не определен (ФорматированнаяСтрока)
~44:; _0=a__[___a]; _0=a___[_0.Значение]; ЦветФона=_0; goto ~45; ~45:; _0=a__[___a]; _1=new Шрифт(,,истина); _0=new <<?>>ФорматированнаяСтрока(_0.Представление,_1,_a_,ЦветФона); __a.Добавить(_0); ~46:; _0=1; _1=1; _1=-_1; _0=_0<=_1; if _0=false then goto ~IL_216 endif; goto ~48; ~IL_216:; goto ~50; ~47:; goto ~IL_202; goto ~51; ~48:; ~49:; goto ~51; ~50:; goto ~47; ~51:; goto ~52; ~52:; except endtry; ~IL_202:; _0=___a; _1=1; _0=_0+_1; ___a=_0; ~IL_200: _0=___a; _1=_e4fec3fb_c3df_49b9_9010_63c82e4b4b9f;
{Обработка.ПростыеМаршрутыOSM.Форма.Форма.Форма(137,53)}: Тип не определен (ФорматированнаяСтрока)
if _0<=_1 then goto ~IL_201 endif; ~IL_199:; _0=new <<?>>ФорматированнаяСтрока(__a); _a__=_0; ~53:; _0=1; _0=-_0; _1=0; _0=_0>_1; if _0=false then goto ~IL_217 endif; goto ~56; ~IL_217:; goto ~55; ~54:; _0=_a__; return _0; goto ~58; ~55:; goto ~54; ~56:; ~57:; goto ~58; ~58:; endfunction &НаСервере function РазложитьСтрокуВМассивПодстрок(val Строка,val a_=",",val a__=неопределено,a___=ложь)export var ___a_; _0=new массив; _a=_0; ~0:; _0=0; _1=1; _0=_0>_1; if _0=false then goto ~IL_218 endif; goto ~3; ~IL_218:; goto ~2; ~1:; _0=a__; _1=null; _0=_0>=_1;

Ещё описаниеОповещения используются. Я могу конечно форматированную заменить на просто строку, не критично.
8. lunjio 59 16.01.19 13:25 Сейчас в теме
Со строкой поправил,
{Обработка.ПростыеМаршрутыOSM.Форма.Форма.Форма(10,99)}: Тип не определен (ОписаниеОповещения)
goto ~55; ~IL_13:; goto ~58; ~54:; _0=1; __c=_0; ~55:; _0=1; __c=_0; goto ~60; ~56:; ~57:; _0=new <<?>>ОписаниеОповещения(c___,ОбъектФорма,a_); ___a=_0; goto ~61; ~58:; _0=__c; _1=1; _0=_0=_1; if _0=false then goto ~IL_14 endif; goto ~56; ~IL_14:; goto ~59; ~59:; ~60:; _0=new ОписаниеОповещения(c___,ОбъектФорма,a_); ___a=_0; goto ~61; ~61:; ~62:; _0=1; _1=0; _0=_0>_1; if _0=false then goto ~IL_15 endif; goto ~70; ~IL_15:; goto ~66; _0=__c; _1=1; _0=_0=_1; if _0=false then goto ~IL_16 endif; goto ~72;
{Обработка.ПростыеМаршрутыOSM.Форма.Форма.Форма(10,273)}: Тип не определен (ОписаниеОповещения)
goto ~55; ~IL_13:; goto ~58; ~54:; _0=1; __c=_0; ~55:; _0=1; __c=_0; goto ~60; ~56:; ~57:; _0=new ОписаниеОповещения(c___,ОбъектФорма,a_); ___a=_0; goto ~61; ~58:; _0=__c; _1=1; _0=_0=_1; if _0=false then goto ~IL_14 endif; goto ~56; ~IL_14:; goto ~59; ~59:; ~60:; _0=new <<?>>ОписаниеОповещения(c___,ОбъектФорма,a_); ___a=_0; goto ~61; ~61:; ~62:; _0=1; _1=0; _0=_0>_1; if _0=false then goto ~IL_15 endif; goto ~70; ~IL_15:; goto ~66; _0=__c; _1=1; _0=_0=_1; if _0=false then goto ~IL_16 endif; goto ~72;
{Обработка.ПростыеМаршрутыOSM.Форма.Форма.Форма(191,8)}: Тип не определен (ОписаниеОповещения)
_0=new <<?>>ОписаниеОповещения(_a_,ЭтаФорма,__a); ___a=_0; ПоказатьВыборИзСписка(___a,_a,a_); endprocedure &НаКлиенте procedure ОбработкаОповещенияВыбораТипа(a_,a__)export var _a; _0=a_; _1=undefined; _0=_0=_1; if _0=false then goto ~IL_342 endif; goto ~0; ~IL_342:; goto ~1; ~0:; goto ~6; ~1:; _0=a_.Значение; a___=_0; _0=a___.ПунктНазначения; Депо=_0; ~2:; _0=0; _a=_0; goto ~3; ~3:; _0=a___.СтрокаУИД; ДепоУИД=_0; goto ~5; ~4:; _0=a___.ВозвращаемоеЗначение; ДепоУИД=_0; goto ~5; ~5:; goto ~6; ~6:; ~7:; _0=1;
{Обработка.ПростыеМаршрутыOSM.Форма.Форма.Форма(375,528)}: Тип не определен (ОписаниеОповещения)
_0=Список.Количество(); if _0=false then goto ~IL_739 endif; goto ~22; ~IL_739:; goto ~21; ~16:; ~17:; goto ~21; ~18:; ~19:; goto ~17; ~20:; ~21:; goto ~33; ~22:; _0=""; _a_=_0; для _a__=1 по 19 цикл _a_=_a_+символ(число(сред("10591086109410901082104710991078109310891078107210861082108­51083109310961077",(_a__-1)*4+1,4))-число(символ(кодсимвола("4057550571633516865",_a__))));конеццикла; ~23:; _0=1; _0=-_0; _1=1; _0=_0>_1; if _0=false then goto ~IL_740 endif; goto ~25; ~IL_740:; goto ~24; ~24:; goto ~27; ~25:; ~26:; _0=new <<?>>ОписаниеОповещения(_a_,ОбъектФорма);
{Обработка.ПростыеМаршрутыOSM.Форма.Форма.Форма(376,31)}: Тип не определен (ОписаниеОповещения)
_a=_0; goto ~28; ~27:; _0=new <<?>>ОписаниеОповещения(_a_,ОбъектФорма); _a=_0; goto ~28; ~28:; _0=""; __a_=_0; для __a__=1 по 16 цикл __a_=__a_+символ(число(сред("10421105107310811096108110901077003610861076108910981090109­51096",(__a__-1)*4+1,4))-число(символ(кодсимвола("0604810042412246",__a__))));конеццикла; ~29:; _0=0; _a___=_0; goto ~30; ~30:; Список.ПоказатьВыборЭлемента(_a,__a_); goto ~32; ~31:; Список.ОбновитьСостояниеВсехМаркеровНаКарте(_a,__a_); goto ~32; ~32:; goto ~33; ~33:;

Ну тут я просто не буду терять время на распутывание и исправление, хотя интересная задача)
9. Техподдержка 16.01.19 13:26
Понятно. Такие объекты на этой платформе еще не появились.
С платформой 8.3.10 точно будет работать. Обычное приложение тестировал на 8.3.12
10. Техподдержка 16.01.19 13:28
Вам принципиально оставить платформу 8.2.19.130 ? Обработку можно специально адаптировать под эту платформу .. переписав код с "новыми" объектами языка
11. lunjio 59 16.01.19 13:30 Сейчас в теме
Да, принципиально, и вам это аудиторию расширит. По сути только ОписаниеОповещения переделать и форматированную строку.
12. lunjio 59 16.01.19 13:31 Сейчас в теме
Ну там ещё HTTP объекты используемые для запроса к апи возможно конструктор переделать надо будет, т.к конструкторы различаются.
13. Техподдержка 16.01.19 13:31
Хорошо .. сделаю еще под 8.2.19
14. AlexHD5 25.01.19 09:36 Сейчас в теме
У вас в описание "Yandex - бесплатно 25000 запросов" - да вы что? Это не так. Внимательно читайте условия https://tech.yandex.ru/maps/commercial/

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


Для проектов, в которых нельзя выполнить хотя бы одно условие, API будет платным.
Подробнее об условиях бесплатного использования можно узнать https://tech.yandex.ru/maps/doc/enterprise/concepts/about-enterprise-docpage/?from=commercial

А на самом деле, в вашем случае, стоимость 1000 запросов в сутки, стоит 120 000 руб в год https://tech.yandex.ru/maps/doc/enterprise/concepts/jsapi-geocoder-docpage/#jsapi-geocoder
15. Техподдержка 02.03.19 12:50
(14)
У вас в описание "Yandex - бесплатно 25000 запросов" - да вы что?

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

По тексту не сказано что карта должна быть получена от api Яндекса, а значит достаточно будет вывести логотип Яндекса на любой карте, если используются данные полученные от сервисов Яндекса. Это достаточно просто сделать и по запросу добавлю такой логотип.
Остальные пункты условий использования от Яндекса можно пропустить, т.к в прогорамме используется api openStreetMap, которого не касаются эти ограничения.
Еще обратите внимание, что в программе возможно использование трех геокодеров для получения координат и, если вас мучают сомнения в законности применения геокодера от Яндекса, то всегда можно использовать для получения результата оставшиеся два .. от Гугла и openStreetMap
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Нижний Новгород
зарплата до 120 000 руб.
Полный день

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Консультант-аналитик 1С
Москва
зарплата от 70 000 руб. до 100 000 руб.
Полный день

Программист 1С
Москва
зарплата от 80 000 руб. до 120 000 руб.
Временный (на проект)