Контрольные соотношения: различия между версиями
Gromova (обсуждение | вклад) Нет описания правки |
Praktik (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
='''Контрольные соотношения'''= | |||
В решении контрольные соотношения реализованы в двух вариантах: валидация инстанса через формулы контрольных соотношений таксономии XBRL и внутренние контрольные соотношения, в общем и целом реализующие логику работы контрольных соотношений таксономии для экземпляра отчетных данных в системе (кнопка «Контроль отчетных данных» в форме регламентированного отчета). | |||
Оба варианта контрольных соотношений реализуют логику работы с формулой проверки и переменными, которые в ней участвуют. | |||
=='''Элементы контрольных соотношений'''== | |||
[[ | ===Формула=== | ||
Формула контрольного соотношения находится в атрибуте «test» основного родительского узла. Формула оперирует выражением на языке X-Formula, включая функции, условные операторы и другие элементы языка. Переменная, ссылающаяся на не-пустой элемент считается в логическом выражении как «Истина», если элемент пустой, то как «Ложь». Контрольное соотношение «$SomeValue» будет истинным в том случае, если переменная ссылается на какой-либо из присутствующих в файле элементов. Если в файле нет элементов, которые бы могли быть извлечены по фильтрам для этой переменной, то подобное выражение ложно. | |||
В выражениях переменные записываются со знака «$» перед именем. Переменные могут быть «локальными» - выбранными фильтрами. Также переменные могут быть «глобальными», которые определяются выражением X-PATH поля «select» подобной переменной. | |||
===Переменная=== | |||
Переменные в языке X-Formula определяются через выражение X-PATH к данным, используя общие и локальные фильтры и модификаторы. Задача процессора правильно определить, откуда взять переменную. Обычная переменная ссылается на ка-кой-то факт, который извлекается из инстанса путем запроса к нему. Запрос использует данные концептов и элементов осей, описанных в фильтрах. Совокупность переменных с идентичными данными помещается в оцениваемые наборы, для которых производится вычисление предварительные условий и контрольного соотношения. | |||
Глобальные переменные могут использоваться как внутри переменной для отбора, например, данных только с определенной датой, так и для формирования сообщения о сработавшем контрольном соотношении. Также глобальные переменные могут использоваться и в качестве переменной контрольного соотношения. Отличие только в том, что глобальная переменная не ограничена значением факта – она может ссылаться на любой элемент инстанса (схему, контекст, факт, полученный из инстанса произвольным выражением X-PATH, …), для глобальной переменной нет ограничений – она вычисляется всегда для инстанса. | |||
===Предварительные условия=== | |||
Предварительное условие – это выражение, которое по синтаксису не отличается от контрольного соотношения, но обратно ему по смыслу. Если при вычислении предварительного условия получилась «Ложь», то контрольное соотношение не оценивается. Если «Истина», то контрольное соотношение вычисляется. | |||
===Общие фильтры=== | |||
Общие фильтры в контрольных соотношениях работают для всех переменных сразу. Они определяют совокупность измерений для переменных и их концептов. Если в рамках заданного куба необходимо оценить совокупность всех монетарных показателей, то в переменных могут быть описаны только значения измерений (например, компоненты капитала), а совокупность оцениваемых концептов может быть вынесена в общий фильтр. Может быть и наоборот, когда общий фильтр содержит все, участвующие в оценке, элементы осей. | |||
=='''Внутренние контроли'''== | |||
Если имеется потребность в создании контролей по своим критериям, то данный функционал это позволит реализовать. Пользователь самостоятельно настраивает систему контролей вручную. | |||
<ins>Справочник «Контрольные соотношения».<ins/> | |||
Внутренние контроли реализуются посредством хранимых в справочниках формул и переменных контрольных соотношений. Формулы контролей задаются элементами иерархического справочника «Контрольные соотношения». Данный справочник в настоящее время доступен через «Все функции»: | |||
[[Файл:9988.png|центр|400px]] | |||
[[Файл:477.png|центр|400px]] | |||
В справочнике в иерархической структуре хранятся формулы контрольных соотношений. | |||
[[Файл:677.png|центр|600px]] | |||
Элемент справочника: | |||
[[Файл:7766.png|центр|600px]] | |||
Поле «Выражение» содержит выражение контрольного соотношения, которое вычисляется для оценки этого соотношения. '''Все переменные в выражении должны быть указаны с символом''' «<font color="red">$</font>» '''в начале'''. Если результатом выражения является логическое «Истина», то такое контрольное соотношение считается прошедшим проверку. Если же при вычислении выражения получается логическое «Ложь», то такое контрольное соотношение считается не прошедшим проверку и выводится пользователю на закладке «Контрольные соотношения» регламентированного отчета. | |||
Таблица «Переменные» содержит совокупность переменных, служащих источниками для вычисления контрольного соотношения. Поле функция заполняется значением «SUM» для случаев, когда переменная является агрегатной функцией «Сумма» для указанного в нем источника (например, поле «Сумма» открытой модели данных). '''Агрегация будет работать только для открытых моделей'''. В других случаях колонку «Функция» заполнять не следует. | |||
<ins>Справочник «Переменные» (контрольных соотношений)</ins> | |||
Этот справочник содержит информацию о том, где находится источник переменной и каким образом он используется при агрегации. Доступен через меню «Все функции»: | |||
[[Файл:5533.png|центр|400px]] | |||
[[Файл:865.png|центр|400px]] | |||
Важным для переменной является ее тип (число, строка, дата и булево), значение при отсутствии данных и ссылка на модель и позицию переменной в модели (табличная часть). В настоящее время переменная должна ссылаться на одну модель и одну позицию в модели (строка и колонка). | |||
На картинке выше приведен пример переменной «DSKO_BB», которая ссылается на 13-ю колонку отчета «0420409. СВЕДЕНИЯ О БАНКОВСКИХ СЧЕТАХ» с информацией о сумме остатка ДС на счете на конец периода. Контрольное соотношение, приведенное выше, проверяет следующее равенство: «$DSKO_BB = $DSKO_BB2 + $DSKO_ObDt - $DSKO_ObKt». В данном конкретном случае для открытого отчета «0420409» производится проверка равенства суммы на конец периода и суммы на начало периода, к которой прибавляется сумма поступления и вычитается сумма списания. | |||
Результатом работы контрольных соотношений будет следующая картина: | |||
[[Файл:144.png|центр|600px]] | |||
В данном случае строка «0», «6» и «8» не удовлетворяют условию контрольного со-отношения, о чем сообщается на закладке «Контрольные соотношения» (в скобках количество сработавших контролей), нумерация строк начинается с «0». Если мы вы-числим данные из верхней строки, то получим следующий результат: <font color="red">5 250,00</font> = 0 + 419 745,00 - 416 764,00 (<font color="red">2 981,00</font>). Таким образом сравнение 5 250,00 и 2 981,00 дают «Ложь», т.к. числа не равны между собой. | |||
В новом интерфейсе: | |||
[[Файл:7544.png|центр|600px]] | |||
<ins>Отборы в переменных:</ins> | |||
В переменных могут использоваться отборы. В качестве отбора указывается колонка и значение, которое в ней должно находиться. Также в случае, если в отчетах представляется информация, например, по разным ПИФ’ам, то можно указать, какую колонку считать ключом отчета (например, идентификатор ПИФ, УК или НПФ, ИНН/ТИН контрагента и т.п.). | |||
Для создания отбора необходимо дважды кликнуть на колонке «Отбор»: | |||
[[Файл:88655.png|центр|500px]] | |||
В данном случае выбрано поле «Вид счета кредитной организации», а в качестве от-бора указано значение «Расчетный». Таким образом данная переменная будет выбирать только те строки, в которых в 6-й колонке соответствующее отбору значение. | |||
Версия от 17:27, 28 сентября 2020
Контрольные соотношения
В решении контрольные соотношения реализованы в двух вариантах: валидация инстанса через формулы контрольных соотношений таксономии XBRL и внутренние контрольные соотношения, в общем и целом реализующие логику работы контрольных соотношений таксономии для экземпляра отчетных данных в системе (кнопка «Контроль отчетных данных» в форме регламентированного отчета). Оба варианта контрольных соотношений реализуют логику работы с формулой проверки и переменными, которые в ней участвуют.
Элементы контрольных соотношений
Формула
Формула контрольного соотношения находится в атрибуте «test» основного родительского узла. Формула оперирует выражением на языке X-Formula, включая функции, условные операторы и другие элементы языка. Переменная, ссылающаяся на не-пустой элемент считается в логическом выражении как «Истина», если элемент пустой, то как «Ложь». Контрольное соотношение «$SomeValue» будет истинным в том случае, если переменная ссылается на какой-либо из присутствующих в файле элементов. Если в файле нет элементов, которые бы могли быть извлечены по фильтрам для этой переменной, то подобное выражение ложно. В выражениях переменные записываются со знака «$» перед именем. Переменные могут быть «локальными» - выбранными фильтрами. Также переменные могут быть «глобальными», которые определяются выражением X-PATH поля «select» подобной переменной.
Переменная
Переменные в языке X-Formula определяются через выражение X-PATH к данным, используя общие и локальные фильтры и модификаторы. Задача процессора правильно определить, откуда взять переменную. Обычная переменная ссылается на ка-кой-то факт, который извлекается из инстанса путем запроса к нему. Запрос использует данные концептов и элементов осей, описанных в фильтрах. Совокупность переменных с идентичными данными помещается в оцениваемые наборы, для которых производится вычисление предварительные условий и контрольного соотношения. Глобальные переменные могут использоваться как внутри переменной для отбора, например, данных только с определенной датой, так и для формирования сообщения о сработавшем контрольном соотношении. Также глобальные переменные могут использоваться и в качестве переменной контрольного соотношения. Отличие только в том, что глобальная переменная не ограничена значением факта – она может ссылаться на любой элемент инстанса (схему, контекст, факт, полученный из инстанса произвольным выражением X-PATH, …), для глобальной переменной нет ограничений – она вычисляется всегда для инстанса.
Предварительные условия
Предварительное условие – это выражение, которое по синтаксису не отличается от контрольного соотношения, но обратно ему по смыслу. Если при вычислении предварительного условия получилась «Ложь», то контрольное соотношение не оценивается. Если «Истина», то контрольное соотношение вычисляется.
Общие фильтры
Общие фильтры в контрольных соотношениях работают для всех переменных сразу. Они определяют совокупность измерений для переменных и их концептов. Если в рамках заданного куба необходимо оценить совокупность всех монетарных показателей, то в переменных могут быть описаны только значения измерений (например, компоненты капитала), а совокупность оцениваемых концептов может быть вынесена в общий фильтр. Может быть и наоборот, когда общий фильтр содержит все, участвующие в оценке, элементы осей.
Внутренние контроли
Если имеется потребность в создании контролей по своим критериям, то данный функционал это позволит реализовать. Пользователь самостоятельно настраивает систему контролей вручную.
Справочник «Контрольные соотношения».
Внутренние контроли реализуются посредством хранимых в справочниках формул и переменных контрольных соотношений. Формулы контролей задаются элементами иерархического справочника «Контрольные соотношения». Данный справочник в настоящее время доступен через «Все функции»:


В справочнике в иерархической структуре хранятся формулы контрольных соотношений.

Элемент справочника:

Поле «Выражение» содержит выражение контрольного соотношения, которое вычисляется для оценки этого соотношения. Все переменные в выражении должны быть указаны с символом «$» в начале. Если результатом выражения является логическое «Истина», то такое контрольное соотношение считается прошедшим проверку. Если же при вычислении выражения получается логическое «Ложь», то такое контрольное соотношение считается не прошедшим проверку и выводится пользователю на закладке «Контрольные соотношения» регламентированного отчета. Таблица «Переменные» содержит совокупность переменных, служащих источниками для вычисления контрольного соотношения. Поле функция заполняется значением «SUM» для случаев, когда переменная является агрегатной функцией «Сумма» для указанного в нем источника (например, поле «Сумма» открытой модели данных). Агрегация будет работать только для открытых моделей. В других случаях колонку «Функция» заполнять не следует.
Справочник «Переменные» (контрольных соотношений)
Этот справочник содержит информацию о том, где находится источник переменной и каким образом он используется при агрегации. Доступен через меню «Все функции»:


Важным для переменной является ее тип (число, строка, дата и булево), значение при отсутствии данных и ссылка на модель и позицию переменной в модели (табличная часть). В настоящее время переменная должна ссылаться на одну модель и одну позицию в модели (строка и колонка). На картинке выше приведен пример переменной «DSKO_BB», которая ссылается на 13-ю колонку отчета «0420409. СВЕДЕНИЯ О БАНКОВСКИХ СЧЕТАХ» с информацией о сумме остатка ДС на счете на конец периода. Контрольное соотношение, приведенное выше, проверяет следующее равенство: «$DSKO_BB = $DSKO_BB2 + $DSKO_ObDt - $DSKO_ObKt». В данном конкретном случае для открытого отчета «0420409» производится проверка равенства суммы на конец периода и суммы на начало периода, к которой прибавляется сумма поступления и вычитается сумма списания. Результатом работы контрольных соотношений будет следующая картина:

В данном случае строка «0», «6» и «8» не удовлетворяют условию контрольного со-отношения, о чем сообщается на закладке «Контрольные соотношения» (в скобках количество сработавших контролей), нумерация строк начинается с «0». Если мы вы-числим данные из верхней строки, то получим следующий результат: 5 250,00 = 0 + 419 745,00 - 416 764,00 (2 981,00). Таким образом сравнение 5 250,00 и 2 981,00 дают «Ложь», т.к. числа не равны между собой.
В новом интерфейсе:

Отборы в переменных:
В переменных могут использоваться отборы. В качестве отбора указывается колонка и значение, которое в ней должно находиться. Также в случае, если в отчетах представляется информация, например, по разным ПИФ’ам, то можно указать, какую колонку считать ключом отчета (например, идентификатор ПИФ, УК или НПФ, ИНН/ТИН контрагента и т.п.). Для создания отбора необходимо дважды кликнуть на колонке «Отбор»:

В данном случае выбрано поле «Вид счета кредитной организации», а в качестве от-бора указано значение «Расчетный». Таким образом данная переменная будет выбирать только те строки, в которых в 6-й колонке соответствующее отбору значение.