Валидация XBRL: различия между версиями
Gromova (обсуждение | вклад) Нет описания правки |
Gromova (обсуждение | вклад) Нет описания правки |
||
| Строка 63: | Строка 63: | ||
Процесс валидации состоит в следующем: | Процесс валидации состоит в следующем: | ||
1. Система читает выбранный файл XBRL. | 1. Система читает выбранный файл XBRL. </br> | ||
2. Система читает слой определений таксономии для схемы из файла XBRL. | 2. Система читает слой определений таксономии для схемы из файла XBRL. | ||
3. Система читает список формул для схемы XBRL. | 3. Система читает список формул для схемы XBRL. | ||
Версия от 09:13, 30 октября 2019
В решении контрольные соотношения реализованы в двух вариантах: валидация инстанса через формулы контрольных соотношений таксономии XBRL и внутренние контрольные соотношения, в общем и целом реализующие логику работы контрольных соотношений таксономии для экземпляра отчетных данных в системе (кнопка «Контроль отчетных данных» в форме регламентированного отчета). Оба варианта контрольных соотношений реализуют логику работы с формулой проверки и переменными, которые в ней участвуют.
ВНУТРЕННИЕ КОНТРОЛИ
Справочник «Контрольные соотношения»
Внутренние контроли реализуются посредством хранимых в справочниках формул и переменных контрольных соотношений. Формулы контролей задаются элементами иерархического справочника «Контрольные соотношения». Данный справочник в настоящее время доступен только через «Все функции».
Рис. Элемент справочника
Поле «Выражение» содержит выражение контрольного соотношения, которое вычисляется для оценки этого соотношения. Все переменные в выражении должны быть указаны с символом «$» в начале. Если результатом выражения является логическое «Истина», то такое контрольное соотношение считается прошедшим проверку. Если же при вычислении выражения получается логическое «Ложь», то такое контрольное соотношение считается не прошедшим проверку и выводится пользователю на закладке «Контрольные соотношения» регламентированного отчета.
Таблица «Переменные» содержит совокупность переменных, служащих источниками для вычисления контрольного соотношения. Поле функция заполняется значением «SUM» для случаев, когда переменная является агрегатной функцией «Сумма» для указанного в нем источника (например, поле «Сумма» открытой модели данных). Агрегация будет работать только для открытых моделей. В других случаях колонку «Функция» заполнять не следует.
Справочник «Переменные» (контрольных соотношений)
Этот справочник содержит информацию о том, где находится источник переменной и каким образом он используется при агрегации:
Важным для переменной является ее тип (число, строка, дата и булево), значение при отсутствии данных и ссылка на модель и позицию переменной в модели (табличная часть). В настоящее время переменная должна ссылаться на одну модель и одну позицию в модели (строка и колонка).
На картинке выше приведен пример переменной «DSKO_BB», которая ссылается на 13-ю колонку отчета «0420409. СВЕДЕНИЯ О БАНКОВСКИХ СЧЕТАХ» с информацией о сумме остатка ДС на счете на конец периода. Контрольное соотношение, приведенное выше, проверяет следующее равенство: «$DSKO_BB = $DSKO_BB2 + $DSKO_ObDt - $DSKO_ObKt». В данном конкретном случае для открытого отчета «0420409» производится проверка равенства суммы на конец периода и суммы на начало периода, к которой прибавляется сумма поступления и вычитается сумма списания.
Результатом работы контрольных соотношений будет следующая картина:
В данном случае строка «0», «1» не удовлетворяют условию контрольного соотношения, о чем сообщается на закладке «Контрольные соотношения» (в скобках количество сработавших контролей), нумерация строк начинается с «0». Если мы вычислим данные из верхней строки, то получим следующий результат: 5 250,00 = 0 + 419 745,00 - 416 764,00 (2 981,00). Таким образом сравнение 5 250,00 и 2 981,00 дают «Ложь», т.к. числа не равны между собой.
Отборы в переменных:
В переменных могут использоваться отборы. В качестве отбора указывается колонка и значение, которое в ней должно находиться. Также в случае, если в отчетах представляется информация, например, по разным ПИФ’ам, то можно указать, какую колонку считать ключом отчета (например, идентификатор ПИФ, УК или НПФ, ИНН/ТИН контрагента и т.п.). Для создания отбора необходимо дважды кликнуть на колонке «Отбор»:
В данном случае выбрано поле «Вид счета кредитной организации», а в качестве отбора указано значение «Расчетный». Таким образом данная переменная будет выбирать только те строки, в которых в 6-й колонке соответствующее отбору значение.
КОНТРОЛЬ ИНСТАНСА
Для контроля файла XBRL в решении существует механизм, вызываемый из формы «Формирование отчетности (XBRL)» или из интерфейса (Раздел «Лицевые счета (НФО)»).
Отличие в данном случае только в том, что при открытии механизма валидации из записи XBRL в него передается имя сохраненного файла.
| Для того, чтобы система могла проверить инстанс, необходимо, чтобы в системе были сохранены данные слоя формул и настройка меппинга (даже пустая).
Настройка меппинга нужна для того, чтобы система могла определить значения осей по умолчанию, т.к. они представлены в фильтрах формул. |
Процесс валидации состоит в следующем:
1. Система читает выбранный файл XBRL.
2. Система читает слой определений таксономии для схемы из файла XBRL.
3. Система читает список формул для схемы XBRL.
4. Для каждого контрольного соотношения производится выборка переменных и расчет глобальных переменных.
5. Если проверка является проверкой на наличие элемента (existenceAssertion), то система проверяет, найден ли элемент. Если элементов, удовлетворяющих условию фильтра переменной нет, то система генерирует сообщение из таксономии. В противном случае считается, что проверка завершена успешно.
6. Для пересекающихся измерений в части сравниваемых полей происходит оценка формулы предварительной проверки (precognition).
7. Если результатом предварительной проверки является «Истина», то происходит вычисление контрольного соотношения.
8. Если результатом оценки контрольного соотношения является «Ложь», то система генерирует сообщение в соответствии с таксономией.
9. Проверка производится для каждого уникального набора оставшихся после фильтрации элементов осей и периода. Если в переменной указан модификатор периода или измерения, то этот период и измерение не участвует в построении ключа уникальности.