Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 797 сообщений
Cообщения с меткой

цб рф - Самое интересное в блогах

Следующие 30  »
rss_rss_hh_new

[Перевод] XBRL: просто о сложном - Глава 6. Погружение в XBRL - Часть 2. Совершенствуем результат

Среда, 16 Августа 2017 г. 18:43 (ссылка)

6.2. Совершенствуем результат



Вчера мы были вполне довольны полученным результатом. Но вот мы хорошо выспались, и осознали, что это пока ещё не совсем то, что мы хотели бы получить.



Отчетная форма в нашем примере использовала несколько разделов – для итоговых значений, а также для группировки по полу и возрастным группам. И у нее не было этого безобразного заголовка ‘http://www.xbrl.org/2003/role/link’ в верхней части отчета.



Как оказалось, наше приложение для визуализации отчета использует элемент presentationLink для определения разделов отчета и выводит его роль в качестве заголовка раздела. При первом подходе мы использовали роль по умолчанию для нашей единственной presentationLink, что объясняет появление безобразного заголовка.



Итак, первым делом нам надо настроить разделы отчета с заголовками, которые хоть что-то означают.

Читать дальше ->

https://habrahabr.ru/post/335788/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Sovetnik3

Обзор материалов сайта Налоги России за 09.08.2017

Четверг, 10 Августа 2017 г. 08:38 (ссылка)
taxru.com/news/2017-08-09-1542

Правительство Франции хочет закрыть налоговые лазейки для американских технических компаний-http://www.taxru.com/blog/2017-08-09-26711
 
Преимущества использования металлических торговых стеллажей-http://www.taxru.com/blog/2017-08-09-26710
 
Трамп заявил, что в налоговых гаванях скрыто до 4 трлн. долларов-http://www.taxru.com/blog/2017-08-09-26709
 
FSDC изложила свои рекомендации по налогообложению фондов прямых инвестиций для Гонконга-http://www.taxru.com/blog/2017-08-09-26708
 
По вопросу обложения страховыми взносами вознаграждений, выплачиваемых физическим лицам по лицензионным договорам о предоставлении права исп-http://www.taxru.com/blog/2017-08-09-26707
 
О применении пониженных тарифов страховых взносов плательщиками страховых взносов, одновременно применяющими УСН и ЕНВД-http://www.taxru.com/blog/2017-08-09-26706
 
ЦБ РФ внес изменения в порядок ведения кассовых операций-http://www.taxru.com/blog/2017-08-09-26705
 
Казино Адмирал для любителей азарта-http://www.taxru.com/blog/2017-08-09-26704
 
Новости законодательства от 09.08.2017 года: налог на имущество компании, штраф за продажу алкоголя, налог на наследство-http://www.taxru.com/blog/2017-08-09-26703
 
Великомученик и целитель Пантелеимон-http://www.taxru.com/blog/2017-08-09-26702

Источник - http://www.taxru.com/news/2017-08-09-1542


Обзор материалов за 09.08.2017 - 9 Августа 2017 - Налоги России

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Bukmor

Нюансы экономики России.

Понедельник, 07 Августа 2017 г. 10:23 (ссылка)

Эльвира Набиуллина и ЦБ РФ:https://www.youtube.com/watch?v=A7gayd7SgIQ
Эльвира Набиуллина из Уфы:http://www.uznayvse.ru/znamenitosti/biografiya-elvira-nabiullina.html
Суд в станице Крыловской:https://www.youtube.com/watch?v=KOUob9CA6ZQ
И снова Дмитрий Владимирович Новиков: https://www.youtube.com/watch?v=eRe4YlWQf5c

КВ связь в Заполярье:https://www.qrz.ru/news/14313.html?utm_source=push

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Bukmor

Кремлёвские звёзды.

Воскресенье, 06 Августа 2017 г. 11:33 (ссылка)

Кремлёвские звёзды горят синим огнём.Звёздная болезнь Правителей Всея Руси.Московские иллюзии сегодня:https://www.youtube.com/watch?v=-Y6vdKZ3No0
Суверенитет России:https://www.youtube.com/watch?v=ki8cbXznEZc&spfreload=10
Россия и ЦБ РФ:https://www.youtube.com/watch?v=MHJu6xwq6ZQ
Некоторые подробности от М.Делягина:https://www.youtube.com/watch?v=s1R2ndJdCno

Авиация и КВ связь:https://www.qrz.ru/news/14311.html?utm_source=push

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Перевод] XBRL: просто о сложном - Глава 6. Погружение в XBRL - Часть 1. Приступаем

Пятница, 04 Августа 2017 г. 21:31 (ссылка)

6. Погружение в XBRL



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



В этой главе мы покажем процесс формирования таксономии и связанного с ней отчета на уже знакомом вам примере про демографию компании. Как и в реальной жизни, мы не сможем сделать все правильно с первой же попытки, поэтому процесс их формирования у нас будет разбит на несколько разных версий. Разработка большинства реальных таксономий занимает от нескольких недель до нескольких месяцев (и даже лет).



Примечание: Мы не будем создавать базы ссылок определений (definition linkbase) и базы ссылок на реcурсы (reference linkbase). В реальной жизни вы могли бы создать по крайней мере одну из них, чтобы более подробно описать свои концепты, но для целей данной главы они не нужны. После того, как вы освоите базы ссылок ярлыков (label linkbase) и презентаций (presentation linkbase), с пониманием баз ссылок определений и ресурсов не должно возникнуть никаких проблем.



6.1. Приступаем



Начнем с простой таксономии для нашего примера.



6.1.1. Схема таксономии



Прежде всего нам нужен документ, содержащий схему таксономии.



Хорошей практикой является использование в имени документа даты создания таксономии, чтобы легко различать созданные в разное время версии таксономии.



Давайте считать, что мы начинаем наш маленький проект в первый день года, сразу после боя курантов, тогда назовем документ с таксономией следующим образом – ‘sample-2017-01-01.xsd’. Будем обсуждать наш документ небольшими частями, создавая таксономию шаг за шагом.



6.1.1.1. Корень схемы


Как и в любой XML-схеме, мы начинаем с корневого элемента schema:




...


Обратите внимание на атрибуты внутри корневого элемента:




  • targetNameSpace

    Определяет пространство имен (namespace) элементов схемы. Поддерживающее схему программное обеспечение, которое будет используется для обработки таксономии или связанного с ней отчета, должно использовать это пространство имен для обращения к схеме или ее частям.



Остальные атрибуты определяют префиксы элементов схемы. Префикс указывает, каким пространством имен определяется элемент:




  • xmlns

    Пространство имен XML Schema – является значением по умолчанию для всех элементов без префикса;

  • xmlns:xbrli

    Пространство имен отчета XBRL (instance);

  • xmlns:link

    Пространство имен XBRL Link;

  • xmlns:xlink

    Пространство имен XML Schema XLink;

  • xmlns:sample

    Наконец, любые определенные нами элементы, которые находятся в целевом пространстве имен, будут иметь префикс sample.



Все приведенные ниже документы имеют одинаковые атрибуты определения пространств имен в корневом элементе. Мы не будем описывать их отдельно для каждого нового типа элемента.



Спецификация XBRL включает в себя ряд схем:


  • XBRL Instance

    Содержит определения (типы, атрибуты, элементы), необходимые для объявления фактов и концептов;

  • XBRL Linkbase

    Содержит определения, необходимые для объявления ссылок от одной части таксономии (или базы ссылок) к другой;

  • XBRL XLink

    Используется для объявления самих баз ссылок, это пространство имен понадобится вам при создании собственного расширения спецификации XBRL;

  • W3C XLink

    Пространство имен для XML Link; обратите внимание, что схема для этой части спецификации находится на сайте xbrl.org, поскольку W3C не предоставляет эту схему, а для спецификации XBRL она необходима.





6.1.1.2. Импорт схемы отчета


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





Элемент import должен точно определить схему, идентифицированную пространством имен. Документ схемы, на который указывает URI в атрибуте schemaLocation, должен реально существовать.



Схема отчета XBRL импортирует схему XBRL Linkbase, а она, в свою очередь, импортирует схемы XBRL XLink и W3C XLink. Это означает, что нам не нужно самостоятельно импортировать эти схемы.



