Имя: Пароль:
1C
1C 7.7
v7: Яндекс карты
0 ЗЫ5
 
09.06.12
17:46
есть код
Перем гФорма,Браузер;  
Перем КодХТМЛ;

Процедура ПриОткрытии()
   Если ЗагрузитьВнешнююКомпоненту("1cpp.dll")=0 тогда
       Предупреждение ("Компонента 1с++ не найдена");
       СтатусВозврата(0);
   КонецЕсли;
   Попытка
       гФорма=СоздатьОбъект("СервисРасшФормы");
       гФорма.ЗагрузитьМодуль(); //ПослеОткрытия
   Исключение
       гФорма=СоздатьОбъект("Форма");
       гФорма.УстановитьФорму(Форма); //ФормаПриСоздании
   КонецПопытки;
КонецПроцедуры    // ПриОткрытии

Процедура ПослеОткрытия()

   Браузер=СоздатьОбъект("АктивИкс");
   Браузер.УстановитьАтрибут(Форма,"ФБраузер");
   Браузер.СоздатьЭУ("Shell.Explorer.2");
   Браузер.Объект.Navigate("http://maps.yandex.ru/?text=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F%2C%20%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0%2C%20%D0%92%D0%92%D0%A6&sll=37.628424%2C55.839608&ll=37.628397%2C55.834833&spn=0.033903%2C0.009745&z=16&l=map");
КонецПроцедуры

Процедура ФормаПриСоздании()
   ПослеОткрытия();
КонецПроцедуры    // ФормаПриСоздании

Процедура ФБраузер_BeforeNavigate2(объект,урл,флаги,фрейм,пост,заголовки,отмена)
   Сообщить(урл);
КонецПроцедуры
1 ЗЫ5
 
09.06.12
17:47
Есть объект на форме обработки, подскажите как заставить скрипты передавать в яндекс карты?
2 ЗЫ5
 
09.06.12
17:48
Пока только получилось открывать на форме 7.7. уже готовую карту но цель установить метки на карту из справочника контрагенты.
3 ЗЫ5
 
09.06.12
17:49
Не доходит как скрип передать вместо адреса?
4 ЗЫ5
 
09.06.12
19:29
Возможно нужно как то связать?
Скрипт = СоздатьОбъект("MSScriptControl.ScriptControl");
Скрипт.Language = "javascript";
5 ЗЫ5
 
09.06.12
19:31
Задача стоит установить метки..
6 ЗЫ5
 
09.06.12
21:22
Может как то так Браузер.Объект.document.parentWindow.ExecScript(ТекстСкрипта,"JavaScript")
7 ЗЫ5
 
13.06.12
17:15
Up
8 ЗЫ5
 
