Построение и сохранение маршрута на Яндекс-картах

1. qazaas 24.01.22 10:34 Сейчас в теме +1 $m
Здравствуйте! Подскажите момент по Яндекс-картам.
Ситуация следующая: есть некие документы заявок, в которых размещена Яндекс-карта (поле HTML-документа). На карте маршрут может строится по умолчанию, затем, при необходимости, редактируется, рассчитываются заправки на маршруте и он (маршрут) записывается в справочник. Все работает, все ок. Но это же самое необходимо реализовать в виде регламентной операции, чтобы пользователи не ждали, пока все это произойдет, а просто открыли заявку и карта бы просто подгрузилась из сохраненных данных со всеми расчетами.
Так вот, проблема в том, что построение маршрута происходит, как бы так сказать, на стороне Яндекса. Только при подключение API скрипта и загрузки страницы ПОЛНОСТЬЮ можно выполнить дальнейшие действия при нажатии на кнопки (выполнить скрипт по сохранению маршрута, рассчитать заправки и т.д.).
Тут два варианта - либо разобрать построение карты и маршрута и, вместе с сохранением, вогнать все в один скрипт, либо опять-таки, разобрать все это построение карты и маршрута и перевести в код 1С (с сохранением по идее проблем не возникнет). Условно, есть еще и третий вариант: каким-то макаром выполнить скрипт в объекте ДокументаHTML или Com-объекта ("HTMLFile"), обязательно отследить ПОЛНУЮ отработку скрипта, и тогда уже, после этого, можно будет обратиться к функции сохранения, т.к. во все необходимые переменные уже данные записались (но это не точно =) )

Под построением карты и маршрута понимается использование глобального класса ymaps, который доступен при подключении API.
Подключение API это использование скрипт типа
<sc ript src='https://api-maps.yandex.ru/2.0/?load=package.standard&lang=ru-RU&apikey=<API-ключ>' type='text/javascript'></sc ript>
или
<sc ript src='https://enterprise.api-maps.yandex.ru/2.1/?load=package.standard&lang=ru_RU&apikey=<API-ключ>' type='text/javascript'></sc ript>
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. acces969 362 24.01.22 11:51 Сейчас в теме
Выполнение скрипта "каким то макаром" из 1с возможно прямым вызовом этой функции js по ее имени. Вроде Документ.CreateTrace();
Но я бы в вашей ситуации переносил логику в 1С. Это трудно, зато надежнее, чем работа по API с сервисом. Вы столкнулись сейчас с одной проблемой, даже если решите ее, то при последующей работе будут всплывать такие же труднорешаемые проблемы. А когда все в 1С, то вести учетную систему и расширять ее легко. Та же история маршрутов, архив, статистические отчеты итд.
3. qazaas 24.01.22 12:01 Сейчас в теме
(2) Да я не против, вот только это построение маршрута изначально "скрыто". Подключается скрипт API и уже он дает возможность обращаться к классу ymaps для создания карты и построения маршрута. Без него это сделать не получится. Это нужно либо как-то разобрать все их скрипты и перенести в свой код, чтобы самому создавать эти карты и строить маршруты (хотя, я полагаю, это будет очень громоздко), либо может как-то использовать источник скрипта с указанием API, но внутри него дописать необходимые функции (типа, <sc ript src=API,,,>Дополнительный код</sc ript>), вот только такой способ у меня не прошел.
С сохранением, по идее, проблем не возникнет. Трудности только с построением маршрута.
4. tango 545 24.01.22 12:22 Сейчас в теме
(3) скачайте скрипты и пользуйте локально
5. acces969 362 24.01.22 13:17 Сейчас в теме
(4) Маловероятно, что это возможно. 99% что у яндекса SAAS и закрытый протокол передачи данных с сервера на клиент (в скрипты странички).
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот