Строим маршруты на картах в 1С с помощью OpenStreetMap, OSRM и Leaflet

Публикация № 1000836 12.02.19

Интеграция и обмен данными - WEB-интеграция

Карты маршруты OpenStreetMap OSRM Leaflet

Краткая статья о том как вывести на карту (в 1С) маршруты с помощью OpenStreetMap, OSRM и Leaflet. По данной системе очень мало примеров, но так как OpenStreetMap является бесплатным сервисом и не требует никаких ключей и регистраций, и является довольно мощным механизмом, решил написать небольшую статью "как это сделать?". В первую очередь скажу, все намного проще, если вы используете последнюю версию платформы (8.3.14), где есть поддержка практически всех браузеров (IE 11, EDGE, Mozilla), но что делать если у нас не самая свежая платформа, где поддержка только IE 9?

Берем Leaflet API

1. Создаем текстовый общий макет:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=9"/>
    <link rel="stylesheet" href="/redirect.php?url=aHR0cHM6Ly91bnBrZy5jb20vbGVhZmxldEAxLjMuMS9kaXN0L2xlYWZsZXQuY3Nz" />
    <script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js"></script>
</head>
<body>
    <div id="map" class="map" style="position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px;"></div>
    <script type="text/javascript">
    	var map = L.map('map');
    	map.setView([&ШиротаЦентр, &ДолготаЦентр], 13);
	    L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
    		attribution: '&copy; <a href="/redirect.php?url=aHR0cDovL29zbS5vcmcvY29weXJpZ2h0">OpenStreetMap</a> and &copy; <a href="/redirect.php?url=aHR0cDovL215LnNlcnZlcg==">Тут наша организация</a> contributors'
		}).addTo(map);
	&КодМаршрута
    </script>
</body>
</html>

Версия leaflet указывается актуальная, либо используйте ту, которая в примере.. В примере кода заменяются ссылки на неверные <link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" />

В коде HTML присутствует 3 параметра: &ШиротаЦентр, &ДолготаЦентр, &КодМаршрута, которые нам нужно будет заменить на свои, при выводе текста в поле HTML документа. Первые два параметра указывают на центр карты для начального отображения (предлагается ставить координаты первой точки маршрута), третий - сам "код" (скрипт) маршрута (возможно сделать встроенные функции на JS, но мне было лень)).

2. Вторым шагом пишем две процедуры (в общем модуле, где хотите), первая - определение геокодирования адреса (получение координат по представлению адреса), описание сервиса доступно по ссылке Nominatim:

Функция ГеокодироватьАдрес(ТекАдрес) Экспорт

	оср = Новый HTTPСоединение("nominatim.openstreetmap.org", , , , , , Новый ЗащищенноеСоединениеOpenSSL());
	мАдрес = СтрРазделить(ТекАдрес, " ");
	Попытка
		Запрос = Новый HTTPЗапрос("/?format=json&q=" + СтрСоединить(мАдрес, "+"));
		Ответ = оср.Получить(Запрос);
	Исключение
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при попытке геокодировать по OSR, адрес: " + ТекАдрес + Символы.ПС + "Описание: " + ОписаниеОшибки());
		Возврат Неопределено;
	КонецПопытки;
	
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
	Попытка
		СтруктАдреса = ПрочитатьJSON(ЧтениеJSON);
	Исключение
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при попытке геокодировать по OSR, адрес: " + ТекАдрес + Символы.ПС + "Описание: " + ОписаниеОшибки());
		Возврат Неопределено;
	КонецПопытки;
	Если ТипЗнч(СтруктАдреса) = Тип("Массив") Тогда
		Если СтруктАдреса.Количество() = 0 Тогда
			ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Для адреса: """ + ТекАдрес + """ не обнаружено ни одной геопозиции");
			Возврат Неопределено;
		ИначеЕсли СтруктАдреса.Количество() > 1 Тогда
			ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Для адреса: """ + ТекАдрес + """ обнаружено больше одной геопозиции");
		КонецЕсли;
		Адрес = СтруктАдреса[0];
		Возврат Новый Структура("Адрес,Широта,Долгота", Адрес.display_name, Адрес.lat, Адрес.lon) 
	КонецЕсли;

КонецФункции

немного комментария к тексту кода: адрес указывать (область, город улица, номер дома) через пробелы. При геокодировании возможен возврат нескольких координат, в данном случае берется первый.

вторая - получение точек маршрута от routing machine

Функция ПолучитьМаршрут(МассивАдресов)

	оср = Новый HTTPСоединение("router.project-osrm.org", , , , , , Новый ЗащищенноеСоединениеOpenSSL());
	мТочки = Новый Массив;
	Для каждого Точка Из МассивАдресов Цикл
		мТочки.Добавить(Формат(Точка.Долгота, "ЧЦ=15; ЧДЦ=12; ЧРД=.; ЧГ=0") + "," + Формат(Точка.Широта, "ЧЦ=15; ЧДЦ=12; ЧРД=.; ЧГ=0"));
	КонецЦикла;
	Попытка
		Запрос = Новый HTTPЗапрос("/route/v1/driving/" + СтрСоединить(мТочки, ";") + "?overview=false&alternatives=true&steps=true");
		Ответ = оср.Получить(Запрос);
	Исключение
		Сообщить("Ошибка при попытке маршутизации по OSR, адрес" + Символы.ПС + "Описание: " + ОписаниеОшибки());
		Возврат Неопределено;
	КонецПопытки;
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
	Попытка
		СтруктМаршрута = ПрочитатьJSON(ЧтениеJSON);
	Исключение
		Сообщить("Ошибка при попытке маршутизации по OSR, адрес:" + Символы.ПС + ОписаниеОшибки());
		Возврат Неопределено;
	КонецПопытки;
	Если СтруктМаршрута.Свойство("code") Тогда
		Если НРег(СтруктМаршрута.code) = "ok" Тогда
			Результат = Новый Структура("Маршрут,АльтМаршрут"); 
			Если СтруктМаршрута.routes.Количество() Тогда
				Результат.Маршрут = Новый Массив;
				Для каждого Нога Из СтруктМаршрута.routes[0].legs Цикл
					Для каждого ШагМаршрута Из Нога.steps Цикл
						Для каждого Секция Из ШагМаршрута.intersections Цикл
							Результат.Маршрут.Добавить(Новый Структура("Долгота,Широта", Секция.location[0], Секция.location[1]));
						КонецЦикла;
					КонецЦикла;
				КонецЦикла;
				Если СтруктМаршрута.routes.Количество() > 1 Тогда
					Результат.АльтМаршрут = Новый Массив;
					Для каждого Нога Из СтруктМаршрута.routes[0].legs Цикл
						Для каждого ШагМаршрута Из Нога.steps Цикл
							Для каждого Секция Из ШагМаршрута.intersections Цикл
								Результат.АльтМаршрут.Добавить(Новый Структура("Долгота,Широта", Секция.location[0], Секция.location[1]));
							КонецЦикла;
						КонецЦикла;
					КонецЦикла;
				КонецЕсли;
			КонецЕсли;
			Возврат Результат;
		Иначе
			Возврат Неопределено;
		КонецЕсли;
	ИначеЕсли СтруктМаршрута.Свойство("message") Тогда
		Сообщить("Ошибка при попытке маршутизации по OSR, адрес:" + Символы.ПС + СтруктМаршрута.message);
		Возврат Неопределено;
	КонецЕсли;

КонецФункции // ПолучитьМаршрут()

МассивАдресов - передаем сюда наш массив, полученный в первой процедуре. Для более оптимальной работы, предлагаю хранить координаты в контактной информации объекта (напр. контрагента), получать их на стадии создания адреса. Да забыл, здесь мы получаем не только основной маршрут но и альтернативный (массив АльтМаршрут в структуре результата), его мы нарисуем другим цветом.

3. Теперь нам осталось только создать на основании наших точек сам JS код, который нарисует на полилинию на карте,  и поставит точки начала и конца маршрута (ов).

Функция СформироватьJavaScriptМаршрута(МассивАдресов, Маршрут = Неопределено, АльтМаршрут = Неопределено) Экспорт

	КодМаршрута = "";
	Для каждого Адрес Из МассивАдресов Цикл
		КодМаршрута = КодМаршрута + "L.marker(["+Формат(Адрес.Широта, "ЧЦ=16; ЧДЦ=12; ЧРД=.; ЧГ=0")+", "+Формат(Адрес.Долгота, "ЧЦ=16; ЧДЦ=12; ЧРД=.; ЧГ=0")+"], {title: '" + Адрес.Адрес + "'}).addTo(map);
		|	";
	КонецЦикла;
	Если НЕ Маршрут = Неопределено Тогда
		мМаршрут = Новый Массив;
		Для каждого ТочкаМаршрута Из Маршрут Цикл
			мМаршрут.Добавить("[" + Формат(ТочкаМаршрута.Широта, "ЧЦ=15; ЧДЦ=12; ЧРД=.; ЧГ=0")+", "+Формат(ТочкаМаршрута.Долгота, "ЧЦ=15; ЧДЦ=12; ЧРД=.; ЧГ=0") + "]");
		КонецЦикла;
		КодМаршрута = КодМаршрута + "var latlngs = [" + СтрСоединить(мМаршрут, ",") + "];
		|	var polyline = L.polyline(latlngs, {color: 'red', weight: 5, opacity: 0.7}).addTo(map);
		|	map.fitBounds(polyline.getBounds());
		|	";
	КонецЕсли;
	Если НЕ АльтМаршрут = Неопределено Тогда
		мМаршрут.Очистить();
		Для каждого ТочкаМаршрута Из АльтМаршрут Цикл
			мМаршрут.Добавить("[" + Формат(ТочкаМаршрута.Широта, "ЧЦ=15; ЧДЦ=12; ЧРД=.; ЧГ=0")+", "+Формат(ТочкаМаршрута.Долгота, "ЧЦ=15; ЧДЦ=12; ЧРД=.; ЧГ=0") + "]");
		КонецЦикла;
		КодМаршрута = КодМаршрута + "var altlatlngs = [" + СтрСоединить(мМаршрут, ",") + "];
			|	var altpolyline = L.polyline(altlatlngs, {color: 'blue', weight: 5, opacity: 0.7}).addTo(map);
			|	map.fitBounds(altpolyline.getBounds());
			|	";
	КонецЕсли;
	
	Возврат КодМаршрута;

КонецФункции // СформироватьJavaScriptМаршрута()

Первым параметром передаем наш массив (с первой функции), вторым и третьим передаем массивы маршрутов со второй функции

Вот и все, теперь осталось подменить строки параметров в тексте HTML и засунуть его в наше поле карты.

Кому лень разбираться, предлагается тестовая обработка. Не судите строго ))

Тестовая обработка написана под УФ (тестировалось на платформе 8.3.11)

З.Ы. в построении маршрута обнаружился некий недочет - изгибы дорог и повороты (некоторые) почему то не учитываются, надо разбираться...

 

Обновлено 12.02.19 г.

Для более точной прорисовки изгибов и внутриквартальных поворотов, изменяем запрос к ресурсу routing machine:

"?overview=full&alternatives=true&steps=true&geometries=geojson&hints=;"

и немного дорабатываем процедуру обработки ответа:

Функция ПолучитьМаршрут(МассивАдресов)

	оср = Новый HTTPСоединение("router.project-osrm.org", , , , , , Новый ЗащищенноеСоединениеOpenSSL());
	мТочки = Новый Массив;
	Для каждого Точка Из МассивАдресов Цикл
		мТочки.Добавить(Формат(Точка.Долгота, "ЧЦ=15; ЧДЦ=12; ЧРД=.; ЧГ=0") + "," + Формат(Точка.Широта, "ЧЦ=15; ЧДЦ=12; ЧРД=.; ЧГ=0"));
	КонецЦикла;
	Попытка
		Запрос = Новый HTTPЗапрос("/route/v1/driving/" + СтрСоединить(мТочки, ";") + "?overview=full&alternatives=true&steps=true&geometries=geojson");
		Ответ = оср.Получить(Запрос);
	Исключение
		Сообщить("Ошибка при попытке маршутизации по OSR, адрес" + Символы.ПС + "Описание: " + ОписаниеОшибки());
		Возврат Неопределено;
	КонецПопытки;
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
	Попытка
		СтруктМаршрута = ПрочитатьJSON(ЧтениеJSON);
	Исключение
		Сообщить("Ошибка при попытке маршутизации по OSR, адрес:" + Символы.ПС + ОписаниеОшибки());
		Возврат Неопределено;
	КонецПопытки;
	Если СтруктМаршрута.Свойство("code") Тогда
		Если НРег(СтруктМаршрута.code) = "ok" Тогда
			Результат = Новый Структура("Маршрут,АльтМаршрут"); 
			Если СтруктМаршрута.routes.Количество() Тогда
				Результат.Маршрут = Новый Массив;
				ОсновнойМаршрут = СтруктМаршрута.routes[0];
				Если ОсновнойМаршрут.Свойство("geometry") И ОсновнойМаршрут.geometry.coordinates.Количество() Тогда
					Для каждого Координаты Из ОсновнойМаршрут.geometry.coordinates Цикл
						Результат.Маршрут.Добавить(Новый Структура("Долгота,Широта", Координаты[0], Координаты[1]));
					КонецЦикла;
				Иначе
					Для каждого Нога Из ОсновнойМаршрут.legs Цикл
						Для каждого ШагМаршрута Из Нога.steps Цикл
							Для каждого Секция Из ШагМаршрута.intersections Цикл
								Результат.Маршрут.Добавить(Новый Структура("Долгота,Широта", Секция.location[0], Секция.location[1]));
							КонецЦикла;
						КонецЦикла;
					КонецЦикла;
				КонецЕсли;
				Если СтруктМаршрута.routes.Количество() > 1 Тогда
					Результат.АльтМаршрут = Новый Массив;
					Альтернативный = СтруктМаршрута.routes[1];
					Если Альтернативный.Свойство("geometry") И Альтернативный.geometry.coordinates.Количество() Тогда
						Для каждого Координаты Из Альтернативный.geometry.coordinates Цикл
							Результат.АльтМаршрут.Добавить(Новый Структура("Долгота,Широта", Координаты[0], Координаты[1]));
						КонецЦикла;
					Иначе
						Для каждого Нога Из Альтернативный.legs Цикл
							Для каждого ШагМаршрута Из Нога.steps Цикл
								Для каждого Секция Из ШагМаршрута.intersections Цикл
									Результат.АльтМаршрут.Добавить(Новый Структура("Долгота,Широта", Секция.location[0], Секция.location[1]));
								КонецЦикла;
							КонецЦикла;
						КонецЦикла;
					КонецЕсли;
				КонецЕсли;
			КонецЕсли;
			Возврат Результат;
		Иначе
			Возврат Неопределено;
		КонецЕсли;
	ИначеЕсли СтруктМаршрута.Свойство("message") Тогда
		Сообщить("Ошибка при попытке маршутизации по OSR, адрес:" + Символы.ПС + СтруктМаршрута.message);
		Возврат Неопределено;
	КонецЕсли;

КонецФункции // ПолучитьМаршрут()

Обновлена обработка...

Обновлено 01.06.2020

Убираем параметр "hints=" из строки параметров запросов к ресурсу расчета маршрута!

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

Наименование Файл Версия Размер
Обработка "Работа с картами OSR"

.epf 12,25Kb
154
.epf 1.1 12,25Kb 154 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. mi1man 244 12.02.19 11:51 Сейчас в теме
".. З.Ы. в построении маршрута обнаружился некий недочет - изгибы дорог и повороты (некоторые) почему то не учитываются, надо разбираться..."

используйте rs_overview = "full"
2. Ditron 181 12.02.19 12:42 Сейчас в теме
3. Ditron 181 12.02.19 14:27 Сейчас в теме
(1) нет, не работает, не так надо, а вот так: &geometries=geojson (в запросе) тогда появится структура geometry а в ней массив с более точными координатами... обновлю статью и обработку... спасибо за пинок ))
user986734; +1 Ответить
4. pahalovo 13.02.19 09:11 Сейчас в теме
(3) А полученный geoJson от OSRM можно отправить в leaflet.js L.geoJSON(data). Очень удобно.
5. Ditron 181 13.02.19 11:19 Сейчас в теме
(4) да можно и так, там вообще можно много чего, да только некогда разбираться ))
6. пользователь 13.02.19 21:19
Сообщение было скрыто модератором.
...
7. пользователь 13.02.19 22:08
Сообщение было скрыто модератором.
...
8. qwed557 30 17.02.19 12:47 Сейчас в теме
Координаты получил, в списке адресов 2 точки, при нажатии построить маршрут выходит сообщение
Ошибка при попытке маршутизации по OSR, адрес:
Too Many Requests
9. Ditron 181 17.02.19 21:57 Сейчас в теме
(8)А перевести на русский не судьба? Сервис бесплатный, соответственно нагрузка большая, переводится как "Слишком много запросов", надеюсь дальше объяснять не надо? П.С. это я вывел как ошибку, а вообще это ответ сервера сервиса...
10. qwed557 30 18.02.19 15:29 Сейчас в теме
(9)да нах такой сервис, в течении дня ни разу не построил маршрут, сколько не бы не тестил. и что то он бесплатный, пользы от него 0.
11. Ditron 181 18.02.19 15:47 Сейчас в теме
(10)ну извините, не мой сервис, хотя у меня у двух клиентов подсистема сделана маршрутизации, не жалуются, бывает конечно но не напрягает...
user986734; +1 Ответить
12. Ditron 181 18.02.19 15:50 Сейчас в теме
(10)там на routing machine есть несколько вариантов получения точек для построения полилинии, попробуйте получать в виде таблицы http://project-osrm.org/docs/v5.7.0/api/?language=cURL#table-service
13. Ditron 181 18.02.19 15:52 Сейчас в теме
14. Power_0N 36 09.09.19 09:44 Сейчас в теме
Можно вопрос? А что значит "В примере кода заменяются ссылки на неверные"?
Никак не могу понять правильно я интерпретирую фразу или нет: я должен заменить в примере неверные ссылки на верные? А что считается верным?
15. Ditron 181 09.09.19 11:50 Сейчас в теме
(14)Когда писал статью, и вставки кода делал, ИС почему-то заменял ссылки в коде на какую-то хрень)) В тексте (после кода) я указал то, что должно быть
16. Ditron 181 09.09.19 11:51 Сейчас в теме
(14)А лучше посмотреть файл макета в примере - обработке )
17. sasha777666 317 17.10.19 08:55 Сейчас в теме
Эта строчка "map.fitBounds(polyline.getBounds());" масштабирует карту так чтобы вся линия была в области видимости, как её изменить если у меня несколько линий (например 3: polyline1, polyline2, polyline3) ?
18. Ditron 181 17.10.19 12:01 Сейчас в теме
(17) у меня, все маршруты связаны между собой (т.е. последовательны), соответственно, для карты маршрут один получается, ставлю только маркеры в точках отправления (прибытия). По сути (в вашем случае), я так понимаю, нужно получить баунды каждого маршрута (линии) и из них сделать один баунд по мин и макс, а вот как конкретно, нужно читать АПИ, до этого дело у меня не дошло ))
20. sasha777666 317 17.10.19 13:52 Сейчас в теме
(19) Спасибо за ссылку, всё получилось. Оставлю тут мож кому пригодится:
координаты всех точек которые должны попасть в область видимости добавлял в переменную "КодТочекМасштабирования" в виде "[55.790831000000, 37.704207000000],[56.790831000000, 38.704207000000],[59.790831000000, 39.704207000000]" , в конце строчка "map.fitBounds(polyline.getBounds());" была заменена на "map.fitBounds([" + КодТочекМасштабирования + "]);"
21. Ditron 181 17.10.19 17:07 Сейчас в теме
22. palamars 08.11.19 18:32 Сейчас в теме
А как построить маршрут, где точка финиша совпадает с точкой старта? Ну, типичная задача объехать все магазины и вернуться...
23. Ditron 181 08.11.19 18:57 Сейчас в теме
Что мешает указать последней точкой равной первой ))
24. lk78 185 22.12.19 18:58 Сейчас в теме
а расстояние по маршруту как посчитать?
26. Ditron 181 23.12.19 12:10 Сейчас в теме
(24)в пакете маршрута (ответ от раут машины) есть расстояния) т.е. в методе получения маршрута посмотрите отладкой структуру ответа
25. lk78 185 22.12.19 19:24 Сейчас в теме
есть возможность вывести линейку на карту? для измерения расстояние между точками
27. Ditron 181 23.12.19 12:11 Сейчас в теме
28. zenechka 531 26.12.19 13:36 Сейчас в теме
На одном компьютере не отображается карта: ( https://pastenow.ru/b29f76957f8356fceaabfc02a877aee4 )
При этом на другом все ок. Не сталкивались, какие настройки / права на это могут влиять? В какую сторону копать?
29. Ditron 181 26.12.19 13:52 Сейчас в теме
(28)проблема скорее всего в интернет соединении
30. zenechka 531 26.12.19 14:09 Сейчас в теме
(29) а куда должен быть доступ?
В целом на этом компьютере есть интернет подключение (наример, на сайт http://1c.ru/ в браузере можно зайти), но с ограничениями.
К каким ресурсам по каким протоколам и через какие порты нужен доступ для данного функционала, вот это бы понять...
31. Ditron 181 26.12.19 16:22 Сейчас в теме
(30)ну как минимум на ресурсы используемые, смотрите в код и в макет HTML
32. Ditron 181 26.12.19 16:23 Сейчас в теме
(30)в описании к публикации все есть, смотрите внимательно...
33. rhtr 88 11.02.20 09:26 Сейчас в теме
Подскажите пожалуйста, как можно вывести "title" сразу на экран?

L.marker([60.956771850585, 76.567138671875], {title: '1'}).addTo(map);
34. Ditron 181 11.02.20 13:05 Сейчас в теме
(33)нет, на меркере не получится, можно использовать popup https://leafletjs.com/reference-1.4.0.html#popup

п.с. не ленитесь читать документацию ;-)
35. rhtr 88 12.02.20 07:15 Сейчас в теме
(34) Спасибо, конечно. Документацию читал, но решение так и не нашёл, выкрутился с помощью плагина
https://leaflet.github.io/Leaflet.label/leaflet.label.js
и https://leaflet.github.io/Leaflet.label/leaflet.label.css

Кусочек кода html: L.marker([60.955352783203, 76.569305419921]).bindLabel('Точка1', { noHide: true }).addTo(map);
Не совсем то что я хотел, но заказчик доволен.
36. Ditron 181 12.02.20 11:22 Сейчас в теме
(35)и вам спасибо за кусочек кода )) может и пригодится
37. palamars 27.03.20 16:48 Сейчас в теме
А как же программно определить порядок точек, уже просчитанного маршрута?
Неужели только сравнивать координаты?
38. Ditron 181 27.03.20 16:51 Сейчас в теме
(37)порядок можно выставить по расстоянию между ними, или отсортировать по возврастанию расстояния или использовать роут машину http://project-osrm.org/docs/v5.7.0/api/#table-service
39. romanagatiy 2 13.05.20 16:57 Сейчас в теме
Товарищи, может кто подскажет, как подружить этот скрипт с мобильным приложением на android (8.3.15)? Отображается пустое поле HTML...
Пробовал подключать leaflet последней версии...
Также мущает тег "<meta http-equiv=""X-UA-Compatible"" content=""IE=9""/>"...Но альтернативы не нашел...В html js ноль....
40. Ditron 181 13.05.20 17:53 Сейчас в теме
41. romanagatiy 2 14.05.20 11:08 Сейчас в теме
(40)Если это шутка, будем считать, что я ее оценил) Так-то, в случае отсутствия в системе IE этот тег должен игнорироваться..а в андроиду IE посчастливилось не иметь. Но я попрробовал - не помогло(
42. Ditron 181 15.05.20 09:41 Сейчас в теме
(41) ну не совсем шутка, веб-кит все равно присутствует в платформе, надо тестировать, а возможно и ошибка мобильной платформы
43. romanagatiy 2 21.05.20 12:13 Сейчас в теме
Да, таки установка последнего релиза мобильной платформы (8.3.16.142) решила проблему
44. Ditron 181 21.05.20 12:24 Сейчас в теме
(43)рад, и как, отображение карт ОСРМ годное? на моб устройстве
45. user986734 01.06.20 16:38 Сейчас в теме
Сегодня в HTTPЗапрос параметр фрагмент "&hints=" перестал работать и стал не нужен.
Ошибка исправляется удалением из кода указанного фрагмента.
46. Ditron 181 01.06.20 17:30 Сейчас в теме
(45)да спасибо, я уже заметил, не успел публикацию обновить
user986734; +1 Ответить
47. TrueMage 05.06.20 09:00 Сейчас в теме
Господа, здравствуйте. У меня в июне вообще перестали считаться маршруты, каждый запрос возвращает либо 503 Service Unavailable, либо пустые данные расстояния и времени. Это у всех так?
50. Ditron 181 05.06.20 09:04 Сейчас в теме
51. Ditron 181 05.06.20 09:04 Сейчас в теме
(47) А точку с запятой убрал?) в конце параметра
48. TrueMage 05.06.20 09:02 Сейчас в теме
P.S. параметр "hints=" я убрал
49. Ditron 181 05.06.20 09:03 Сейчас в теме
А точку с запятой убрал?) в конце параметра
52. TrueMage 05.06.20 09:13 Сейчас в теме
53. Ditron 181 05.06.20 09:14 Сейчас в теме
(52)смотри в отладке, что возвращает При запросе
54. TrueMage 05.06.20 09:17 Сейчас в теме
Вот запрос прямо из отладчика, который возвращает пустые данные:
Запрос: /route/v1/driving/60.672025,56.8174151;60.672025,56.8174151?overview=false&alternatives=true&steps=true
Ответ: {"code":"Ok","waypoints":
[{"hint":"Tsg6gWw6lowAAAAALwAAAAAAAAAAAAAAAAAAAA2HnUEAAAAAAAAAAAAAAAAvAAAAAAAAAAAAAABoGwEAGcidAwf3YgMZyJ0DB_diAwAADwqD_w59","location":[60.672025,56.817415],"name":""},{"hint":"Tsg6gWw6lowAAAAALwAAAAAAAAAAAAAAAAAAAA2HnUEAAAAAAAAAAAAAAAAvAAAAAAAAAAAAAABoGwEAGcidAwf3YgMZyJ0DB_diAwAADwqD_w59","location":[60.672025,56.817415],"name":""}],"routes":[{"legs":[{"steps":[{"intersections":[{"out":0,"entry":[true],"location":[60.672025,56.817415],"bearings":[340]}],"driving_side":"right","geometry":"{cxyIe_iqJ??","duration":0,"distance":0,"name":"","weight":0,"mode":"driving","maneuver":{"bearing_after":340,"bearing_before":0,"type":"depart","location":[60.672025,56.817415]}},{"intersections":[{"in":0,"entry":[true],"location":[60.672025,56.817415],"bearings":[160]}],"driving_side":"right","geometry":"{cxyIe_iqJ","duration":0,"distance":0,"name":"","weight":0,"mode":"driving","maneuver":{"bearing_after":0,"bearing_before":340,"type":"arrive","location":[60.672025,56.817415]}}],"weight":0,"distance":0,"summary":"","duration":0}],"weight_name":"routability","weight":0,"distance":0,"duration":0}]}

