تغییر رفتار سیستم در کنترلهای پیش از ایجاد برگه موجودی انتهای دوره انبار
مستند تکمیلی امکانات نسخه 9.02
تنظیم برگهی موجودی انتهای دوره در سیستم انبار با تشریفات خاصی انجام میشود؛ مشخصات عمومی برگه (شامل انبار و طرف حساب عمومی) از کاربر دریافت میشوند و پس از آن محاورهی اختصاصی "تشکیل برگه موجودی انتهای دوره" بازنمایی میشود. در این محاوره کاربر میتواند کالاهایی که در برگه لحاظ میشوند را تعیین کند – از بین حالتهای تمام کالاها، کالاهای یک مجموعه و کالاهایی که کد آنها در محدودهی به خصوصی قرار داشته باشند یا الگوی خاصی داشته باشند. گزینهی تمام کالاها از همه پرکاربردتر است. بدیهی است که در نهایت از بین کالاهایی که پیشتر تعیین شدهاند، کالاهایی که از قبل در انبار ما دارای مانده باشند، به صورت سرجمع یا به تفکیک بچ و با توجه به کالاهای شناسایی ویژه در برگه درج خواهند شد.
برگهی موجودی انتهای دوره همواره به صورت عملیاتی تنظیم میشود (محاسبات بها باید حتما همزمان با پردازشهای رخدادهای قبلی انجام شوند و به همین دلیل برگه "باید" عملیاتی باشد). همانند موارد مشابه، در اینجا نیز سیستم باید کنترل کند که توالی منطقی رخدادهای عملیاتی و پیشنویس کالاها برقرار باشد. به این منظور کنترل میکند که کالاها پیش از تاریخ برگه موجودی انتهای دوره رخداد پیشنویس نداشته باشند و پس از آن تاریخ رخداد عملیاتی نداشته باشند. در نسخهی قبلی سیستم این کنترل صرفا با توجه به کالاهایی که برای تشکیل برگه توسط کاربر تعیین شده بودند انجام میشد – و به این ترتیب، اگر گزینهی تمام کالاها انتخاب شده باشد عملا "هیچیک" از کالاهای سیستم تا پیش از تاریخ مزبور نباید رخداد پیشنویس و پس از آن نیز نباید رخداد عملیاتی داشته باشند.
اما رفتار منطقی چنین است: "فقط" کالاهایی که قرار است در برگه درج شوند باید در فرآیند پیشگفته کنترل شوند – حتی اگر گزینهی تمام کالاها انتخاب شده باشد. باید یادآوری کنیم که کنترل با توجه به ارتباط کالا با انبار در اینجا قابل انجام نیست: ارتباط کالا با انبار محدودیت درج رخداد برای کالاها برای زمانهای آینده ایجاد میکند و کاری با رخدادهایی که احتمالا قبلا برای کالاها تنظیم شدهاند ندارد. ممکن است کالایی تا مقطعی با یک انبار ارتباط داشته باشد ولی این ارتباط بعدا قطع شده باشد. چنین کالایی ممکن است در برگهی موجودی انتهای دوره درج شود و به همین دلیل در اینجا هم باید کنترل شود.
تشخیص کالاهایی که قرار است در برگه درج شوند هزینهبر است و بخش زیادی از زمان پردازش را صرف میکند. راه میانه این است به کالاهایی که قبلا در همین انبار رخداد داشتهاند توجه کنیم و کنترلهای پیشگفته را به آنها محدود نماییم. البته این کار هم به خودی خود هزینهی انجام کنترلها را بیشتر میکند. برای جبران این هزینهی اضافه ترتیبی دادیم که کنترلها به صورت همزمان انجام شوند و به این ترتیب در زمان صرفهجویی خواهد شد.
رفتارجدید سیستم چنین است: از بین کالاهایی که برای درج در برگه تعیین شدهاند (همه، مجموعه، محدوده و الگوی کد) فقط به کالاهایی که قبلا در انبار برگه رخداد داشتهاند توجه میشود. اگر این کالاها رخداد پیشنویس به تاریخ برگه یا پیش از آن و یا رخداد عملیاتی پس از تاریخ برگه داشته باشند خطا است و تنظیم برگهی انتهای دوره میسر نخواهد بود. در پیغام خطا کد کالاهایی که مشکلآفرین بودهاند (حداکثر 10 کد نخست) نیز بازنمایی میشوند.
-- پایان
گروه توسعه سیستمهای مالی نوسا