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
- Dodaj odniesienie do schematu do XBRL
- Dodaj obiekt kontekstu w XBRL
- Utwórz jednostkę w XBRL
- Dodaj obiekt faktów w XBRL
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:
- Najpierw utwórz instancję klasy XbrlDocument.
- Następnie pobierz kolekcję instancji obiektu XbrlDocument do obiektu XbrlInstanceCollection.
- Następnie dodaj nową instancję XBRL za pomocą metody XbrlInstanceCollection.Add().
- Następnie pobierz kolekcję odwołań do schematu obiektu XbrlInstance do obiektu SchemaRefCollection.
- Następnie dodaj nowe odwołanie do schematu za pomocą metody SchemaRefCollection.Add().
- 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:
- Najpierw utwórz instancję klasy XbrlDocument.
- Następnie pobierz kolekcję instancji obiektu XbrlDocument do obiektu XbrlInstanceCollection.
- Następnie dodaj nową instancję XBRL za pomocą metody XbrlInstanceCollection.Add().
- Następnie utwórz instancję klasy ContextPeriod z datami rozpoczęcia i zakończenia.
- Następnie utwórz ContextEntity i podaj schemat i identyfikator.
- Następnie utwórz instancję klasy Context ze zdefiniowanymi parametrami ContextPeriod i ContextEntity.
- Następnie dodaj obiekt Context do kolekcji Obiekty kontekstu.
- 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:
- Najpierw utwórz instancję klasy XbrlDocument.
- Następnie pobierz kolekcję instancji obiektu XbrlDocument do obiektu XbrlInstanceCollection.
- Następnie dodaj nową instancję XBRL za pomocą metody XbrlInstanceCollection.Add().
- Następnie utwórz instancję klasy Unit z UnitType jako miarą.
- Następnie dodaj QualifiedName do kolekcji MeasureQualifiedNames.
- Następnie dodaj Jednostkę do kolekcji Obiekty jednostek.
- 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:
- Najpierw utwórz instancję klasy XbrlDocument.
- Dodaj nową instancję XBRL do instancji obiektu XbrlDocument.
- Dodaj nowe odwołanie do schematu do odwołań do schematu obiektu XbrlInstance.
- Pobierz SchemaRef według jego indeksu z SchemaRefCollection.
- Zainicjuj instancję kontekstu i dodaj ją do kolekcji obiekty kontekstu.
- Zdefiniuj instancję Unit i dodaj ją do kolekcji Unit Objects.
- Utwórz instancję klasy Concept przy użyciu metody SchemaRef.GetConceptByName().
- Utwórz instancję klasy Item z obiektem Concept jako argumentem.
- Ustaw właściwości elementu, takie jak ContextRef, UnitRef, Precision, Value itp.
- Następnie dodaj przedmiot do kolekcji Obiekty faktów.
- 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.