// Инициализирум текст скрипта
// "ТекстHTML" - строковый реквизит формы, с которым связано поле HTML документа
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ТекстHTML = ПолучитьТекстHTML();
КонецПроцедуры
// Обработчик события "ДокументСформирован" поля HTML документа на форме
// Вызываем функцию javascript из 1С
&НаКлиенте
Процедура ДокументHTMLДокументСформирован(Элемент)
// Инициализируем переменную "Form1C" в javascript контекстом формы 1С
// для возможности вызова функций 1С из javascript
Документ = Элементы.ДокументHTML.Документ;
Документ.parentWindow.SetForm1C(ЭтаФорма);
КонецПроцедуры
// Обработчик команды (кнопки на форме 1С). Вызывает функцию javascript из 1С
&НаКлиенте
Процедура ВызватьСкрипт(Команда)
Документ = Элементы.ДокументHTML.Документ;
Документ.parentWindow.zako(ЭтаФорма);
КонецПроцедуры
// Функция 1С, для вызывов из javascript (по нажатию кнопки "1С" на поле HTML документа)
&НаКлиенте
Функция ВывестиСообщение(ТекстСообщения) Экспорт
Сообщить(ТекстСообщения);
КонецФункции
&НаСервере
Функция ПолучитьТекстHTML()
Текст = "
|<ht ml>
|<head>
|<title>Мой заголовок</title>
|</head>
|<body>
|<sc ript type=""text/javascript"">
|
|var Form1C;
|
|function SetForm1C(aForm1C)
|{
| Form1C = aForm1C;
|};
|
|// Для вызова 1С из скрипта
|function Message1C(MessageText)
|{
| Form1C.ВывестиСообщение(MessageText);
|};
|
|// Для вызова из 1С
|function zako()
|{
| return alert( 'привет, мир!' );
|};
|
|</sc ript>
|
|<!-- А это вызов функции 1С из скрипта /> -->
|<input type = ""button"" on click = ""Message1C('пока, мир!')"" value = ""1С"" />
|
|</body>
|</html>
|";
Возврат Текст;
КонецФункции