تغییرات ساختاری در امکانات ارزی نرمافزار مالی نوسا
مستند تکمیلی امکانات نسخه 8.02
همانطور که میدانید در رخدادهای مالی (سطرهای اسناد) امکان تعیین واحد پول (ارز) بدون تعیین مبلغ مربوط وجود ندارد. در صورتی که واحد پول (ارز) تعیین شده باشد ولی مبلغ ارز تعیین نشده باشد، در حین ذخیرهسازی سند واحد پول از رخداد حذف خواهد شد. این ویژگی بسیار مهم است و اگر چنین نباشد ممکن است تعداد زیادی رخدادهای مالی با واحدهای پول متفاوت به صورت ناخواسته در سیستم ثبت شوند (به خصوص با توجه به این نکته که حسابها و تفصیلیها ممکن است واحد پول یا ارز پیشفرض داشته باشند که همزمان با انتخاب حساب یا تفصیلی در سطر سند درج میگردد).
در ویرایشهای قبلی سیستم (پیش از 8.02) مبلغ ارز صفر معادل با عدم وجود مبلغ فرض شده بود و منجر به حذف واحد پول (ارز) میشد. در نسخهی جدید بین مبلغ ارز خالی (تعیین نشده) و صفر تفاوت قائل شدهایم؛ از این پس، مبالغ ارز صفر منجر به حذف شدن واحد پول نخواهند شد و رخداد مالی به صورت ارزی ولی با مبلغ ارزی صفر (و با واحد پول مناسب) در سیستم قابل ثبت خواهد بود. توجه کنید که در این وضعیت، خالی گذاشتن مبلغ ارز متفاوت از درج صفر در آن است. خالی گذاشتن مبلغ ارزی کماکان مطابق رفتار استاندارد (و صحیح و مورد انتظار) عمل میشود و منجر به حذف واحد پول میگردد – یعنی رخداد را به یک رخداد غیرارزی تبدیل میکند.
نتیجهی این قابلیت این است که در نسخهی 8.02 میتوانیم در سطرهای سند (رخدادهای مالی) مبلغ ارز را صفر وارد کنیم و واحد پول (ارز) را تعیین کنیم و در رخدادهای مربوط به تسعیر ارز واحد پول مناسب (همان واحدی که مجددا نرخگذاری شده است) را انتخاب کنیم و مبلغ ارز را صفر کنیم. با استفاده از این روش و تغییرات انجام شده در این نسخه خواهیم دید که امکاناتی برای تشکیل خودکار رخدادهای تسعیر در سیستم تعبیه شدهاند. این امکانات در تراز آزمایشی در اختیار قرار خواهند داشت و در بخشهای بعدی توضیح داده خواهند شد.
امکانات جدید در تراز آزمایشی جامع
تراز آزمایشی به عنوان هستهی اصلی عملیات مربوط به ارز و در نهایت تولید سند تسعیر توسعه داده شده است. محاورهی ابتدایی این تراز به صورت زیر تکمیل شده است:
همانطور که دیده میشود یک دریچهی قابل علامتگذاری با عنوان "تراز برحسب واحد پول (ارز) محاسبه شود" تعبیه شده است. با علامتگذاری این دریچه امکان انتخاب یکی از واحدهای پول در یک دریچهی انتخابی فراهم خواهد شد. با انتخاب هر واحد پول، نرخ تبدیل آن به واحد پول اصلی از جدولِ "واحدهای پول (ارز)" سیستم استخراج و در دریچه مربوط بازنمایی میشود. این نرخ تبدیل البته به دلخواه کاربر قابل اصلاح خواهد بود. در صورت محاسبهی تراز ارزی امکان محدود کردن بیشتر محتوای گزارش برحسب تراز ارزی نیز فراهم است. به این منظور انتخاب یکی از گزینههای دریچهی انتخابی "محتوی" به صورتی که در شکل نشان داده شده است میسر خواهد بود:
- همهی سطرها بازنمایی شوند – محاسبات ارزی تاثیری در نحوهی بازنمایی سطرهای گزارش نخواهد داشت.
- فقط سطرهای حاوی مبالغ ارزی بازنمایی شوند – تراز فقط از رخدادهایی محاسبه خواهد شد که در آنها واحد پول (ارز) انتخاب شده در بالا درج شده باشد.
- فقط سطرهایی که نیاز به تسعیر دارند بازنمایی شوند – مبالغ معادل ارزی با توجه به نرخ تبدیل وارد شده برحسب واحد پول اصلی سیستم محاسبه میشوند؛ فقط سطرهایی بازنمایی خواهند شد که در آنها مبالغ معادل ارزی با مبالغی که به صورت طبیعی از تراز حاصل شدهاند متفاوت باشد.
- فقط موارد مغایرت بین ماهیت مانده و مانده ارزی – فقط سطرهایی که در آنها علامت مانده با علامت ماندهی ارزی متفاوت باشند بازنمایی خواهد شد (مثلا اگر ماندهی سطر بدهکار و ماندهی ارزی بستانکار باشد).
امکان محاسبه سرجمع مبالغ ارزی در فیلدهای آشنای تراز آزمایشی جامع (گردشها و ماندههای بدهکار و بستانکار و ماندههای بدهکار مثبت و بستانکار مثبت) و بازنمایی دلخواه آنها فراهم شده است. به جز این، گونههایی از فیلد برای ارائهی مبالغ ریالی معادل مبالغ ارزی برحسب نرخ جدید ارز (که در محاورهی ابتدایی از کاربر دریافت میشود) تعبیه شدهاند.
به یاد داریم که در فرمهای تراز آزمایشی جامع فقط یک نوع فیلد حاوی مبلغ داشتیم (با نام "یکی از انواع یا اجزاء گردش یا مانده"). همهی فیلدهای متنوعی که در این گزارش قابل ارائه هستند صرفا با کمک همین فیلد عمومی و تعیین مشخصات تکمیلی آن تعریف میشدند. همچنین تنظیم شرایط اضافی برای تفکیک یک فیلد به اجزاء و بازنمایی هر جزء در یک ستون مجزا نیز در فرمهای گزارش تراز آزمایشی جامع میسر بود. تعریف یک ستون یا مولفه حاوی این فیلد با تکمیل مشخصههایی در صفحه "نوع مبلغ (و شرایط)" انجام میشد – که کماکان از همان روش استفاده میشود:
همانطور که در شکل دیده میشود، بخش بزرگی از موارد قابل تنظیم مربوط به شرایط اضافی محتوای ستون است. این موارد فقط در صورتی که "یکی از اجزاء (برحسب شرایط زیر)" علامتگذاری شده باشد قابل ویرایش خواهند بود و به این ترتیب در صورت عدم وجود شرایط اضافی، تنظیمات قابل انجام، به تعیین گونه و نوع (محدوده) فیلد خلاصه میشود.
یک تغییر اساسی در این مکانیزم انجام شده است و آن اینکه در تعیین گونه فیلد، علاوه بر اقلامی که در نسخههای قبلی داشتیم، یعنی گردش بدهکار و بستانکار، مانده بدهکار و بستانکار و ماندههای بدهکار مثبت و بستانکار مثبت، اقلام جدیدی اضافه شدهاند:
- گردش بدهکار (برحسب نرخ جدید ارز)
- گردش بستانکار (برحسب نرخ جدید ارز)
- مانده بدهکار مثبت (برحسب نرخ جدید ارز)
- مانده بستانکار مثبت (برحسب نرخ جدید ارز)
- مانده بدهکار (برحسب نرخ جدید ارز)
- مانده بستانکار (برحسب نرخ جدید ارز)
این گونههای جدید کماکان در انواع (محدودههای) متنوعی قابل ارائه خواهند بود. یادآوری میکنیم:
- جمع ابتدای دوره و افتتاحیه
همچنین همهی شرایط اختیاری و تکمیلی که از قبل داشتیم (و برروی اسناد و رخدادها، حساب و تفصیلیها و برچسبها قابل تنظیم بودند) برروی این گونههای جدید ارزی و معادل ریالی آنها برحسب نرخ جدید ارز نیز میتوانند تعریف و بکارگیری شوند.
به این ترتیب میتوانیم فرمهایی از گزارش تراز آزمایشی جامع تعریف کنیم که حاوی تراز ارزی و نیز معادل ریالی مبالغ ارزی برحسب نرخ جدید و دلخواه ارز باشند. گزینههای دریچهی محتوی (که در محاورهی ابتدایی دیدیم) با توجه به وضعیت مبالغ در چنین ترازی عمل میکنند:
فقط سطرهای حاوی مبالغ ارزی بازنمایی شوند (عملا به این معنی است که تراز فقط از رخدادهای مالی حاوی ارز با واحد پول ذکر شده محاسبه شود): یادآوری میکنیم که در وضعیت جدید سیستم رخدادهای مالی ممکن است واحد پول مناسب داشته باشند ولی مبلغ ارز در آنها صفر وارد شده باشد؛ این رخدادها نیز در تراز لحاظ خواهند شد.
فقط سطرهایی که نیاز به تسعیر دارند بازنمایی شوند: همانطور که گفته شد، فیلدهای مانده در انتهای دوره که از روی مبالغ ارزی و برحسب نرخ جدید محاسبه شدهاند با ماندهی انتهای دوره عادی (حاصل از مبالغ بدهکار و بستانکار مندرج در رخدادهای مالی) مقایسه میشوند؛ فقط سطرهایی بازنمایی خواهند شد که در آنها مبالغ معادل ارزی با مبالغی که به صورت طبیعی از تراز حاصل شدهاند متفاوت باشد.
فقط موارد مغایرت بین ماهیت مانده و مانده ارزی: علامت مانده در انتهای دوره با ماندهی ارزی در انتهای دوره مقایسه خواهد شد. هر یک ممکن است بدهکار، بستانکار یا صفر باشند. حالتی که ماندهی ریالی مخالف صفر و ماندهی ارزی صفر است به عنوان مغایرت لحاظ نمیشود ولی در بقیهی موارد اگر علامت ماندهها متفاوت باشد بازنمایی خواهند شد.
همانطور که گفته شد "نیاز به تسعیر" یعنی وجود اختلاف بین مبلغ ماندهی انتهای دوره و ماندهی انتهای دورهی محاسبه شده از روی ماندهی ارزی (برحسب نرخ جدید ارز). در تراز آزمایشی جامع فیلدهایی برای بازنمایی این اختلاف تحت نام "مبلغ تسعیر" و با گونههای زیر تعبیه شده است:
- مبلغ تسعیر – بستانکار مثبت
در حین کار با تراز آزمایشی، در احضار جزییات سطر تحت مکاننما و همچنین گزارشهای ترکیبی حساب و تفصیلی (خلاصه عملیات، خلاصه وضعیت سررسید، تفکیک به مدارک سرجمع و گروهبندی شده) به محدودیت واحد پول یا ارز توجه میشود – به این صورت که اگر محاسبات ارزی در تراز انجام شده باشد و محتوای سطرها برحسب ارز محدود شده باشد، ترتیبی داده میشود که جزییات مذکور نیز با توجه به واحد پول گزارش ارائه شوند (تا جمع مبالغ جزییات با مبالغی که در تراز بازنمایی شدهاند مطابقت داشته باشند).
سند تسعیر
برای تشکیل سند تسعیر قاعدتا کافی است همان مبالغ تسعیر بدهکار و بستانکار که پیش از این محاسبه کردهایم را به صورت سطرهای یک سند درج کنیم. اما نکتهی بسیار مهمی وجود دارد: سند تسعیر باید با چه میزان تفکیک برروی تفصیلیها و برچسبها تنظیم شود؟ این نکته از آنجا دارای اهمیت و مورد سوال است که همهی تفصیلیها و برچسبهایی که کاربران در رخدادهای مالی درج میکنند لزوما ارزش عملیاتی یکسانی ندارند – در عمل بسیار دیده شده است که کاربران، تفصیلیها و برچسبها را صرفا در نقش یادداشت و حتی خارج از ماهیت (در رخدادهایی که از نظر نوع مبلغ وارون هستند) بکار میبرند. بدیهی است که فقط تفصیلیها و برچسبهای اصلی (نه آنها که در نقش یادداشت بکار رفتهاند) باید در تسعیر مورد توجه قرار بگیرند. پاسخ به این پرسش که تفکیک سطرها در سند تسعیر باید چگونه باشد به هیچ وجه از قبل مشخص نیست – کاملا بستگی به روش ثبت رخدادهای مالی در سیستم دارد.
روشی که ما برای تشکیل سند تسعیر پیادهسازی کردهایم این است که هر یک از سطرهای سند تسعیر یکی از سطرهای تراز آزمایشی جامع باشد – به این ترتیب تفکیک مورد نیاز در سطرهای سند تسعیر با تعریف مناسب تراز آزمایشی و تنظیم نحوهی لحاظ کردن برچسبها در محاسبات مربوط به آن، توسط کاربر قابل تعیین خواهد بود. به یاد داریم که در تعریف تراز آزمایشی میتوانیم به صورت دلخواه تفصیلیهای 1 تا 5 را لحاظ کنیم. این عمل به صورت غیرهمگن قابل انجام است (مثلا تفکیک برای برخی از حسابها صرفا به تفصیلی 1 و برخی دیگر به تفصیلیهای 3 و 5 انجام شود). کاربرد برچسبها نیز در محاورهی ابتدایی تراز آزمایشی قابل تعیین است. بنابراین برای تشکیل سند به سطرهای تراز توجه میشود و هر سطری که انتخاب شده و نیاز به تسعیر داشته باشد در سند تسعیر درج خواهد شد. حساب، تفصیلیها و برچسبهایی که در رخداد تسعیر درج میشوند دقیقا از سطر مابهازا در تراز آزمایشی حاصل میشوند.
نکتهی دیگر در تشکیل سند تسعیر درگیر شدن با مشخصات عمومی سند است (نرمافزار، شرح، بخش، تاریخ...). برای اینکه این موارد، پیچیدگی غیرضروری در عملیات ما ایجاد نکند، به جای تشکیل مستقیم و یکبارهی سند، یک فایل وارده XP تشکیل خواهیم داد. در صفحهی تراز آزمایشی جامع تکمهای با عنوان ذخیره سند تسعیر ارز در فایل "وارده XP" تعبیه شده است. با فشار این تکمه سیستم ابتدا به بررسی وضعیت اخذ تراز میپردازد:
- در محاورهی ابتدایی تراز، دریچهی "تراز برحسب یک واحد پول (ارز) محاسبه شود" باید علامتگذاری شده باشد. بدیهی است که نرخ تبدیل ارز به واحد پول اصلی سیستم نیز باید به صورت مناسب تعیین شده باشد. تسعیر با همین نرخ انجام میشود.
- در همان محاوره، محتوای گزارش باید روی گزینهی " فقط سطرهایی که نیاز به تسعیر دارند بازنمایی شوند" تنظیم شده باشد.
- در تعریف تراز آزمایشی همهی حسابها و تفصیلیهای بکار رفته باید عملیاتی باشند (یک سطح خاص نباشند).
- سطرهای مورد نظر برای تشکیل سند باید انتخاب شده باشند.
- سطرهای انتخاب شده باید حتما حاوی حساب باشند – برای سطرهای فاقد حساب رخداد تسعیر تشکیل نخواهد شد.
اگر این شرایط برقرار باشند ابتدا در یک محاورهی مختصر، شرح سطرهای سند تسعیر از کاربر دریافت میشود و پس از آن تایید عملیات پرسیده میشود. در پیغام تایید، تفکیکهایی که قرار است انجام شود و فیلدهایی که در نهایت در سطرهای سند تسعیر درج خواهند شد به اطلاع کاربر خواهد رسید. محاسبات انجام میشود و نام فایل واردهی XP از کاربر دریافت خواهد شد. در تنظیم سند جدید حسابداری و دریافت و پرداخت به روال عادی (یا احضار یکی از اسناد موجود برای اصلاح) میتوانید فایل واردهی حاصل شده را در سطرهای سند فراخوانی نمایید. توجه کنید که در همهی سطرهای سند تسعیر واحد پول (ارز) به صورت مناسب تعیین شده و مبلغ ارز صفر درج شده است. واحد پول (ارز) همان واحدی خواهد بود که در تراز آزمایشی برای محاسبات ارزی انتخاب شده است. صفر بودن مبلغ ارز نیز مطابق توضیحات مقدمه انجام میشود و منجر به رفع همهی مشکلات ذکر شده خواهد شد و به جز این امکان تکرار عملیات تسعیر به دفعات دلخواه و با نرخهای مختلف را نیز فراهم خواهد کرد.
کنترلهای جدید در تشکیل خودکار سندهای اختتامیه و سود و زیان
گفتیم که در ترازهای خودکار مبتنی بر مانده (اختتامیه، سود و زیان و موارد مشابه) که با تفکیک ارز تهیه شده باشند، در صورتی که علامت ماندهی اصلی رخداد حاصله با علامت ماندهی ارزی متفاوت باشد، مبلغ ارزی حذف میشد. این رفتارِ ویرایشهای قبلی سیستم در ویرایش 8.02 به عنوان "خطا" شناسایی میشود. به این ترتیب همهی حالتهایی که در مقدمهی این بخش به عنوان اشکال سیستم مطرح کرده بودیم در ویرایش جدید منجر به خطا میشوند و از تشکیل سند ممانعت خواهد شد. یادآوری میکنیم که این موارد خطا دقیقا از یک تراز آزمایشی جامع و با تنظیم مناسب محاسبات ارزی و محتوی قابل تشخیص هستند. روش رفع آنها نیز صرفا تشکیل یک سند تسعیر مناسب خواهد بود.
-- پایان
گروه توسعه سیستمهای مالی نوسا