Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Полезные приемы интеграции 1С и JavaScript (число прочтений - 2620 )
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Полезные приемы интеграции 1С и JavaScript
31. Января 2014 :: 18:24
Печать  
Полезный прием, как из JS создать объект 1С. В контексте управляемых форм и поля HTML. Велосипеда я не изобрел, но кому-то полезно будет.

Код
Выбрать все
&НаКлиенте
Процедура ОбработчикСобытий(Событие)
	Если Событие.ВидСобытия = "СоздатьОбъект" Тогда
		Событие.Результат=Новый(Тип(Событие.ТипОбъекта));
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура Тест(Команда)
	Сообщить(Элементы.Браузер.Документ.parentWindow.eval("Тест()")[0]); // сообщит 1
КонецПроцедуры 



Код
Выбрать все
function СоздатьОбъект(ТипОбъекта) {
	Событие = document.createEventObject();
	Событие.ТипОбъекта = ТипОбъекта;
	Событие.ВидСобытия = "СоздатьОбъект";
	Событие.Результат = null;
	document.body.fireEvent('onDataSetComplete',Событие);
	return Событие.Результат;
}

function Тест() {
	var Массив = СоздатьОбъект('Массив');
	Массив.Добавить(1);
	return Массив;
} 



Еще один полезный прием как из 1С передать в JS созданный объект.

Код
Выбрать все
&НаКлиенте
Процедура Тест(Команда)
	Массив = Новый Массив;
	Массив.Добавить(1);
	ИД = "Переменная_"+СтрЗаменить(Новый УникальныйИдентификатор(),"-","");
	Элементы.Браузер.Документ.parentWindow.eval("var "+ИД+";");
	Выполнить("Элементы.Браузер.Документ.parentWindow."+ИД+"=Массив;");
	Элементы.Браузер.Документ.parentWindow.eval("Тест("+ИД+")");
	Элементы.Браузер.Документ.parentWindow.eval("delete "+ИД+";");
КонецПроцедуры 



Код
Выбрать все
function Тест(Массив) {
	alert(Массив.Получить(0)); // сообщит 1
} 



И наконец, в аттаче к посту - пример как скрыть поле HTML с управляемой формы при сохранении его (поля) работоспособности.
  

test_032.zip ( 4 KB | Загрузки )
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать