Озадачена следующим вопросом. Можно ли из 1С делать метки на картах (Яндекс, Гугл..)? Масса разработок отображения карт на форме, а можно ли из 1С отобразить список адресов, например как в Яндекс, на "мои карты" (то есть на карту вне 1С)? Пользователь логинится, заходит в определённую под это дело карту и видит список меток из 1С. Может кто делал такую задачу или кто-то пытался сделать такое. Может есть стандартный подход/предложение/разработки по решению такой задачи?
(2) Так. Есть список адресов в 1С (добавляются, удаляются). Есть, допустим, Яндекс карта с логином, паролем. Хотят, зайдя напрямую через браузер на карту, видеть метки по этим адресам (тоже чтобы добавлялись и удалялись по изменениям в 1С). Везде предлагаются варианты, когда карта отображается на форме обработки внутри 1С, а это не совсем то, что хотят. Уж не знаю насколько удалось переформулировать.
Скажем так, вообще существует возможность подсунуть яндекс картам (гугл картам) список адресов, выгруженных из 1С(не важно в какой формат)? Ну вот хотят люди через обычный браузер видеть изменение списка адресов. Ещё, не менее изощрённый способ, как я думаю, это написание маленькой конфигурации на 1С и доступ к ней через веб, а в ней привести всё к уже существующим решениям - карта на форме обработки? Просто может существуют уже какие-то решения, ведь желание-то вполне себе нормальное
8.
Redinternational
8623.09.17 18:42 Сейчас в теме
Где-то читал что такой объект метаданных как "Веб-сервисы" в симбиозе с API Google Карт дают положительный результат в данном вопросе. Я думаю если не знаете с чего начать, можно начать копать с них.
(8) вот..я в этом направлении и задумалась, может криво сформулировала в (6), но решила узнать у других, чтобы не изобрести велосипед и не страдать чесанием левого уха правой рукой..
11.
Redinternational
8623.09.17 18:55 Сейчас в теме
(10)не стоит бояться изобрести велосипед, даже если он у вас получиться это будет значить лишь то, что вы реально разобрались в алгоритме, и если потребуется доработать интеграцию то помощь или советы уже не потребуются
да даже не так:) например, не хотелось бы сращивать, например, быка с козой. Вероятно может и получится что-нибудь(кто-нибудь). Написала сюда, чтобы знающие люди подсказали "О, было дело (видел у коллеги) работает такая схема на веб+гугл" или "ага, выгружаем файл в формате, укладываем на сервере, а пользователи подгружают импортом в гугл" или "С Яндексом не связывайся - там в пользовательском соглашении прописана работа только с сайтами"..хех..будем копать дальше:)
(15) не совсем то..это опять форма внутри 1С..нужен опыт именно отображение адреса из 1С на карте, которую открывают через браузер. Это всё проштудировано:)
Пользователь заходит на сайт (в личный кабинет или какой-либо сервис) и там, при выполнении определенных условий (авторизация к примеру) должен увидеть на карте точки, которые сервис должен взять из 1С?
Ну так это легко делается.
На PHP + JS пишется функционал на сайте, который открывает карту и отображает на ней нужные точки из собственной БД на MySql.
А в базу данных сайта данные экспортируются из 1С по заранее сформированным правилам.
(17)Вот. Такое уже больше мне нравится...пошёл конструктив. Мне просто хочется убедиться, что только исключительно(!) средствами 1С (потому как в решении с сайтом потребуется пхпист), нет решения.
(21)
В смысле идеологии попробую объяснить таким образом.
Яндекс-карты (даже собственные под логином и паролем) - это web-приложение.
Либо любое другое приложение (для мобильника или для web), которое показывает карты (яндекс, гугл, тугис - не важно) - это отдельное приложение.
Либо у этого приложения есть функция "Загрузить список адресов из файла определенного формата", либо нужно написать механизм(ы) который(е) будут "всовывать" адреса в определенном формате этому самому приложению.
Стандартных средств в 1С "ОбщегоНазначения.ЗасунутьСписокАдресовНаЯндексКартыВМойЛичныйКабинет(URL_Кабинета, Логин, Пароль, ТаблицаАдресов)" не существует.
Написать можно, но нужно писать встречный функционал. И без java (js/ ajax) + php (или без него) не обойтись.
(69)
Ну на самом деле никто не отменяет следующего варианта реализации:
1. Создается в конструкторе карта.
2. С помощью API (запуск javascript из 1С) на карту наносятся точки с описанием.
3. Карта обновляется, ссылка на карту пересылается пользователям.
Это самый просто вариант реализации.
Будет время - попробую подробно разобрать и, может, статью сделаю, если не возобладает главное профессиональное качество всех программистов - соблюдение закона сохранения энергии (в простонародии - лень обыкновенная).
(70) безусловно - никто не отменяет; таким образом у автора и читателей на выбор уже три (четыре, несколько) возможных схем интеграции:
- маленькая конфигурация на 1С и доступ к ней через веб
- сайт из пары страниц
- конструктор... и т.д. и т.п. -- каждая из которых имеет свои как положительные, так и отрицательные стороны.
возможно в моих ответах не только автор видит скрытую иронию и «всем известное направление» (9), но клоню (58) я лишь к одному: условия задачи не предполагают оптимального и единственно верного пути решения
(84) не оспариваю; лишь предполагаю, что совет (76) является устаревшим; хотя мне и самому идея хранения готовой карты исключительно средствами yandex видилась наиболее привлекательной
Если запилить руками карту на яндексе и сохранить, а потом получить на нее ссылку, то эта ссылка какое-то время будет храниться и будет действительна (интересно, какое именно время).
И если это так, то да, можно хранить карту средствами яндекса.
(21) https://tech.yandex.ru/MAPS/ - API Яндекс.Карт — это набор сервисов, которые позволяют использовать картографические данные и технологии Яндекса в ваших проектах.. при чём здесь "потребуется пхпист" или "исключительно(!) средствами 1С" - не совсем понятно
Кто-то на смартфоне открывает Яндекс-карты под своей учеткой в мобильном приложении "Яндекс-карты" или в браузере и видит там точки по адресам.
А адреса туда должны самостоятельно экспортироваться из 1С)))))))
(24) Скорректирую реплику. НЕ самостоятельно. Вопрос и состоит в том, как заставить их экспортироваться(и можно ли это сделать имеющимися в 1с механизмами посредством сервисов API) именно в ту самую карту. Когда мы создаем экземпляр карты на форме - всё понятно и примеров куча. Но как сделать, чтобы отобразить это именно в браузере.
Мы заходим в учётку. Допустим в ней несколько собственных карт - в яндексе же можно делать свои карты. Открываем карту, которая задействована под нужное дело. И видим наши метки:)
И, собственно, ответ на вопрос "Как это сделать именно в браузере?"
После того, как файл с координатами/ адресами будет экспортирован на карту, эту карту средствами API сохраняете под учеткой и получаете ссылку на эту карту.
И вот заходя по этой ссылке вы будете иметь возможность лицезреть собственные, нанесенные на карту, точки.
(32) не совсем понимаю следующее...каким образом передавать файл с данными? высылать на яндекс почту? это раз.
и два. задумка у идеолога состоит в том, чтобы ввели адрес в 1с - он тут же отобразился на карте, удалили - исчез:) цитирую - "всё же просто...нажимаем здесь, получаем там":) то есть скрипты API сервиса должны работать внутри 1С либо на прямую с определённой картой, либо из нашей дискуссии склоняюсь к (17) - с соблюдением пользовательского соглашения с яндекс
1. Ввели адрес в 1С (база данных 1С).
2. 1С с помощью yandex-API подключается к уже созданной карте и с помощью того же API грузит туда данные, сохраняя карту в конце операции с помощью того же самого API.
Ответ на вопрос "КАК" - программист "курит" мануал по yandex-API и реализует необходимый функционал.
По поводу (17) - там сложнее, потому как нужно писать собственный ресурс и интегрировать его с 1С.
(34) да "курю" уже мануал не один день...не с пустыми же руками на форум пришла. НЕ могу обратиться именно к нужной карте:)) Экземпляр на форме 1С создать - могу:)
(37) и метки на форме могу...а к карте под залогиненным пользователем не могу...в этом и вся проблема. С другой стороны, если бы могла, то откуда бы взялись такие тарифы, которые нам любезно предоставил Сергей)))
Когда пользователь работает с картой, он обычно изменяет её состояние: центр, масштаб, тип и т. д. При перезагрузке страницы эти изменения будут потеряны. Для сохранения текущего состояния карты можно использовать, например, URL hash.
В примере ниже параметры карты передаются в URL hash при возникновении событий, изменяющих состояние карты. При загрузке страницы карта устанавливается в состояние, соответствующее переданным параметрам.
(38)
А если бы я реализовывал эту штуку, то я бы, ИМХО, в 1С бы сделал просто выгрузку данных в файл и запуcк java-script.
А скрипт уже (API яндекса на него больше ориентировано) загружал бы данные на нужную карту и обновлял бы ее.
Да и заставлять интерпретатор работать с API, потом болеть правами доступа и прочим - это не лучший выход.
(23) Сергей, мне бы очень хотелось понять, что вы пытаетесь до меня донести. Я сформулировала вопрос, пытаюсь понять логику, направление, сто раз уже переформулировала ... но ваши общие фразы не вносят никакой конкретики.
(25)
У сервиса "Яндекс-карты" существует API (Application programming interface - программный интерфейс приложения).
Этот самый API при уиелом использовании позволяет взаимодействовать с приложением "Яндекс-карты".
Т.е. содержит команды типа
"Вставить точку с определенными параметрами (координаты, название) на карту"
"Удалить точку с определенными параметрами (координаты, название) на карту"
"Построить маршрут от одной точки до другой"
и т.д.
в 1С можно написать необходимые функции, используя данный API.
При этом нужно всесторонне проанализировать задачу, потому что в данном случае речь идет об ИНТЕГРАЦИИ 1С И СТОРОННЕГО СЕРВИСА.
В коммерческой версии API действуют следующие ограничения:
для карты доступен только тип «схема»;
карта, маршрутизация и геокодирование доступны только для следующих стран: Россия, Украина, Беларусь, Казахстан, Эстония, Латвия, Грузия, Абхазия, Южная Осетия, Армения, Азербайджан, Молдова, Туркмения, Таджикистан, Узбекистан, Киргизия, Турция и Франция.
В остальном платная версия полностью соответствует бесплатной версии 2.1.
Тут не пилят сервис по маршрутизации доставки гуманитарной помощи в Сирию)))))
Тут все более прозаично, а потому можно обойтись и бесплатной версией API)))
"Ввели адрес в 1С" - читай как "Ввели адрес объекта (контрагента/ физ лица/ etc) в 1С и нажали "Записать", после этого перешли на карту и увидели там и точку с этим адресом в том числе".
Это не запросы к геокодеру, маршрутизатору и панорамам. Это стандартная бесплатная функция формирования собственной карты.
(41)Вот попробуйте ручками создать карту, поставьте там точку, сохраните карту, скиньте ссылку на карту кому нибудь, пусть посмотрит, есть ли там точка.
Потом добавьте еще одну точку, обновите карту и попросите этого "кого-нибудь" еще раз зайти по старой ссылке - он увидит обновленную карту.
ещё раз, Олег, все ваши тезисы понятны. Загвоздка к обращению именно к КОНКРЕТНОЙ карте...например, <sc ript src="https://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"> </sc ript> в этом скрипте, в которого начинается работа с картами в 1С, нет ничего имеющего отношения к конкретной карте ..тут я просто получаю экземпляр, на котором начинаю рисовать метки. ну насколько я понимаю..
(50)ляпнула, не совсем то..будет вернее сказать, что во всех примерах, которые есть (и вы их приводили) - нет в скрипте места, где прописывалась бы нужная карта:(
Когда пользователь работает с картой, он обычно изменяет её состояние: центр, масштаб, тип и т. д. При перезагрузке страницы эти изменения будут потеряны. Для сохранения текущего состояния карты можно использовать, например
В примере ниже параметры карты передаются в URL hash при возникновении событий, изменяющих состояние карты. При загрузке страницы карта устанавливается в состояние, соответствующее переданным параметрам.
(57) допустим..но не совсем понимаю к чему вы клоните...первый код,что мы используем сервисы API. второй..ещё есть вот такой пример <sc ript src="http://сайт где скрипт/multiroute_driving.js" type="text/javascript"></sc ript> видимо, где мы собираемся применять...так?
но мы хотим применять на яндекс картах, а ещё лучше на своей собственной карте, которую мы там создали и назвали "777"...есть скрипт карты, созданной конструктором <sc ript type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3A39872b6b37194f800c407a52ff2c248d60a4f0ae2edcc25e73ada0ce27ca0edb&width=861&height=720&lang=ru_RU&scroll=true"></sc ript>..вы хотите сказать,что их можно срастить?
Исходя из того, что хранение данных конструктора является временным, на самом деле лучшая логика Вашего решения должна быть следующей:
1. Создается сайт из пары страниц. Первая страница - авторизация, вторая - собственно карта для авторизованных пользователей.
2. На мускуле создается база с таблицей, в которой прописаны необходимые поля для отображения объектов на карте.
3. Вторая страница имеет javascript, который берет из базы данных объекты и раскладывает их на карте.
4. На сайте крутится дискретно обновлятор, который с какого-нибудь ftp загружает файл сданными в базу мускула.
5. В 1С делается обработчик события "ПриЗаписи" или регламентное задание, которое выгружает на ftp файл с данными.
При таком подходе у Вас:
1. Имеется всегда стандартный адрес в браузере для пользователя, заходя на который и авторизуясь там пользователь видит то, что ему туда выложили.
2. Задача идеолога решена - при записи адреса в 1С через установленный промежуток времени он отображается на сайте.
(63) при столь подробной детализации и разъяснениях, схема предложенная ранее: маленькая конфигурация на 1С и доступ к ней через веб, а в ней ‹…› карта на форме обработки (6), — более не выглядит изощрённой
(65) а так же не забывать смутившую автора цифру: 120 (10 тыс. руб. в месяц) на оплату поддержки проекта разработчиками одной из систем, интегрируемых в проекте
к слову сказать, пробежался по google, да так и не нашёл пока подходящего free-hosting-га, на котором удалось бы совершенно бесплатно разместить предполагаемый 2-3-ёх страничный сайт с php ftp и mysql поддержкой.. если у кого-то есть идеи и предложения - welcome, как говорится
(74)
Ну бесплатного хостинга "с нуля" не будет однозначно.
При этом у заказчика всегда имеется сайт. А на этом сайте всегда можно создать домен второго уровня "mymaps.mydomen.ru".
А для тестов - на компе поднимается мускул, апач (под виндой), пхп - и сколь угодно тестится.
<!-- Если вы используете API локально, то в URL ресурса необходимо указывать протокол в стандартном виде (http://...)-->
<sc ript src="//api-maps.yandex.ru/2.1/?lang=ru-RU" type="text/javascript"></sc ript>
// \!/
(89) отнюдь, на изображениях к статье: 1С:Предприятие 7.7 и интерактивные карты ( https://infostart.ru/public/665518/ ) отчасти видны плюсы/минусы различных API и систем
впрочем, если использование прежних версий API не влияет на качество решения задачи.. выбор в любом случае за разботчиком и это лишь ещё один из возможных нюансов
Чаще всего геокодирование производится на стороне клиента (то есть запросы геокодеру отправляет браузер). При множественном геокодировании такой подход не всегда является оптимальным. Дело в том, что геокодер за один запрос позволяет получать данные только для одного объекта. То есть чем больше адресов необходимо геокодировать, тем больше HTTP-запросов надо отправить.
Отправка большого числа HTTP-запросов приводит к увеличению трафика, а дальнейшая обработка ответов — к уменьшению скорости отображения данных на карте. К тому же высока вероятность превысить суточный лимит в 25000 запросов к геокодеру (см. Пользовательское соглашение). При поиске на карте, например, ста объектов бразуер отправляет серверу сто запросов. Соответственно, при посещении сайта уже 300 пользователей число запросов к серверу достигнет 30000 ( https://tech.yandex.ru/maps/doc/jsapi/2.1/dg/concepts/geocoding-docpage/#multi-geocode ).
другими словами: 25 пользователей, обновив карту содержащую 100 объектов более 10 раз в течении суток.. вскоре напомнят реализаторам и идеологам подобных интеграций цифру: от 10 (35)
Сергей, Олег! Спасибо вам большое, за то, что не оставили вопрос и приняли участие в обсуждении. Я с большим вниманием слежу за вашей дискуссией. В принципе информации более чем достаточно для дальнейшего изучения вопроса. Если получится более менее приемлемый вариант, то я отпишу в этой ветке.