XBRL (расширяемый язык бизнес-отчетности) определяет и обменивает финансовую информацию, такую как финансовый отчет. Образец документа XBRL представляет собой набор фактов, которые вместе составляют бизнес-отчет. Мы можем легко создать экземпляр документа XBRL программно и добавить объекты или элементы, такие как ссылка на схему, контекст, единица измерения, элементы и т. д. В этой статье мы узнаем, как добавлять объекты в экземпляр документа XBRL с помощью C#.
В этой статье должны быть раскрыты следующие темы:
- C# API для добавления объектов в экземпляры документов XBRL
- Добавить ссылку на схему в XBRL
- Добавить объект контекста в XBRL
- Создать единицу в XBRL
- Добавить объект факта в XBRL
C# API для добавления объектов в экземпляры документов XBRL
Для создания экземпляра документа XBRL и добавления объектов мы будем использовать API Aspose.Finance for .NET. Он позволяет создавать экземпляры XBRL, анализировать и проверять файлы XBRL или iXBRL. Пожалуйста, загрузите DLL API или установите его с помощью NuGet.
PM> Install-Package Aspose.Finance
Добавить ссылку на схему в XBRL с помощью C#
Мы можем добавить ссылку на схему в экземпляр документа XBRL, выполнив следующие шаги:
- Во-первых, создайте экземпляр класса XbrlDocument.
- Затем получите коллекцию экземпляров объекта XbrlDocument в объект XbrlInstanceCollection.
- Затем добавьте новый экземпляр XBRL, используя метод XbrlInstanceCollection.Add().
- Затем получите коллекцию ссылок на схему объекта XbrlInstance в объект SchemaRefCollection.
- После этого добавьте новую ссылку на схему, используя метод SchemaRefCollection.Add().
- Наконец, сохраните файл XBRL, используя метод XbrlDocument.Save(). Он принимает путь к выходному файлу в качестве аргумента.
В следующем примере кода показано, как добавить ссылку на схему в экземпляр документа XBRL с помощью C#.
// В этом примере кода показано, как добавить объект SchemaReference в XBRL.
// Создайте экземпляр класса XbrlDocument
XbrlDocument document = new XbrlDocument();
// Получить экземпляры Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Добавить экземпляр Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];
// Получить коллекцию ссылок схемы
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
// Добавить ссылку на схему
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
// Сохраните выходной файл
document.Save(@"D:\Files\Finance\output.xbrl");
Добавить объект контекста в XBRL с помощью C#
Мы можем добавить контекст в документ экземпляра XBRL, выполнив шаги, указанные ниже:
- Во-первых, создайте экземпляр класса XbrlDocument.
- Затем получите коллекцию экземпляров объекта XbrlDocument в объект XbrlInstanceCollection.
- Затем добавьте новый экземпляр XBRL, используя метод XbrlInstanceCollection.Add().
- Затем создайте экземпляр класса ContextPeriod с датами начала и окончания.
- Затем создайте ContextEntity и укажите схему и идентификатор.
- Затем создайте экземпляр класса Context с определенными ContextPeriod и ContextEntity.
- После этого добавьте объект Context в коллекцию Объекты контекста.
- Наконец, сохраните файл XBRL, используя метод XbrlDocument.Save(). Он принимает путь к выходному файлу в качестве аргумента.
В следующем примере кода показано, как добавить объект контекста в экземпляр документа XBRL с помощью C#.
// В этом примере кода показано, как добавить объект Context в XBRL.
// Создайте экземпляр класса XbrlDocument
XbrlDocument document = new XbrlDocument();
// Получить экземпляры Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Добавить экземпляр Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];
// Определить период контекста
ContextPeriod contextPeriod = new ContextPeriod(DateTime.Parse("2020-01-01"), DateTime.Parse("2020-02-10"));
// Запись контекста Cretae
ContextEntity contextEntity = new ContextEntity("exampleIdentifierScheme", "exampleIdentifier");
// Создать контекст
Context context = new Context(contextPeriod, contextEntity);
// Добавить контекст
xbrlInstance.Contexts.Add(context);
// Сохраните выходной файл
document.Save(@"D:\Files\Finance\Output.xbrl");
Создание единиц в XBRL с использованием C#
Единицы в XBRL измеряют числовые статьи. Мы можем добавить единицу в экземпляр документа XBRL, выполнив шаги, указанные ниже:
- Во-первых, создайте экземпляр класса XbrlDocument.
- Затем получите коллекцию экземпляров объекта XbrlDocument в объект XbrlInstanceCollection.
- Затем добавьте новый экземпляр XBRL, используя метод XbrlInstanceCollection.Add().
- Затем создайте экземпляр класса Unit с UnitType в качестве меры.
- Затем добавьте QualifiedName в коллекцию MeasureQualifiedNames.
- После этого добавьте Объект в коллекцию Объекты объекта.
- Наконец, сохраните файл XBRL, используя метод XbrlDocument.Save(). Он принимает путь к выходному файлу в качестве аргумента.
В следующем примере кода показано, как добавить объект модуля в экземпляр документа XBRL с помощью C#.
// В этом примере кода показано, как добавить объект Unit в XBRL.
// Создайте экземпляр класса XbrlDocument
XbrlDocument document = new XbrlDocument();
// Получить экземпляры Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Добавить экземпляр Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];
// Определить единицу измерения
Unit unit = new Unit(UnitType.Measure);
// Добавить имя квалификатора
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));
// Добавить единицу
xbrlInstance.Units.Add(unit);
// Сохраните выходной файл
document.Save(@"D:\Files\Finance\Output.xbrl");
Добавить объект факта в XBRL с помощью C#
Факты в XBRL определяются с использованием элементов позиции. Элемент в XBRL содержит значение простого факта и ссылку на контекст для правильной интерпретации этого факта. Мы можем добавить элемент в экземпляр документа XBRL, выполнив шаги, указанные ниже:
- Во-первых, создайте экземпляр класса XbrlDocument.
- Добавьте новый экземпляр XBRL к экземплярам объекта XbrlDocument.
- Добавьте новую ссылку на схему к ссылкам на схему объекта XbrlInstance.
- Получить SchemaRef по его индексу из SchemaRefCollection.
- Инициализируйте экземпляр Context и добавьте его в коллекцию Context objects.
- Определите экземпляр Unit и добавьте его в коллекцию Объекты Unit.
- Создайте экземпляр класса Concept с помощью метода SchemaRef.GetConceptByName().
- Создайте экземпляр класса Item с объектом Concept в качестве аргумента.
- Установите свойства элемента, такие как ContextRef, UnitRef, Precision, Value и т. д.
- После этого добавьте Предмет в коллекцию Объекты фактов.
- Наконец, сохраните файл XBRL, используя метод XbrlDocument.Save(). Он принимает путь к выходному файлу в качестве аргумента.
В следующем примере кода показано, как добавить факт в качестве элемента элемента в экземпляр документа XBRL с помощью C#.
// В этом примере кода показано, как добавить объект элемента фактов в XBRL.
// Создать XbrlDocument
XbrlDocument document = new XbrlDocument();
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()];
// Определить ссылку на схему
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];
// Определить контекст
ContextPeriod contextPeriod = new ContextPeriod(DateTime.Parse("2020-01-01"), DateTime.Parse("2020-02-10"));
ContextEntity contextEntity = new ContextEntity("exampleIdentifierScheme", "exampleIdentifier");
Context context = new Context(contextPeriod, contextEntity);
xbrlInstance.Contexts.Add(context);
// Определить единицу измерения
Unit unit = new Unit(UnitType.Measure);
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));
xbrlInstance.Units.Add(unit);
// Получить концепцию
Concept fixedAssetsConcept = schema.GetConceptByName("fixedAssets");
if (fixedAssetsConcept != null)
{
// Определить элемент Item для факта
Item item = new Item(fixedAssetsConcept);
item.ContextRef = context;
item.UnitRef = unit;
item.Precision = 4;
item.Value = "1444";
// Добавить элемент элемента к фактам
xbrlInstance.Facts.Add(item);
}
// Сохраните выходной файл
document.Save(@"D:\Files\Finance\Output.xbrl");
Получить бесплатную лицензию
Вы можете получить бесплатную временную лицензию, чтобы попробовать библиотеку без ограничений пробной версии.
Вывод
В этой статье мы узнали, как создать документ XBRL с помощью C#. Мы также увидели, как программно добавлять различные объекты XBRL в созданный экземпляр документа XBRL. Кроме того, вы можете узнать больше об Aspose.Finance for .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.