13.06.12
17:17
На форму карта выводится а вот скрипт ошибку выдает..
Рандом=createObject("MSScriptControl.ScriptControl");
             Рандом.language="javascript";
                               
           ТекстСкрипта="|    <script src=""http://api-maps.yandex.ru/1.1/index.xml?key=ANpUFEkBAAAAf7jmJwMAHGZHrcKNDsbEqEVjEUtCmufxQMwAAAAAAAAAAAAvVrubVT4btztbduoIgTLAeFILaQ=="" type=""text/javascript""></script>
   |    <script type=""text/javascript"">
   |        var map, geoResult;
   // Создание обработчика для события window.onLoad
   |        YMaps.jQuery(function () {
   // Создание экземпляра карты и его привязка к созданному контейнеру
   |            map = new YMaps.Map(YMaps.jQuery(""#YMapsID"")[0]);
   // Установка для карты ее центра и масштаба
   |            map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
   // Добавление элементов управления
   |            var toolBar = new YMaps.ToolBar();
   |          map.addControl(toolBar);
   |           map.addControl(new YMaps.Zoom());
   |          map.addControl(new YMaps.TypeControl());
   |          map.enableScrollZoom();
   |        });
   // Функция для отображения результата геокодирования
   // Параметр value - адрес объекта для поиска

 
   |</script>";
           Браузер.Объект.document.parentWindow.ExecScript(ТекстСкрипта,"JavaScript");
9 ЗЫ5
 
13.06.12
17:18
Браузер.Объект.document.parentWindow.ExecScript(ТекстСкрипта,"JavaScript");
{C:\DOCUMENTS AND SETTINGS\FEDOROV\РАБОЧИЙ СТОЛ\MAPS\ПРИМЕР\ПРИМЕР.ERT(56)}: : Не удалось завершить действие.  Ошибка 80020101.
10 mikecool
 
13.06.12
17:18
(6) опиши скрипты один раз в странице, которую подгружай в поле хтмл
11 mikecool
 
13.06.12
17:20
+10 как то так

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title>Примеры. Знакомство с JavaScript API. Простой вызов карты.</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <script src="http://api-maps.yandex.ru/1.1/index.xml?key=AJ_G30sBAAAAPGjNUwIAd33aJVgstDjaSjmlPoejDe-QLSYAAAAAAAAAAADLNUtNAWc3HuTC21N5xxG5a7OODA=="
   type="text/javascript"></script>
   <script type="text/javascript">
       var map;
       var router;
       var placemark;
       var polyline;
       var geocoder = new YMaps.Geocoder();

       
       window.onload = function () {
           map = new YMaps.Map(document.getElementById("YMapsID"));
           map.setCenter(new YMaps.GeoPoint(39.761795, 47.271364), 10);
           
           map.addControl(new YMaps.TypeControl());
           map.addControl(new YMaps.ToolBar());
           map.addControl(new YMaps.Zoom());
           map.addControl(new YMaps.ScaleLine());
           map.addControl(new YMaps.SearchControl());
           
       }
       
       function onunloadpage(){
               map.destructor();
       }

   function AddPlacemark(Name, Descr, Cont, Att, Latt, Params)    {
       
       // Создает метку в центре Москвы
       placemark = new YMaps.Placemark(new YMaps.GeoPoint(Latt, Att), Params);

       // Устанавливает содержимое балуна
       placemark.name = Name;
       placemark.description = Descr;

       if (Cont != "") {
       placemark.setIconContent(Cont);
       }

       // Добавляет метку на карту
       map.addOverlay(placemark);
       
       return placemark;
       }
   
   function AddGroup(Name, Descr, Cont, Latt, Att, Params)    {
       
       }
       
   function AddRoute(wayPoint1, wayPoint2)    {
       
       router = new YMaps.Router([wayPoint1, wayPoint2],
                              [1]);
                             
       map.addOverlay(router);
       
       return router;                      
       }
       
    function AddPath(Param) {
       
        var PointList = new Array();
       
        for(n = 0; Param.lenght; n++) {
           PointList[n] = GetPointObject(Param[n][0], Param[n][1]);
       }
       polyline = new YMaps.Polyline(PointList);
       map.addOverlay(polyline);
       
    }
   
    function PlacePointObject(X, Y, Descr, StylePM, IndexPoint) {
       
       // Создает метку в центре Москвы
       var placemark = new YMaps.Placemark(new YMaps.GeoPoint(X, Y), {hideIcon: false, style: StylePM});

       // Устанавливает содержимое балуна
       //placemark.name = Descr;
       placemark.description = Descr;
       placemark.setIconContent(IndexPoint);
       
       // Добавляет метку на карту
       map.addOverlay(placemark);        
   }
       
    function GetPointObject(X, Y) {
       return new YMaps.GeoPoint(X, Y);    
    }
   
    function SetBounds(Xmin, Ymin, Xmax, Ymax) {
   
       map.setBounds(new YMaps.GeoBounds(new YMaps.GeoPoint(Xmin, Ymin), new YMaps.GeoPoint(Xmax, Ymax)));
   
    }
   
    function SetCenter(X, Y) {
        map.setCenter(new YMaps.GeoPoint(X, Y));
    }
   
    function GetCoordinates(AddressString) {
     
       //var geocoder = new YMaps.Geocoder(AddressString);
       ////alert(AddressString);
       //var GeoPoint = geocoder.get(0).getGeoPoint();
       //var result = Array();
       //
       //result[0] = GeoPoint.getX();
       //result[1] = GeoPoint.getY();
       //
       ////map.addOverlay(geocoder);
       //return result;    
    }
   
   </script>
</head>
<body>
   <p>Яндекс карта</p>
   <div id="YMapsID" style="width:100%;height:100%"></div>
</body>
</html>

12 mikecool
 
13.06.12
17:20
а потом Браузер.Объект.document.parentWindow.AddPlacemark(..)
типа так наверное )
13 ЗЫ5
 
13.06.12
17:22
(12) Спасибо буду пытаться..
14 ЗЫ5
 
13.06.12
17:48
все это хозяйство пытаюсь передать в
Браузер.Объект.Navigate(ТесктСтраницы)
сразу expljrer сваливается с ошибкой "Не удается найти "ТесктСтраницы" проверьте правильность пути или адреса в Интернете.
15 mikecool
 
13.06.12
17:49
(14) так Navigate нужно ссыль в инет передать, емнип
16 ЗЫ5
 
13.06.12
17:49
(15) так подскажите какой метод? Если не трудно?
17 ЗЫ5
 
13.06.12
17:50
куда ему этот ХТМЛ со скриптами засунуть?
18 mikecool
 
13.06.12
17:51
(16) хз, я под 77 не бодал эту хрень, ищи описалово, как подсунуть текст
19 ЗЫ5
 
13.06.12
17:58
я вот думаю.. тут нашел одну вещь возможно во внешний файл вытащить HTML может так..
20 ЗЫ5
 
13.06.12
17:58
Тbпа файл оболочка.HTML
21 ЧеловекДуши
 
14.06.12
06:40
Круто, еще не слышал об внедрении HTML в 7-ке :)
(0) Ну как успехи?
22 Тихий омут
 
14.06.12
07:23
(0) заюзаем - в целях имитации бурной трудовой деятельности))))
23 Z1
 
14.06.12
08:52
(0) тебе надо сюда
http://www.1cpp.ru/forum/YaBB.pl?num=1316457428/0#0
если получиться выложи там решение.
тоже хочу нечто подобное написать но слишком много
других задач.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn