Обработки данных

Функции обработки данных порождаются sE при создании отправителей (sender).

Если программист намерен каким-то образом корректировать отправляемые на sFB параметры запроса или выполнять какие-то дополнительные действия перед отправкой, он должен создать функцию on_имяЗапроса:имяТранзакции_requestPrepare, выполняемую перед запуском отправителя. Параметром функции будет объект {} содержащий переменные и их значения, подготовленные sFF для отправки на sFB. Функция выполняется перед отправкой, входные параметры являются объектом, который будет сериализован в JSON-строку и отправлен. Из этого следует, что функцию можно создавать для того, чтобы ручным методом добавить данные в запрос к серверу. Кроме того, из неё можно производить некие операции с объектами приложения (компонентами, стилями и т.д.), которые могут быть необходимы перед началом выполнения запроса. Следует помнить, что входные параметры функции - это и есть переменные для запроса. Функция сама возвращает их системе без использования с вашей стороны оператора return.

Предположим, что транзакции требуется значение некой пользовательской переменной varX, в зависимости от значения которой сервер присылает отличающиеся друг от друга отклики. А переменную в программе по неким причинам изменять нельзя (скажем, её значение по таймеру проверяют). И сейчас она равна true, а программисту нужно, чтобы она была равна непременно -15.002. И root перекрасить. Тогда программист создаёт функцию requestPrepare и пишет в её теле следующее:

params.varX = -15.002;
$_GC("root").comp.BgGolor.default = "yellow";

После этого отправитель передаст транзакции вместо значения переменной параметр varX:-15.002. И root станет жёлтым.

Функция on_имяЗапроса:имяТранзакции_responseCallback, выполнящаяся при получении ответа от sFB, производит обратную операцию. Получив JSON-строку отклика, метод преобразовывает её в объект, который передаёт в качестве входного параметра response функции responseCallback. Дальнейшая история зеркальна.

$_GC("root").comp.BgGolor.default = response[0].varY = $_ GV("varX") ? "green" : "red";

После корректировки полученного объекта, модель будет передана компоненту-потребителю данных (если это, например, форма).

А для регулярных моделей обработка данных отклика вообще заканчивается на этом этапе.

$_GC("Table_0").comp.TableModel.clear();
$_GC("Table_0").comp.TableModel.append(response);

Либо из этой функции, модель передаётся в следующую, занимающуюся интерпретацией полученных данных.

$_GF("myAccountFill")(response);

Last updated