Thêm đối tượng vào tài liệu XBRL bằng C#

XBRL(eXtensible Business Reporting Language) xác định và trao đổi thông tin tài chính, chẳng hạn như báo cáo tài chính. Tài liệu phiên bản XBRL là một tập hợp các dữ kiện cùng nhau tạo nên một báo cáo kinh doanh. Chúng ta có thể dễ dàng tạo tài liệu cá thể XBRL theo chương trình và thêm các đối tượng hoặc phần tử như tham chiếu lược đồ, ngữ cảnh, đơn vị, mục, v.v. Trong bài viết này, chúng ta sẽ tìm hiểu cách thêm đối tượng vào tài liệu cá thể XBRL bằng C#.

Các chủ đề sau sẽ được đề cập trong bài viết này:

API C# để thêm đối tượng vào tài liệu phiên bản XBRL

Để tạo tài liệu phiên bản XBRL và thêm các đối tượng, chúng tôi sẽ sử dụng API Aspose.Finance cho .NET. Nó cho phép tạo các phiên bản XBRL, phân tích cú pháp và xác thực các tệp XBRL hoặc iXBRL. Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Finance

Thêm tham chiếu lược đồ vào XBRL bằng C#

Chúng tôi có thể thêm tham chiếu lược đồ trong tài liệu phiên bản XBRL bằng cách làm theo các bước được cung cấp bên dưới:

  1. Đầu tiên, tạo một phiên bản của lớp XbrlDocument.
  2. Tiếp theo, lấy tập hợp các thể hiện của đối tượng XbrlDocument vào đối tượng XbrlInstanceCollection.
  3. Sau đó, thêm một phiên bản XBRL mới bằng phương thức XbrlInstanceCollection.Add().
  4. Tiếp theo, lấy bộ sưu tập tham chiếu lược đồ của đối tượng XbrlInstance vào đối tượng SchemaRefCollection.
  5. Sau đó, thêm một tham chiếu lược đồ mới bằng phương thức SchemaRefCollection.Add().
  6. Cuối cùng, lưu tệp XBRL bằng phương thức XbrlDocument.Save(). Nó lấy đường dẫn tệp đầu ra làm đối số.

Mẫu mã sau đây cho thấy cách thêm tham chiếu lược đồ trong tài liệu phiên bản XBRL bằng cách sử dụng C#.

// Ví dụ mã này trình bày cách thêm đối tượng SchemaReference vào XBRL.
// Tạo một phiên bản của lớp XbrlDocument
XbrlDocument document = new XbrlDocument();

// Nhận XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Thêm XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Nhận bộ sưu tập tham chiếu lược đồ
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;

// Thêm tham chiếu giản đồ
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");

// Lưu tệp đầu ra
document.Save(@"D:\Files\Finance\output.xbrl");

Thêm đối tượng ngữ cảnh trong XBRL bằng CSharp

Chúng tôi có thể thêm ngữ cảnh vào tài liệu phiên bản XBRL bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của lớp XbrlDocument.
  2. Tiếp theo, lấy bộ sưu tập các cá thể của đối tượng XbrlDocument vào đối tượng XbrlInstanceCollection.
  3. Sau đó, thêm một phiên bản XBRL mới bằng phương thức XbrlInstanceCollection.Add().
  4. Tiếp theo, tạo một phiên bản của lớp ContextPeriod với ngày bắt đầu và ngày kết thúc.
  5. Sau đó, tạo ContextEntity và cung cấp lược đồ và mã định danh.
  6. Tiếp theo, tạo một thể hiện của lớp Context với ContextPeriod và ContextEntity đã xác định.
  7. Sau đó, thêm đối tượng Context vào bộ sưu tập Context objects.
  8. Cuối cùng, lưu tệp XBRL bằng phương thức XbrlDocument.Save(). Nó lấy đường dẫn tệp đầu ra làm đối số.

Mẫu mã sau đây cho thấy cách thêm một đối tượng ngữ cảnh trong tài liệu phiên bản XBRL bằng cách sử dụng C#.

// Ví dụ mã này trình bày cách thêm đối tượng Ngữ cảnh vào XBRL.
// Tạo một phiên bản của lớp XbrlDocument
XbrlDocument document = new XbrlDocument();

// Nhận XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Thêm XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Xác định khoảng thời gian ngữ cảnh
ContextPeriod contextPeriod = new ContextPeriod(DateTime.Parse("2020-01-01"), DateTime.Parse("2020-02-10"));

// Mục nhập ngữ cảnh Cretae
ContextEntity contextEntity = new ContextEntity("exampleIdentifierScheme", "exampleIdentifier");

// Tạo ngữ cảnh
Context context = new Context(contextPeriod, contextEntity);

// Thêm ngữ cảnh
xbrlInstance.Contexts.Add(context);

// Lưu tệp đầu ra
document.Save(@"D:\Files\Finance\Output.xbrl");

Tạo đơn vị trong XBRL bằng C#

Các đơn vị trong XBRL đo các Mục số. Chúng tôi có thể thêm một đơn vị trong tài liệu phiên bản XBRL bằng cách làm theo các bước được đưa ra bên dưới:

  1. Đầu tiên, tạo một phiên bản của lớp XbrlDocument.
  2. Tiếp theo, lấy bộ sưu tập các cá thể của đối tượng XbrlDocument vào đối tượng XbrlInstanceCollection.
  3. Sau đó, thêm một phiên bản XBRL mới bằng phương thức XbrlInstanceCollection.Add().
  4. Tiếp theo, tạo một phiên bản của lớp Unit với UnitType là Measure.
  5. Sau đó, thêm Qu QualificationName vào bộ sưu tập MeasureQualifiedNames.
  6. Sau đó, thêm Đơn vị vào bộ sưu tập Đối tượng Đơn vị.
  7. Cuối cùng, lưu tệp XBRL bằng phương thức XbrlDocument.Save(). Nó lấy đường dẫn tệp đầu ra làm đối số.

Mẫu mã sau đây cho thấy cách thêm một đối tượng đơn vị trong tài liệu phiên bản XBRL bằng cách sử dụng C#.

// Ví dụ mã này trình bày cách thêm đối tượng Đơn vị vào XBRL.
// Tạo một phiên bản của lớp XbrlDocument
XbrlDocument document = new XbrlDocument();

// Nhận XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Thêm XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Xác định đơn vị
Unit unit = new Unit(UnitType.Measure);

// Thêm tên bộ định lượng
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));

// Thêm đơn vị
xbrlInstance.Units.Add(unit);

// Lưu tệp đầu ra
document.Save(@"D:\Files\Finance\Output.xbrl");

Thêm đối tượng Fact trong XBRL bằng C#

Dữ kiện trong XBRL được xác định bằng cách sử dụng các phần tử mục. Một mục trong XBRL chứa giá trị của dữ kiện đơn giản và tham chiếu đến ngữ cảnh để diễn giải chính xác thực tế đó. Chúng tôi có thể thêm một mục trong tài liệu phiên bản XBRL bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của lớp XbrlDocument.
  2. Thêm một phiên bản XBRL mới vào các phiên bản của đối tượng XbrlDocument.
  3. Thêm một tham chiếu lược đồ mới vào các tham chiếu lược đồ của đối tượng XbrlInstance.
  4. Nhận SchemaRef theo chỉ mục của nó từ SchemaRefCollection.
  5. Khởi tạo thể hiện Ngữ cảnh và thêm nó vào bộ sưu tập Đối tượng ngữ cảnh.
  6. Xác định một thể hiện Đơn vị và thêm nó vào bộ sưu tập Đối tượng đơn vị.
  7. Tạo một cá thể lớp Concept bằng phương thức SchemaRef.GetConceptByName().
  8. Tạo một thể hiện của lớp Item với đối tượng Concept làm đối số.
  9. Đặt các thuộc tính mục như ContextRef, UnitRef, Precision, Value, v.v.
  10. Sau đó, thêm Mục vào bộ sưu tập Đối tượng thực tế.
  11. Cuối cùng, lưu tệp XBRL bằng phương thức XbrlDocument.Save(). Nó lấy đường dẫn tệp đầu ra làm đối số.

Mẫu mã sau đây cho thấy cách thêm dữ kiện làm phần tử mục trong tài liệu phiên bản XBRL bằng cách sử dụng C#.

// Ví dụ mã này trình bày cách thêm đối tượng mục Fact vào XBRL.
// Tạo XbrlDocument
XbrlDocument document = new XbrlDocument();
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()];

// Xác định tham chiếu lược đồ
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Xác định ngữ cảnh
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);

// Xác định đơn vị
Unit unit = new Unit(UnitType.Measure);
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));
xbrlInstance.Units.Add(unit);

// Nhận khái niệm
Concept fixedAssetsConcept = schema.GetConceptByName("fixedAssets");
if (fixedAssetsConcept != null)
{
    // Xác định yếu tố mục cho thực tế
    Item item = new Item(fixedAssetsConcept);
    item.ContextRef = context;
    item.UnitRef = unit;
    item.Precision = 4;
    item.Value = "1444";
    
    // Thêm yếu tố mục vào dữ kiện
    xbrlInstance.Facts.Add(item);
}

// Lưu tệp đầu ra
document.Save(@"D:\Files\Finance\Output.xbrl");

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử thư viện mà không có giới hạn đánh giá.

Sự kết luận

Trong bài này, chúng ta đã học cách tạo tài liệu XBRL bằng C#. Chúng ta cũng đã thấy cách thêm các đối tượng XBRL khác nhau vào tài liệu phiên bản XBRL đã tạo theo chương trình. Bên cạnh đó, bạn có thể tìm hiểu thêm về Aspose.Finance cho .NET API bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm