Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.05.2013, 16:05
Интересующийся
Отправить личное сообщение для Kuklachel Посмотреть профиль Найти все сообщения от Kuklachel
 
Регистрация: 21.05.2013
Сообщений: 13

Передача координат объекта из 1С в JavaScript
Добрый день. Я создаю обработку в 1С которая будет брать координаты объекта из табличной части и по событию передавать их в JS, где по этим координатам будет строиться карта с контуром.
Есть скрипт:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>

    <script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU" type="text/javascript"></script>
         
		 <style type="text/css">
         html, body, #map {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
		  </style>
<script type="text/javascript">
var myMap;
var myPolygon;
var myButton;

// Дождёмся загрузки API и готовности DOM.
ymaps.ready(init);

function init () {

    myMap = new ymaps.Map('map', {
        center:[55.74131, 37.52620], 
        zoom:16
    });
         myMap.behaviors.enable('scrollZoom');
	     myMap.controls.add(
	     new ymaps.control.ZoomControl()
         );
		 myMap.controls.add('typeSelector');
         
         //второй контур
		 
		 function AddPolygon(Att, Latt, Name, Descr) {
		 
		 myPolygon = new ymaps.Polygon([
        [
             [Att, Latt] 
		],
    ], {
        balloonContent: Name,
        hintContent: Descr
    }, {
        fillColor: 'FF3030',
        strokeColor: '#CD2626',
        opacity: 0.5,
        strokeWidth: 1.5,
        strokeStyle: 'solid'
    });
         myMap.geoObjects.add(myPolygon);
		 myMap.setBounds(myPolygon.geometry.getBounds());
	     //myPolygon.options.set("zIndex",750)
         return myPolygon;
		 }
		 function AddGroup(Att, Latt, Name, Descr)	{
		
    	}
	 //Создаем кнопку
 	 myButton = new ymaps.control.Button('<b>Редактировать контур<b>');
     
	 myButton.events
     .add('click', function () {})
     .add('select', function () {myPolygon.editor.startEditing();})
     .add('deselect', function () {myPolygon.editor.stopEditing();});
     
	 myMap.controls.add(myButton);
}
</script>
</head>

<body> 
    <div id="map"></div>
</body>

</html>
Есть модуль формы:
Код:
 &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
   	ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
	
	Макет = ОбработкаОбъект.ПолучитьМакет("Макет");
	ТекстHTML = Макет.ПолучитьТекст();
	
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
	
	Для каждого Реквизит Из Объект.КоординатыОбъектов Цикл
		
	ИмяМетки       = "Дом";
	ОписаниеМетки  = "Организация";
	Широта  = Реквизит.Широта;
	Долгота = Реквизит.Долгота;
	
	Элементы.ТекстHTML.Документ.parentWindow.eval(
		"AddPolygon(""" + ИмяМетки + """, """ + ОписаниеМетки + """, " + Формат(Широта, "ЧРД=.; ЧГ=0") + ", " + Формат(Долгота, "ЧРД=.; ЧГ=0") + ")");
	
	 	
	КонецЦикла;
КонецПроцедуры
Карта отображается, ввожу координаты, нажимаю кнопку и вылетает ошибка, сначала IE "значение свойства AddPolygon или является null, или оно не определено, или не является объектом Function", а потом и 1С "Ошибка при вызове метода контекста (eval)"
Ответить с цитированием
  #2 (permalink)  
Старый 03.06.2013, 18:56
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

Сообщение от Kuklachel Посмотреть сообщение
Код:
	Элементы.ТекстHTML.Документ.parentWindow.eval(
		"AddPolygon(""" + ИмяМетки + """, """ + ОписаниеМетки + """, " + Формат(Широта, "ЧРД=.; ЧГ=0") + ", " + Формат(Долгота, "ЧРД=.; ЧГ=0") + ")");
попробуй вывести отдельно эти строки, которые передаёшь в eval - может там неэкранированные русские символы проскакивают, или ещё что.
и попробуй в контексте самой html-страницы вызвать ф-ию AddPolygon с проверенными параметрами - посмотри, будет ли она работать как надо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определнеи координат объекта относительно окна браузера leny Events/DOM/Window 6 17.02.2015 18:58
Скрипт вычисления координат объекта banderasantonio197555 Events/DOM/Window 4 16.08.2011 17:37
Передача параметров javascript между iframe и документом. freedon Events/DOM/Window 8 05.05.2011 16:29
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34