เพิ่มวัตถุในเอกสาร XBRL โดยใช้ C #

XBRL (eXtensible Business Reporting Language) กำหนดและแลกเปลี่ยนข้อมูลทางการเงิน เช่น งบการเงิน เอกสารอินสแตนซ์ XBRL คือชุดของข้อเท็จจริงที่รวมกันเป็นรายงานทางธุรกิจ เราสามารถสร้างเอกสารอินสแตนซ์ XBRL ได้อย่างง่ายดายโดยทางโปรแกรม และเพิ่มวัตถุหรือองค์ประกอบต่างๆ เช่น การอ้างอิงสคีมา บริบท หน่วย รายการ ฯลฯ ในบทความนี้ เราจะเรียนรู้วิธีเพิ่มวัตถุในเอกสารอินสแตนซ์ XBRL โดยใช้ C#

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

C # API เพื่อเพิ่มวัตถุในเอกสารอินสแตนซ์ XBRL

สำหรับการสร้างเอกสารอินสแตนซ์ XBRL และเพิ่มวัตถุ เราจะใช้ API Aspose.Finance for .NET อนุญาตให้สร้างอินสแตนซ์ XBRL แยกวิเคราะห์ และตรวจสอบความถูกต้องของไฟล์ XBRL หรือ iXBRL โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet

PM> Install-Package Aspose.Finance

เพิ่ม Schema Reference ให้กับ XBRL โดยใช้ C#

เราสามารถเพิ่มการอ้างอิงสคีมาในเอกสารอินสแตนซ์ XBRL โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก สร้างอินสแตนซ์ของคลาส XbrlDocument
  2. ถัดไป รับคอลเลกชันอินสแตนซ์ของวัตถุ XbrlDocument ลงในวัตถุ XbrlInstanceCollection
  3. จากนั้น เพิ่มอินสแตนซ์ XBRL ใหม่โดยใช้เมธอด XbrlInstanceCollection.Add()
  4. ถัดไป รับคอลเล็กชันการอ้างอิงสคีมาของวัตถุ XbrlInstance ลงในวัตถุ SchemaRefCollection
  5. หลังจากนั้น ให้เพิ่มการอ้างอิงสคีมาใหม่โดยใช้เมธอด SchemaRefCollection.Add()
  6. สุดท้าย บันทึกไฟล์ XBRL โดยใช้วิธี XbrlDocument.Save() ใช้เส้นทางไฟล์เอาต์พุตเป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มการอ้างอิงสคีมาในเอกสารอินสแตนซ์ XBRL โดยใช้ C#

// ตัวอย่างโค้ดนี้สาธิตวิธีการเพิ่มออบเจกต์ SchemaReference ให้กับ XBRL
// สร้างอินสแตนซ์ของคลาส XbrlDocument
XbrlDocument document = new XbrlDocument();

// รับ XbrlInstance
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// เพิ่ม XbrlInstance
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");

เพิ่ม Context Object ใน XBRL โดยใช้ CSharp

เราสามารถเพิ่มบริบทให้กับเอกสารอินสแตนซ์ XBRL โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก สร้างอินสแตนซ์ของคลาส XbrlDocument
  2. ถัดไป รับคอลเลกชันอินสแตนซ์ของวัตถุ XbrlDocument ลงในวัตถุ XbrlInstanceCollection
  3. จากนั้น เพิ่มอินสแตนซ์ XBRL ใหม่โดยใช้เมธอด XbrlInstanceCollection.Add()
  4. จากนั้น สร้างอินสแตนซ์ของคลาส ContextPeriod พร้อมวันที่เริ่มต้นและวันที่สิ้นสุด
  5. จากนั้น สร้าง ContextEntity และระบุสคีมาและตัวระบุ
  6. จากนั้น สร้างอินสแตนซ์ของคลาส Context ที่มี ContextPeriod และ ContextEntity ที่กำหนดไว้
  7. หลังจากนั้น ให้เพิ่มวัตถุบริบทลงในคอลเลกชัน วัตถุบริบท
  8. สุดท้าย บันทึกไฟล์ XBRL โดยใช้วิธี XbrlDocument.Save() ใช้เส้นทางไฟล์เอาต์พุตเป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มวัตถุบริบทในเอกสารอินสแตนซ์ XBRL โดยใช้ C#

// ตัวอย่างโค้ดนี้สาธิตวิธีการเพิ่ม Context object ให้กับ XBRL
// สร้างอินสแตนซ์ของคลาส XbrlDocument
XbrlDocument document = new XbrlDocument();

// รับ XbrlInstance
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// เพิ่ม XbrlInstance
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 โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก สร้างอินสแตนซ์ของคลาส XbrlDocument
  2. ถัดไป รับคอลเลกชันอินสแตนซ์ของวัตถุ XbrlDocument ลงในวัตถุ XbrlInstanceCollection
  3. จากนั้น เพิ่มอินสแตนซ์ XBRL ใหม่โดยใช้เมธอด XbrlInstanceCollection.Add()
  4. จากนั้น สร้างอินสแตนซ์ของคลาส Unit โดยมี UnitType เป็นหน่วยวัด
  5. จากนั้น เพิ่ม QualifiedName ให้กับคอลเลกชัน MeasureQualifiedNames
  6. หลังจากนั้น ให้เพิ่มหน่วยไปยังคอลเลกชัน Unit object
  7. สุดท้าย บันทึกไฟล์ XBRL โดยใช้วิธี XbrlDocument.Save() ใช้เส้นทางไฟล์เอาต์พุตเป็นอาร์กิวเมนต์

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการเพิ่มวัตถุหน่วยในเอกสารอินสแตนซ์ XBRL โดยใช้ C#

// ตัวอย่างโค้ดนี้สาธิตวิธีการเพิ่ม Unit object ให้กับ XBRL
// สร้างอินสแตนซ์ของคลาส XbrlDocument
XbrlDocument document = new XbrlDocument();

// รับอินสแตนซ์ Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// เพิ่ม XbrlInstance
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");

เพิ่ม Fact Object ใน XBRL โดยใช้ C#

ข้อเท็จจริงใน XBRL ถูกกำหนดโดยใช้องค์ประกอบรายการ รายการใน XBRL ประกอบด้วยค่าของข้อเท็จจริงอย่างง่ายและการอ้างอิงถึงบริบทเพื่อตีความข้อเท็จจริงนั้นอย่างถูกต้อง เราสามารถเพิ่มรายการในเอกสารอินสแตนซ์ XBRL โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก สร้างอินสแตนซ์ของคลาส XbrlDocument
  2. เพิ่มอินสแตนซ์ XBRL ใหม่ให้กับอินสแตนซ์ของวัตถุ XbrlDocument
  3. เพิ่มการอ้างอิง schema ใหม่ไปยังการอ้างอิง schema ของวัตถุ XbrlInstance
  4. รับ SchemaRef โดยดัชนีจาก SchemaRefCollection
  5. เริ่มต้นอินสแตนซ์บริบทและเพิ่มไปยังคอลเลกชัน วัตถุบริบท
  6. กำหนดอินสแตนซ์ของหน่วยและเพิ่มไปยังคอลเลกชัน Unit object
  7. สร้างอินสแตนซ์ของคลาส Concept โดยใช้เมธอด SchemaRef.GetConceptByName()
  8. สร้างอินสแตนซ์ของคลาส Item โดยมีวัตถุแนวคิดเป็นอาร์กิวเมนต์
  9. ตั้งค่าคุณสมบัติของรายการ เช่น ContextRef, UnitRef, Precision, Value เป็นต้น
  10. หลังจากนั้น เพิ่มรายการไปยังคอลเลกชัน Fact object
  11. สุดท้าย บันทึกไฟล์ XBRL โดยใช้วิธี XbrlDocument.Save() ใช้เส้นทางไฟล์เอาต์พุตเป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มข้อเท็จจริงเป็นองค์ประกอบรายการในเอกสารอินสแตนซ์ XBRL โดยใช้ C#

// ตัวอย่างรหัสนี้สาธิตวิธีการเพิ่มวัตถุรายการข้อเท็จจริงใน XBRL
// สร้าง XbrlDocument
XbrlDocument document = new XbrlDocument();
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()];

// กำหนดการอ้างอิง Schema
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 = 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 โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย