Приём показаний приборов учёта. Ответы на вопросы

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску

Вопросы по работе с данными

В. Можно ли настроить проверку приёма показаний так, чтобы принимались и значения меньше текущих?

О. Для проверки корректности полученных данных используется функция на языке 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;
}