Пространство имен W3C XML Schema стандартизировано и автоматически распознается поддерживающим нашу схему программным обеспечением.


6.1.1.3. Концепты


Концепты в нашей таксономии определяются как элементы схемы. Из нашего примера мы ранее получили следующие концепты:




































Имя Тип
nr_employees_total non-negative integer item
nr_employees_male non-negative integer item
nr_employees_female non-negative integer item
nr_employees_age_up_to_20 non-negative integer item
nr_employees_age_21_to_40 non-negative integer item
nr_employees_age_41_and_up non-negative integer item


Концепт, отражающий общее количество сотрудников, определяется следующим образом:





Разберем атрибуты концепта:




  • id

    Этот идентификатор используется для обозначения концепта в других документах, таких как базы ссылок. Он должен быть уникальным в пределах схемы. Для id концепта мы использовали префикс ‘sample_’, чтобы сделать его глобально уникальным.

  • name

    Указанное в этом атрибуте наименование идентифицирует концепт внутри таксономии и отчета. Оно должно быть уникальным в пределах таксономии.

  • xbrli:periodType

    Каждый концепт должен иметь связанный с ним тип периода. В нашем примере количество сотрудников указывается на начало и на конец периода, то есть на дату. Для таких концептов используется значение instant.

  • type

    Количество сотрудников является целым числом; сотрудник, работающий неполный день, также считается как единица, а не дробь. Поскольку отрицательного количества сотрудников быть не может, мы используем тип nonNegativeIntegerItemType, определенный в схеме отчета XBRL.

  • substitutionGroup

    Это простой концепт, не являющийся кортежем, поэтому здесь указываем значение item, определенное в схеме отчета XBRL.

  • nillable

    Рекомендуется всегда указывать концепты как nillable, это позволяет передавать по ним пустые факты.



Остальные концепты определяются аналогично, но каждый со своими значениями атрибутов id и name.



Нам также понадобится абстрактный концепт, который будет служить корнем иерархии представления нашего отчета. Ему (произвольно) присвоим тип xbrli:stringItemType. Для передачи фактов абстрактные концепты не используются, поэтому можно указать любой тип для удовлетворения требований спецификации XBRL по его наличию.





Абстрактный концепт должен иметь атрибут abstract со значением true.



6.1.1.4. Связи с базами ссылок


Если мы хотим представить полноценную таксономию или отчет, нам надо предоставить дополнительную информацию о концептах в виде баз ссылок. Начнем с двух из них – базы ярлыков и базы презентаций.



Связь с базами ссылок указывается в элементе appinfo, который размещается внутри элемента annotation:










У связи с базой ссылок есть следующие атрибуты:




  • xlink:type

    Здесь всегда указывается simple.

  • xlink:href

    В этом атрибуте указывается сама ссылка на базу. В нашем примере мы ссылаемся на базы ярлыков и презентаций, о которых поговорим позже.

  • xlink:role

    Атрибут ‘роль’ определяет тип базы ссылок. Мы используем значения labelLinkbaseRef и presentationLinkbaseRef, определенные схемой XBRL Linking.

  • xlink:arcrole

    Ролью дуги к базе ссылок всегда указывается определенное в XLink значение linkbase.



6.1.2. База ссылок ярлыков



База ярлыков содержит три типа элементов:




  • локаторы для определения концептов таксономии, которым присваивается ярлык;

  • ресурсы, которые содержат сами ярлыки;

  • дуги ярлыков, связывающие концепт (через его локатор) с ярлыком.



Эти элементы размещаются внутри элемента labelLink:






...



У элемента labelLink есть следующие атрибуты:




  • xlink:type

    Здесь всегда указывается extended.

  • xlink:role

    Для ссылок по умолчанию используется роль link.



6.1.2.1. Локтаторы (locator)


Локаторы размещаются в элементы loc. Они указывают на концепты связанной с ними таксономии.






  • xlink:type

    Типом элемента loc всегда указывается locator, означающий, что он используется как локатор (концептов).

  • xlink:href

    Указывает на фактическое местоположение концепта. Обратите внимание, что тут мы используем его id.

  • xlink:label

    Локатору присваивается ярлык для обращения к нему внутри базы ссылок. В качестве значения ярлыка мы будем использовать id концепта с префиксом ‘concept_’.



6.1.2.2. Ярлыки


Для определения ярлыков используется элемент label.








  • xlink:type

    Типом всегда является значение ‘resource’, указывающее, что ярлык является локальным ресурсом базы ссылок.

  • xlink:label

    Как и в случае с локаторами, значение атрибута label обеспечивает возможность обращаться к ярлыку внутри базы ссылок. Обратите внимание, что каждая из приведенных меток связана с одним и тем же концептом, и во всех из них используется одно и то же значение атрибута. Это позволяет использовать связь один-ко-многим от концепта к его ярлыкам. В нашем примере это три разных вида ярлыков для концепта ‘nr_employees_total’.

  • xlink:role

    Роль определяет вид используемого ярлыка. Спецификация XBRL предоставляет большое количество предопределенных ролей. В примере мы используем три вида – нормальный, краткий и развернутый ярлыки. Приложение для работы с таксономией или отчетом XBRL позволяет выбрать наиболее подходящий вид ярлыков. Базы ссылок презентаций также могут указывать предпочтительный вид ярлыка.

  • xml:lang

    В этом атрибуте указывается язык метки. В примере мы используем только английский язык, но в базу ссылок можно включать ярлыки на любых языках.



6.1.2.3. Дуги ярлыков


Наконец, после определения локаторов к концептам и ресурсов ярлыков, мы можем связать их с помощью дуг ярлыков.






  • xlink:type

    Типом всегда указываем ‘arc’, дуга (кто бы мог подумать).

  • xlink:arcrole

    Роль дуги определяет вид связи. Для ярлыков указывается ‘concept-label’, дуга между концептом и ярлыком.

  • xlink:from

    Указывает на одну из сторон дуги, в нашем случае на концепт. Мы используем label локатора в качестве значения этого атрибута.

  • xlink:to

    Указывает на вторую сторону дуги, на ресурсы ярлыка, также с использованием label ресурса.



Поскольку мы использовали один и тот же label для трех разных ярлыков, наша дуга образует связь один-ко-многим между концептом и его ярлыками.



6.1.3. База ссылок презентаций



Презентации содержат два типа элементов:




  • Локаторы концептов таксономии, используемых в иерархии представления;

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



Все они располагаются внутри элемента presentationLink:






...



6.1.3.1. Локаторы



Здесь все аналогично базе ссылок ярлыков, не будем повторяться.



6.1.3.2. Дуги презентаций



Дуги презентаций связывают концепты в parent-child иерархию (дерево):






...



  • xlink:type

    Как и ранее, ‘arc’.

  • xlink:arcrole

    Роль дуги презентации – ‘parent-child’, она указывает на то, что база ссылок презентаций представляет собой иерархическую структуру.

  • xlink:from

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

  • xlink:to

    Указывает на дочерний концепт иерархии через его локатор. В нашем примере все концепты располагаются под корневым концептом ‘presentation_root’.

  • order

    Этот атрибут задает порядок следования дочерних элементов, расположенных под общим родительским элементом.

  • priority

    Используется для переопределения баз ссылок. В нашем примере мы этого не делаем (пока что).

  • use

    Указывая значение optional, мы обозначаем, что концепт может быть частью сети презентаций. Общепринятой практикой является указание этого значения, хотя оно же используется по умолчанию в случае отсутствия атрибута.

  • preferredLabel

    Ранее мы создали несколько видов ярлыков в нашей базе ссылок ярлыков. Здесь мы видим, как в базе ссылок презентаций указывается предпочтительный вид ярлыка для дочернего (to) концепта дуги.



Примечание: Поскольку атрибут preferredLabel может указываться только для дочерних концептов, корневой элемент иерархии презентации предпочтительного вида ярлыка иметь не может.



6.1.4. Отчет XBRL



Создав таксономию, мы можем использовать ее для создания отчета.



Документ с отчетом XBRL содержит следующие виды элементов:




  • Ссылки на схему таксономии;

  • Контексты для фактов;

  • Единицы измерения для числовых фактов;

  • Сами значения фактов.



Все эти элементы размещаются внутри элемента xbrl:





...


6.1.4.1. Ссылка на схему таксономии


Ссылка на схему указывается в элементе schemaRef:







  • xlink:type

    Указываем тип связи ‘simple’.

  • xlink:href

    Ссылка задается как href-атрибут. Он указывает расположение схемы таксономии на сайте ее создателя.



6.1.4.2. Контекст


У нас в примере есть два контекста – начало отчетного периода и конец отчетного периода:





12-34567


2016-01-01




12-34567


2016-12-31




  • id

    Используется для связи факта с контекстом. Это значение должно быть уникально в пределах отчета.

  • entity

    Здесь указывается организация, по данным которой составляется отчет.


    • identifier

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


  • period

    Здесь указывается период или дата контекста.


    • instant

      В нашем примере у нас два instant-контекста, для дат начала и окончания отчетного периода соответственно.




Ссылка, указанная в элементе identifier, ссылается на несуществующую статистическую организацию, которая публикует идентификаторы подотчетных организаций. Наша воображаемая компания имеет идентификатор ‘12-34567’. В реальном мире мы бы использовали, к примеру, тикер фондовой биржи или идентификатор организации в национальном налоговом органе.


6.1.4.3. Единицы измерения


Для всех числовых фактов должны быть указаны единицы измерения:




Person



  • id

    Используется для связи факта с единицей измерения. Это значение должно быть уникально в пределах отчета.

  • measure

    Идентифицирует единицу измерения. В нашем примере мы определили собственную единицу измерения – ‘Person’.



6.1.4.4. Факты


Теперь мы наконец достигли финальной цели всего нашего упражнения – передачи фактов:



35
41


23
27
12
15


5
9
23
21
7
11


Каждый факт – это отдельный связанный с концептом элемент. Значение элемента является значением факта.




  • contextRef

    Каждый факт ссылается на свой контекст через id контекста. Наш пример содержит факты для каждого концепта в каждом из контекстов.

  • unitRef

    Поскольку для всех числовых фактов должны быть указаны единицы измерения, в нашем примере заполняем здесь ‘u_person’.

  • decimals

    Для числовых фактов должен быть задан один из атрибутов – decimals (десятичные знаки) или precision (точность). В нашем примере все факты целочисленные, поэтому указываем decimals со значением ‘0’.



6.1.5. С гордостью представляем вам – наш отчет XBRL



После всей проделанной работы нам хотелось бы увидеть, как формируется наш отчет в привязке к таксономии и, в частности, к базам ссылок презентаций и ярлыков.



Для этого воспользуемся простым инструментом, который создает веб-страничку для нашего отчета с отображением фактов в табличном виде. Он располагает контексты в столбцах таблицы, а ярлыки концептов из базы ссылок ярлыков – слева от нее. Иерархия концептов, определенная в базе ссылок презентаций, задает порядок следования и отступы для фактов.



Полученный нами результат выглядит примерно следующим образом:



image



В общем, мы неплохо потрудились!


Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/334356/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Picnic_Time (Автор -Mirage--)

Михаил Делягин: Набиуллина - главная угроза отечественной экономике

Вторник, 01 Августа 2017 г. 07:10 (ссылка)


0000000000000000000000000000000 (700x467, 259Kb)




В России в начале лета ускорилась инфляция - выросли цены на продукты и ЖКХ




Инфляция в июне резко ускорилась. Быстрее всего дорожают продукты питания и тарифы на ЖКХ. Кроме того, ЦБ, скорее всего, учитывает и расширение антироссийского санкционного пакета со стороны США.


В Вашингтоне активно обсуждается вопрос о возможном тотальном запрете на инвестиции в российский госдолг, а это приведет к бегству капитала из рубля с обвалом его курса.

Читать далее...
Метки:   Комментарии (2)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Перевод] XBRL: просто о сложном - Глава 5. Открывая новые измерения

Четверг, 27 Июля 2017 г. 13:56 (ссылка)

5. Открывая новые измерения



Предыдущие главы показали вам, что такое XBRL, и что с его помощью можно сделать. Как вы уже знаете, он является расширяемым стандартом. В этой главе мы рассмотрим один из расширяющих стандартную спецификацию модулей – XBRL Dimensions (Измерения).



Глава основывается на спецификации XBRL Dimensions версии 1.0 CR от 19.06.2006. На момент написания книги спецификация находится в статусе Candidate Recommendation, но ожидается, что окончательный вариант не принесет никаких значительных сюрпризов.



Что касается самой спецификации XBRL, данная глава подчеркивает некоторые ее важные моменты, необходимые для уверенного базового понимания XBRL Dimensions. Остальные нюансы приведены в полной спецификации.



5.1. Введение



Обычно, факты в отчетах некоторым образом классифицируются, например:




  • Продажи в разных периодах;

  • Продажи по продуктовым линиям;

  • Продажи по регионам;

  • Продажи по отделам;

  • Количество сотрудников по возрасту;

  • Количество сотрудников по полу;

  • ...



Две из этих категорий явно определены спецификацией XBRL – период и составитель отчета (компания, департамент, отдел компании). Эти категории всегда присутствуют в контекстах, на которые ссылаются факты отчета.



Желание расширить эти возможности, чтобы позволить авторам таксономии указать свои собственные категории вроде продуктовой линии, пола и т.д., является вполне естественным. Это именно то, что позволяет сделать XBRL Dimensions. В этой спецификации такие категории называются измерениями (dimension).



Как определено в спецификации XBRL, входящие в контекст сценарий и сегмент могут иметь любое валидное XML-содержание. XBRL Dimensions определяет формализованный способ использования таких элементов для добавления новых измерений (категории) в контекст.



Пример, который мы ранее использовали, очень хорошо подходит для иллюстрации:

Нам лишь надо определить концепт nr_employees и пару измерений: gender (пол) со значениями {‘men’, ‘women’} и age group (возрастная группа) со значениями {‘...–20’, ‘21–40’, ‘41–…’}.



Отчет содержит набор контекстов для каждого сочетания периода и измерения, и каждому контексту соответствует свой факт:


























































Контекст Факт
01-01-2015 nr_employees = 35
01-01-2015 + ‘men’ nr_employees = 23
01-01-2015 + ‘women’ nr_employees = 12
01-01-2015 + ‘...–20’ nr_employees = 5
01-01-2015 + ‘21–40’ nr_employees = 23
01-01-2015 + ‘41–…’ nr_employees = 7
31-12-2015 nr_employees = 41
31-12-2015 + ‘men’ nr_employees = 27
31-12-2015 + ‘women’ nr_employees = 15
31-12-2015 + ‘...–20’ nr_employees = 9
31-12-2015 + ‘21–40’ nr_employees = 21
31-12-2015 + ‘41–…’ nr_employees = 11




5.1.1. Понятия измерений



Спецификация XBRL Dimensions использует ряд понятий, которые кратко представлены здесь и будут более подробно разобраны в следующем разделе.




  • Измерение (dimension)

    Измерение – это по сути категоризация фактов. Измерения определяются в Таксономии элементов домена (Domain Members Taxonomy, DMT), а ее элементы могут использоваться в контекстах отчета для категоризации передаваемых фактов.

  • Домен (domain) и Элементы домена (domain members)

    Набор допустимых значений измерения называется его доменом. Элемент домена – это одно из этих значений. Есть два типа элементов: типизированные (typed) и явные (explicit). Типизированные элементы определяются синтаксическими ограничениями, напр. «целые числа от 0 до 100». Явные элементы домена являются item-концептами, которые явно указываются элементами домена измерения. Получается перечисление элементов, напр. ‘men’ и ‘women’ для измерения gender.

  • Гиперкуб (hypercube)

    Измерения могут быть объединены, напр. «продажи по региону и продуктовой линии» или «количество сотрудников по полу и возрастной группе». Набор возможных значений такой комбинации измерений можно представить в виде элементов в n-мерном пространстве:


    • при n = 1 элементы образуют отрезок на прямой;

    • при n = 2 элементы образуют квадрат на плоскости;

    • при n = 3 элементы образуют куб в пространстве;

    • случаи n > 3 не так легко визуализировать, поскольку мы живем в трехмерном пространстве; математический термин для таких случаев – гиперкуб.


  • Первичная таксономия (primary taxonomy)

    Это обычная таксономия в соответствии со спецификацией XBRL. Она определяет концепты, по которым могут формироваться отчеты. Спецификация XBRL Dimensions берет на себя заботу о том, чтобы не требовалось никаких изменений в первичной таксономии.

  • Таксономия элементов домена (domain members taxonomy, DMT)

    Измерения и элементы измерений определяются как концепты DMT.

  • Таксономия шаблонов (template taxonomy)

    Объединяет первичную таксономию и таксономию элементов домена, определяя структуру гиперкубов и связывая их с первичными концептами.