Вот запрос, который возвращает 503:
Запрос: /route/v1/driving/60.672025,56.8174151;61.340069175,55.1822373?overview=false&alternatives=true&steps=true
Ответ: <!DO CTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<ht ml><head>
<title>503 Service Unavailable</title>
</head><body>
<h1>Service Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
<hr>
<address>Apache/2.4.38 (Debian) Server at router.project-osrm.org Port 443</address>
</body></html>
Показать
55. Ditron 181 05.06.20 09:34 Сейчас в теме
(54)странно, у меня все работает
56. Ditron 181 05.06.20 10:02 Сейчас в теме
(54)ща в инсомнии проверим твои запросы...
57. Ditron 181 05.06.20 10:13 Сейчас в теме
(54)дружище, у тебя чтото с координатами:
http://router.project-osrm.org/route/v1/driving/37.6004,48.7407;37.5968,48.7277?overview=full&alternatives=true&steps=true&geometries=geojso­n

{
  "code": "Ok",
  "waypoints": [
    {
      "hint": "6uHMhMLizIQtAAAAIAAAAAUAAAAAAAAAfZKMQr4xP0JJU_RAAAAAAC0AAAA­gAAAABQAAAAAAAACDGwEALrw9Aua45wKQvD0CXLnnAgEAbwcWrq75",
      "location": [
        37.600302,
        48.740582
      ],
      "name": "Дружби вулиця"
    },
    {
      "hint": "O_QSgFX1EoAMAAAAFwAAAAAAAAALAAAAmZycQaLuBUIAAAAA5jxUQgwAAAA­XAAAAAAAAAAsAAACDGwEAc609AlSF5wKArj0ClIbnAgAAvxIWrq75",
      "location": [
        37.596531,
        48.72738
      ],
      "name": "Паркова вулиця"
    }
  ],
  "routes": [
    {
      "legs": [
        {
          "steps": [
            {
              "intersections": [
                {
                  "out": 0,
                  "entry": [
                    true
                  ],
                  "location": [
                    37.600302,
                    48.740582
                  ],
                  "bearings": [
                    119
                  ]
                },
                {
                  "out": 1,
                  "in": 2,
                  "entry": [
                    true,
                    true,
                    false
                  ],
                  "location": [
                    37.602999,
                    48.739615
                  ],
                  "bearings": [
                    30,
                    120,
                    300
                  ]
                }
              ],
              "driving_side": "right",
              "geometry": {
                "coordinates": [
                  [
                    37.600302,
                    48.740582
                  ],
                  [
                    37.600873,
                    48.740377
                  ],
                  [
                    37.602339,
                    48.739851
                  ],
                  [
                    37.602999,
                    48.739615
                  ],
                  [
                    37.605222,
                    48.738814
                  ]
                ],
                "type": "LineString"
              },
              "duration": 29,
              "distance": 411,
              "name": "Дружби вулиця",
              "weight": 29,
              "mode": "driving",
              "maneuver": {
                "bearing_after": 119,
                "location": [
                  37.600302,
                  48.740582
                ],
                "type": "depart",
                "bearing_before": 0,
                "modifier": "left"
              }
            },
            {
              "intersections": [
                {
                  "out": 1,
                  "in": 2,
                  "entry": [
                    true,
                    true,
                    false
                  ],
                  "location": [
                    37.605222,
                    48.738814
                  ],
                  "bearings": [
                    120,
                    210,
                    300
                  ]
                },
                {
                  "out": 2,
                  "in": 0,
                  "entry": [
                    false,
                    true,
                    true,
                    true
                  ],
                  "location": [
                    37.600502,
                    48.73311
                  ],
                  "bearings": [
                    30,
                    120,
                    210,
                    300
                  ]
                }
              ],
              "driving_side": "right",
              "geometry": {
                "coordinates": [
                  [
                    37.605222,
                    48.738814
                  ],
                  [
                    37.605093,
                    48.738657
                  ],
                  [
                    37.604315,
                    48.737712
                  ],
                  [
                    37.604007,
                    48.737354
                  ],
                  [
                    37.603323,
                    48.736526
                  ],
                  [
                    37.603175,
                    48.736347
                  ],
                  [
                    37.602669,
                    48.735734
                  ],
                  [
                    37.602642,
                    48.735702
                  ],
                  [
                    37.602284,
                    48.735268
                  ],
                  [
                    37.601804,
                    48.734692
                  ],
                  [
                    37.601192,
                    48.733947
                  ],
                  [
                    37.600599,
                    48.733229
                  ],
                  [
                    37.600502,
                    48.73311
                  ],
                  [
                    37.600403,
                    48.732992
                  ],
                  [
                    37.600276,
                    48.732839
                  ],
                  [
                    37.599911,
                    48.732409
                  ],
                  [
                    37.599784,
                    48.732257
                  ],
                  [
                    37.599434,
                    48.731836
                  ],
                  [
                    37.599243,
                    48.731607
                  ],
                  [
                    37.598763,
                    48.731016
                  ],
                  [
                    37.598258,
                    48.730404
                  ],
                  [
                    37.598221,
                    48.730359
                  ],
                  [
                    37.598162,
                    48.730288
                  ],
                  [
                    37.598135,
                    48.730254
                  ],
                  [
                    37.597576,
                    48.729575
                  ],
                  [
                    37.59745,
                    48.729424
                  ],
                  [
                    37.597343,
                    48.729295
                  ],
                  [
                    37.597319,
                    48.729265
                  ],
                  [
                    37.597067,
                    48.72896
                  ],
                  [
                    37.597006,
                    48.728886
                  ],
                  [
                    37.596765,
                    48.728595
                  ],
                  [
                    37.59643,
                    48.728192
                  ],
                  [
                    37.596041,
                    48.727717
                  ],
                  [
                    37.595941,
                    48.727596
                  ]
                ],
                "type": "LineString"
              },
              "duration": 137.1,
              "distance": 1421.4,
              "name": "Ювілейна вулиця",
              "weight": 137.1,
              "mode": "driving",
              "maneuver": {
                "bearing_after": 208,
                "location": [
                  37.605222,
                  48.738814
                ],
                "type": "turn",
                "bearing_before": 118,
                "modifier": "right"
              }
            },
            {
              "intersections": [
                {
                  "out": 1,
                  "in": 0,
                  "entry": [
                    false,
                    true,
                    true,
                    true
                  ],
                  "location": [
                    37.595941,
                    48.727596
                  ],
                  "bearings": [
                    30,
                    120,
                    210,
                    300
                  ]
                }
              ],
              "driving_side": "right",
              "geometry": {
                "coordinates": [
                  [
                    37.595941,
                    48.727596
                  ],
                  [
                    37.596133,
                    48.727526
                  ],
                  [
                    37.596531,
                    48.72738
                  ]
                ],
                "type": "LineString"
              },
              "duration": 3.4,
              "distance": 49.5,
              "name": "Паркова вулиця",
              "weight": 3.4,
              "mode": "driving",
              "maneuver": {
                "bearing_after": 118,
                "location": [
                  37.595941,
                  48.727596
                ],
                "type": "turn",
                "bearing_before": 208,
                "modifier": "left"
              }
            },
            {
              "intersections": [
                {
                  "in": 0,
                  "entry": [
                    true
                  ],
                  "location": [
                    37.596531,
                    48.72738
                  ],
                  "bearings": [
                    299
                  ]
                }
              ],
              "driving_side": "right",
              "geometry": {
                "coordinates": [
                  [
                    37.596531,
                    48.72738
                  ],
                  [
                    37.596531,
                    48.72738
                  ]
                ],
                "type": "LineString"
              },
              "duration": 0,
              "distance": 0,
              "name": "Паркова вулиця",
              "weight": 0,
              "mode": "driving",
              "maneuver": {
                "bearing_after": 0,
                "location": [
                  37.596531,
                  48.72738
                ],
                "type": "arrive",
                "bearing_before": 119,
                "modifier": "left"
              }
            }
          ],
          "weight": 169.5,
          "distance": 1881.9,
          "summary": "Дружби вулиця, Ювілейна вулиця",
          "duration": 169.5
        }
      ],
      "weight_name": "routability",
      "geometry": {
        "coordinates": [
          [
            37.600302,
            48.740582
          ],
          [
            37.600873,
            48.740377
          ],
          [
            37.602339,
            48.739851
          ],
          [
            37.602999,
            48.739615
          ],
          [
            37.605222,
            48.738814
          ],
          [
            37.605093,
            48.738657
          ],
          [
            37.604315,
            48.737712
          ],
          [
            37.604007,
            48.737354
          ],
          [
            37.603323,
            48.736526
          ],
          [
            37.603175,
            48.736347
          ],
          [
            37.602669,
            48.735734
          ],
          [
            37.602642,
            48.735702
          ],
          [
            37.602284,
            48.735268
          ],
          [
            37.601804,
            48.734692
          ],
          [
            37.601192,
            48.733947
          ],
          [
            37.600599,
            48.733229
          ],
          [
            37.600502,
            48.73311
          ],
          [
            37.600403,
            48.732992
          ],
          [
            37.600276,
            48.732839
          ],
          [
            37.599911,
            48.732409
          ],
          [
            37.599784,
            48.732257
          ],
          [
            37.599434,
            48.731836
          ],
          [
            37.599243,
            48.731607
          ],
          [
            37.598763,
            48.731016
          ],
          [
            37.598258,
            48.730404
          ],
          [
            37.598221,
            48.730359
          ],
          [
            37.598162,
            48.730288
          ],
          [
            37.598135,
            48.730254
          ],
          [
            37.597576,
            48.729575
          ],
          [
            37.59745,
            48.729424
          ],
          [
            37.597343,
            48.729295
          ],
          [
            37.597319,
            48.729265
          ],
          [
            37.597067,
            48.72896
          ],
          [
            37.597006,
            48.728886
          ],
          [
            37.596765,
            48.728595
          ],
          [
            37.59643,
            48.728192
          ],
          [
            37.596041,
            48.727717
          ],
          [
            37.595941,
            48.727596
          ],
          [
            37.596133,
            48.727526
          ],
          [
            37.596531,
            48.72738
          ]
        ],
        "type": "LineString"
      },
      "weight": 169.5,
      "distance": 1881.9,
      "duration": 169.5
    },
    {
      "legs": [
        {
          "steps": [
            {
              "intersections": [
                {
                  "out": 0,
                  "entry": [
                    true
                  ],
                  "location": [
                    37.600302,
                    48.740582
                  ],
                  "bearings": [
                    299
                  ]
                }
              ],
              "driving_side": "right",
              "geometry": {
                "coordinates": [
                  [
                    37.600302,
                    48.740582
                  ],
                  [
                    37.599462,
                    48.740883
                  ],
                  [
                    37.599371,
                    48.740916
                  ]
                ],
                "type": "LineString"
              },
              "duration": 12.4,
              "distance": 77.7,
              "name": "Дружби вулиця",
              "weight": 12.4,
              "mode": "driving",
              "maneuver": {
                "bearing_after": 299,
                "location": [
                  37.600302,
                  48.740582
                ],
                "type": "depart",
                "bearing_before": 0,
                "modifier": "right"
              }
            },
            {
              "intersections": [
                {
                  "out": 2,
                  "in": 1,
                  "entry": [
                    true,
                    false,
                    true,
                    true
                  ],
                  "location": [
                    37.599371,
                    48.740916
                  ],
                  "bearings": [
                    30,
                    120,
                    210,
                    300
                  ]
                },
                {
                  "out": 1,
                  "in": 0,
                  "entry": [
                    false,
                    true,
                    true
                  ],
                  "location": [
                    37.598444,
                    48.739778
                  ],
                  "bearings": [
                    30,
                    210,
                    300
                  ]
                },
                {
                  "out": 1,
                  "in": 0,
                  "entry": [
                    false,
                    true,
                    true
                  ],
                  "location": [
                    37.597361,
                    48.738449
                  ],
                  "bearings": [
                    30,
                    210,
                    300
                  ]
                },
                {
                  "out": 2,
                  "in": 0,
                  "entry": [
                    false,
                    true,
                    true,
                    true
                  ],
                  "location": [
                    37.596495,
                    48.737388
                  ],
                  "bearings": [
                    30,
                    120,
                    210,
                    300
                  ]
                },
                {
                  "out": 2,
                  "in": 0,
                  "entry": [
                    false,
                    true,
                    true,
                    true
                  ],
                  "location": [
                    37.594684,
                    48.735218
                  ],
                  "bearings": [
                    30,
                    120,
                    210,
                    300
                  ]
                }
              ],
              "driving_side": "right",
              "geometry": {
                "coordinates": [
                  [
                    37.599371,
                    48.740916
                  ],
                  [
                    37.59928,
                    48.740804
                  ],
                  [
                    37.598444,
                    48.739778
                  ],
                  [
                    37.598256,
                    48.739548
                  ],
                  [
                    37.597639,
                    48.738791
                  ],
                  [
                    37.597361,
                    48.738449
                  ],
                  [
                    37.597211,
                    48.738266
                  ],
                  [
                    37.596997,
                    48.738003
                  ],
                  [
                    37.596828,
                    48.737795
                  ],
                  [
                    37.596685,
                    48.737621
                  ],
                  [
                    37.596495,
                    48.737388
                  ],
                  [
                    37.595897,
                    48.736671
                  ],
                  [
                    37.595395,
                    48.736069
                  ],
                  [
                    37.595359,
                    48.736026
                  ],
                  [
                    37.595311,
                    48.735969
                  ],
                  [
                    37.594791,
                    48.735345
                  ],
                  [
                    37.594684,
                    48.735218
                  ],
                  [
                    37.594604,
                    48.735122
                  ],
                  [
                    37.594368,
                    48.734839
                  ],
                  [
                    37.593885,
                    48.734261
                  ],
                  [
                    37.593248,
                    48.733498
                  ],
                  [
                    37.593061,
                    48.733274
                  ],
                  [
                    37.592925,
                    48.733111
                  ],
                  [
                    37.592735,
                    48.732883
                  ],
                  [
                    37.592544,
                    48.732654
                  ],
                  [
                    37.591733,
                    48.731682
                  ],
                  [
                    37.591097,
                    48.730912
                  ],
                  [
                    37.590801,
                    48.730553
                  ],
                  [
                    37.590706,
                    48.730437
                  ],
                  [
                    37.590198,
                    48.729829
                  ],
                  [
                    37.590106,
                    48.72971
                  ]
                ],
                "type": "LineString"
              },
              "duration": 137.2,
              "distance": 1419.7,
              "name": "Ярослава Мудрого вулиця",
              "weight": 137.2,
              "mode": "driving",
              "maneuver": {
                "bearing_after": 208,
                "location": [
                  37.599371,
                  48.740916
                ],
                "type": "turn",
                "bearing_before": 298,
                "modifier": "left"
              }
            },
            {
              "intersections": [
                {
                  "out": 1,
                  "in": 0,
                  "entry": [
                    false,
                    true,
                    true
                  ],
                  "location": [
                    37.590106,
                    48.72971
                  ],
                  "bearings": [
                    30,
                    120,
                    300
                  ]
                },
                {
                  "out": 1,
                  "in": 3,
                  "entry": [
                    true,
                    true,
                    true,
                    false
                  ],
                  "location": [
                    37.595941,
                    48.727596
                  ],
                  "bearings": [
                    30,
                    120,
                    210,
                    300
                  ]
                }
              ],
              "driving_side": "right",
              "geometry": {
                "coordinates": [
                  [
                    37.590106,
                    48.72971
                  ],
                  [
                    37.590335,
                    48.729626
                  ],
                  [
                    37.591538,
                    48.729189
                  ],
                  [
                    37.591978,
                    48.729023
                  ],
                  [
                    37.593276,
                    48.728559
                  ],
                  [
                    37.594242,
                    48.728206
                  ],
                  [
                    37.594356,
                    48.728165
                  ],
                  [
                    37.594735,
                    48.728027
                  ],
                  [
                    37.595553,
                    48.727734
                  ],
                  [
                    37.595751,
                    48.727664
                  ],
                  [
                    37.595941,
                    48.727596
                  ],
                  [
                    37.596133,
                    48.727526
                  ],
                  [
                    37.596531,
                    48.72738
                  ]
                ],
                "type": "LineString"
              },
              "duration": 37.4,
              "distance": 537.9,
              "name": "Паркова вулиця",
              "weight": 37.4,
              "mode": "driving",
              "maneuver": {
                "bearing_after": 118,
                "location": [
                  37.590106,
                  48.72971
                ],
                "type": "end of road",
                "bearing_before": 208,
                "modifier": "left"
              }
            },
            {
              "intersections": [
                {
                  "in": 0,
                  "entry": [
                    true
                  ],
                  "location": [
                    37.596531,
                    48.72738
                  ],
                  "bearings": [
                    299
                  ]
                }
              ],
              "driving_side": "right",
              "geometry": {
                "coordinates": [
                  [
                    37.596531,
                    48.72738
                  ],
                  [
                    37.596531,
                    48.72738
                  ]
                ],
                "type": "LineString"
              },
              "duration": 0,
              "distance": 0,
              "name": "Паркова вулиця",
              "weight": 0,
              "mode": "driving",
              "maneuver": {
                "bearing_after": 0,
                "location": [
                  37.596531,
                  48.72738
                ],
                "type": "arrive",
                "bearing_before": 119,
                "modifier": "left"
              }
            }
          ],
          "weight": 187,
          "distance": 2035.4,
          "summary": "Ярослава Мудрого вулиця, Паркова вулиця",
          "duration": 187
        }
      ],
      "weight_name": "routability",
      "geometry": {
        "coordinates": [
          [
            37.600302,
            48.740582
          ],
          [
            37.599462,
            48.740883
          ],
          [
            37.599371,
            48.740916
          ],
          [
            37.59928,
            48.740804
          ],
          [
            37.598444,
            48.739778
          ],
          [
            37.598256,
            48.739548
          ],
          [
            37.597639,
            48.738791
          ],
          [
            37.597361,
            48.738449
          ],
          [
            37.597211,
            48.738266
          ],
          [
            37.596997,
            48.738003
          ],
          [
            37.596828,
            48.737795
          ],
          [
            37.596685,
            48.737621
          ],
          [
            37.596495,
            48.737388
          ],
          [
            37.595897,
            48.736671
          ],
          [
            37.595395,
            48.736069
          ],
          [
            37.595359,
            48.736026
          ],
          [
            37.595311,
            48.735969
          ],
          [
            37.594791,
            48.735345
          ],
          [
            37.594684,
            48.735218
          ],
          [
            37.594604,
            48.735122
          ],
          [
            37.594368,
            48.734839
          ],
          [
            37.593885,
            48.734261
          ],
          [
            37.593248,
            48.733498
          ],
          [
            37.593061,
            48.733274
          ],
          [
            37.592925,
            48.733111
          ],
          [
            37.592735,
            48.732883
          ],
          [
            37.592544,
            48.732654
          ],
          [
            37.591733,
            48.731682
          ],
          [
            37.591097,
            48.730912
          ],
          [
            37.590801,
            48.730553
          ],
          [
            37.590706,
            48.730437
          ],
          [
            37.590198,
            48.729829
          ],
          [
            37.590106,
            48.72971
          ],
          [
            37.590335,
            48.729626
          ],
          [
            37.591538,
            48.729189
          ],
          [
            37.591978,
            48.729023
          ],
          [
            37.593276,
            48.728559
          ],
          [
            37.594242,
            48.728206
          ],
          [
            37.594356,
            48.728165
          ],
          [
            37.594735,
            48.728027
          ],
          [
            37.595553,
            48.727734
          ],
          [
            37.595751,
            48.727664
          ],
          [
            37.595941,
            48.727596
          ],
          [
            37.596133,
            48.727526
          ],
          [
            37.596531,
            48.72738
          ]
        ],
        "type": "LineString"
      },
      "weight": 187,
      "distance": 2035.4,
      "duration": 187
    }
  ]
}
Показать
58. TrueMage 05.06.20 12:22 Сейчас в теме
Хммм, но ведь эти координаты я получаю оттуда же, из ОСРМ... И до июня ведь все работало. Может теперь координаты как-то по-другому получать надо?
59. Ditron 181 05.06.20 12:30 Сейчас в теме
(58)не знаю даже чем помочь
user986734; TrueMage; +2 Ответить
60. TrueMage 05.06.20 15:45 Сейчас в теме
Все равно спасибо :)
61. user986734 09.06.20 14:55 Сейчас в теме
Добрый день!
Опять сегодня не работает:
{"message":"Query string malformed close to position 218","code":"InvalidQuery"}
Сами карты рисуются, но запрос не работает.
Запрос = Новый HTTPЗапрос("/route/v1/driving/" + СтрСоединить(мТочки, ";") + "?overview=full&alternatives=true&steps=true&geometries=geojso­n");
Может кто уже решил - отзовитесь пожалуйста!
62. Ditron 181 09.06.20 14:58 Сейчас в теме
(61)
Query string malformed close to position 218

перевожу: Строка запроса искажена вблизи позиции 218
посмотрите в отладчике результирующую строку "/route/v1/driving/" + СтрСоединить(мТочки, ";") + "?overview=full&alternatives=true&steps=true&geometries=geojso­­n" в позиции 218
user986734; +1 Ответить
63. user986734 09.06.20 15:11 Сейчас в теме
Похоже действительно нужно убрать точку с запятой. До сегодня работало.
Спасибо!
64. Ditron 181 09.06.20 15:13 Сейчас в теме
(63)точка с запятой если в конце то да, она является разделителем координат точек, т.е. точка это - 23.000,23.000
user986734; +1 Ответить
65. Fristayla 03.07.20 10:59 Сейчас в теме
Ребята, добрый день! Хорошая статья! Помогите решить вопрос как заставить всю эту систему выдавать расстояние по выбранному маршруту из предложенных данной обработкой?
66. Ditron 181 03.07.20 11:01 Сейчас в теме
(65)Добрый! так там все просто, нужно указать в параметре запроса "выводить альтернативные маршруты", и после получения запихивать их в список выбора, после выбора брать данные его
67. Ditron 181 03.07.20 11:03 Сейчас в теме
(65)в (57) посмотри пример ответа, там duration и distance, если укажешь "рассчитывать альтернативные" будет массив
user986734; Fristayla; +2 Ответить
68. Fristayla 03.07.20 14:36 Сейчас в теме
Супер спасибо! Единственное не понятно в каких измерениях там цифры?
71. Ditron 181 03.07.20 14:42 Сейчас в теме
69. Fristayla 03.07.20 14:36 Сейчас в теме
И еще если маршрут не устроит и хочется задать свой как в этом случае быть?. Может есть какие идеи?
70. Ditron 181 03.07.20 14:42 Сейчас в теме
(69)идея проста, у меня у клиента так сделано, путем интерактивного выбора с карты задаешь промежуточные точки которые передаешь в запрос (между начальным и конечным пунктом) )))
72. Fristayla 03.07.20 14:58 Сейчас в теме
Остается только разобраться как интерактивно работать с картой(((
73. Ditron 181 03.07.20 15:01 Сейчас в теме
ну дружище, это уж сам, просто сделай поле хтмл с адресом на ОСРМ и лови клики...
74. s79604116006 12.08.20 12:15 Сейчас в теме
У меня проблема на платформе 8.3.13, библиотека leaflet совместима с ней? у меня ругается на объект "L"
75. Ditron 181 12.08.20 12:22 Сейчас в теме
(74)вообще нет разницы какая платформа, могли изменится ссылки на джава скрипты почитайте апи лифлет
76. s79604116006 12.08.20 13:41 Сейчас в теме
Дело в том что я попробовал разные версии leaflet библиотек и у меня ругается на переменную L , последовательность подключения библиотек перепроверил , тоже самое на платформе 8.3.13 не смог побороть? есть вариант рабочий именно с этой версией платформы?
77. Ditron 181 12.08.20 16:09 Сейчас в теме
(76)когда писал пробовал и на этой версии, но возможно в вашем релизе платформы ошибка, естественно нет версий разных. Почитайте ошибки платформы для вашего конкретного релиза на сайте ИТС
80. s79604116006 15.08.20 18:29 Сейчас в теме
(77) На сайте ошибок применительно к этой теме не увидел, несколько раз пытался прикрепить код , но модерация не пропускает, поэтому обозначу вопрос словесно , версия платформы 8.3.13.1690 . подключаю библиотеку лифлет последовательно по инструкции, текст в макете, но при передачи текста кода макета элементу с типом HTML документ, выдает ошибку что "Ошибка переменная "L" не найдена" на первой же строчке var map = L.map('map').setView. Режим совместимости в заголовке в теге <met a> указал IE9
81. Ditron 181 17.08.20 11:55 Сейчас в теме
(80)на других релизах платформы пробовали?
user986734; +1 Ответить
82. s79604116006 19.08.20 10:53 Сейчас в теме
(81) ага буквально на версии 8.3.13.1920 уже работает обработка, но на версии 8.3.13.1690 ошибка . Может есть версия библиотеки которая работает? как я и говорил обновиться не вариант. Лицензия + конфигурация самописная
83. Ditron 181 19.08.20 13:14 Сейчас в теме
(82)ну вы же понимаете что проблема в обработке js в самой платформе вашего релиза, библиотеки leaflet написаны не мной и не для 1С
user986734; +1 Ответить
84. Ditron 181 19.08.20 13:16 Сейчас в теме
(82)и не пойму при чем тут лицензия, у вас что лицензия на конкретный релиз, и как билд релиза может повлиять на вашу самописную конфигурацию, наоборот вам лучше обновить (неизвестно какие еще могут быть ошибки в вашем билде платформы)
user986734; +1 Ответить
85. s79604116006 19.08.20 13:48 Сейчас в теме
(84) да согласен полностью но не от меня зависит, в любом случае причина ясна , на уровне конкретного билда, спс
86. Ditron 181 19.08.20 13:50 Сейчас в теме
(85)ну тогда "убеждение" с логическим обоснованием вам в помощь )
user986734; +1 Ответить
78. пользователь 12.08.20 19:14
Сообщение было скрыто модератором.
...
79. пользователь 14.08.20 17:10
Сообщение было скрыто модератором.
...
87. user986734 18.09.20 07:55 Сейчас в теме
Всем Привет!
Второй день сервис не работает! Может кто решил уже - поделитесь решением.
88. Ditron 181 18.09.20 10:02 Сейчас в теме
(87)у моих клиентов работает, пожалуйста пишите ошибки, что бы было понятно откуда ноги растут)
user986734; +1 Ответить
89. пользователь 18.09.20 10:20
Сообщение было скрыто модератором.
...
90. user986734 18.09.20 10:24 Сейчас в теме
(88)Ошибка в строке:
СтруктМаршрута = ПрочитатьJSON(ЧтениеJSON);
Вчера начало зависать перед этим на пару минут. После чего вываливается с ошибкой
91. пользователь 18.09.20 10:25
Сообщение было скрыто модератором.
...
93. Ditron 181 18.09.20 10:36 Сейчас в теме
(90)что-то похожее было, скорее всего ; или , не там стоит, посмотри в отладке на текст самого JSON, вероятно у них ошибка, как вариант (временный), найти неверный синтаксис и удалить его самостоятельно перед выполнением ПрочитатьJSON
user986734; +1 Ответить
94. user986734 18.09.20 10:45 Сейчас в теме
(93) ; убирал ранее. теперь до ответа не доходит. Сервис недоступен.
95. user986734 18.09.20 10:54 Сейчас в теме
(93)Только со вчерашнего дня, примерно с 11:00
Не работает ни один из примеров с их ресурса project-osrm.org
Сервис не доступен, хотя пингуется

В отладчике
Ответ
КодСостояния 503

ЧтениеJSON
ТекущееЗначение Текущее значение JSON не может быть получено
96. Ditron 181 18.09.20 10:59 Сейчас в теме
(95)проблема на ресурсе! тело ответа:
<!DO CTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<ht ml><head>
<title>503 Service Unavailable</title>
</head><body>
<h1>Service Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
<hr>
<address>Apache/2.4.38 (Debian) Server at router.project-osrm.org Port 80</address>
</body></html>
Показать
user986734; +1 Ответить
97. user986734 18.09.20 11:01 Сейчас в теме
(96)Т.е. Проблема у поставщика сервиса, ничего не делаем, Ждем?
Спасибо!
92. user986734 18.09.20 10:26 Сейчас в теме
(88)Отправил более подробное описание. Оно пока на модерации.
98. Ditron 181 18.09.20 11:01 Сейчас в теме
"Сервер временно не может обслуживать ваш
запрос из-за вынужденного бездействия или недостаточности мощности.
Пожалуйста, попробуйте позже"
user986734; +1 Ответить
99. Romyl01 34 29.10.20 10:59 Сейчас в теме
(98) так что osm счас работает, а то дали в разработку подобное решение стоит пробовать на osm?
Оставьте свое сообщение

См. также

Получение/отправка сообщений RabbitMQ через REST API

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Простой пример получения и отправки сообщений в брокер сообщений RabbitMQ через REST API из 1С без сторонних компонент и middleware.

1 стартмани

23.09.2022    4756    9    NikeeNik    16    

#KafkaЭтоПросто: Kafka Adapter 1С (Confluent) - отправляем сообщения

Инструментарий разработчика Внешние источники данных WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Сегодня поднимем в docker kafka с confluent'om, а в 1С, в EDT загрузим проект из репозитория, создадим обработку, в которой несколькими строчками отправим сообщение в kafka через rest proxy и в confluent control center посмотрим на него. Если коротко, то: как отправить сообщение в Kafka несколькими строчками кода без компонент, регистраций и смс.

5 стартмани

24.07.2022    6594    18    huxuxuya    29    

Распознавание текста из изображений и PDF с помощью нейросетей Yandex Vision и 1С

Обработка документов WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Если вам нужно с помощью компьютерного зрения от Yandex быстро распознавать текст из документов и изображений, эта статья для вас!

5 стартмани

13.07.2022    6311    9    kiv1c    5    

Конвертация любых адресов, написанных в свободной форме, к ФИАС Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал "ДА!", выкладываю данную обработку.

2 стартмани

30.06.2020    16545    137    XilDen    19    

Api идеи для начинающих

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Данная обработка подойдет тем, кто только начинает знакомиться с механизмами api в 1С. В обработке представлены взаимодействия с 12 простыми сайтами на примерах. Решения не затрагивают полной документации, а носят лишь ознакомительный характер. Делал на платформе 8.3.20.

1 стартмани

16.06.2022    7463    22    user676027_svikator    5    

Делаем табло в обозревателе из 1Ски с нуля за полчаса. Без бутстрапов, реактов и ангуляров. Жизнетрюки от kuzkov.info

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

На Инфостарте много разработок, которые предназначены для отображения в обозревателе данных на связи из 1С. С разными способами подключения, на разных технологиях. Есть платные, есть бесплатные. В данной публикации я хочу показать, как можно сделать сопряжение 1С обозреватель своими 1Сными силами с базовыми навыками верстки с нуля за полчаса и бесплатно.

1 стартмани

02.05.2022    7088    124    Steelvan    0    

Обмен данными с Web-сервисами

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Обработка предназначена для быстрой настройки обмена данными с Web-сервисами из пользовательского интерфейса.

10 стартмани

29.04.2022    5129    28    ns_bulatov    4    

Модуль обмена с QIWI Промо

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

Компании, которые используют систему моментальных платежей QIWI, ценят ее за удобство по скорости выплат и для платежей по запросу. Но такие переводы сложны для учета, а при большом объеме проводимых операций отнимают много времени и превращаются в дополнительную головную боль. Мы сотрудничали с компаниями, которые отправляют большое количество платеже на QIWI, и часто слышали боль бухгалтеров о том, как им сложно работать с такими переводами. Поэтому мы автоматизировали выплаты через QIWI в 1С и создали модуль интеграции 1С c API QIWI Wallet и QIWI TopUp.

5 стартмани

25.05.2020    14714    2    Neti    10    

Сервис push-уведомлений для 1С (Push Notification Service For 1C - PNS4OneS)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Сервис предназначен для передачи сообщений от сервера 1С клиентским сеансам. В простом случае полученное сообщение отображается у клиента в виде всплывающего окна (процедура 1С ПоказатьОповещениеПользователя). С использованием данного сервиса можно оповещать пользователей о новых задачах, полученных электронных письмах, менеджеров о новых заказах, загруженных с сайта и т. п. Дополнительно имеется возможность передавать произвольные данные и обрабатывать самостоятельно полученные сообщения на клиенте, что позволяет реализовать более сложные сценарии (чаты, отображение прогресса длительной операции на сервере и т. п.).

1 стартмани

02.02.2022    10852    33    ltfriend    9    

Создание интерактивных обучающих курсов с помощью Vanessa Interactive

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

Приветствую Вас, коллеги. Сегодня Вам предлагается рассмотреть технологию создания интерактивных обучающих курсов, системы Onboarding, интерактивной справки для любых конфигураций разработанных на базе платформы 1С при работе в web клиенте. Прошу посмотреть ролик, кому неинтересно, как это работает, можно дальше не читать. Тестировалось на 1С:Предприятие 8.3 (8.3.20.1646).

1 стартмани

02.02.2022    5951    1    Viktor_Ermakov    2    

BIM: взаимодействие с платформой Autodesk Forge Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Строительство Строительство Абонемент ($m) Абонемент ($m)

Предлагаемый пример демонстрирует широкие возможности для взаимодействия «1С:Предприятие» с платформой Autodesk Forge и позволяет вам получить базовые представления о применения технологий информационного моделирования в строительстве. Поддерживаются все версии платформы от 8.3.12 и выше до 8.3.18.

1 стартмани

25.11.2020    74902    16    kandr    3    

Создание простых сайтов на основе http сервисов - tips and tricks

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Универсальный метод, html шаблоны, страницы с авторизацией и без, многоязычность, страница авторизации, etc.

1 стартмани

22.01.2022    7761    10    vl-sher1    29    

1Scan. Интеграция веб-клиента 1С с устройством Android (смартфон, планшет, ТСД)

Мобильная разработка WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Получение из Android устройства данных сканера штрихода, камеры, GPS, широковещательных сообщений и передача в код модуля формы 1С для дальнейшей обработки.

1 стартмани

15.11.2021    8370    36    kild    33    

Расширение конфигурации для Web-доступа к 1С (1С в роли back-end)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Для реализации того, чтобы 1С формировала и отдавала страницу, которую можно было бы открыть через браузер было написано расширение, которое позволяет публиковать из 1С произвольные ресурсы, будь то API, сайт или изображения / прочие файлы.

1 стартмани

01.04.2021    16807    20    SaschaG    4    

Работа с картами в 1С на примере бесплатной библиотеки Leaflet

WEB-интеграция Работа с интерфейсом Языки и среды Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.

1 стартмани

31.03.2021    22021    59    Parsec1C    20    

Отправка Push-уведомлений через сервис Firebase Cloud Messaging по протоколу FCM HTTP v1 API

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

При разработке нативного приложения Android для ТСД, в котором присутствует функционал отображения задач кладовщикам, созданных в 1С, возникла необходимость отправлять push-уведомления о появлении новых задач. Для отправки таких уведомлений было решено использовать сервис Firebase Cloud Messaging (FCM). Так как для 1С, в отличии от других языков программирования, не существует готовых библиотек, что вполне логично, то очевидным способом отправки является использование протокола HTTP. Однако, существующая информация в интернете в части 1С содержит только сведений об отправке push-уведомлений через этот сервис с использованием устаревшего протокола HTTP Firebase Cloud Messaging. Сам Google не рекомендует использовать данный протокол и настоятельно склоняет к переходу на новый протокол FCM HTTP v1 API. Что ж, пришлось разбираться самостоятельно.

1 стартмани

24.03.2021    16617    27    ltfriend    16    

"Учет штрафов ГИБДД" с возможной загрузкой из открытых источников в интернет Расширение конфигурации 1С: Предприятие 8.3 Промо

Обработка документов WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Бухгалтерский учет Бухгалтерский учет Управленческий учет Управленческий учет Абонемент ($m) Абонемент ($m)

Расширение конфигурации Бухгалтерия предприятия, редакция 3.0 (при минимальных изменениях любой типовой конфигурации), позволяющее вести историю данных по штрафам ГИБДД для справочника транспортных средств компании. Бонусом поставляется внешняя обработка, способная загружать эти данные из открытых источников в интернет.

4 стартмани

30.12.2019    29312    40    capitan    30    

1С + react native

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пример реализации клиента для 1С на react native.

1 стартмани

09.10.2020    16325    11    van_za    9    

Учимся создавать http сервис (часть третья). Передача нескольких параметров в http сервис

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пошаговое руководство по созданию http сервиса (часть третья). Передача нескольких параметров в http сервис, a также формирование сложных JSON строк.

1 стартмани

02.10.2020    31203    9    hpi    18    

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 1 - RabbitMQ

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Часто 1С не может взаимодействовать со сторонними продуктами, например для шины предприятия RabbitMQ создают внешние компоненты. В статье предлагается новомодный подход REST API реализованный на приложении прокладке Middleware, язык тоже трендовый Golang. В статье немного познакомлю Вас с языком Golang, опишу интеграцию на стороне 1С (8.3.16.1502). Если статья зайдет, напишу как выгружать журнал регистрации по этой схеме в ElasticSearch

1 стартмани

31.08.2020    18220    17    dmitry-irk38    15    

Внешняя компонента для работы по Web-socket протоколу x32 x64 Промо

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

2 стартмани

30.03.2018    47127    115    Ditron    120    

HTTP сервисы по OpenAPI спецификациям

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Начинаем путь разработки HTTP сервисов с создания спецификаций OpenAPI. Автодокументация сервисов формата Swagger UI без зависимостей. Настройка сервисов в режиме предприятия.

1 стартмани

29.06.2020    24412    28    shmalevoz    22    

Конструктор HTTP-соединений в 1С (обычные и управляемые формы)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Иногда возникают мысли о том, чтобы прикрутить сервисы, связанные с HTTP-соединениями, в 1С. Необходимо писать обработку и анализировать результат.

1 стартмани

02.06.2020    13534    39    Denr83    0    

oData – HTTP-сервис для ленивых.

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Бухгалтерия 3.0 Россия Россия Абонемент ($m) Абонемент ($m)

oData одним из последних появился в инструментах интеграции поддерживаемых платформой 1С. В данной статье хотел бы показать пример его использования. О преимуществах и недостатках oData предлагаю поделиться в комментариях исходя из реального опыта использования. Цель публикации. Дать разработчикам простой инструментарий обмена между идентичными конфигурациями.

1 стартмани

10.05.2020    19210    35    Forest83    2    

DaJet QL - расширяемый язык запросов

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

DaJet QL поддерживает практический полный синтаксис SQL Server 2005-2016. Кроме этого это расширяемый язык запросов. Обращение к объектам СУБД выполняется в терминах метаданных 1С. Доступ к возможностям этого языка запросов реализован в виде web api сервиса. Результаты запросов возвращаются в виде JSON.

1 стартмани

20.04.2020    19091    12    zhichkin    19    

Пример работы с Trello из 1С

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

Небольшая конфигурация содержит примеры обмена с онлайн-сервисом Trello.

1 стартмани

15.02.2020    25128    61    terrorion    18    

Проверка VAT номеров Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Обработка для вызова сервиса проверка VAT номера.

1 стартмани

26.11.2018    25625    4    wtlz    1    

Автозаполнение адреса по КЛАДР в УПП при выгрузке контрагента с портала компании (API dadata)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Заведение, согласование контрагентов организовано на портале компании. Далее по web-сервису контрагенты выгружаются в УПП (юр.адрес и факт.адрес выгружаются строкой). Задача автоматизировать заполнение адреса в УПП по КЛАДР.

1 стартмани

03.12.2019    15413    3    John_d    10    

Конфигурация Парсер Сайтов Объявлений (Авито avito.ru) Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Абонемент ($m) Абонемент ($m)

Вкратце: Например, вы можете автоматически несколько раз в день (любое заданное время) загружать свежие объявления в категории Телефоны (любой категории или произвольный запрос) и отправлять сообщения тем, которые содержат слово «iphone 6S» и цена ниже 50 000 руб. Затем отправлять себе на почту отчеты о загруженных объявлениях и результатах рассылки. А можете загружать данные в основную учетную систему.

21.03.2016    45179    0    capitan    21    

Работа с Яндекс-картами в 1С (вывод меток, прокладка маршрута, отображение балуна, вывод меток в кластеры) (обычное и управляемое приложение)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Работа с Яндекс-картами в 1С (управляемое приложение). Обработка показывает, как можно найти адреса на карте Яндекс, проложить маршрут.

2 стартмани

20.11.2019    31412    175    Denr83    0    

Яндекс сервисы [Расширение]

Универсальные обработки WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Расширение для работы с Яндекс-сервисами (предиктор,переводчик,проверка орфографии)

1 стартмани

24.10.2019    21289    13    noprogrammer    12    

Работа с картой. Кадастровый учет (Росреестр). Тематические карты Промо

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

Внешняя обработка для работы с картами в 1С. Получения изображения с публичной кадастровой карты России, построения тематических карт

10 стартмани

31.08.2017    32929    33    vipchep    5    

Выгрузка номенклатуры в социальную сеть Вконтакте

WEB-интеграция Оптовая торговля Розничная торговля Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Обработка для быстрой и легкой выгрузки товаров Вконтакт. Так просто еще не было)))

2 стартмани

14.08.2019    31958    73    kaliuzhnyi    48    

Подключение к сайту и отправка или получение данных по API (POST, GET...) (с описанием кода)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Простая обработка по отправке или получение данных с любого сервера главное знать ресурс (выполняемую функцию) и тело запроса.

1 стартмани

12.08.2019    42013    84    MaxPowerr    7    

Конфигурация для обмена данными (интеграционная шина)

Внешние источники данных WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

4 стартмани

08.07.2019    28822    45    miha-28    17    

Пример использования REST API Яндекс Диска Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пример использования REST API Яндекс Диска: чтение диска, добавление каталога, загрузка файла, скачивание файлов или каталогов, удаление файлов или каталогов.

1 стартмани

26.06.2018    44925    77    MKFreeUser    17    

Обмен файловыми базами данных через Yandex диск Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Абонемент ($m) Абонемент ($m)

Выполнение операций обмена с Yandex диском для файловых БД, по протоколу WebDav, в автоматическом или ручном режимах.

1 стартмани

11.06.2018    26856    8    slimper    1