درس ۳ — چه چیزی تغییر میکند و چه چیزی نمیتواند تغییر کند
پرسشی که مدیر مالی پیش از موافقت با همهٔ اینها میپرسد این است که آیا این کار اظهارنامهها را تحتتأثیر میگذارد. نمیگذارد. اظهارنامههای مالیات بر ارزش افزوده، فایلهای فاکتور الکترونیکی و فایلهای بانکی کد ارز ISO 4217 یعنی AED — نام ارز — را حمل میکنند و هرگز نماد نمایشی را. تعویض نماد ظاهری است، و این واژه پردهپوشی نیست: دقیقاً به همین دلیل میتوان ماژول را در یک پایگاه دادهٔ زنده و در میانهٔ یک دورهٔ مالیاتی روشن کرد.
مدل ذهنی: کد همان نماد نیست. کد، ارز را برای سامانهای دیگر مشخص میکند — یک سازمان مالیاتی، یک بانک، یا نرمافزار یک شریک تجاری. نماد آن چیزی است که انسان روی صفحه یا کاغذ چاپی میخواند. این ماژول آنچه را مردم میخوانند تغییر میدهد و به آنچه ماشینها با هم رد و بدل میکنند دست نمیزند، و برای همین نه اظهارنامههایی که دورهٔ 2.1 میآموزد و نه فاکتورهای الکترونیکی که دورهٔ 3.1 میآموزد، از کاری که اینجا میکنید اثر نمیپذیرند.
دو ستونی که ارزش نگهداشتن دارد. هرجا مبلغی نمایش داده شود، یکی از دو مقدار در کار است، و دانستن اینکه کدامیک، بحث را پیش از آغازش تمام میکند.
| مبلغ کجا نمایش داده میشود | کدام مقدار بهکار میرود |
|---|---|
| صفحهها، رسیدهای فروشگاه، فروشگاه وبسایت، گزارشهای چاپی PDF | نماد نمایشی — همین است که تغییر میکند |
| اظهارنامههای مالیات بر ارزش افزوده، فایلهای فاکتور الکترونیکی، فایلهای بانکی | کد AED مطابق ISO 4217 — بدون تغییر |
تنها یک رکورد ارز دست میخورد. ماژول فیلدهای symbol و position رکورد AED را تغییر میدهد؛ جز چند کلید دفترداری داخلی خودش، هیچچیز دیگری نمینویسد. هر ارز دیگری در پایگاه داده دستنخورده میماند: فهرست قیمتی به USD، صورتحساب تأمینکنندهای به EUR و صورتحساب بانکی به GBP همگی دقیقاً مانند پیش نمایش داده میشوند. اگر ارز دومی در همان هفته ظاهرش عوض شد، کار چیز دیگری جز این ماژول بوده است.
این تنظیم در سطح شرکت نیست، و مردم همینجا اشتباه میکنند. فیلد res.currency در سطح کل پایگاه داده است، پس رکورد AED میان همهٔ شرکتهای آن پایگاه داده مشترک است. روشن یا خاموشکردن نماد روی همهٔ آنها اعمال میشود، نه فقط روی شرکتی که در آن کار میکنید. چنین کلیدی بهتفکیک هر شرکت وجود ندارد، و گشتن دنبالش وقتی است که صرف تنظیمی ناموجود میشود.
نمونهٔ عملی. شرکت Marina Ridge Trading LLC پایگاه داده را با یک شرکت خواهر که بیشتر به USD معامله میکند به اشتراک گذاشته است. مدیر مالی کلید را یکشنبه فعال میکند. دوشنبه حسابدار شرکت خواهر، که به او چیزی گفته نشده بود، صورتحسابی به درهم باز میکند و نماد جدید را میبیند، در حالی که اسناد USD او دقیقاً مانند پیشاند. پایان ماه هر دو شرکت مثل همیشه اظهارنامه میدهند، چون اظهارنامه کد AED را حمل میکند، درست مانند ماه پیش.
حالت خطا. «فقط برای شرکت خودم روشنش کردم.» آن را برای پایگاه داده روشن کردهاید. این نقص نیست و چیزی برای تعمیر ندارد — اما پیامی است که باید پیش از چرخاندن کلید فرستاده شود، نه پس از آن. یک خط به تیمهای مالی دیگر، یک صبح پر از تیکت را از سوی کسانی که گمان میکنند صفحههایشان خراب شده است، صرفهجویی میکند.