Спецификация определяет три типа таксономий. Это разделение на три типа – лишь концепция. Можно использовать три отдельные таксономии, но спецификация не требует использования отдельных таксономий для каждого из типов. Комбинировать разные типы в одной таксономии – совершенно нормально. Допустимо даже использовать концепт в качестве первичного концепта в одной взаимосвязи, и в качестве элемента измерения в другой.


5.2. Таксономии измерений



В этом разделе рассматривается способ расширения таксономий для применения спецификации XBRL Dimensions. Начну с архитектурной диаграммы, показывающей, как все компоненты связаны между собой.



image



Следующие подразделы описывают каждый компонент архитектуры более подробно.



5.2.1. Измерения



DMT определяет измерения как абстрактные item-концепты со значением xbrldt:dimensionItem атрибута substitution group.



Примечание: Атрибуты xbrli:balance, xbrli:periodType и nillable игнорируются.



Измерения могут быть типизированными или явными, как было сказано выше, в каждом из них используется свой способ определения элементов домена.



5.2.1.1. Типизированное измерение (typed dimension)


Определение типизированного домена должно иметь значение атрибута xbrldt:typedDomainRef, которое ссылается на объявление элемента, определяющего домен измерения.



Домен определяется с использованием типов XML Schema:




  • Тип SimpleType может, к примеру, определить в качестве идентификатора клиента компании значения от 0 до 100 в виде целого числа или строки длиной 5 символов;

  • Тип ComplexType может быть использован для определения адреса, включающего в себя город, улицу, номер дома, индекс и т.д.



5.2.1.2. Явное измерение (explicit dimension)


Домен явного измерения идентифицируется связью dimension-domain от измерения к корню сети связей domain-member между элементами домена. В явном измерении не может содержаться атрибут xbrldt:typedDomainRef.



Элементами домена измерения являются все qname-элементы в сети связей domain-member. Каждый элемент – это определение item-концепта со значением xbrli:item атрибута substitution group (он не может принадлежать к группе xbrldt:hypercubeItem или xbrldt:dimensionItem).



Связи domain-member образуют иерархию элементов. Можно добавлять элементы в иерархию, например, чтобы создать корень вложенной иерархии, который не предназначен для использования в качестве элемента домена. Для этого в булевом атрибуте usable, имеющего по умолчанию значение true, указывается значение false.



У явного измерения может быть указан элемент по умолчанию, это делается с помощью связи dimension-default к элементу домена. Это значение по умолчанию используется в контексте, если не задано ни одного элемента измерения. Само значение по умолчанию в не может быть явно указано в контексте, оно всегда определяется автоматически.



Обратите внимание, что связь dimension-default сама по себе не добавляет элемент в домен и не является эквивалентом связи domain-member.



5.2.2. Связи domain-member и наследование (inheritance)


Первичные концепты могут наследовать гиперкубы других первичных концептов путем указания связи domain-member между первичными концептами.



Предположим, у нас есть два первичных концепта, один из которых (item) связан с гиперкубом hc_age, а другой (another item) – связью domain-member с первым концептом:



image



Так как у первого концепта есть связь с измерением age_group через гиперкуб hc_age, а второй концепт имеет связь domain-member с первым концептом – второй концепт наследует измерение age_group.


5.2.3. Гиперкубы (hypercube)


Гиперкубы определяются в таксономии шаблонов (template taxonomy) путем объединения нуля (гиперкуб может быть пустым) и более измерений.



Объявляющий элемент является абстрактным концептом, который должен иметь значение xbrldt:hypercubeItem атрибута substitution group.



Измерения связываются с гиперкубом дугами с ролью hypercube-dimension. Эти отношения упорядочены значением атрибута order в каждой дуге. Дуги не могут образовывать циклических связей.



5.2.4. Связь первичных концептов с гиперкубами


При создании таксономии с измерениями вам захочется иметь возможность контролировать, с какими измерениями может быть связан каждый из концептов. Таксономия шаблонов обеспечивает такую возможность путем определения связей между гиперкубами и первичными концептами через связи has-hypercube между первичным концептом и концептом гиперкуба.



Есть два типа связей has-hypercubeall и notAll:




  • связь типа all используется для определения измерений (и элементов измерений), которые разрешены для концепта;

  • связь типа notAll используется для определения измерений (и элементов измерений), которые не разрешены.



Сочетание этих типов связей позволяет точно контролировать состав измерений и элементов измерений для каждого концепта.



Предположим, у нас есть два гиперкуба:



image



Первичный концепт со связью has-hypercube типа all с кубом hc_age_x_gender может иметь все элементы измерений gender и age_group. Если мы добавим к этому концепту связь типа notAll с гиперкубом hc_exclude, элемент ‘Female’ измерения gender и элемент ‘...–20’ измерения age_group станут ему недоступны.

Связь has-hypercube должна указывать, в какой части контекста должны быть определены измерения – segment или scenario, для этого предназначен атрибут contextElement:




  • значение segment используется для измерений, которые определяют часть организационной структуры формирующей отчет компании, напр. отдел, регион и т.д.;

  • значение scenario используется для измерений, не связанных с организационной структурой компании, таких как возрастная группа, продукт и т.д.



Чтобы указать, что концепту доступны только элементы внутри измерений гиперкуба, в необязательном булевом атрибуте closed связи has-hypercube указывается значение true. Этот атрибут применяется только к сегменту сценария в соответствии со значением атрибута contextElement в связи. Значением по умолчанию является false, которое оставляет сегмент или сценарий открытым.



5.2.5. Наборы взаимосвязей измерений (dimensional relationship sets, DRS)



Определенные в XBRL Dimensions взаимосвязи включаются в базы ссылок определений (definition linkbase). В соответствии со спецификацией XBRL, взаимосвязи группируются в сети в соответствии с их ролями. Это называют базовым набором взаимосвязей.



Спецификация XBRL Dimensions расширяет понятие базового набора путем введения атрибута targetRole для таких типов связей как all, notAll, hypercube-dimension, dimension-domain и domain-member. Атрибут targetRole ссылается на другую роль и определяет переход от базы ссылок в одном базовом наборе к базе ссылок в базовом наборе с указанной в атрибуте ролью. Набор таких сгруппированных взаимосвязей называется Набором взаимосвязей измерений, DRS.



Создание DRS может быть полезным и даже необходимым, когда таксономия измерений становится все более сложной. Без DRS вы скорее всего включите элементы в измерения, которым они не принадлежат или добавите измерения не в те гиперкубы. Вы можете запросто получить набор взаимосвязей, которые не имеют никакого смысла или могут даже оказаться противоречивыми и невалидными.



Этот механизм перехода от одной базы ссылок (роли) к другой делает процесс валидации таксономии или отчета намного более сложным, так как взаимосвязи существуют вне границ базовых наборов, как это определено в спецификации XBRL.



Спецификация XBRL Dimensions использует понятие последовательных взаимосвязей (consecutive relationship). Оно означает, что, например, элементы гиперкуба определяются сначала по взаимосвязи hypercube-dimension, а затем для всех найденных измерений – последовательно по каждой из связей domain-member.



Все последовательные взаимосвязи находятся в пределах одной роли баз ссылок, если не определено значение атрибута targetRole. Если же в дуге этот атрибут присутствует, то поиск взаимосвязей переходит в базу ссылок с указанной ролью. Последовательные взаимосвязи в исходной базе ссылок (роли) в этом случае отсутствуют.



Взаимосвязи, которые могут быть объединены как последовательные, ограничены тем, что вы бы логично ожидали – связи has-hypercube (all, notAll) могут иметь hypercube_dimension в качестве последовательных взаимосвязей, но не dimension_domain или domain_member, так как они пропускают связи.


5.3. Измерения в отчетах XBRL



Как говорилось во введении, измерения используются в сегменте или сценарии контекстов отчета. Выбор между ними производится с помощью атрибута contextElementType связи has-hypercube.



5.3.1. Типы элементов измерений



5.3.1.1. Типизированные элементы (typed member)



Для типизированных измерений значения указываются как дочерние элементы xbrldi:typedMember внутри сегмента или сценария. Атрибут dimension таких элементов должен ссылаться на определение типизированного измерения. Содержанием typedMember является элемент с типом как у измерения, указанного в атрибуте xbrldt:typedDomainRef. Значением для измерения является значение этого элемента.



Предположим, у нас есть измерение ageDim типа age с целочисленными значениями от 0 до (будем оптимистами) 150. Значение измерения 45 задается как дочерний элемент age внутри, к примеру, сегмента следующим образом:


45




5.3.1.2. Явные элементы (explicit member)



Для явных измерений значения указываются с помощью элементов xbrldi:explicitMember. Атрибут dimension таких элементов должен ссылаться на определение явного измерения. Значением для измерения является содержание этого элемента и оно должно быть qname-элементом одного из явно определенных значений измерения.



Предположим, у нас есть измерение ageGroupDim со следующими явно определенными элементами: ageLessThan20, ageFrom21To40 и age41OrMore. Значение измерения для возрастной группы 21–40 задается дочерним элементом внутри, к примеру, сегмента следующим образом:

d:ageFrom21To40




5.3.2. Валидация (validation)



Спецификация XBRL Dimensions дополняет набор правил валидации из спецификации XBRL.



5.3.2.1. Валидация первичных фактов



Факты по первичным концептам должны валидироваться на основании концепта и контекста. Факт автоматически считается валидным по измерениям, если для его концепта не определены связи has-hypercube.



Если в концепте определены связи has-hypercube, указанные ими гиперкубы должны быть валидными по измерениям. Контекст факта должен содержать валидную комбинацию элементов домена или значений для каждого из связанных с ним измерений гиперкуба в пределах как минимум одного базового набора. Если не задано ни одного значения измерения, используется значение измерения по умолчанию (при его наличии). Недопустимо указывать более одного значения измерения.



Обратите внимание, что при определении валидности указанного значения в пределах измерения учитываются такие атрибуты как usable в связях domain-member и closed в связях has-hypercube.



Потребовалось несколько страниц спецификации XBRL Dimensions для описания нормативного определения валидации по измерениям, поэтому реальность чуть более сложна, чем я описал здесь. Тем не менее, приведенные выше простые правила и здравый смысл должны дать вам неплохое понимание того, что же такое валидация по измерениям.

5.3.3. Равенство по измерениям



Спецификация XBRL Dimensions добавляет новый тип равенства к приведенному в спецификации XBRL обширному перечню – d-равенство (d-equal). Два факта считаются d-равными для одного измерения, если они имеют одно и то же значение этого измерения.


Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/334252/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Перевод] XBRL: просто о сложном - Глава 4. Отчет XBRL

Понедельник, 24 Июля 2017 г. 13:10 (ссылка)

4. Отчет XBRL



В этой главе мы рассмотрим отчеты XBRL. Как и прежде, основное внимание уделяем тому, что можно сделать, а не как это делается.



Отчет (instance document) содержит факты и ссылается на таксономию для придания фактам смысла:



image



Факты могут быть простыми (item) или составными (кортеж, tuple). Все простые факты в отчете имеют контекст, напр. финансовый год или начало отчетного периода. Все используемые контексты содержатся в самом отчете.



Схематически состав отчета можно изобразить следующим образом:



image



В следующих разделах мы более подробно рассмотрим составные части отчета.



4.1. Корневой элемент xbrl



Отчет содержит различные виды данных:




  • Ссылки на одну или несколько таксономий;

  • Ссылки на базы ссылок (linkbase) – опционально;

  • Ссылки на роли (roles) и роли дуг (arcroles) – опционально;

  • Контекст (context);

  • Единицы измерения (units);

  • Факты (fact) – простые (item) и кортежи (tuple);

  • Сноски (footnote).



Общим контейнером для всех составных частей отчета является обязательный элемент xbrl.



4.2. Ссылки



Отчет может содержать некоторые ссылки на внешние ресурсы.



4.2.1. Ссылка на таксономию



Факты в отчете представляют собой бесполезные данные без таксономии, придающей им смысл. Каждый отчет должен ссылаться хотя бы на одну таксономию. Ссылка должна указывать на схему таксономии.



4.2.2. Ссылки на базы ссылок



Автор отчета может добавлять в него ссылки на базы ссылок, которые вместе таксономией (или таксономиями) становятся частью DTS (связанный комплекс таксономий, мы обсуждали его ранее). Примерами могут служить дополнительные определения или ссылки на концепты, свои версии презентаций или меток. Способ указания ссылки в отчете идентичен таковому в таксономии.



4.2.3. Ссылки на роли и роли дуг



Отчет может содержать сноски к фактам. Если для них используются собственные роли или роли дуг, на них также должна быть ссылка.



4.3. Контекст



Чтобы можно было понять приведенные в отчете факты, у них должен быть контекст. Представленный в XBRL контекст должен содержать составителя отчета, отчетный период и, при необходимости, сценарий. Контекст должен иметь атрибут id, который используется для ссылки на него из элементов отчета.



4.3.1. Составитель отчета



Компания, государственное ведомство или физическое лицо, составляющее отчет; описывается в контексте атрибутом entity.



Составитель отчета должен иметь уникальный идентификатор, однозначно его определяющий. Это обеспечивается определением схемы и токена, который является корректным идентификатором в пространстве имен, на которое ссылается схема. Примером могут служить биржевые тикеры.



Опционально, составитель отчетности может также иметь элемент segment для дополнительной детализации, напр. бизнес-единица внутри крупной компании или территориальное подразделение государственной организации. В спецификации не дается каких-либо указаний относительно того, как именно следует использовать этот элемент – это любое XML-выражение, не использующее синтаксис XBRL.



4.3.2. Отчетный период



Период может быть двух типов – на дату (instant) и собственно за период (duration). Во втором случае можно либо явно задать начало и окончание периода, либо указать за все время (forever).



Примечание: Дата окончания всегда следует после даты начала. Если дата указывается без времени, то автоматически устанавливается полночь. Для начала периода это будет начало указанного дня, а для окончания периода – конец указанного дня (но технически это будет полночь следующего дня).



4.3.3. Сценарий



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



В спецификации не дается каких-либо указаний относительно того, как именно следует использовать этот элемент – это любое XML-выражение, не использующее синтаксис XBRL.



4.4. Единица измерения



Числовые значения должны иметь единицу измерения, которая предоставляет возможность их интерпретировать. Каждая используемая в отчете единица измерения должна быть определена отдельным элементом внутри корневого элемента xbrl.



Единица измерения содержит отдельную единицу, произведение, либо отношение единиц, напр. RUB, килограмм или квадратный метр.



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



4.5. Факт



Факт (item) – это отдельное значение, которое передается в качестве отчетных данных. Факт не может содержать в себе другие факты, для таких случаев используются кортежи фактов (см. далее).



Значение факта может быть либо числовым, либо нечисловым. Помимо самого значения, в факте также содержатся дополнительные данные.



4.5.1. Ссылка на контекст



Каждый факт в отчете должен ссылаться на контекст путем указания его id. Тип отчетного периода, используемого при расчете факта, должен совпадать с типом отчетного периода в контексте:




  • для фактов на дату контекст должен содержать instant-период;

  • для фактов за период контекст должен содержать корректную пару значений атрибутов startDate (начало периода) и endDate (окончание периода), либо иметь значение forever (за все время).



4.5.2. Ссылка на единицу измерения



Числовые факты должны ссылаться на единицу измерения путем указания ее id.



4.5.3. Точность и десятичные знаки



Числовые факты должны содержать либо точность (precision), либо количество десятичных знаков (decimals). Это важно при сравнении значений, а также при выполнении расчетов, особенно при округлении и усечении.



Атрибут precision указывает количество значимых знаков факта (до десятичного разделителя). Атрибут decimals указывает точность значения в количестве знаков после десятичного разделителя. Эти атрибуты являются взаимоисключающими, т.е. недопустимо использовать оба из них в одном факте.



Атрибут precision определяется автоматически при наличии атрибута decimals. Спецификация XBRL дает точные правила такого определения. Также, она приводит примеры того, как читать эти атрибуты.


4.6. Кортежи фактов



Большинство фактов существуют независимо друг от друга. Они определяются отдельными элементами под корневым элементом xbrl. Когда смысл фактов раскрывается только с учетом их взаимосвязи, для объединения фактов в связанные множества используются кортежи. Примером может служить имя и должность менеджера.



Кортежи объединяют факты, при этом в качестве элементов кортежа могут использоваться как факты, так и другие кортежи. Сам по себе кортеж не может ссылаться на контекст или единицу измерения. Также, он не может иметь атрибутов тип периода (periodType) и баланс (balance).



4.7. Сноски



Факты передаются независимо, кортежи позволяют собирать факты в связанную структуру. Другие, менее структурированные связи между фактами и дополнительными данными к ним, можно определить с помощью сносок.



Сноски (footnotes) – это дополнительные данные к фактам и ссылки на них, которые существуют только в пределах отчета. Для ссылок на сноски используется роль footnotes. Сама сноска содержит текст и должна иметь метку языка.



4.8. Равенство



Для сравнения фактов или кортежей фактов могут иметь значение несколько форм равенства:




  • Идентичность

  • Структура

  • Родительский элемент

  • Значение

  • XPath

  • Контекст

  • Единица измерения



Спецификация XBRL содержит большую таблицу, которая точно определяет, как каждая форма равенства должна применяться к различным типам аргументов, таким как узлы, атрибуты, составители отчета и т.д.

Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/333896/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Перевод] XBRL: просто о сложном - Глава 3. Анатомия таксономии

Четверг, 21 Июля 2017 г. 03:03 (ссылка)

3. Анатомия таксономии



Эта глава с названием как у песни рок-группы 60-х годов описывает структуру таксономии XBRL. Больше внимания уделяется тому, что можно сделать с помощью таксономий, и меньше - тому, как это делается с технической точки зрения. Мы оставим этот уровень детализации для другой главы.



Начнем вот с чего: то, что мы называем таксономией, на самом деле представляет собой, как правило, целый набор связанных документов, называемых Связанным комплексом таксономий (Discoverable Taxonomy Set), для краткости - DTS.



Отправной точкой DTS является Схема таксономии. Это документ, на который ссылается отчет XBRL. Эта схема таксономии может ссылаться на другие документы, которые в свою очередь могут также ссылаться на другие документы и т.д.



Чтение DTS подразумевает переход по всем ссылкам до тех пор, пока не будут прочитаны все из связанных документов.



Таксономия может ссылаться на два типа документов:




  • Таксономия - это тот случай, когда одна таксономия (Extended Taxonomy) расширяет другую таксономию (Base Taxonomy)

  • База ссылок (Linkbase) - она используется для предоставления дополнительных сведений об определенных в таксономии концептах. Базы ссылок описывают связи между разными концептами, а также между концептом и дополнительной информацией к нему. Всего существует пять основных видов баз ссылок (каждый из которых будет подробно рассматриваться далее):


    • Определения (Definition)

    • Вычисления (Calculation)

    • Презентация (Presentation)

    • Ярлыки (Label)

    • Ресурсы (Reference)




Схематически это можно изобразить следующим образом:



image



Обратите внимание, что некоторые базы ссылок (Reference и Label) являются однонаправленными, т.е. ссылка ведет от таксономии к ресурсам базы ссылок. Другие базы ссылок (Definition, Calculation и Presentation) являются двунаправленными. Ссылки указывают от одной части таксономии к другой части.



Если необходимо, таксономия также ссылается на схему отчета XBRL «xbrl-instance-2003-12-31.xsd» (или, правильней сказать, импортирует ее) - она содержит базовые элементы, необходимые для определения всех концептов.



Это примеры технических подробностей, которые я буду игнорировать для большей части этой книги. Я просто предполагаю, что, например, схема таксономии существует в некотором контексте (в данном случае это схема отчета XBRL), и фокусируюсь на более функциональных аспектах XBRL.

Остальная часть этой главы будет описывать каждый тип документа более подробно.



3.1. Схема таксономии



Ядро таксономии – это ее схема, которая является обязательным документом. Эта схема, о которой мы все это время говорим, на самом деле представляет собой документ XML Schema (стандарт W3C, позволяющий определять структуру XML-документов). Спецификация XBRL использует XML Schema в качестве базового языка для описания таксономий. Поверх этого базового языка она определяет набор специфичных для XBRL дополнений и ограничений.



В рамках схемы таксономии можно:




  • Импортировать другую, «базовую» таксономию, что позволяет создавать расширения существующих таксономий;

  • Определять концепты, по которым будут составляться отчеты;

  • Определять роли, используемые в базах ссылок;

  • Обращаться к базам ссылок.



3.1.1. Определение концептов



Спецификация XBRL содержит ряд требований и рекомендаций по определению концептов:




  • Каждый концепт должен иметь уникальное имя в пределах схемы таксономии;

  • Каждый концепт должен иметь атрибут Тип, который определяет, какого типа данные могут предоставляться (см. далее);

  • Концепты определяются в схеме таксономии как пункт (item) или кортеж (tuple);

    Это означает, что каждый концепт должен иметь атрибут substitution group со значением xbrli:item или xbrli:tuple


  • Рекомендуется указывать в каждом концепте атрибут с уникальным идентификатором, это упрощает обращение к концепту.



XML Schema предоставляет несколько способов улучшить определение концептов:




  • Можно указать, является ли концепт обязательным или нет;

  • Концепт может быть определен как абстрактный, тогда по нему не требуется передавать факты – это используется при расширении концептов, как описано ниже, или когда нужен корень иерархии в презентационной базе ссылок.



Кроме того, XBRL определяет для концептов атрибуты periodType и balance:




  • Атрибут periodType необходим для item-концептов (xbrli:item). Он позволяет отделить концепты, измеряемые по состоянию на определенную дату, от концептов, измеряемых за период времени;

    В отчете XBRL факты указываются в определенном контексте. Атрибут periodType концепта, по которому передается факт, должен соответствовать типу периода в контексте факта.


  • Если тип концепта – monetary, то может быть использован атрибут balance, указывающий, определяет ли концепт дебетовое либо кредитовое значение. Это очень удобно для концептов бухгалтерского учета, как напр. активы, обязательства, доходы и расходы.



Концепты могут быть расширены, образуя струкрутированное дерево концептов. Примером может служить концепт «менеджер», который расширяется на «менеджер бизнес-единицы» и «менеджер подразделения».



Поскольку в отчете XBRL могут быть указаны только факты по не абстрактным концептам, можно предотвратить передачу излишних фактов. В приведенном выше примере можно разрешать передачу фактов по концептам «менеджер бизнес-единицы» и «менеджер подразделения», но не по концепту «менеджер». Это возможно определением концепта «менеджер» как абстрактного.



3.1.1.1. Типы данных концептов


Для всех item-концептов должен быть указан тип передаваемых данных. Доступные типы данных определяются стандартом XML Schema и спецификацией XBRL.



XML Schema включает в себя следующие типы: логический (boolean), текстовый (text), десятичный (decimal), дата (date), части дат и т.д. (полный список можно найти в разделе 5.1.1.3 спецификации XBRL).



Примечание: для каждого типа из XML Schema имеется соответствующее определение типа XBRL.



Спецификация XBRL добавляет следующие типы данных:




  • Денежный (monetary) – используется для концептов, отражающих денежные значения;

  • Доли (shares) – для долевых концептов, напр. акций;

  • Простой (pure) – для концептов, в которых числитель и знаменатель выражены неявно в общем значении, напр. темпы роста, проценты;

  • Дробный (fractions) – когда факты не могут быть точно представлены никаким из других типов, напр. значение 1/3 не имеет точного десятичного представления, но его можно указать с помощью дробного типа. Дроби задаются как отдельные значения числителя и знаменателя.



3.1.2. Ссылки на базы ссылок



Схема таксономии может содержать, и как правило содержит ссылки на Базы ссылок, предоставляющие дополнительную информацию о концептах таксономии.



Ссылка может указывать на определенный вид Базы ссылок путем определения роли. Спецификация XBRL допускает следующие роли:




  • Определение (Definition)

  • Вычисление (Calculation)

  • Презентация (Presentation)

  • Ярлык (Label)

  • Ресурс (Reference)

  • Сноска (Footnote)



Примечание: Для сносок не создается отдельных баз ссылок. Эта роль используется только в пределах отчета XBRL.



Также, возможно определить пользовательские роли, что является еще одним примером расширяемости XBRL.



Чтобы еще больше ограничить использование базы ссылок, можно определить тип фактов, на который могут указывать типы ссылок в базе.



3.1.3. Роли (roles) и роли дуг (arcroles)



Для идентификации различных типов связей внутри баз ссылок используются роли. Спецификация XBRL определяет одну базовую роль, чтобы гарантировать, что роль есть у всех ссылок. Тем не менее, автор таксономии или базы ссылок обычно определяет свои дополнительные роли. Они используются для группировки ссылок в так называемые базовые наборы (base sets). Такая сегментация может быть полезна, например, для определения различных разделов отчета при использовании презентационной базы ссылок. В базе вычислений они необходимы для всех вычислений кроме самых примитивных, чтобы предотвратить ошибки из-за смешивания связей.



Связи, которые определяются дугами, типизируются ролями дуг (arcroles). Основные дуги, такие как «concept-label» или «summation-item» предопределены спецификацией XBRL. Также, возможно определить собственные дуги. Но используется это обычно для технических целей, напр. для определения новых связей в расширении спецификации XBRL. Примером этого могут служить дуги, определенные в спецификации XBRL Dimensions, о которой мы поговорим в Главе 5.



3.1.4. Пример



Вернемся к примеру «таксономии»:



image



Здесь мы можем приблизительно определить следующие концепты:


































Имя Тип
nr_employees_total non-negative integer item
nr_employees_male non-negative integer item
nr_employees_female non-negative integer item
nr_employees_age_up_to_20 non-negative integer item
nr_employees_age_21_to_40 non-negative integer item
nr_employees_age_41_and_up non-negative integer item




Мы рассмотрим эти концепты в следующем разделе про базы ссылок.


3.2. Базы ссылок



Определенные в схеме таксономии концепты являются минимально необходимыми строительными блоками таксономии. Они содержат точные данные о том, какие факты могут быть переданы в составе отчета XBRL.



Базы ссылок расширяют это определение следующим образом:




  • Позволяют разрабатывать определения с дополнительной документацией, напр. дают человекочитаемые метки или ссылки на нормативную литературу;

  • Описывают структуру концептов с внутренними связями между концептами, напр. определяя правила расчета;



Давайте сначала рассмотрим некоторые возможные базы ссылок для «таксономии» из нашего примера, чтобы понять, что они из себя представляют.



Примечание: Приведенные здесь «базы ссылок» не являются полными или корректными. Они приведены просто для иллюстрации.



База ссылок ярлыков (label linkbase)

База ссылок ярлыков может присвоить русский ярлык каждому используемому в форме концепту:






















Концепт Ярлык
nr_employees_total Всего
nr_employees_male Мужчины
nr_employees_female Женщины




Другая база ссылок ярлыков может использоваться для присвоения английских ярлыков концептам:






















Концепт Ярлык
nr_employees_total Total
nr_employees_male Men
nr_employees_female Women




Примечание: Этот пример базы ссылок ярлыков не совсем корректен. Мы вернемся к нему позже.



База ссылок определений (definition linkbase)

Определения концептов предоставляют различного рода информацию. Например, о том, что определенный концепт требует обязательного наличия другого концепта:


















Концепт Требует
nr_employees_male nr_employees_female
nr_employees_female nr_employees_male




Если вы указываете факт по количеству мужчин, вы также должны указать факт по количеству женщин, и наоборот.



Если бы был определен концепт nr_employees, база ссылок определений могла бы указать, что он является аналогом всех nr_employees… концептов:






















Концепт Псевдоним
nr_employees nr_employees_total
nr_employees nr_employees_male
nr_employees nr_employees_female




База ссылок вычислений (calculation linkbase)

C помощью вычисления можно задавать такие правила:


  • nr_employees_male + nr_employees_female = nr_employees_total





Такое правило автоматически отловило бы арифметическую ошибку в заполненной форме.



База ссылок на ресурсы (reference linkbase)

Предположим, что таксономия описывает отчет, требуемый законодательством. Полное описание того, что именно требуется предоставить, детально указано в законодательном акте, напр. как именно отчитываться по сотрудникам с частичной занятостью. База ссылок на ресурсы позволяет связать концепт с соответствующим ему разделом законодательного акта:






















Концепт Ресурс
nr_employees_total Законодательный акт; Часть IV; Раздел 156-32.г
nr_employees_male Законодательный акт; Часть IV; Раздел 156-32.г
nr_employees_female Законодательный акт; Часть IV; Раздел 156-32.г




Примечание: Это можно выразить и связью «многие-к-одному», рассмотрим это далее.



База ссылок на презентаций (presentation linkbase)

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


















Концепт Нижний уровень иерархии
nr_employees_total nr_employees_male
nr_employees_total nr_employees_female




3.2.1. Общие характеристики баз ссылок



Когда вы начнете углубляться в базы ссылок, вы увидите, что они обладают множеством общих характеристик. Рассмотрим некоторые из них.



3.2.1.1. Дуги (arcs)


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



В нашем примере базы ссылок на ресурсы мы можем использовать дугу вида «многие-к-одному», чтобы связать все три концепта одной ссылкой:



image



Атрибуты дуги from и to могут быть ресурсами, включенными в расширенную ссылку (extended link), или локаторами (locators) в расширенной ссылке, которые указывают на концепты или ресурсы в других документах.



Локатор указывает на концепт или ресурс с помощью атрибута href, который может содержать id концепта или выражение стандарта XPointer.


3.2.1.2. Запрет и переопределение


Когда таксономия расширяется, может потребоваться изменить существующие взаимосвязи между концептами. Для этого существует два механизма – запрет (prohibiting) и переопределение (overriding).



Дуга может иметь атрибут «приоритет». Когда у нескольких дуг случается «конфликт», преобладает та, что имеет наивысший приоритет, фактически переопределяя остальные дуги.



Если существующая дуга больше недействительна, можно добавить запрещающую дугу в свою базу ссылок с более высоким приоритетом, чем существующая. Запрещающей дугой является та, у которой необязательный атрибут use имеет значение prohibit.



При применении правил запрета и переопределения «базовая» сеть взаимосвязей изменяется расширениями. С использованием приоритета могут быть добавлены новые взаимосвязи, удалены существующие, либо существующие заменены новыми.



Спецификация XBRL указывает, что правила применяются к эквивалентным отношениям, и точно определяет, когда отношения эквивалентны на основе атрибутов дуг и сторон «от» и «к».


3.2.1.3. Циклы


Дуги образуют сеть взаимосвязей. Сеть может становиться очень сложной. Циклы внутри сети возникают, когда есть два или более путей от одного узла к другому. Таксономия должна указывать, какие из циклов разрешены:




  • Любые (any) – все циклы разрешены, нет ограничений на взаимосвязи;

  • Неориентированные (undirected) – этот странно названный вариант допускает циклы, если нет обратного пути к начальному узлу. Например, узлы А и Б могут иметь много путей от А к Б, но не должно быть пути от Б к А;

  • Никакие (none) – не разрешены никакие циклы, сеть не может иметь более одного пути между двумя узлами. Это накладывает большие ограничения на взаимосвязи.



Примечание: Путь состоит из набора дуг между узлами. Путь может быть коротким (одна дуга между двумя узлами) или длинным (сотни дуг между сотнями узлов).



3.2.1.4. Роли


Каждая ссылка в базе ссылок может иметь одну из нескольких ролей. Роль определяет использование ссылки. Доступные роли зависят от типа базы ссылок, они описаны в следующем разделе.



