В этой статье представлена информация о бизнес-отчетах с использованием стандарта XBRL, о назначении XBRL и о том, как автоматизировать процесс создания бизнес-отчетов на основе XBRL в приложениях .NET. Кроме того, он содержит пошаговые методы анализа файлов XBRL и iXBRL и программного извлечения данных с помощью C#. И последнее, но не менее важное: он предоставляет несколько простых способов проверки файлов XBRL и iXBRL с помощью C#.
Расширяемый язык бизнес-отчетности (XBRL)
XBRL — это всемирно используемый стандарт и формат файлов на основе XML для бизнес-отчетности. Это облегчает различным компаниям и бухгалтерским организациям эффективную и точную организацию, компиляцию и передачу финансовых отчетов или другой информации/данных, связанных с финансами. Поскольку XBRL основан на XML (расширяемый язык разметки), он использует теги для хранения и анализа каждой части финансовых данных. iXBRL (встроенный XBRL) — еще один вариант, который позволяет хранить финансовые данные в удобочитаемой и машиночитаемой форме одновременно. В отличие от XBRL, iXBRL использует стандарт HTML вместе с некоторыми дополнительными тегами для рисунков и утверждений.
Теги как в XBRL, так и в iXBRL анализируются с использованием программного обеспечения, совместимого с XBRL, для извлечения данных. Для автоматизации синтаксического анализа XBRL Aspose предлагает Aspose.Finance for .NET API. Это библиотека классов .NET, которая еще больше упрощает программное создание экземпляров XBRL с использованием C# или VB.NET. Кроме того, он позволяет анализировать и проверять файлы XBRL или iXBRL в приложениях .NET. Aspose.Finance for .NET предоставляет следующие функции манипуляции с XBRL/iXBRL, о которых вы узнаете в этой статье.
Вы можете установить Aspose.Finance for .NET из NuGet или скачать его DLL, чтобы вручную ссылаться на него в своем проекте.
Создание экземпляра XBRL с нуля на C#
Aspose.Finance for .NET упрощает создание экземпляров XBRL с нуля. Вы также можете добавить ссылку на схему, контекст, единицы, элементы, ссылки на сноски, ссылки на роли и ссылки на роли дуг во вновь созданный экземпляр XBRL. Ниже приведены шаги для создания экземпляра XBRL:
- Создайте экземпляр класса XbrlDocument.
- Получите доступ к коллекции экземпляров из объекта XbrlDocument в объект XbrlInstanceCollection.
- Добавьте новый экземпляр XBRL, используя метод XbrlInstanceCollection.Add().
- Сохраните файл XBRL, используя метод XbrlDocument.Save(string).
В следующем примере кода показано, как создать экземпляр XBRL на C#.
XbrlDocument document = new XbrlDocument();
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()];
document.Save(XbrlFilePath + @"output\document1.xbrl");
После создания экземпляра XBRL вы можете вставлять в него объекты, которые обсуждаются в следующих статьях:
- Укажите ссылку на схему в XBRL
- Добавить контексты в XBRL
- Вставить единицы в XBRL
- Добавить элементы в XBRL
- и подробнее.
Анализ файлов XBRL или iXBRL на C#
Aspose.Finance for .NET предоставляет простой способ анализа файлов XBRL и извлечения их содержимого с помощью нескольких строк кода. Следующие разделы содержат шаги и примеры кода для анализа файлов XBRL и iXBRL.
Анализ файлов XBRL в C#
Ниже приведены шаги для анализа файла XBRL с помощью Aspose.Finance for .NET.
- Создайте экземпляр класса XbrlDocument и инициализируйте его, указав путь файла XBRL.
- Получите экземпляры в XBRL в объект XbrlInstanceCollection, используя свойство XbrlDocument.XbrlInstances.
- Получите доступ к нужному экземпляру XBRL из коллекции, используя класс XbrlInstance.
- Проанализируйте содержимое экземпляра XBRL.
В следующем примере кода показано, как анализировать XBRL-файл на C#.
XbrlDocument document = new XbrlDocument(XbrlFilePath + @"IdScopeContextPeriodStartAfterEnd.xml");
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[0];
List<Fact> facts = xbrlInstance.Facts;
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
List<Context> contexts = xbrlInstance.Contexts;
List<Unit> units = xbrlInstance.Units;
Анализ файлов iXBRL на C#
Анализ файла iXBRL сравнительно проще и может быть выполнен с помощью следующих шагов.
- Создайте объект класса InlineXbrlDocument и инициализируйте его путем к файлу iXBRL.
- Получите доступ к содержимому файла с помощью объекта InlineXbrlDocument, т.е. InlineXbrlDocument.Facts и т. д.
В следующем примере кода показано, как анализировать и читать файл iXBRL на C#.
InlineXbrlDocument document = new InlineXbrlDocument(XbrlFilePath + @"account_1.html");
List<InlineFact> inlineFacts = document.Facts;
List<Context> contexts = document.Contexts;
List<Unit> units = document.Units;
Проверка файлов XBRL или iXBRL на C#
Файлы XBRL и iXBRL должны соответствовать правилам проверки в спецификации XBRL и спецификации iXBRL соответственно. Несоблюдение правил спецификации может сделать файлы недействительными. Aspose.Finance for .NET также позволяет проверять файлы XBRL или iXBRL, чтобы выявить ошибки. В следующих разделах показано, как проверять файлы XBRL и iXBRL.
Проверка файлов XBRL на C#
Ниже приведены шаги для проверки файла XBRL:
- Создайте экземпляр класса XbrlDocument.
- Получите доступ к экземпляру для проверки из XbrlInstanceCollection.
- Проверьте отчет XBRL, используя метод XbrlInstance.Validate().
В следующем примере кода показано, как проверить XBRL-файл на C#.
XbrlDocument document = new XbrlDocument(XbrlFilePath + @"IdScopeContextPeriodStartAfterEnd.xml");
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[0];
xbrlInstance.Validate();
if(xbrlInstance.ValidationErrors.Count > 0)
{
List<ValidationError> validationErrors = xbrlInstance.ValidationErrors;
}
Проверка файлов iXBRL на C#
Следующие шаги используются для проверки файла Inline XBRL.
- Создайте экземпляр класса InlineXbrlDocument и инициализируйте его путем к файлу iXBRL.
- Вызовите метод InlineXbrlDocument.Validate().
В следующем примере кода показано, как проверить файл iXBRL на C#.
InlineXbrlDocument document = new InlineXbrlDocument(XbrlFilePath + @"account_1.html");
document.Validate();
if (document.ValidationErrors.Count > 0)
{
List<ValidationError> validationErrors = document.ValidationErrors;
}
Узнайте больше о кодах ошибок проверки и сообщениях об ошибках здесь.
Изучите API
Вы можете узнать больше о том, как создавать, анализировать и проверять файлы XBRL и iXBRL из следующего ресурса:
Попробуйте Aspose.Finance для .NET бесплатно
Aspose предлагает временную лицензию на бесплатную оценку своих API. Вы также можете опубликовать свой запрос и получить временную лицензию.