Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 10 Следующий »

Общие правила для КС

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

Для переменных обявленных в КС, действует правило группировки. Т.е. переменные связанные с показателями открытых осей будут схлопнуты до уровня переменной с минимальным кол-вом измерений.

Так же в Кс можно использовать функции. Список доступных функций с описанием досткпень в меню слева

Список опереаторов доступный в контрольных соотношениях :
> - больше
>= - больше либо равно
< - меньше
<= - меньше либо равно
= - равно
!= - не равно
<> - не равно
! - отритцание
& - объединение условий по и
| - объединение условий по или


Функция fill


fill - функция проверяет существует ли хотя бы одно значение в указанной форме[таблице], если есть значение, функция вернет - истина, иначе ложь.

Параметры вызова :
formCode - код формы, в которой нужно проверить наличие значений, обязательно
tableCode - код таблицы в форме formCode, в которой нужно проверить наличие значений, не обязательно

Примеры вызова:
fill('formCode') - проверяет наличие хотя бы одного значения во всех таблицы принадлежащих форме formCode
fill('formCode', 'tableCode') - проверяет наличие хотя бы одного значения в конкретной форме и таблице принадлежащей этой форме.



Функция match


match - проверяет на соответствие регулярному выражению значения передаваемого в переменной

Параметры вызова :
expression - регулярное выражение
varName - имя переменной

Примеры вызова:
match('^\d+(\.\d+)?$', varName) - проверяем, что в переменной varName, записано именно число, возможно дробное, но точно не отрицательное.


Функция in


in - проверяет что значение переменной, соответствует хотя бы одному из значений содержащийся в списке, переданным вторым параметром

Параметры вызова :
varName - имя переменной
listValues - список допустимых значений

Примеры вызова:
in(varName, ['mem-int:Strana_004AfgAfganistanMember', 'mem-int:Strana_008AlbAlbaniyaMember', 'mem-int:Strana_010AtaAntarktidaMember']) - проверяем, что в переменной записана страна из допустимого списка



 Функция floor


Функция floor

floor - округляет значение к наименшему целому, т.е.
floor(5.2) = 5
floor(5.8) = 5

Параметры вызова :
varName - имя переменной, обязательно

Примеры вызова:
floor(varName) - где varName содержит значение показателя монетарного/дробного/целочисленного/процентного типа



Функция ceil


Функция ceil

ceil - округляет значение к наибольшему целому, т.е.
ceil(5.2) = 6
ceil(5.8) = 6

Параметры вызова :
varName - имя переменной, обязательно

Примеры вызова:
ceil(varName) - где varName содержит значение показателя монетарного/дробного/целочисленного/процентного типа



Функция round


Функция round

round - округляет значение с заданной точностью, если точность не задана, округляет до 2-х знаков после точки

Параметры вызова :
varName - имя переменной, обязательно
precision - точность, не обязательно, по умолчанию = 2

Примеры вызова:
round(varName, 4) - где varName содержит значение показателя монетарного/дробного/целочисленного/процентного типа


Примеры


Простое математическое не равенство

var1 + var2 > var3 - var4
Простое математическое равенство с использованием функции
var1 + var2 > round(var3 - var4)
Группировка условий с использованием оператора & (и). Такое КС истинно когда есть значение в var3 и выполняется неравенство var1 + var 5 < var7
(var1 + var 5 < var7) & match('.+', var3)
Группировка условий с использованием оператора | (или). Такое КС истинно когда есть значение в var3 или выполняется неравенство var1 + var 5 < var7
(var1 + var 5 < var7) | match('.+', var3)


  • Нет меток