Как было сказано ранее, спецификация XBRL предоставляет набор ролей «общего назначения» для каждого типа базы ссылок. Вместо них возможно определить свои, более специфичные роли.



Роли могут быть использованы в ресурсах и в дугах между ними.



3.2.2. Специфичные характеристики баз ссылок



Хотя разные базы ссылок выглядят очень похожими по структуре, в них есть и различия. В этом разделе описываются характеристики, специфичные для каждого из типов баз ссылок.



3.2.2.1. База ссылок ярлыков


Ярлыки предоставляют человекочитаемый текст на определенном языке. Каждый ресурс должен идентифицировать используемый в ярлыке язык.



Ярлыки могут иметь следующие роли:




  • label (роль по умолчанию) – используется для стандартных ярлыков;

  • terseLabel – используется для сокращенных ярлыков, где часть описания опущена;

  • verboseLabel – используется для расширенных меток, подробно описывающих концепт;

  • positiveLabel, positiveTerseLabel и positiveVerboseLabel – стандартный, сокращенный и расширенный ярлыки, используемые для положительного значения факта;

  • negativeLabel, negativeTerseLabel и negativeVerboseLabel – стандартный, сокращенный и расширенный ярлыки, используемые для отрицательного значения факта;

  • zeroLabel, zeroTerseLabel и zeroVerboseLabel – стандартный, сокращенный и расширенный ярлыки, используемые для нулевого значения факта;

  • totalLabel – используется для ярлыков концептов, определяющих итоговые значения;

  • periodStartLabel и periodEndLabel – используются для ярлыков концептов, определяющих факты, ассоциированные с началом или окончанием периода;

  • documentation – для ярлыков, предоставляющих документацию по концепту;

  • definitionGuidance, disclosureGuidance, presentationGuidance, measurementGuidance, commentaryGuidance и exampleGuidance – для ярлыков, которые дают пояснения по таким аспектам концепта как определение, способ измерения или пример заполнения.



Дуга ярлыков имеет роль «concept-label», которая означает, что она всегда указывает от концепта к ярлыку. Поэтому дуги ярлыков никогда не образуют циклических связей между концептами.



Учитывая все вышесказанное, теперь мы можем более точно определить базу ссылок ярлыков из нашего примера:
















































Концепт Язык Роль Ярлык
nr_employees_total ru totalLabel Всего
nr_employees_male ru terseLabel Мужчины
nr_employees_female ru terseLabel Женщины
nr_employees_total en totalLabel Total
nr_employees_male en terseLabel Men
nr_employees_female en terseLabel Women




3.2.2.2. База ссылок ресурсов


Ссылки дают возможность связать определения концептов с положениями, опубликованными в деловой, финансовой и бухгалтерской литературе. Элемент должен предоставлять только ту информацию, которая необходима для идентификации и поиска соответствующей публикации. Он никогда не должен содержать текст самой публикации.



Ссылки могут состоять из частей (part), напр. «Законодательный акт; Часть IV; Раздел 156-32.г». В спецификации XBRL элемент part является абстрактным, поскольку способ разделения публикации на части варьируется для каждой публикации / юрисдикции.

Ссылки могут иметь следующие роли:




  • reference (значение по умолчанию) – используется для стандартного ресурса концепта;

  • definitionRef – используется для ссылки на точное определение концепта;

  • disclosureRef, mandatoryDisclosureRef и recommendedDisclosureRef – используются для ссылки на объяснения требований к раскрытию;

  • unspecifiedDisclosureRef – используется для ссылки на объяснения не указанных требований к раскрытию, таких как общая практика, полнота и структура;

  • presentationRef – используется для ссылки на объяснение презентации концепта;

  • measurementRef – используется для ссылки на метод измерения значения концепта;

  • commentaryRef – используется для ссылки на любой комментарий общего плана к концепту;

  • exampleRef – используется для ссылки на документацию, иллюстрирующую использование концепта с помощью примера.



Дуга ресурсов имеет роль «concept-reference», которая означает, что она всегда указывает от концепта к ресурсу. Поэтому дуги ресурсов никогда не образуют циклических связей между концептами.



3.2.2.3. База ссылок презентаций


Дуги презентаций имеют роль «parent-child», что позволяет определять иерархическую структуру концептов. И parent-, и child-сторона связи должна указывать на концепт.



Когда нет концепта, который мог бы естественным образом выступать в качестве корня иерархии презентации, вместо него можно использовать абстрактный концепт, специально определенный для этой цели.



Дуга может иметь атрибут preferredLabel, который идентифицирует предпочтительную роль метки для указания на child-концепте презентации. Это особенно полезно, когда концепт используется несколько раз по-разному в DTS. Каждая связь в презентации может указывать на отдельную метку (в соответствии с ее ролью) для использования по этому концепту.



Для определения порядка следования концептов в презентации может использоваться атрибут дуги order.



3.2.2.4. База ссылок вычислений


Дуги вычислений имеют роль «summation-item», представляющую суммирующие взаимосвязи между концептами (вычитание в этом случае обеспечивается суммированием концепта, умноженного на -1, см.далее). Связь указывает от суммирующего концепта к нескольким суммируемым концептам. Дуга вычислений может соединять только item-концепты.



Вычисления возможны только по концептам, эквивалентным по контексту и единице измерения.



Примечание: Отношения, заданные кортежами, также играют роль в вычислениях. Например, невозможно выполнять суммирование по элементам дублирующихся кортежей.



Дуга вычисления имеет атрибут weight, который используется как коэффициент умножения для суммируемого значения. Это позволяет осуществлять более сложные вычисления, чем простое сложение. В момент умножения выполняется необходимое округление.



В DTS учитывается полная совокупность вычислений. Все вычисления с одной и той же ролью по одному и тому же концепту будут выполнены в полном объёме. Если в одном отчете присутствует несколько детализаций одного и того же значения, каждое из его вычислений должно иметь свою собственную роль. В противном случае все вычисления будут суммированы вместе, что приведет к задвоению, затроению и т.д. результирующего значения.



Отчет XBRL считается корректным относительно базы ссылок вычислений, если все вычисления в пределах этого отчета согласованы. Это позволяет выполнять автоматическую проверку вычислений.



Возможности, предоставляемые базой ссылок вычислений, достаточно ограничены.



Можно выполнять более сложные вычисления, чем простое сложение, но это непросто, и даже в этом случае ограничения являются довольно серьезными. Например, невозможно вычислить разницу между фактами по одному и тому же концепту, но в разных контекстах, скажем, на начало и на конец периода.



В настоящее время разрабатывается еще одна база ссылок – формулы (formula linkbase). Она станет доступна для использования в ближайшее время и обеспечит более широкие функциональные возможности для определения формул расчета.


3.2.2.5. База ссылок определений


Дуга определений может иметь следующие роли, обозначающие разные виды взаимосвязей:




  • general-special

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

    Сеть таких взаимосвязей может содержать только неориентированные циклы, поскольку детализация никогда не может быть собственным обобщением.

  • essence-alias

    Эта взаимосвязь может быть применена только к item-концептам. Она используется, когда определены несколько похожих концептов и указывает, какой из них является наиболее подходящим (essence). Все остальные концепты считаются псевдонимами (alias) этого essence-концепта.

    Alias-концепты и essence-концепты должны иметь одинаковый тип значения, одинаковый тип периода (periodType) и одинаковый атрибут balance, если он используется.

    Сеть таких взаимосвязей может содержать только неориентированные циклы, поскольку концепт не может быть собственным псевдонимом.

  • similar-tuples

    Эта взаимосвязь используется между кортежами концептов и аналогична essence-alias для item-концептов – она идентифицирует кортежи с эквивалентными определениями. Примером может служить почтовый адрес, который может отражаться в разных форматах, но содержать эквивалентные данные.

  • requires-element

    Эта взаимосвязь используется между кортежами или item-концептами и определяет требования в пределах отчета XBRL. Если в отчете используется факт для концепта на стороне «от», то в отчете также обязательно должен быть факт для концепта на стороне «к».


Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/333738/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Перевод] XBRL: Просто о сложном - Глава 2. Что такое XBRL?

Среда, 19 Июля 2017 г. 17:53 (ссылка)

https://habrahabr.ru/post/333656/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<цб рф - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda