XBRL (eXtensible Business Reporting Language) กำหนดและแลกเปลี่ยนข้อมูลทางการเงิน เช่น งบการเงิน เอกสารอินสแตนซ์ XBRL คือชุดของข้อเท็จจริงที่รวมกันเป็นรายงานทางธุรกิจ เราสามารถสร้างเอกสารอินสแตนซ์ XBRL ได้อย่างง่ายดายโดยทางโปรแกรม และเพิ่มวัตถุหรือองค์ประกอบต่างๆ เช่น การอ้างอิงสคีมา บริบท หน่วย รายการ ฯลฯ ในบทความนี้ เราจะเรียนรู้วิธีเพิ่มวัตถุในเอกสารอินสแตนซ์ XBRL โดยใช้ C#
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
- C # API เพื่อเพิ่มวัตถุในเอกสารอินสแตนซ์ XBRL
- เพิ่มการอ้างอิง Schema ให้กับ XBRL
- เพิ่มวัตถุบริบทใน XBRL
- สร้างหน่วยใน XBRL
- เพิ่ม Fact Object ใน XBRL
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 โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก สร้างอินสแตนซ์ของคลาส XbrlDocument
- ถัดไป รับคอลเลกชันอินสแตนซ์ของวัตถุ XbrlDocument ลงในวัตถุ XbrlInstanceCollection
- จากนั้น เพิ่มอินสแตนซ์ XBRL ใหม่โดยใช้เมธอด XbrlInstanceCollection.Add()
- ถัดไป รับคอลเล็กชันการอ้างอิงสคีมาของวัตถุ XbrlInstance ลงในวัตถุ SchemaRefCollection
- หลังจากนั้น ให้เพิ่มการอ้างอิงสคีมาใหม่โดยใช้เมธอด SchemaRefCollection.Add()
- สุดท้าย บันทึกไฟล์ 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 โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก สร้างอินสแตนซ์ของคลาส XbrlDocument
- ถัดไป รับคอลเลกชันอินสแตนซ์ของวัตถุ XbrlDocument ลงในวัตถุ XbrlInstanceCollection
- จากนั้น เพิ่มอินสแตนซ์ XBRL ใหม่โดยใช้เมธอด XbrlInstanceCollection.Add()
- จากนั้น สร้างอินสแตนซ์ของคลาส ContextPeriod พร้อมวันที่เริ่มต้นและวันที่สิ้นสุด
- จากนั้น สร้าง ContextEntity และระบุสคีมาและตัวระบุ
- จากนั้น สร้างอินสแตนซ์ของคลาส Context ที่มี ContextPeriod และ ContextEntity ที่กำหนดไว้
- หลังจากนั้น ให้เพิ่มวัตถุบริบทลงในคอลเลกชัน วัตถุบริบท
- สุดท้าย บันทึกไฟล์ 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 โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก สร้างอินสแตนซ์ของคลาส XbrlDocument
- ถัดไป รับคอลเลกชันอินสแตนซ์ของวัตถุ XbrlDocument ลงในวัตถุ XbrlInstanceCollection
- จากนั้น เพิ่มอินสแตนซ์ XBRL ใหม่โดยใช้เมธอด XbrlInstanceCollection.Add()
- จากนั้น สร้างอินสแตนซ์ของคลาส Unit โดยมี UnitType เป็นหน่วยวัด
- จากนั้น เพิ่ม QualifiedName ให้กับคอลเลกชัน MeasureQualifiedNames
- หลังจากนั้น ให้เพิ่มหน่วยไปยังคอลเลกชัน Unit object
- สุดท้าย บันทึกไฟล์ 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 โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก สร้างอินสแตนซ์ของคลาส XbrlDocument
- เพิ่มอินสแตนซ์ XBRL ใหม่ให้กับอินสแตนซ์ของวัตถุ XbrlDocument
- เพิ่มการอ้างอิง schema ใหม่ไปยังการอ้างอิง schema ของวัตถุ XbrlInstance
- รับ SchemaRef โดยดัชนีจาก SchemaRefCollection
- เริ่มต้นอินสแตนซ์บริบทและเพิ่มไปยังคอลเลกชัน วัตถุบริบท
- กำหนดอินสแตนซ์ของหน่วยและเพิ่มไปยังคอลเลกชัน Unit object
- สร้างอินสแตนซ์ของคลาส Concept โดยใช้เมธอด SchemaRef.GetConceptByName()
- สร้างอินสแตนซ์ของคลาส Item โดยมีวัตถุแนวคิดเป็นอาร์กิวเมนต์
- ตั้งค่าคุณสมบัติของรายการ เช่น ContextRef, UnitRef, Precision, Value เป็นต้น
- หลังจากนั้น เพิ่มรายการไปยังคอลเลกชัน Fact object
- สุดท้าย บันทึกไฟล์ 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 โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม