Приём показаний приборов учёта. Ответы на вопросы: различия между версиями
McBurns (обсуждение | вклад) |
McBurns (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
===В. Можно ли настроить проверку приёма показаний так, чтобы принимались и значения меньше текущих?=== | ===В. Можно ли настроить проверку приёма показаний так, чтобы принимались и значения меньше текущих?=== | ||
О. Для проверки корректности полученных данных используется функция на языке Javascript. В тексте функции переменные области действия сценария заменяются их значениями. Если результатом работы функции будет '''true''' (истина), проверка считается пройденной. Любой другой результат | О. Для проверки корректности полученных данных используется функция на языке Javascript. В тексте функции переменные области действия сценария заменяются их значениями. Если результатом работы функции будет '''true''' (истина), проверка считается пройденной. Любой другой результат воспринимается как непройденная проверка, возвращается текстовая строка, которая произносится в линию абоненту как объяснение, почему не приняты показания. | ||
Например, предположим, что в таблице текущее показание прибора учёта ('''[Счетчик.LastReading]''') равно '''456''', а от абонента получено новое показание ('''[Reading]'''), равное '''234'''. Для проверки используется функция: | Например, предположим, что в таблице текущее показание прибора учёта ('''[Счетчик.LastReading]''') равно '''456''', а от абонента получено новое показание ('''[Reading]'''), равное '''234'''. Для проверки используется функция: |
Версия 04:43, 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;
}