Dodaj obiekty do dokumentów XBRL za pomocą C#

XBRL (eXtensible Business Reporting Language) definiuje i wymienia informacje finansowe, takie jak sprawozdanie finansowe. Dokument instancji XBRL to zbiór faktów, które razem składają się na raport biznesowy. Możemy łatwo programowo utworzyć dokument instancji XBRL i dodać obiekty lub elementy, takie jak odniesienie do schematu, kontekst, jednostka, elementy itp. W tym artykule nauczymy się, jak dodawać obiekty do dokumentów instancji XBRL za pomocą C#.

W tym artykule zostaną omówione następujące tematy:

C# API do dodawania obiektów do dokumentów instancji XBRL

Do tworzenia dokumentu instancji XBRL i dodawania obiektów będziemy używać API Aspose.Finance for .NET. Umożliwia tworzenie instancji XBRL, parsowanie i sprawdzanie poprawności plików XBRL lub iXBRL. Pobierz bibliotekę DLL interfejsu API lub zainstaluj ją za pomocą NuGet.

PM> Install-Package Aspose.Finance

Dodaj odniesienie do schematu do XBRL przy użyciu C#

Możemy dodać odwołanie do schematu w dokumencie instancji XBRL, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Następnie pobierz kolekcję instancji obiektu XbrlDocument do obiektu XbrlInstanceCollection.
  3. Następnie dodaj nową instancję XBRL za pomocą metody XbrlInstanceCollection.Add().
  4. Następnie pobierz kolekcję odwołań do schematu obiektu XbrlInstance do obiektu SchemaRefCollection.
  5. Następnie dodaj nowe odwołanie do schematu za pomocą metody SchemaRefCollection.Add().
  6. Na koniec zapisz plik XBRL przy użyciu metody XbrlDocument.Save(). Przyjmuje ścieżkę pliku wyjściowego jako argument.

Poniższy przykładowy kod pokazuje, jak dodać odwołanie do schematu w dokumencie wystąpienia XBRL przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak dodać obiekt SchemaReference do XBRL.
// Utwórz instancję klasy XbrlDocument
XbrlDocument document = new XbrlDocument();

// Pobierz XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Dodaj instancję Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Pobierz kolekcję odwołań do schematu
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;

// Dodaj odwołanie do schematu
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");

// Zapisz plik wyjściowy
document.Save(@"D:\Files\Finance\output.xbrl");

Dodaj obiekt kontekstu w XBRL za pomocą CSharp

Możemy dodać kontekst do dokumentu instancji XBRL, wykonując poniższe czynności:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Następnie pobierz kolekcję instancji obiektu XbrlDocument do obiektu XbrlInstanceCollection.
  3. Następnie dodaj nową instancję XBRL za pomocą metody XbrlInstanceCollection.Add().
  4. Następnie utwórz instancję klasy ContextPeriod z datami rozpoczęcia i zakończenia.
  5. Następnie utwórz ContextEntity i podaj schemat i identyfikator.
  6. Następnie utwórz instancję klasy Context ze zdefiniowanymi parametrami ContextPeriod i ContextEntity.
  7. Następnie dodaj obiekt Context do kolekcji Obiekty kontekstu.
  8. Na koniec zapisz plik XBRL przy użyciu metody XbrlDocument.Save(). Przyjmuje ścieżkę pliku wyjściowego jako argument.

Poniższy przykładowy kod pokazuje, jak dodać obiekt kontekstu w dokumencie wystąpienia XBRL przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak dodać obiekt kontekstu do XBRL.
// Utwórz instancję klasy XbrlDocument
XbrlDocument document = new XbrlDocument();

// Pobierz XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Dodaj instancję Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Zdefiniuj okres kontekstu
ContextPeriod contextPeriod = new ContextPeriod(DateTime.Parse("2020-01-01"), DateTime.Parse("2020-02-10"));

// Wpis kontekstu Cretae
ContextEntity contextEntity = new ContextEntity("exampleIdentifierScheme", "exampleIdentifier");

// Stwórz kontekst
Context context = new Context(contextPeriod, contextEntity);

// Dodaj kontekst
xbrlInstance.Contexts.Add(context);

// Zapisz plik wyjściowy
document.Save(@"D:\Files\Finance\Output.xbrl");

Twórz jednostki w XBRL przy użyciu C#

Jednostki w XBRL mierzą pozycje numeryczne. Możemy dodać jednostkę w dokumencie instancji XBRL, wykonując poniższe czynności:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Następnie pobierz kolekcję instancji obiektu XbrlDocument do obiektu XbrlInstanceCollection.
  3. Następnie dodaj nową instancję XBRL za pomocą metody XbrlInstanceCollection.Add().
  4. Następnie utwórz instancję klasy Unit z UnitType jako miarą.
  5. Następnie dodaj QualifiedName do kolekcji MeasureQualifiedNames.
  6. Następnie dodaj Jednostkę do kolekcji Obiekty jednostek.
  7. Na koniec zapisz plik XBRL przy użyciu metody XbrlDocument.Save(). Przyjmuje ścieżkę pliku wyjściowego jako argument.

Poniższy przykładowy kod pokazuje, jak dodać obiekt jednostki w dokumencie wystąpienia XBRL przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak dodać obiekt Unit do XBRL.
// Utwórz instancję klasy XbrlDocument
XbrlDocument document = new XbrlDocument();

// Pobierz XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Dodaj instancję Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Zdefiniuj jednostkę
Unit unit = new Unit(UnitType.Measure);

// Dodaj nazwę kwalifikatora
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));

// Dodaj jednostkę
xbrlInstance.Units.Add(unit);

// Zapisz plik wyjściowy
document.Save(@"D:\Files\Finance\Output.xbrl");

Dodaj obiekt faktów w XBRL za pomocą C#

Fakty w XBRL są definiowane za pomocą elementów pozycji. Pozycja w XBRL zawiera wartość prostego faktu i odniesienie do kontekstu, aby poprawnie zinterpretować ten fakt. Możemy dodać element w dokumencie instancji XBRL, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Dodaj nową instancję XBRL do instancji obiektu XbrlDocument.
  3. Dodaj nowe odwołanie do schematu do odwołań do schematu obiektu XbrlInstance.
  4. Pobierz SchemaRef według jego indeksu z SchemaRefCollection.
  5. Zainicjuj instancję kontekstu i dodaj ją do kolekcji obiekty kontekstu.
  6. Zdefiniuj instancję Unit i dodaj ją do kolekcji Unit Objects.
  7. Utwórz instancję klasy Concept przy użyciu metody SchemaRef.GetConceptByName().
  8. Utwórz instancję klasy Item z obiektem Concept jako argumentem.
  9. Ustaw właściwości elementu, takie jak ContextRef, UnitRef, Precision, Value itp.
  10. Następnie dodaj przedmiot do kolekcji Obiekty faktów.
  11. Na koniec zapisz plik XBRL metodą XbrlDocument.Save(). Przyjmuje ścieżkę pliku wyjściowego jako argument.

Poniższy przykładowy kod pokazuje, jak dodać fakt jako element elementu w dokumencie wystąpienia XBRL przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak dodać obiekt pozycji faktów do XBRL.
// Utwórz dokument Xbrl
XbrlDocument document = new XbrlDocument();
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()];

// Zdefiniuj odwołanie do schematu
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Zdefiniuj kontekst
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);

// Zdefiniuj jednostkę
Unit unit = new Unit(UnitType.Measure);
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));
xbrlInstance.Units.Add(unit);

// Zdobądź koncepcję
Concept fixedAssetsConcept = schema.GetConceptByName("fixedAssets");
if (fixedAssetsConcept != null)
{
    // Zdefiniuj element pozycji dla faktu
    Item item = new Item(fixedAssetsConcept);
    item.ContextRef = context;
    item.UnitRef = unit;
    item.Precision = 4;
    item.Value = "1444";
    
    // Dodaj element pozycji do faktów
    xbrlInstance.Facts.Add(item);
}

// Zapisz plik wyjściowy
document.Save(@"D:\Files\Finance\Output.xbrl");

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować bibliotekę bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak utworzyć dokument XBRL przy użyciu języka C#. Widzieliśmy również, jak programowo dodawać różne obiekty XBRL do utworzonego dokumentu instancji XBRL. Poza tym możesz dowiedzieć się więcej o Aspose.Finance for .NET API korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też