Aggiungi oggetti ai documenti XBRL usando C#

XBRL (eXtensible Business Reporting Language) definisce e scambia informazioni finanziarie, come un rendiconto finanziario. Un documento di istanza XBRL è una raccolta di fatti che insieme costituiscono un report aziendale. Possiamo facilmente creare un documento di istanza XBRL a livello di codice e aggiungere oggetti o elementi come riferimento allo schema, contesto, unità, elementi, ecc. In questo articolo impareremo come aggiungere oggetti ai documenti di istanza XBRL usando C#.

In questo articolo verranno trattati i seguenti argomenti:

API C# per aggiungere oggetti ai documenti di istanza XBRL

Per creare un documento di istanza XBRL e aggiungere oggetti, utilizzeremo l’API Aspose.Finance for .NET. Consente di creare istanze XBRL, analizzare e convalidare i file XBRL o iXBRL. Si prega di scaricare la DLL dell’API o installarla utilizzando NuGet.

PM> Install-Package Aspose.Finance

Aggiungi riferimento allo schema a XBRL usando C#

Possiamo aggiungere un riferimento allo schema in un documento di istanza XBRL seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe XbrlDocument.
  2. Quindi, ottieni la raccolta delle istanze dell’oggetto XbrlDocument nell’oggetto XbrlInstanceCollection.
  3. Quindi, aggiungi una nuova istanza XBRL utilizzando il metodo XbrlInstanceCollection.Add().
  4. Quindi, ottieni la raccolta di riferimenti allo schema dell’oggetto XbrlInstance nell’oggetto SchemaRefCollection.
  5. Successivamente, aggiungi un nuovo riferimento allo schema utilizzando il metodo SchemaRefCollection.Add().
  6. Infine, salva il file XBRL usando il metodo XbrlDocument.Save(). Prende il percorso del file di output come argomento.

L’esempio di codice seguente mostra come aggiungere un riferimento allo schema in un documento di istanza XBRL usando C#.

// Questo esempio di codice illustra come aggiungere un oggetto SchemaReference a XBRL.
// Crea un'istanza della classe XbrlDocument
XbrlDocument document = new XbrlDocument();

// Ottieni XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Aggiungi XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Ottieni la raccolta dei riferimenti dello schema
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;

// Aggiungi riferimento allo schema
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");

// Salva il file di output
document.Save(@"D:\Files\Finance\output.xbrl");

Aggiungi oggetto contesto in XBRL usando C#

Possiamo aggiungere un contesto a un documento di istanza XBRL seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe XbrlDocument.
  2. Quindi, ottieni la raccolta delle istanze dell’oggetto XbrlDocument nell’oggetto XbrlInstanceCollection.
  3. Quindi, aggiungi una nuova istanza XBRL utilizzando il metodo XbrlInstanceCollection.Add().
  4. Quindi, crea un’istanza della classe ContextPeriod con le date di inizio e di fine.
  5. Quindi, crea un ContextEntity e fornisci schema e identificatore.
  6. Quindi, crea un’istanza della classe Context con ContextPeriod e ContextEntity definiti.
  7. Successivamente, aggiungi l’oggetto Context alla raccolta Oggetti contesto.
  8. Infine, salva il file XBRL usando il metodo XbrlDocument.Save(). Prende il percorso del file di output come argomento.

L’esempio di codice seguente mostra come aggiungere un oggetto contesto in un documento di istanza XBRL usando C#.

// Questo esempio di codice mostra come aggiungere un oggetto Context a XBRL.
// Crea un'istanza della classe XbrlDocument
XbrlDocument document = new XbrlDocument();

// Ottieni XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Aggiungi XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Definisci periodo di contesto
ContextPeriod contextPeriod = new ContextPeriod(DateTime.Parse("2020-01-01"), DateTime.Parse("2020-02-10"));

// Voce di contesto Cretae
ContextEntity contextEntity = new ContextEntity("exampleIdentifierScheme", "exampleIdentifier");

// Crea contesto
Context context = new Context(contextPeriod, contextEntity);

// Aggiungi contesto
xbrlInstance.Contexts.Add(context);

// Salva il file di output
document.Save(@"D:\Files\Finance\Output.xbrl");

Crea unità in XBRL usando C#

Le unità in XBRL misurano elementi numerici. Possiamo aggiungere un’unità in un documento di istanza XBRL seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe XbrlDocument.
  2. Quindi, ottieni la raccolta delle istanze dell’oggetto XbrlDocument nell’oggetto XbrlInstanceCollection.
  3. Quindi, aggiungi una nuova istanza XBRL utilizzando il metodo XbrlInstanceCollection.Add().
  4. Quindi, crea un’istanza della classe Unit con UnitType come Measure.
  5. Quindi, aggiungi QualifiedName alla raccolta MeasureQualifiedNames.
  6. Successivamente, aggiungi l’unità alla raccolta Oggetti unità.
  7. Infine, salva il file XBRL usando il metodo XbrlDocument.Save(). Prende il percorso del file di output come argomento.

L’esempio di codice seguente mostra come aggiungere un oggetto unità in un documento di istanza XBRL usando C#.

// Questo esempio di codice mostra come aggiungere un oggetto Unit a XBRL.
// Crea un'istanza della classe XbrlDocument
XbrlDocument document = new XbrlDocument();

// Ottieni XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Aggiungi XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Definisci unità
Unit unit = new Unit(UnitType.Measure);

// Aggiungi il nome del qualificatore
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));

// Aggiungi unità
xbrlInstance.Units.Add(unit);

// Salva il file di output
document.Save(@"D:\Files\Finance\Output.xbrl");

Aggiungi Fact Object in XBRL usando C#

I fatti in XBRL sono definiti utilizzando elementi elemento. Un elemento in XBRL contiene il valore del fatto semplice e un riferimento al contesto per interpretare correttamente quel fatto. Possiamo aggiungere un elemento in un documento di istanza XBRL seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe XbrlDocument.
  2. Aggiungi una nuova istanza XBRL alle istanze dell’oggetto XbrlDocument.
  3. Aggiungi un nuovo riferimento allo schema ai riferimenti allo schema dell’oggetto XbrlInstance.
  4. Ottieni SchemaRef dal suo indice da SchemaRefCollection.
  5. Inizializza l’istanza Context e aggiungila alla raccolta Oggetti contesto.
  6. Definisci un’istanza Unit e aggiungila alla raccolta Unit objects.
  7. Crea un’istanza di classe Concept utilizzando il metodo SchemaRef.GetConceptByName().
  8. Crea un’istanza della classe Item con l’oggetto Concept come argomento.
  9. Imposta le proprietà degli elementi come ContextRef, UnitRef, Precision, Value, ecc.
  10. Successivamente, aggiungi l’elemento alla raccolta Oggetti di fatto.
  11. Infine, salva il file XBRL utilizzando il metodo XbrlDocument.Save(). Prende il percorso del file di output come argomento.

L’esempio di codice seguente mostra come aggiungere un fatto come elemento elemento in un documento di istanza XBRL usando C#.

// Questo esempio di codice illustra come aggiungere l'oggetto elemento Fact a XBRL.
// Crea XbrlDocument
XbrlDocument document = new XbrlDocument();
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()];

// Definire il riferimento allo schema
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Definisci il contesto
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);

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

// Ottieni il concetto
Concept fixedAssetsConcept = schema.GetConceptByName("fixedAssets");
if (fixedAssetsConcept != null)
{
    // Definisci l'elemento Item per i fatti
    Item item = new Item(fixedAssetsConcept);
    item.ContextRef = context;
    item.UnitRef = unit;
    item.Precision = 4;
    item.Value = "1444";
    
    // Aggiungi elemento elemento ai fatti
    xbrlInstance.Facts.Add(item);
}

// Salva il file di output
document.Save(@"D:\Files\Finance\Output.xbrl");

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare la libreria senza limitazioni di valutazione.

Conclusione

In questo articolo abbiamo imparato come creare un documento XBRL usando C#. Abbiamo anche visto come aggiungere vari oggetti XBRL al documento di istanza XBRL creato a livello di codice. Inoltre, puoi saperne di più su Aspose.Finance per .NET API usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche