Приём показаний приборов учёта. Ответы на вопросы: различия между версиями
McBurns (обсуждение | вклад) (Новая страница: «==Вопросы по работе с данными== ===В. Можно ли настроить проверку приёма показаний так, что…») |
McBurns (обсуждение | вклад) |
||
Строка 36: | Строка 36: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category:Приём показаний]] |
Версия 04:32, 24 декабря 2015
Вопросы по работе с данными
В. Можно ли настроить проверку приёма показаний так, чтобы принимались и значения меньше текущих?
О. Для проверки корректности полученных данных используется функция на языке Javascript. В тексте функции переменные области действия сценария заменяются их значениями. Если результатом работы функции будет true (истина), проверка считается пройденной. Любой другой результат в виде текстовой строки, возвращённый функцией, произносится в линию абоненту как объяснение, почему не приняты показания.
Например, предположим, что в таблице текущее показание прибора учёта ([Счетчик.LastReading]) равно 456, а от абонента получено новое показание ([Reading]), равное 234. Для проверки используется функция:
function (Database)
{
if ([Счетчик.LastReading] > [Reading]) return 'Введённые показания [Reading] меньше текущих [Счетчик.LastReading]';
return true;
}
После выполнения подстановок мы получаем следующий код:
function (Database)
{
if (456 > 234) return 'Введённые показания 234 меньше текущих 456';
return true;
}
и результатом работы функции будет строка: «Введённые показания 234 меньше текущих 456». Показания не приняты, абоненту сообщается, по какой причине.
Если же принимаются любые показания, независимо от того, больше они или меньше текущих в базе данных, сравнение можно убрать:
function (Database)
{
return true;
}