گزارشهای سفارشی¶
سازمانیار با یک چارچوب گزارشدهی قدرتمند و با کاربری آسان عرضه میشود. این موتور به شما اجازه میدهد گزارشهای جدیدی مانند گزارشهای مالیاتی، ترازنامهها و صورتهای سود و زیان را با گروهبندیها و طرحبندیهای خاص ایجاد کنید.
مهم
برای دسترسی به پیکربندی گزارش حسابداری، حالت توسعهدهنده را فعال کنید.
برای ایجاد یک گزارش جدید، به مسیر بروید. از اینجا، یا یک گزارش ریشه یا یک گونه ایجاد کنید.
نکته
برای دستنخورده نگه داشتن گزارشهای ریشه، بهتر است گزارشهای تغییریافته را به عنوان گونههای گزارش ذخیره کنید.
برای دسترسی به رابط مدیریت یک گزارش موجود از داخل خود گزارش، روی آیکون (چرخدندهها) کلیک کنید.
گزارشهای ریشهای (اصلی)¶
گزارشهای ریشهای همان گزارشات حسابداری عمومی و عادی هستند. این گزارشها مدلهایی هستند که نسخههای حسابداری محلی بر مبنای آنها ساخته میشوند. اگر گزارشی دارای گزارش ریشه نباشد، خود یک گزارش ریشه محسوب میشود.
Example
ممکن است گزارشهای مالیاتی بلژیک و ایران هر دو از یک نسخه اصلی به عنوان مبنا استفاده کنند و مطابق با قوانین محلی وفق داده شوند.
برای دسترسی به یک گزارش ریشه جدید، ایجاد یک آیتم منو الزامی است. برای این کار، پیکربندی گزارش را باز کنید، روی اقدام، سپس ایجاد آیتم منو کلیک کنید و صفحه را رفرش نمایید. اکنون گزارش در مسیر در دسترس است.
توجه
مواردی که نیازمند ایجاد گزارش ریشهای جدید باشند نادر هستند؛ مثل وقتی که مقامات مالیاتی کشور نیازمند نوع جدید و خاصی از گزارش باشند.
گونهها¶
گونهها نسخههای مخصوص کشوری از گزارشهای ریشهای هستند و بنابراین همیشه به گزارش پایه ارجاع دارند. هنگام ایجاد گزارش جدید، برای ایجاد گونه جدید یک گزارش عمومی (ریشهای) را در فیلد گزارش ریشهای انتخاب کنید.
هنگامی که یک گزارش ریشه از منوی گزارش برنامه حسابداری باز میشود، تمام گونههای آن در انتخابگر گونه گزارش در گوشه سمت راست بالای نما نمایش داده میشوند.
Example
گزارش ارزش افزوده (بلژیک) گونهای از گزارش مالیاتی عمومی ریشه است.
سطرها¶
پس از ایجاد یک گزارش (چه ریشه و چه گونه)، گام بعدی پر کردن آن با سطرهاست. برای ایجاد یک سطر جدید، روی افزودن سطر کلیک کنید. برای تغییر یک سطر موجود، روی خود سطر کلیک کرده و پنجره پاپآپ را ویرایش کنید. تمام سطرها به یک نام نیاز دارند و میتوانند یک کد اختیاری داشته باشند که امکان استفاده از مقدار سطر در فرمولها را فراهم میکند.
عبارتهای فرمولی¶
هر سطر میتواند شامل یک یا چند عبارت باشد. عبارتها را میتوان به عنوان زیرمتغیرهای مورد نیاز یک سطر گزارش در نظر گرفت. برای ایجاد یک عبارت، روی افزودن سطر درون پاپآپ یک سطر کلیک کنید.
هنگام ایجاد یک عبارت، باید یک برچسب وارد کنید که برای ارجاع به آن عبارت استفاده میشود. برچسب باید در میان عبارتهای هر سطر گزارش یکتا باشد. هر دو فیلد موتور محاسبه و فرمول نیز باید تکمیل شوند. موتور محاسبه تعیین میکند که فرمول(ها) و زیرفرمول(ها) چگونه تفسیر شوند. در صورت نیاز، امکان ترکیب عبارتهایی با موتورهای محاسبه متفاوت در همان سطر وجود دارد.
توجه
با توجه به موتور مورد استفاده ممکن است تعیین زیرفرمولها نیز الزامی باشد.
موتور محاسبه دامنه سازمانیار¶
هنگام استفاده از موتور محاسبه دامنه سازمانیار، فرمول به عنوان یک دامنه سازمانیار تفسیر میشود که اشیاء account.move.line را هدف قرار میدهد.
زیرفرمولها امکان تعریف تطبیق سطرهای انتقال با دامنه مورد استفاده را فراهم میکنند که برای محاسبه مقدار عبارت استفاده میشوند:
sumنتیجه برابر است با مجموعه تمام مقادیر باقیمانده سطرهای انتقالی منطبق.
sum_if_posنتیجه حاصل برابر است با مجموعه تمام باقی ماندههای سطرهای انتقالی در صورتی که مقدار مثبت باشد. در غیر این صورت نتیجه حاصل
0خواهد بود.sum_if_negنتیجه حاصل برابر است با مجموعه تمام باقی ماندههای سطرهای انتقالی در صورتی که مقدار منفی باشد. در غیر این صورت نتیجه حاصل
0خواهد بود.count_rowsنتیجه برابر با تعداد زیرسطرهای این عبارت است. اگر سطر مادر دارای مقدار دستهبندی باشد، این عدد با تعداد کلیدهای گروهبندی متمایز در سطرهای انتقالِ (Move Lines) منطبق مطابقت خواهد داشت. در غیر این صورت، برابر با تعداد سطرهای انتقالِ منطبق خواهد بود.
نکته
برای معکوس کردن علامت نتیجه، یک علامت - در ابتدای زیرفرمول قرار دهید.
موتور محاسبه تجمیع سایر فرمولها¶
موتور محاسبه تجمیع سایر فرمولها عملیات ریاضی را روی مبالغ بهدستآمده از سایر عبارتها انجام میدهد. فرمولها در اینجا از ارجاعاتی به عبارتها تشکیل شدهاند که با یکی از چهار عملگر اصلی ریاضی (جمع +، تفریق -، تقسیم / و ضرب *) از هم جدا میشوند. برای ارجاع به یک عبارت، کد سطر مادر آن را تایپ کنید و سپس یک نقطه . و برچسب عبارت را بیاورید (مانند code.label).
زیرفرمولها میتوانند یکی از این موارد باشند:
if_above(CUR(amount))مقدار عبارت جبری تنها زمانی برگردانده میشود که مقدار آن بیشتر از حد تعریف شده باشد. در غیر این صورت مقدار
0خواهد بود.if_below(CUR(amount))مقدار عبارت جبری تنها زمانی برگردانده میشود که مقدار آن کمتر از حد تعریف شده باشد. در غیر این صورت مقدار
0خواهد بود.if_between(CUR1(amount1), CUR2(amount2))مقدار عبارت جبری زمانی برگردانده میشود که مقدار آن اکیداً بین حدهای مشخص شده باشد. در غیر این صورت نزدیکترین حد برگردانده میشود.
if_other_expr_above(LINE_CODE.EXPRESSION_LABEL, CUR(amount))مقدار عبارت جبری تنها زمانی برگردانده میشود که مقدار عبارت مشخص شده توسط کد سطر و برچسب عبارت بزرگتر از حد مشخص شده باشد. در غیر این صورت نتیجه
0خواهد بود.if_other_expr_below(LINE_CODE.EXPRESSION_LABEL, CUR(amount))مقدار عبارت جبری تنها زمانی برگردانده میشود که مقدار عبارت مشخص شده توسط کد سطر و برچسب عبارت کمتر از حد مشخص شده باشد. در غیر این صورت نتیجه
0خواهد بود.
CUR کد واحد پول با حروف بزرگ و amount نیز مقدار حدود مشخص شده برای آن واحد پول است.
cross_report(xml_id | report_id)برای تطبیق یک عبارت از گزارشی دیگر که توسط xml_id یا شناسه خود گزارش مشخص شده است، استفاده میشود.
موتور محاسبه پیشوند کدهای حساب¶
موتور محاسبه پیشوند کدهای حساب برای تطبیق مبالغ ثبتشده در حسابها با استفاده از پیشوندهای کد این حسابها به عنوان متغیر در یک عبارت ریاضی استفاده میشود.
Example
21Example
21 + 10 - 521 و 10 شروع میشوند را جمع کرده و باقیمانده حسابهایی که پیشوند 5 دارند را کسر میکند.همچنین میتوان از مجموعهای از زیرپیشوندها صرف نظر کرد.
Example
21 + 10\(101, 102) - 5\(57)101، 102 و 57 را نادیده میگیرد.میتوانید با استفاده از پسوندهای C و D از «زیرفیلترهایی» برای بستانکاریها و بدهیها استفاده کنید. در این مثال حساب تنها زمانی مد نظر قرار خواهد گرفت که پیشوند آن مطابقت داشته باشد و اگر باقیمانده کل سطرهای انتقالی در این حساب بستانکاری/بدهکاری باشد.
Example
حساب 210001 دارای باقیمانده -42 و حساب 210002 دارای باقیمانده 25 است. فرمول 21D تنها حساب 210002 را تطبیق میدهد و بنابراین نتیجه 25 را برمیگرداند. 210001 تطبیق داده نمیشود، چون باقیمانده آن بستانکاری است.
میتوان حذفیات پیشوند را با پسوندهای C و D نیز ترکیب کرد.
Example
21D + 10\(101, 102)C - 5\(57)21 شروع میشوذد را جمع میکند اگر بدهکار (D) باشد و اگر بستانکار (C) باشد، ولی پیشوندهای 101 و 102 را نادیده میگیرد و باقیمانده حسابهایی که پیشوند 5 را دارند تفریق میکند و پیشوند 57 را نادیده میگیرد.برای تطبیق حرف C یا D در پیشوند و عدم استفاده از آنها به عنوان پسوند از () خالی استفاده کنید.
Example
21D\()21D شروع میشود را تطبیق میدهد، صرف نظر از علامت باقی ماندهای که دارند.در کنار استفاده از کدهای پیشوند برای حسابها، میتوانید با برچسبهای حساب نیز آنها را تطبیق دهید. این کار به ویژه زمانی کاربردی است که کشور شما جدول حساب استانداردی نداشته باشد و از یک پیشوند در شرکتهای مختلف با اهداف مختلفی استفاده شود.
Example
tag(25)اگر برچسبی که به آن ارجاع میدهید در یک فایل داده تعریف شده باشد، میتوان به جای شناسه از XMLID استفاده کرد.
Example
tag(my_module.my_tag)همچنین میتوانید از برچسبها در عبارتهای جبری نیز استفاده کنید و آنها را با مجموعه انتخابهای پیشوند ترکیب کنید.
Example
tag(my_module.my_tag) + tag(42) + 1010 جمع میشودپسوندهای C و D را نیز میتوان به همان صورت با برچسبها به کار برد.
Example
tag(my_module.my_tag)Cحذف پیشوند همچنین با برچسبها نیز استفاده میشود.
Example
tag(my_module.my_tag)\(10)10 شروع نمیشود را تطبیق میدهد.موتور محاسبه مقدار خارجی¶
موتور محاسبه مقدار خارجی برای ارجاع به مقادیر دستی و مقادیر انتقالی استفاده میشود. آن مقادیر با استفاده از account.move.line ذخیره نمیشوند، بلکه با account.report.external.value ذخیره میگردند. هر یک از این اشیاء مستقیماً به عبارتی که بر آن تأثیر میگذارد اشاره میکند، بنابراین نیاز به کار خاصی برای انتخاب آنها در اینجا نیست.
فرمول میتواند یکی از مقادیر زیر باشد:
sumاگر قرار است نتیجه مجموع تمام مقادیر خارجی در بازه زمانی مشخص باشد.
most_recentاگر نتیجه باید برابر با آخرین مقدار خارجی در بازه مشخص شده باشد.
به علاوه میتوان به دو روش از زیرفرمولها استفاده کرد:
rounding=Xاگر
Xبا عددی جایگزین شود، گرد کردن با X رقم اعشار انجام میشود.editableمشخص میکند که این عبارت به صورت دستی قابل ویرایش است و موجب نمایش یک آیکون در گزارش شده و به کاربر اجازه میدهد این کار را انجام دهد.
توجه
مقادیر دستی در date_to انتخابی فعلی در گزارش ایجاد میشوند.
هر دو زیرفرمول را میتوان با جدا کردن ; ترکیب کرد.
Example
editable;rounding=2موتور محاسبه تابع سفارشی پایتون¶
موتور محاسبه تابع سفارشی پایتون وسیلهای برای توسعهدهندگان است تا محاسبات سفارشی عبارتها را بهصورت موردی معرفی کنند. فرمول نام یک تابع پایتون برای فراخوانی است و زیرفرمول یک کلید برای واکشی در دیکشنری بازگرداندهشده توسط این تابع است. از این موتور محاسبه تنها در صورت ساخت یک ماژول سفارشی استفاده کنید.
ستونها¶
گزارشها میتوانند تعداد بینهایت ستون نمایش دهند. هر ستون مقدار خود را از عبارتهای تعریف شده در سطرها دریافت میکند. فیلد expression_label در ستون برچسب عبارتهایی که مقدار آنها در حال نمایش است را مشخص میکند. اگر سطری دارای عبارتی در این فیلد نباشد، پس در این ستون چیزی برای آن نمایش داده نخواهد شد. اگر چند ستون مورد نیاز باشد باید از برچسبهای عبارت مختلف استفاده کنید.
هرگاه از ویژگی مقایسه بازه زمانی در تب گزینههای گزارش حسابداری استفاده میشود، تمام ستونها برای هر گزارش تکرار میشوند.
گروهبندی سطرها¶
گروهبندی غیراستاندارد با افزودن یا استفاده از فیلدهای موجود در مدل آیتم دفترروزنامه امکانپذیر است، مشروط بر اینکه فیلدها مرتبط (Related) و غیرذخیرهشده (Non-stored) باشند.
توجه
گروهبندی سطرها نیازمند آن است که گزارش دارای سطرهای گزارش صریح و قابل ویرایش باشد. برای مثال، گزارشهای معوق (Deferred reports) از آنجا که از سطرهای پویا و تولیدشده استفاده میکنند، از گروهبندی سطرها پشتیبانی نمیکنند.
ایجاد فیلد جدید در آیتم دفترروزنامه¶
برای ایجاد یک فیلد مرتبط و غیرذخیرهشده در مدل آیتم دفترروزنامه، ابتدا به مسیر بروید و روی آیکون (سوسک) کلیک کنید، سپس روی فیلدها کلیک نمایید. روی جدید کلیک کنید تا یک فیلد جدید بسازید و فیلدهای زیر را تکمیل کنید:
نام فیلد: نام فنی برای فیلد
برچسب فیلد: برچسبی که برای فیلد نمایش داده میشود
نوع فیلد: نوع فیلدی که این فیلد مرتبط باید به آن اشاره کند
ذخیرهشده: این فیلد را تیکنخورده باقی بگذارید زیرا تنها فیلدهای غیرذخیرهشده میتوانند برای گروهبندی سطرها استفاده شوند.
مدل مرتبط: اگر نوع فیلد یکبهچند، چندبهچند یا چندبهیک است، مدل فیلد اصلی برای گروهبندی را انتخاب کنید.
تعریف فیلد مرتبط: مسیر فنی به فیلدی که میخواهید بر اساس آن گروهبندی کنید
Example
برای گروهبندی بر اساس تیم فروشِ طرف حساب تجاری، تعریف فیلد مرتبط را روی
move_id.team_idتنظیم کنید.
گروهبندی سطرها¶
برای گروهبندی سطرها، به سربرگ سطرها در گزارش مورد نظر بروید، روی سطری که میخواهید گروهبندی کنید کلیک کرده و فیلد دستهبندی را ویرایش کنید. نام فنی (نام فیلد) فیلدی را که میخواهید به عنوان کلید گروهبندی استفاده شود، وارد نمایید.
نکته
برای یافتن لیستی از تمام فیلدهای مدل و نامهای فنی آنها، وارد مسیر شوید و روی آیکون (سوسک) کلیک کنید، سپس روی فیلدها کلیک نمایید. نام فنی هر فیلد در ستون نام فیلد فهرست شده است.
همچنین ملاحظه نمائید