ДекларативныеФормы.СтрокаФункций (DeclarativeForms.FunctionString) Свойство

Использование

Чтение и запись.

Значение

Тип: Строка.

Возвращает или задает строку, содержащую перечисленные через точку с запятой функции js, переданные в ответе сервера.

Примечание

Взаимодействие декларативных форм с кодом односкрипта осуществляется через TCP сервер. При возникновении события формы серверу высылается POST запрос с информацией о произошедшем событии. За это отвечает файл main.js. Сервер в соответствии с этой информацией вызывает на исполнение событие, назначенное элементу управления в коде односкрипта. В обработчике этого события могут быть созданы элементы управления, изменены их свойства и т.п. Каждое такое действие имеет соответствующую функцию в файле main.js. Сервер в ответе формам передает эти накопленные функции в свойстве СтрокаФункций. Там они и выполняются.

В любом месте программного кода мы можем получить свойство СтрокаФункций, вставить в любое место последовательности функций свою функцию.

Это удобнее сделать в файле сервера server. Ведь мы не можем произвольно обратиться из сценария в форму. Только когда форма шлет POST запрос мы можем вмешаться в поведение формы. Первый запрос форма посылает при открытии, чтобы получить свойство СтрокаФункций и создать все элементы.

Пример

ДФ.СтрокаФункций = ДФ.СтрокаФункций + "sendPost(""" + Кнопка1.Имя + "|click"");";
Полный пример кода

Копировать     Выделить всё

Перем ДФ; Процедура Кнопка1_Нажатие() Экспорт Параметр = ДФ.АргументыСобытия.Параметр; Сообщить("Параметр[""Поле1""] = " + Параметр["Поле1"] + " " + ТекущаяУниверсальнаяДатаВМиллисекундах()); КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\DeclarativeForms\DeclarativeForms\bin\Debug\DeclarativeForms.dll"); ДФ = Новый ДекларативныеФормы(); Форма1 = ДФ.Форма; Кнопка1 = ДФ.Кнопка(); Кнопка1.Родитель = Форма1; Кнопка1.Текст = "Это Кнопка1"; Кнопка1.Нажатие = ДФ.Действие(ЭтотОбъект, "Кнопка1_Нажатие", Новый Структура("Поле1","ЧтоТоТам")); // Добавим вызов обработчика события Кнопка1_Нажатие. ДФ.СтрокаФункций = ДФ.СтрокаФункций + "sendPost(""" + Кнопка1.Имя + "|||click"");"; Сообщить("ДФ.СтрокаФункций = " + ДФ.СтрокаФункций); Форма1.Открыть();

Смотрите также

Библиотека DeclarativeForms | Примеры тестирования