با استفاده از پایتون فایل XBRL ایجاد کنید

سند XBRL مجموعه ای از حقایق است که با هم یک گزارش تجاری را تشکیل می دهند. ما به راحتی می توانیم یک سند نمونه XBRL را به صورت برنامه نویسی ایجاد کنیم و اشیا یا عناصری مانند مرجع طرحواره، زمینه، واحد، آیتم ها و غیره را اضافه کنیم. در این مقاله با نحوه ایجاد یک فایل XBRL با استفاده از پایتون آشنا می شویم.

موضوعات زیر در این مقاله پوشش داده خواهد شد:

  1. XBRL چیست
  2. کتابخانه مالی Python برای ایجاد فایل‌های XBRL
  3. ایجاد فایل XBRL
  4. افزودن مرجع طرحواره به XBRL
  5. افزودن زمینه در XBRL
  6. ایجاد یک واحد در XBRL
  7. افزودن مورد واقعیت در XBRL
  8. افزودن پیوندهای پاورقی به XBRL
  9. درج مرجع نقش در XBRL
  10. افزودن مرجع نقش قوس به XBRL

XBRL چیست؟

XBRL مخفف عبارت Extensible Business Reporting Language است که یک زبان نشانه گذاری مبتنی بر XML است. برای گزارش استاندارد تجاری از عملکرد مالی یک شرکت استفاده می شود. این روشی را برای برقراری ارتباط و تبادل اطلاعات تجاری بین سیستم های تجاری فراهم می کند.

کتابخانه مالی Python برای ایجاد فایل های XBRL

برای ایجاد یک فایل XBRL یا سند نمونه، از API Aspose.Finance for Python استفاده خواهیم کرد. این امکان ایجاد نمونه های XBRL، تجزیه و اعتبارسنجی فایل های XBRL یا iXBRL را فراهم می کند.

API کلاس XbrlDocument را ارائه می‌کند که یک سند XBRL حاوی یک یا چند نمونه XBRL را نشان می‌دهد. یک نمونه XBRL یک قطعه XML است که عنصر ریشه دارای یک تگ XBRL است. کلاس XbrlInstance روش ها و ویژگی های مختلفی را برای کار با نمونه های XBRL ارائه می دهد. متد save() کلاس XbrlDocument فایل XBRL را ایجاد و در دیسک ذخیره می کند. لطفاً در مورد سایر کلاس‌ها برای کار با اشیاء XBRL در مرجع API بیشتر بخوانید.

لطفاً یا پکیج را دانلود کنید یا API را از PyPI با استفاده از دستور pip زیر در کنسول نصب کنید:

pip install aspose-finance

سند نمونه XBRL را در پایتون ایجاد کنید

با دنبال کردن مراحل زیر می توانیم به راحتی یک سند نمونه XBRL از ابتدا ایجاد کنیم:

  1. ابتدا یک نمونه از کلاس XbrlDocument ایجاد کنید.
  2. سپس، به مجموعه نمونه‌ها از شی XbrlDocument به شی xbrlinstances دسترسی پیدا کنید.
  3. پس از آن، یک نمونه XBRL جدید با استفاده از متد ()xbrlinstances.add اضافه کنید.
  4. در نهایت فایل XBRL را با استفاده از روش save(string) ذخیره کنید. مسیر فایل خروجی را به عنوان آرگومان می گیرد.

نمونه کد زیر نحوه ایجاد یک نمونه XBRL با استفاده از پایتون را نشان می دهد.

# این مثال کد نحوه ایجاد یک سند XBRL را نشان می دهد
from aspose.finance.xbrl import XbrlDocument

# مسیر دایرکتوری اسناد
outputFile = "C:\\Files\\document.xbrl"

# سند XBRL ایجاد کنید
xbrlDoc = XbrlDocument()

# مجموعه نمونه های سند را دریافت کنید
xbrlInstances = xbrlDoc.xbrl_instances

# نمونه ای را به مجموعه اضافه کنید
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# فایل را ذخیره کنید
xbrlDoc.save(outputFile)

هنگامی که نمونه XBRL را ایجاد کردیم، می‌توانیم مرجع طرحواره، زمینه، واحدها، آیتم‌ها، پیوندهای پاورقی، ارجاعات نقش و ارجاعات نقش قوس را در نمونه جدید ایجاد شده XBRL اضافه کنیم.

ارجاع طرحواره را با استفاده از پایتون به XBRL اضافه کنید

با دنبال کردن مراحل زیر می‌توانیم مرجع طرح را در یک سند نمونه XBRL اضافه کنیم:

  1. ابتدا یک نمونه از کلاس XbrlDocument ایجاد کنید.
  2. در مرحله بعد، مجموعه نمونه های شی XbrlDocument را در شی xbrlinstances دریافت کنید.
  3. سپس با استفاده از متد ()xbrlinstances.add یک نمونه XBRL جدید اضافه کنید.
  4. سپس، مجموعه مرجع طرحواره شی XbrlInstance را در شی schemarefs دریافت کنید.
  5. پس از آن، با استفاده از متد ()schemarefs.add با فایل طرحواره ورودی، یک مرجع طرح جدید اضافه کنید.
  6. در نهایت فایل XBRL را با استفاده از روش save(string) ذخیره کنید.

نمونه کد زیر نحوه ایجاد یک سند نمونه XBRL و افزودن مرجع طرحواره در پایتون را نشان می دهد.

# این مثال کد نحوه ایجاد یک سند XBRL و اضافه کردن شی مرجع طرحواره را نشان می دهد
from aspose.finance.xbrl import XbrlDocument

# مسیر دایرکتوری اسناد
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# سند XBRL ایجاد کنید
xbrlDoc = XbrlDocument()

# مجموعه نمونه های سند را دریافت کنید
xbrlInstances = xbrlDoc.xbrl_instances

# نمونه ای را به مجموعه اضافه کنید
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# مجموعه ارجاعات طرحواره نمونه را دریافت کنید
schemaRefs = xbrlInstance.schema_refs

# طرحواره اضافه کنید
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")

# سند را ذخیره کنید
xbrlDoc.save(outputFile)

اضافه کردن متن در XBRL با استفاده از پایتون

با دنبال کردن مراحل زیر می‌توانیم یک متن به یک سند نمونه XBRL اضافه کنیم:

  1. ابتدا یک نمونه از کلاس XbrlDocument ایجاد کنید.
  2. سپس، یک نمونه XBRL جدید به xbrlinstances شی XbrlDocument اضافه کنید.
  3. سپس، یک نمونه از کلاس ContextPeriod با تاریخ شروع و پایان ایجاد کنید.
  4. بعد، یک شی ContextEntity با طرح و شناسه ایجاد کنید.
  5. سپس، یک نمونه از کلاس Context با ContextPeriod و ContextEntity تعریف شده ایجاد کنید.
  6. پس از آن، شی Context را به مجموعه contexts اضافه کنید.
  7. در نهایت فایل XBRL را با استفاده از روش save(string) ذخیره کنید.

نمونه کد زیر نحوه ایجاد یک سند نمونه XBRL و افزودن یک شیء زمینه در پایتون را نشان می دهد.

# این مثال کد نحوه ایجاد یک سند XBRL و اضافه کردن شی Context را نشان می دهد
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context

# مسیر دایرکتوری اسناد
outputFile = "C:\\Files\\document.xbrl"

# سند XBRL ایجاد کنید
xbrlDoc = XbrlDocument()

# مجموعه نمونه های سند را دریافت کنید
xbrlInstances = xbrlDoc.xbrl_instances

# نمونه ای را به مجموعه اضافه کنید
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# اضافه کردن دوره زمینه
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))

# موجودیت زمینه را اضافه کنید
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")

# تعریف و اضافه کردن زمینه
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# سند را ذخیره کنید
xbrlDoc.save(outputFile)

با استفاده از پایتون واحدها را در XBRL ایجاد کنید

واحدهای موجود در XBRL آیتم های عددی را اندازه گیری می کنند. با دنبال کردن مراحل زیر می توانیم یک واحد را در یک سند نمونه XBRL اضافه کنیم:

  1. ابتدا یک نمونه از کلاس XbrlDocument ایجاد کنید.
  2. سپس، یک نمونه XBRL جدید به xbrlinstances شی XbrlDocument اضافه کنید.
  3. سپس، یک نمونه از کلاس Unit با UnitType به عنوان MEASURE ایجاد کنید.
  4. در مرحله بعد، QualifiedName را به مجموعه measurequalifiednames اضافه کنید.
  5. پس از آن، Unit را به مجموعه واحدها اضافه کنید.
  6. در نهایت فایل XBRL را با استفاده از روش save(string) ذخیره کنید.

نمونه کد زیر نحوه ایجاد یک فایل XBRL و افزودن یک شی واحد در پایتون را نشان می دهد.

# این مثال کد نحوه ایجاد یک سند XBRL و افزودن شی Unit را نشان می دهد
from aspose.finance.xbrl import XbrlDocument,Unit,QualifiedName,UnitType

# مسیر دایرکتوری اسناد
outputFile = "C:\\Files\\document.xbrl"

# سند XBRL ایجاد کنید
xbrlDoc = XbrlDocument()

# مجموعه نمونه های سند را دریافت کنید
xbrlInstances = xbrlDoc.xbrl_instances

# نمونه ای را به مجموعه اضافه کنید
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# افزودن واحد
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)

# سند را ذخیره کنید
xbrlDoc.save(outputFile)

با استفاده از Python، Fact Item را در XBRL اضافه کنید

حقایق در XBRL با استفاده از عناصر آیتم تعریف می شوند. یک مورد در XBRL حاوی مقدار واقعیت ساده و ارجاع به زمینه برای تفسیر صحیح آن واقعیت است. با دنبال کردن مراحل زیر می‌توانیم یک مورد را در یک سند نمونه XBRL اضافه کنیم:

  1. ابتدا یک نمونه از کلاس XbrlDocument ایجاد کنید.
  2. یک نمونه XBRL جدید به xbrlinstances شی XbrlDocument اضافه کنید.
  3. یک مرجع طرح واره جدید به schemarefs شی XbrlInstance اضافه کنید.
  4. SchemaRef را با شاخص آن از schemarefs دریافت کنید.
  5. نمونه Context را مقداردهی اولیه کنید و آن را به مجموعه contexts اضافه کنید.
  6. یک نمونه واحد را تعریف کنید و آن را به مجموعه واحدها اضافه کنید.
  7. با استفاده از متد getconceptbyname() یک نمونه کلاس Concept ایجاد کنید.
  8. یک نمونه از کلاس Item با شی Concept به عنوان آرگومان ایجاد کنید.
  9. ویژگی های آیتم مانند contextref، unitref، precision، value و غیره را تنظیم کنید.
  10. پس از آن، Item را به مجموعه حقایق اضافه کنید.
  11. در نهایت فایل XBRL را با استفاده از روش save(string) ذخیره کنید.

نمونه کد زیر نشان می دهد که چگونه می توان یک واقعیت را به عنوان عنصر مورد در یک سند نمونه XBRL با استفاده از پایتون اضافه کرد.

# این مثال کد نحوه ایجاد یک سند XBRL و افزودن شی Item را نشان می دهد
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,Unit,UnitType,QualifiedName,Item

# مسیر دایرکتوری اسناد
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# سند XBRL ایجاد کنید
xbrlDoc = XbrlDocument()

# مجموعه نمونه های سند را دریافت کنید
xbrlInstances = xbrlDoc.xbrl_instances

# نمونه ای را به مجموعه اضافه کنید
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# مجموعه ارجاعات طرحواره نمونه را دریافت کنید
schemaRefs = xbrlInstance.schema_refs

# طرحواره اضافه کنید
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# اضافه کردن زمینه
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# افزودن واحد
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)

# این مورد را اضافه کنید
fixedAssetsConcept = schema.get_concept_by_name("fixedAssets")
if fixedAssetsConcept is not None:
    item = Item(fixedAssetsConcept)
    item.context_ref = context
    item.unit_ref = unit
    item.precision = 4
    item.value = "1444"
    xbrlInstance.facts.append(item)
    
# سند را ذخیره کنید
xbrlDoc.save(outputFile)

با دنبال کردن مراحل زیر می‌توانیم پیوند پاورقی را در یک سند نمونه XBRL اضافه کنیم:

  1. ابتدا یک نمونه از کلاس XbrlDocument ایجاد کنید.
  2. یک نمونه XBRL جدید به xbrlinstances شی XbrlDocument اضافه کنید.
  3. یک مرجع طرح واره جدید به schemarefs شی XbrlInstance اضافه کنید.
  4. SchemaRef را با شاخص آن از schemarefs دریافت کنید.
  5. نمونه Context را مقداردهی اولیه کنید و آن را به مجموعه contexts اضافه کنید.
  6. یک نمونه کلاس Footnote را تعریف کنید و برچسب و متن آن را تنظیم کنید.
  7. نوع Locator را با استفاده از نمونه کلاس Loc راه اندازی کنید.
  8. شی FootnoteArc را با برچسب Locator و برچسب Footnote به عنوان آرگومان تعریف کنید.
  9. یک نمونه از کلاس FootnoteLink ایجاد کنید.
  10. Footnote، Locator و FootnoteArc را به مجموعه های مربوطه اضافه کنید.
  11. پس از آن، FootnoteLink را به مجموعه footnotelinks اضافه کنید.
  12. در نهایت فایل XBRL را با استفاده از روش save(string) ذخیره کنید.

نمونه کد زیر نحوه افزودن پیوند پاورقی را در یک سند نمونه XBRL با استفاده از پایتون نشان می دهد.

# این مثال کد نحوه ایجاد یک سند XBRL و اضافه کردن شی Footnote Link را نشان می دهد
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,FootnoteLink,Footnote,Loc,FootnoteArc

# مسیر دایرکتوری اسناد
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# سند XBRL ایجاد کنید
xbrlDoc = XbrlDocument()

# مجموعه نمونه های سند را دریافت کنید
xbrlInstances = xbrlDoc.xbrl_instances

# نمونه ای را به مجموعه اضافه کنید
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# مجموعه ارجاعات طرحواره نمونه را دریافت کنید
schemaRefs = xbrlInstance.schema_refs

# طرحواره اضافه کنید
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# زمینه اضافه کنید
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# اضافه کردن پاورقی
footnote = Footnote("footnote1")
footnote.text = "Including the effects of the merger."

# اضافه کردن مکان
loc = Loc("#cd1", "fact1")

# قوس پاورقی را تعریف کنید
footnoteArc = FootnoteArc(loc.label, footnote.label)

# اضافه کردن پاورقیLink
footnoteLink = FootnoteLink()
footnoteLink.footnotes.append(footnote)
footnoteLink.locators.append(loc)
footnoteLink.footnote_arcs.append(footnoteArc)
xbrlInstance.footnote_links.append(footnoteLink)
    
# سند را ذخیره کنید
xbrlDoc.save(outputFile)

درج مرجع نقش در XBRL با استفاده از پایتون

با دنبال کردن مراحل زیر می توانیم یک مرجع نقش را در یک سند نمونه XBRL اضافه کنیم:

  1. ابتدا یک نمونه از کلاس XbrlDocument ایجاد کنید.
  2. یک نمونه XBRL جدید به xbrlinstances شی XbrlDocument اضافه کنید.
  3. یک مرجع طرح واره جدید به schemarefs شی XbrlInstance اضافه کنید.
  4. SchemaRef را با شاخص آن از schemarefs دریافت کنید.
  5. سپس از متد getroletypebyuri() RoleType را دریافت کنید.
  6. سپس یک نمونه از کلاس RoleReference با شی RoleType به عنوان آرگومان ایجاد کنید.
  7. پس از آن، RoleReference را به مجموعه rolereferences اضافه کنید.
  8. در نهایت فایل XBRL را با استفاده از روش save(string) ذخیره کنید.

نمونه کد زیر نحوه اضافه کردن یک مرجع نقش را در یک سند نمونه XBRL با استفاده از پایتون نشان می دهد.

# این مثال کد نحوه ایجاد یک سند XBRL و اضافه کردن شی مرجع Role را نشان می دهد
from aspose.finance.xbrl import XbrlDocument,RoleReference

# مسیر دایرکتوری اسناد
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# سند XBRL ایجاد کنید
xbrlDoc = XbrlDocument()

# مجموعه نمونه های سند را دریافت کنید
xbrlInstances = xbrlDoc.xbrl_instances

# نمونه ای را به مجموعه اضافه کنید
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# مجموعه ارجاعات طرحواره نمونه را دریافت کنید
schemaRefs = xbrlInstance.schema_refs

# طرحواره اضافه کنید
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# نوع نقش را دریافت کنید
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")

# اضافه کردن مرجع نقش
if roleType is not None:
    roleReference = RoleReference(roleType)
    xbrlInstance.role_references.append(roleReference)

# سند را ذخیره کنید
xbrlDoc.save(outputFile)

Arc Role Reference را به XBRL در پایتون اضافه کنید

با دنبال کردن مراحل زیر می توانیم یک مرجع نقش Arc را در یک سند نمونه XBRL اضافه کنیم:

  1. ابتدا یک نمونه از کلاس XbrlDocument ایجاد کنید.
  2. یک نمونه XBRL جدید به xbrlinstances شی XbrlDocument اضافه کنید.
  3. یک مرجع طرح واره جدید به schemarefs شی XbrlInstance اضافه کنید.
  4. SchemaRef را با شاخص آن از schemarefs دریافت کنید.
  5. در مرحله بعد، RoleType را از متد getarcroletypebyuri() دریافت کنید.
  6. سپس، یک نمونه از کلاس ArcroleReference با شی RoleType به عنوان آرگومان ایجاد کنید.
  7. پس از آن، ArcroleReference را به مجموعه arcrolereferences اضافه کنید.
  8. در نهایت فایل XBRL را با استفاده از روش save(string) ذخیره کنید.

نمونه کد زیر نحوه اضافه کردن یک مرجع نقش قوس را در یک سند نمونه XBRL با استفاده از پایتون نشان می دهد.

# این مثال کد نحوه ایجاد یک سند XBRL و اضافه کردن شی مرجع Arc Role را نشان می دهد
from aspose.finance.xbrl import XbrlDocument,ArcroleReference

# مسیر دایرکتوری اسناد
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# سند XBRL ایجاد کنید
xbrlDoc = XbrlDocument()

# مجموعه نمونه های سند را دریافت کنید
xbrlInstances = xbrlDoc.xbrl_instances

# نمونه ای را به مجموعه اضافه کنید
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# مجموعه ارجاعات طرحواره نمونه را دریافت کنید
schemaRefs = xbrlInstance.schema_refs

# طرحواره اضافه کنید
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# نوع نقش را دریافت کنید
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")

# اضافه کردن مرجع نقش
if roleType is not None:
    arcroleReference = ArcroleReference(roleType)
    xbrlInstance.arcrole_references.append(arcroleReference)

# سند را ذخیره کنید
xbrlDoc.save(outputFile)

مجوز رایگان دریافت کنید

شما می توانید یک مجوز موقت رایگان دریافت کنید تا کتابخانه را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله نحوه ایجاد یک سند XBRL با استفاده از پایتون را یاد گرفتیم. همچنین نحوه افزودن اشیاء مختلف XBRL به سند نمونه XBRL ایجاد شده را به صورت برنامه‌ریزی دیده‌ایم. علاوه بر این، می‌توانید با استفاده از مستندات درباره Aspose.Finance for Python API اطلاعات بیشتری کسب کنید. در صورت وجود هرگونه ابهام، لطفاً با ما در [تالار گفتمان21 تماس بگیرید.

همچنین ببینید