سلام
یک مستند حاوی طرح
برگه های رسید موقت انبار (دادهها، عملیات، امکانات، ارتباط با سایر بخشهای سیستم انبار) آماده کردهایم.
برگه های رسید موقت انباردر اینجا نحوه عملکرد آنها و تاثیری که در سایر بخشهای سیستم دارند را توضیح خواهیم داد اما با اینکه در ابتدا طرح دقیق رسیدهای موقت را ارائه کردیم و
نظر همه دستاندرکاران را در مورد آن طرح جویا شدیم، اما گفته نشد که "برگشتهای خروج" هم نیاز به رسید موقت دارند! درست زمانی
که تقریبا کار برگهها را به پایان برده بودیم و قصد داشتیم فهرستها و
ارتباط با سایر قسمتهای سیستم انبار را پیاده کنیم، مجبور شدیم عملا کار
روی برگهها را از ابتدا آغاز کنیم! به همین دلیل مطالب مربوط به برگشت و
مرجع آن در مستند ابتدایی وجود ندارند و در همینجا توضیح داده خواهند شد.
در کاربرد استاندارد، این برگهها در بین برگههای درخواست و رسید کالا
قرار میگیرند. قرار بر این است که کالاهایی که به هر دلیل به انبار وارد
میشوند، پیش از اینکه به موجودی انبار اضافه شوند، در مکان مجزایی نگهداری
(قرنطینه) شوند تا مورد بازرسی قرار گیرند. اگر در بازرسی تایید شدند، در
برگه ورود انبار به موجودی اضافه شوند و اگر رد شدند برگشت داده شوند. به
این ترتیب روال عادی کار با این برگهها شامل موارد زیر خواهد بود:
•
برگه رسید موقت برای درج کالاها و مقدار آنها تعبیه شده است. طبق معمول،
تنظیم برگه جدید و ملاحظه (اصلاح یا حذف) یکی از برگههای موجود میسر است.
•
مقدار پیشفرض سری برگههای رسید موقت در تنظیمات سیستم (برای تمام
کاربران) در یک صفحه مجزا قابل تعیین است. این صفحه برای کاربر فعلی هم در
اختیار قرار دارد. در آنجا کاربر میتواند "استفاده از پیشفرض عمومی
سیستم" را اختیار کند یا به دلخواه عدد دلخواهی را به عنوان پیشفرض سری
تعیین نماید.
• مرکز تامین و انبار در برگهها و سطرهای رسید موقت اجباری اند.
•
هر رخداد رسید موقت (سطر برگه) دارای یک "نوع رخداد" است. 6 نوع رخداد
ورود و 6 نوع رخداد برگشت خروج قابل استفادهاند. از آنجا که این برگه فاقد
محاسبات بها است، تفاوتی بین رخدادهای برگشت دوره قبل و دوره جاری در آن
وجود ندارد.
• هر سطر از برگه رسید موقت ممکن است دارای مرجع
درخواست باشد. البته بسته به تنظیم اختیارات کاربر، ممکن است ارتباط با
درخواست حالت اجباری داشته باشد. فراخوانی برگه درخواست یا فراخوانی یکباره
تعدادی رخداد درخواست هم میسر است.
• اگر سطر رسید موقت مربوط
به یک برگشت خروج باشد به صورت اختیاری ممکن است مرجع برگشت را هم بتوانیم
تعیین کنیم. این مرجع برگشت بعدا در تنظیم برگه برگشت خروج انبار مبتنی بر
این رسید موقت بکار خواهد رفت. در این مورد بعدا بیشتر توضیح خواهیم داد.
• هر رخداد رسید موقت میتواند به صورت اختیاری دارای مقدار و واحد فرعی باشد (درست همانند برگههای قبلی).
•
رخدادهای رسید موقت باید مورد بازرسی قرار گیرند. اینکار منجر به تایید
یا رد شدن کالاهای رسید موقت شده خواهد شد. کالاهای رد شده را نمیتوان
توسط برگههای انبار رسید کرد.
• امکان برگشت دادن رخدادهایی که
در بازرسی رد شدهاند در خود رسید موقت وجود دارد (برگه جداگانهای برای
برگشت رسید موقت نداریم).
• ممکن است کالایی پیش از بازرسی هم برگشت داده شود (مواردی که کالا اشتباه خریداری شده باشد یا از خرید کالا منصرف شده باشیم).
•
در برگههای انبار (از انواع ورود و برگشت خروج) یک مرجع جدید برای رسید
موقت لحاظ شده است. همانطور که مرجع درخواست در این برگهها منجر به تعیین
تکلیف درخواست میشده است، مرجع رسید موقت هم به نوعی آن رسید موقت را
تعیین تکلیف میکند. گفتیم که رسید موقت فقط در صورتی که در بازرسی تایید
شده باشد میتواند در برگه انبار به عنوان مرجع ظاهر شود. امکان فراخوانی
برگه و رخدادهای رسید موقت در برگه انبار هم پیاده شده است.
بازرسی رسیدهای موقت: بازرسی
از دید سیستم به معنی اعلام حاصل بازرسی است. این عمل با تعیین مقدار
تعدادی فیلد در رخدادهای رسید موقت انجام میشود: وضعیت بازرسی (در انتظار،
تایید شده، رد شده)، شماره و تاریخ بازرسی (درج تاریخ بازرسی اجباری است) و
شرح بازرسی. قاعدتا این فیلدها با اصلاح یکی از برگههای رسید موقت قبلی
باید در سیستم درج شوند. امکاناتی برای ساده کردن درج حاصل عملیات بازرسی
پیشبینی شده است: اعلام تایید بازرسی سطرهای انتخاب شده و اعلام رد بازرسی
سطرهای انتخاب شده (که بسیار ساده و با تعیین تاریخ، شماره و شرح بازرسی
انجام میشوند) و یک تکمه اختصاصی برای "اعلام نتیجه بازرسی سطر تحت
مکاننما".
در اعلام نتیجه بازرسی یک سطر میتوان همزمان قسمتی از
مقدار سطر را تایید و قسمت دیگری را رد کرد و قسمتی را هم به صورت در
انتظار بازرسی باقی گذاشت. این، روش ما برای پیادهسازی مکانیزم بازرسی
تدریجی کالاهایی است که در مقدارهای قابل ملاحظه رسید موقت میشوند. نتیجه
این امر ممکن است این باشد که سطر ابتدایی به دو یا سه سطر افراز شود؛ به
صورتی که در نهایت وضعیت بازرسی در هر سطر معلوم باشد.
اعلام
بازرسی رخداد رسید موقت با اصلاح مستقیم رخداد با استفاده از محاوره اصلاح
یکی از سطرهای برگه رسید موقت هم میسر است. در هر صورت، نام کاربری که
بازرسی کرده است (کاربری که نتیجه بازرسی را به سیستم اعلام کرده است) در
سیستم حفظ خواهد شد.
برگشت رسیدهای موقت: مجددا در اینجا
منظور ما "اعلام برگشت" است. گفتیم که کالاهای رد شده یا در انتظار بازرسی
قابل برگشت به تامین کنندهاند (لطفا این برگشت را با برگشت خروجهای رسید
موقت شده اشتباه نکنید). هر رخداد رسید موقت دارای یک فیلد به نام "برگشت
شده" است. همچنین فیلدهای تاریخ و شماره و شرح برگشت و همچنین نام
کاربربرگشتدهنده هم تعبیه شدهاند. برگشت رسیدهای موقت نوعی از تعیین
تکلیف آنها است (یعنی پس از برگشت، نیاز به پیگیری ندارند).
برای
اعلام برگشت میتوان رخداد رسید موقت را اصلاح کرد و فیلدهای برگشت را
تعیین نمود. تعیین تاریخ برگشت اجباری است. روش دیگر برای اعلام برگشت،
انتخاب همزمان تعدادی رخداد و استفاده از گزینه اعلام برگشت سطرهای انتخاب
شده از منوی مربوط به تکمه پرش است. در این روش کافی است تاریخ، شماره و
شرح برگشت را تعیین نمایید. این اطلاعات همزمان برای همه سطرهای انتخاب شده
منظور خواهند شد.
در صورتی که چند رخداد به صورت همزمان انتخاب
نشده باشند، گزینه پیشگفته (در منوی تکمه پرش) فقط برای سطر تحت مکاننما
عمل خواهد کرد. در این حالت میتوان مقدار برگشت داده شده را نیز تعیین
نمود و به این صورت فقط بخشی از مقدار ابتدایی رخداد را برگشت داد. به این
ترتیب ممکن است رخداد ابتدایی به دو رخداد برگشت شده و برگشت نشده (با
مقدارهای مناسب) افراز گردد. شماره، تاریخ و شرح برگشت فقط برای رخداد
افراز شده برگشت شده منظور خواهد شد.
انتقال به سال جدید: در
پایان یک سال مالی حتما تعدادی رخداد رسید موقت تعیین تکلیف نشده در سیستم
وجود دارد. اینها شامل رخدادهای بازرسی نشده – یا رد شده ولی برگشت نشده -
یا تایید شده ولی رسید نشدهاند. تعیین تکلیف این رخدادها ممکن است در سال
قبل میسر نباشد – مثلا رسید آنها باید توسط یک برگه ورود انبار در سال
جدید انجام شود که قابل اتصال به رسید موقت سال مالی قبل نیست. یک راه برای
تعیین تکلیف رسیدهای موقت، علامتگذاری آنها به عنوان "نقل شده به سال
جدید" است. با اینکار به سیستم اعلام میکنیم که این رسید موقتها دوباره
در سال مالی جدید تعریف شدهاند. البته کاربرد اصلی این مبحث در عملیات
خودکار انتقال درخواستها و رسیدهای موقت از سال قبل است که در یکی از
بخشهای بعدی توضیح داده خواهد شد.
فهرست برگههای رسید موقت: همیشه
یکی از گزارشهای استاندارد در برگههای سیستم، فهرست برگهها است. در
اینجا هم با یک فهرست کاملا استاندارد (شامل محدوده، کنترل روی بخش، انبار و
مرکز، شرایط و ترتیب) مواجهایم. وضعیت برگهها به صورت اختصاصی برای
برگههای رسید موقت طراحی شده است. چنین فرض کردهایم که کاربران با وظایف
مختلفی ممکن است از این فهرست استفاده نمایند: مسئول بازرسی کالاهای رسید
موقت شده، مسئول رسید کردن کالاهایی که در بازرسی تایید شدهاند و مسئول
برگشت دادن کالاهایی که در بازرسی رد شدهاند. با توجه به این تقسیم وظایف
حالتهای زیر در وضعیت برگهها درنظر گرفته شده است:
• تمام موارد
• فقط برگههایی که نیاز به رسید انبار دارند
• فقط برگههایی که نیاز به بازرسی دارند
• فقط برگههایی که نیاز به برگشت دارند
• فقط برگههایی که برگشت شدهاند
حالتهای
اول و آخر صرفا برای دریافت گزارش از برگهها پیشبینی شدهاند و سایر
حالتها با توجه به وظایف اشخاص طرح شدهاند. این حالتها به نوعی برگههای
تعیین تکلیف نشده را (در مراحل مختلف) مشخص میکنند. تشخیص این برگهها با
استخراج تعداد سطرها انجام میشود. فیلدهای زیر در فهرست فیلدهای گزارش
فهرست برگههای رسید موقت دیده میشوند:
• تعداد سطرهای برگه که نیاز به رسید دارند
• تعداد سطرهای برگه که نیاز به بازرسی دارند
• تعداد سطرهای برگه که نیاز به برگشت دارند
• تعداد سطرهای برگه که برگشت شدهاند
• تعداد سطرهای برگه
به
این ترتیب واضح است که مثلا برگههایی که نیاز به بازرسی دارند، برگههایی
اند که در آنها تعداد سطرهایی که نیاز به بازرسی دارند بزرگتر از صفر
باشد.
در حین ملاحظه این گزارش، امکانات استاندارد فهرست برگههای
سیستم XP تعبیه شدهاند: ملاحظه برگه تحت مکاننما؛ تنظیم برگه جدید؛ فهرست
شماره/سریهای استفاده نشده؛ شمارهگذاری مجدد برگههای علامتگذاری شده.
در فراخوانی یک برگه رسید موقت در برگه انبار از همین فهرست برگهها برای انتخاب برگه مورد نظر استفاده خواهد شد.
پیشفرض
پارامترهای فهرست برگههای رسید موقت در تنظیمات سیستم (برای کاربر فعلی) /
پیشفرض پارامترهای گزارشها / برگه (انبار) / فهرست برگهها و رخدادهای
رسید موقت قابل تعییناند.
فهرست رخدادهای رسید موقت: این هم
یکی از گزارشهای استاندارد سیستم است. در محاوره ابتدایی این گزارش بخشی
از تنظیمات مربوط به فهرست برگهها در صفحه "محدوده" دیده میشود.
پارامترهای مربوط به انبار و مرکز به صفحه "محتوی" منتقل شدهاند و در این
گزارش با توجه به فیلدهای رخدادهای رسید موقت اعمال میشود. وضعیت برگه هم
در اینجا مطرح نیست و به جای آن پارامترهایی در صفحه محتوی (با توجه به
رخدادها) داریم.
بسیاری از پارامترهای موجود در صفحه محتوی قبلا در
گزارشهای مشابه دیده شدهاند (کالا، مرکز، بچ، انبار، واحد سنجش مقدار و
انواع رخداد). به جز اینها پارامترهای مربوط به وضعیت بازرسی، وضعیت رسید،
وضعیت برگشت و انتقال به سال جدید به صورت اختصاصی برای رخدادهای رسید موقت
تعبیه شدهاند. نحوه کارکرد این پارامترها واضحاند. انواع مختلفی از
گزارشهای مناسب برای وظایف مختلف کاربران سیستم با تنظیم درست این
پارامترها بدست میآید. به جز این کاربرد گزارشگیری هم دارند.
در
حین ملاحظه این گزارش، امکان احضار برگه رسید موقت مربوط به رخداد تحت
مکاننما وجود دارد. همچنین اگر رخداد تحت مکاننما رسید شده باشد، ملاحظه
برگه رسید انبار مربوط نیز امکانپذیر است.
انتخاب مرجع رسید موقت
در برگههای انبار با استفاده از همین فهرست انجام میشود. همچنین فراخوانی
یکباره تعدادی رخداد رسید موقت در برگه انبار هم میسر است که مجددا با
همین فهرست و با انتخاب همزمان تعدادی از سطرهای آن انجام میشود.
پیشفرض
پارامترهای فهرست رخدادهای رسید موقت در تنظیمات سیستم (برای کاربر فعلی) /
پیشفرض پارامترهای گزارشها / برگه (انبار) / فهرست برگهها و رخدادهای
رسید موقت قابل تعییناند.
رسید موقت برگشت خروج: در مورد
کالاهایی که زمانی از انبار ما خارج شدهاند و حال میخواهیم آنها را به
انبار برگشت دهیم روال کار (قاعدتا) مقداری متفاوت است. این کالاها را
نمیتوانیم قرنطینه کنیم و به علاوه امکان برگشت آنها را هم نداریم. پس
قاعدتا استفاده از رسید موقت برای این رخدادها اولا بسیار نادر خواهد بود و
ثانیا صرفا برای بازرسی آنی کالای برگشت داده شده و ثبت نتیجه بازرسی در
سیستم قابل تصور است. به هر حال با هر منطقی که قرار باشد از سیستم استفاده
شود نکات اختصاصی در این مورد وجود دارد که در اینجا توضیح میدهیم.
فقط
6 نوع رخداد برگشت خروج (علاوه بر 6 نوع رخداد ورود عادی) در رخدادهای
رسید موقت قابل استفادهاند. در مقایسه با رخدادهای انبار، این رخدادها
فاقد گونههای "دوره جاری" و "دوره قبل" خواهند بود. رخدادهای برگشت به
صورت اختیاری ممکن است دارای مرجع برگشت باشند. این باید یک رخداد انبار
با نوع رخداد مناسب (معکوس نوع رخداد برگشت) باشد. اینکه این رخداد مرجع
مربوط به سال مالی جاری یا یکی از سالهای مالی قبل باشد در اینجا اهمیتی
ندارد (توجه کنید که تفاوتی بین رخدادهای رسید موقت برگشت دوره جاری و
برگشت دوره قبل وجود ندارد).
در زمانی که یک رخداد رسید موقت برگشت
به عنوان مرجع در یک رخداد انبار برگشت استفاده میشود وضعیت رخداد انبار
به میزان بسیار زیادی پیچیده میشود: یک رخداد برگشت خروج انبار به دو گونه
دوره جاری و دوره قبل قابل تنظیم است. هر رخداد به صورت اختیاری میتواند
دارای مرجع درخواست باشد و حال میتواند مرجع رسید موقت هم داشته باشد. اگر
رخداد از گونه دوره جاری باشد، به صورت اجباری باید دارای یک مرجع برگشت
هم باشد. این درحالی است که رخدادهای درخواست و رسید موقت مرجع به صورت
اختیاری میتوانند دارای مرجع برگشت باشند.
اگر رخداد رسید موقت
مرجع یک رخداد انبار برگشت دوره جاری قرار گیرد، مرجع برگشت رسید موقت (در
صورت وجود) باید با مرجع برگشت رخداد انبار یکسان باشد. اگر این مرجع مربوط
به دوره جاری نباشد خطا خواهیم داشت. همین وضعیت از قبل در مورد درخواست
هم برقرار بوده است. به همین دلیل اگر در مورد برگشت دوره جاری صحبت
میکنیم و مرجع درخواست و رسید موقت (هر دو) وجود داشته باشند، علاوه بر
اینکه رخداد درخواست باید به عنوان مرجع در رخداد رسید موقت بکار رفته
باشد، لازم است تا مرجع برگشت رخداد درخواست و رخداد رسید موقت یکسان و
مربوط به سال مالی جاری باشند و همان مرجع برگشت در رخداد انبار برگشت هم
بکار رفته باشد.
اگر رخداد انبار، برگشت دوره قبل باشد، نمیتواند
مرجع برگشت داشته باشد. به همین دلیل کنترلی روی مرجع برگشت اختیاری رخداد
رسید موقت مرجع نخواهیم داشت. از این ارتباط غیردقیق میتوان برای مستند
کردن مرجع برگشتهای دوره قبل در سیستم استفاده کرد. یعنی اگرچه رخداد
انبار برگشت دوره قبل فاقد مرجع برگشت است، اما با مراجعه به رخداد رسید
موقت میتوانیم تشخیص دهیم که مرجع برگشت چه بوده است. محدودیتهای مربوط
به ارتباط بین درخواست و رسید موقت به همان صورتی که در مورد برگشت دوره
جاری گفتیم در برگشت دوره قبل هم برقرار است. توجه کنید که از دید رخداد
رسید موقت تفاوتی بین برگشت دوره جاری و دوره قبل وجود ندارد.
تاثیر رسیدهای موقت در وضعیت درخواستهادرخواستها
نیاز به پیگیری دارند. به صورت مشخص دو پیگیری عمده مطرح است: مانده تحویل
نشده درخواستها و مانده فاکتور نشده آنها. "فاکتور نشده" بودن درخواست
مربوط به عملیات سیستم فروش است و به رسیدهای موقت ارتباطی پیدا نمیکند.
اما مانده تحویل نشده درخواستها به بحث ما مربوط است. از دو جهت میتوان
به این مانده توجه کرد: درخواستهایی که مراکز مصرف یا مراکز فروش برای
تحویل گرفتن یک کالا "از" انبار صادر میکنند و درخواستهایی که برای تامین
(خرید) کالا و تحویل دادن آن "به" انبار صادر میشوند. مورد نخست مربوط به
رخدادهای خروج است و ارتباطی با رسیدهای موقت پیدا نمیکند اما مورد دوم
کاملا تحت تاثیر رسیدهای موقت قرار میگیرد.
فرض کنید مسئول تدارکات
شرکت گزارشی از درخواستهای خرید تحویل نشده دریافت نماید تا نسبت به تهیه
آن اقلام اقدام کند. در نسخههای پیش از 405، مقدار درخواستها با مقدار
رخدادهای انبار متصل به آنها مقایسه میشوند و هر درخواستی که مقدار آن از
مقدار رسید انبارها بیشتر باشد (و خاتمه یافته نباشد) به عنوان درخواست
دارای مانده یا درخواستی که باید کماکان مورد توجه قرار گیرد تشخیص داده
میشود.
در نسخه 405 و با وجود رسیدهای موقت، کاملا ممکن است که
کالاهای مربوط به این درخواستها قبلا خریداری شده ولی به صورت "رسید موقت
شده" باقی مانده باشند. واضح است که این کالاها نباید دوباره خریداری شوند.
البته بحث، اندکی از این مفصلتر است و کمی بعدتر ادامه پیدا میکند.
تا
اینجا به یک پارامتر جدید و بسیار مهم در فهرست برگهها و رخدادهای
درخواست برخورد میکنیم: "مقادیر رخدادهای رسید موقت از مانده درخواست کسر
شوند". این پارامتر به صورت پیشفرض انتخاب شده است. در کاربردهای عادی و
مطابق روال فهرست برگهها و رخدادهای درخواست عموما باید از این پارامتر به
همین صورت استفاده شود. اما از آنجا که این فهرستها به عنوان گزارش هم
کاربرد دارند و ممکن است کاربر نیاز به گزارشی بدون تاثیر رسیدهای موقت
داشته باشد، این رفتار را پارامتریک کردهایم تا در صورت نیاز تغییر داده
شود (رسیدهای موقت در درخواستها لحاظ نشوند).
در فهرست رخدادهای
درخواست مقدار تحویل شده (رخدادهای انبار) و مقدار رسیدهای موقت متصل به هر
رخداد درخواست را به صورت جداگانه در اختیار داریم. مانده درخواست برحسب
پارامتر پیشگفته از یکی یا هر دوی این مقدارها متاثر خواهد بود. در
گزارشهای سرجمع درخواست، فیلدهای جداگانه برای تحویل شده و رسید موقت شده
نداریم. مقدار رسیدهای موقت تحت تاثیر پارامتر پیشگفته در همان مقدار
تحویل شده تاثیر داده میشوند (و از مانده کاسته میشوند).
اما چه
رسید موقتهایی باید از مانده درخواست کاسته شوند (ادامه بحث نیمهتمام
بالا)؟ مثلا اگر رسید موقت برگشت داده شده باشد، حتما نباید از مانده
درخواست کسر شود – به عبارت دیگر درخواست باز میماند و باید مجددا برای
تامین کالای آن اقدام شود. اگر رسید موقت رد شده باشد (حتی اگر هنوز برگشت
داده نشده باشد) هم نباید از مانده درخواست کسر شود. با اینکه کالای رد شده
هنوز در قرنطینه است، اما حتما هرگز به درد ما نخواهد خورد و باید دوباره
خریداری شود. اگر رسید موقت در یک برگه انبار، رسید شده باشد، مجددا نباید
از مانده درخواست کسرشود. توجه کنید که مقدار رسید موقت رسید انبار شده به
صورت مستقل و به عنوان "مقدار تحویل شده به انبار" از مانده درخواست کاسته
شده است و به همین دلیل نقش رسید موقت بودن آن به پایان رسیده است.
نتیجه
اینکه هر جا صحبت از مقدار رسیدهای موقت در فرآیندهای سیستم پیش میآید –
مثلا در کاستن مقدار رسید موقت از مانده درخواست – منظور مقدار رسید
موقتهای "رد نشده؛ برگشت نشده؛ رسید نشده" است.
تاثیر رسیدهای موقت در رخدادهای انباردر
رخدادهای انبار از انواع ورود (عادی، برگشت خروج دوره قبل، برگشت خروج
دوره جاری) میتوان مرجع رسید موقت را تعیین کرد. تعیین این مرجع بسیار
شبیه به تعیین سایر مراجع رخدادهای انبار انجام میشود – یعنی فهرست
رخدادهای رسید موقت با پارامترهای مناسب احضار میشود و سطر (رخداد) انتخاب
شده به عنوان مرجع لحاظ میشود و همزمان اطلاعات سطر انتخاب شده در
فیلدهای رخداد انبار درج میشود.
به جز این، امکان فراخوانی یک برگه
رسید موقت در یک برگه ورود انبار و نیز فراخوانی یکباره تعدادی رخداد رسید
موقت هم پیادهسازی شدهاند. در فراخوانی برگه، از فهرست برگههای رسید
موقت (با پارامترهای مناسب) برای انتخاب برگه مبداء استفاده شده است. در
فراخوانی یکباره تعدادی رخداد، از فهرست رخدادهای رسید موقت (با پارامترهای
مناسب) برای انتخاب همزمان رخدادهای رسید موقت مبداء استفاده شده است.
از
قبل، امکان فراخوانی برگه درخواست در برگه انبار در سیستم وجود داشت؛ برای
اینکه امکانات سیستم حالت یکدستتری داشته باشد امکان فراخوانی یکباره
تعدادی رخداد درخواست (با انتخاب همزمان رخدادهای مورد نظر از فهرست
رخدادهای درخواست) هم در سیستم پیادهسازی شد.
ارتباط رخداد انبار و
درخواست: یکی از تاثیرات مهم رسیدهای موقت در رخدادهای انبار تغییر رفتار
این رخدادها با مرجع درخواست است! در حال حاضر یک رخداد انبار ممکن است به
صورت همزمان به یک رخداد درخواست و یک رخداد رسید موقت مربوط باشد. در واقع
در زمان تعیین مرجع رسید موقت، اگر آن رسید موقت مربوط به یک درخواست بوده
باشد (مرجع درخواست داشته باشد) همان درخواست به عنوان مرجع در رخداد
انبار هم لحاظ خواهد شد.
به صورت معکوس، انتظار داریم که اگر مرجع
درخواست یک رخداد انبار را انتخاب میکنیم و آن درخواست از قبل رسید موقت
شده باشد، همزمان با درخواست، مرجع رسید موقت هم در رخداد انبار درج شود.
اشکال اینجا است که همه مقدار درخواست ممکن است رسید موقت نشده باشد و
مقادیر رسید موقت شده هم ممکن است به تدریج و در رخدادهای رسید موقت
متفاوتی به وقوع پیوسته باشند. مثلا یک درخواست 1000 واحدی داشتهایم که در
3 نوبت با مقادیر 100، 200 و 300 رسید موقت شده باشد (400 واحد از مقدار
درخواست اولیه هنوز رسید موقت نشده باشد). حال تصور کنید که این درخواست
1000 واحدی را به عنوان درخواست مرجع برای یک رخداد انبار انتخاب کنیم.
طبیعی است که نمیتوانیم مستقیما رسید موقت مربوط به آنرا تشخیص دهیم. درج
مقدار 1000 واحد در رخداد انبار با این درخواست مرجع هم نادرست خواهد بود
چرا که 600 واحد از این درخواست پیش از این رسید موقت شده است (در صورت درج
مقدار 1000 در این شرایط با خطا مواجه خواهیم شد: مقدار تحویل شده – 1600 –
بیش از مقدار ابتدایی درخواست خواهد شد).
در این شرایط یک محاوره
اختصاصی برای "تفکیک رخداد درخواست به رسیدهای موقت" بازنمایی خواهد شد.
این محاوره حاوی فهرستی از انواع حالتهای قابل انتخاب حاصل از تفکیک مقدار
ابتدایی رخداد درخواست خواهد بود (این محاوره دارای فرم قابل تعریف است و
در تنظیمات سیستم / پیشفرض فرمها / برگه انبار، در اختیار قرار دارد). در
مثال فوق، در سطرهای مجزایی مقادیر 100، 200 و 300 با عنوان "مقدار حاصل
از تفکیک" دیده خواهند شد. در هر مورد شماره/سری رخداد رسید موقت مربوط هم
بازنمایی خواهد شد. در سطر آخر هم مقدار 400 بدون رسید موقت دیده خواهد شد.
انتخاب سطرهای نخست منجر به تعیین همزمان درخواست و رسید موقت مرجع در
رخداد انبار خواهد شد. انتخاب آخرین سطر صرفا منجر به تعیین درخواست مرجع
خواهد شد. این همان حالتی است که در نسخه 404 و پیش از آن وجود داشته است.
در
صورتی که پس از پردازش مقدار ابتدایی درخواست فقط یک سطر در این محاوره
تشخیص داده شود، محاوره نمایش داده نخواهد شد و همان سطر (حسب مورد دارای
رسید موقت یا بدون رسید موقت) انتخاب خواهد شد. مثلا اگر همه 1000 واحد در
یک رخداد، رسید موقت شده باشد یا اگر اصلا رسید موقت نشده باشد...
در
فراخوانی برگه یا رخدادهای درخواست این تفکیک به صورت ضمنی انجام میشود و
همه سطرهای ناشی از تفکیک با مقدار و مرجعهای مناسب در برگه انبار
فراخوانده میشود. اگر مثال فوق مربوط به یک برگه درخواست فقط با یک سطر
باشد، فراخوانی آن برگه درخواست منجر به درج 4 سطر در برگه انبار خواهد شد.
بازنمایی رسیدهای موقت در سایر بخشهای سیستمدر
فهرست رخدادهای انبار و همه گزارشهایی که مبتنی بر این فهرست بدست
میآیند (ریزعملیاتهای انبار) فیلدهای تاریخ و شماره/سری رسید موقت اضافه
شدهاند. به این ترتیب همانند سایر مرجعها (درخواست، برگشت و مانند آنها)
میتوان اطلاعات رسید موقت مرجع را هم در فرمهای این گزارشها بازنمایی
کرد. فرمهای پیشفرض نوسا مربوط به فهرست رخدادهای انبار اصلاح شدهاند
ولی فرمهای پیشفرض ریزعملیات بدون تغییر ماندهاند.
رسیدهای موقت
مربوط به رخداد درخواست و رسید موقت مرجع رخداد انبار در درخت رخداد (از
دید فروش) بازنمایی میشوند. به یاد دارید که این درخت در ابتدا برای
استفاده در سیستم فروش طرح شده بود اما از آنجا که ارتباط رخدادهای انبار و
درخواست را به صورت مناسبی بازنمایی میکرد تصمیم بر این گرفته شد که برای
کاربران انبار هم در اختیار قرار داشته باشد.
با توجه به اینکه
رسیدهای موقت هم به این رخدادها مرتبط میشوند این درخت محل مناسبی برای
بازنمایی آنها خواهد بود. رسید موقت مرجع رخداد انبار حتما یک رسید موقت
تایید شده است اما رسیدهای موقت مربوط به یک درخواست به تفکیک رسیدهای موقت
تایید شده و سایر رسیدهای موقت بازنمایی میشوند. امکان احضار برگه رسید
موقت مربوط به هر رخداد رسید موقت هم وجود دارد. با توجه به اینکه درخت
رخداد (از دید فروش) میتواند حاوی رخدادهای رسید موقت باشد، امکان احضار
این درخت برای یکی از رخدادهای رسید موقت هم در سیستم پیادهسازی شده است
(در برگه رسید موقت و فهرست رخدادهای رسید موقت).
در محاوره خلاصه
اطلاعات کالا (Alt+F11)، برای کالاهای عملیاتی یک صفحه برای بازنمایی
موجودی کالا به تفکیک انبارها وجود دارد. در پانویس این صفحه سرجمع مقادیر
درخواستها و رزرو و موجودی با تاثیر آنها هم بازنمایی میشود. در همان
صفحه، مقدار رسیدهای موقت تایید شده و در انتظار بازرسی آن کالا را نیز
بازنمایی میکنیم. موجودی با احتساب درخواستها و رسیدهای موقت هم نمایش
داده میشود.
انتقال رخدادهای جاری (درخواست و رسید موقت) از سال مالی قبلدر
نسخههای قبلی، انتقال درخواستهای جاری از سال مالی قبل را داشتیم. از
آنجا که درخواستها توسط رخدادهای انبار تعیین تکلیف میشدهاند و ضمن توجه
به این نکته که رخداد انبار و درخواست مرجع آن باید هر دو در یک سال مالی
قرار داشته باشند، در انتهای یک سال مالی امکان تعیین تکلیف درخواستهای
جاری (دارای مانده تحویل نشده) وجود ندارد. لازم بود تا این درخواستها را
به اندازه مانده آنها از سال مالی قبل به سال مالی جاری انتقال دهیم. این
عمل با تنظیم خودکار تعدادی برگه و رخداد درخواست در سال مالی جاری انجام
میشد. درخواستهای سال قبل را به وضعیت "خاتمه یافته" تبدیل میکردیم تا
دیگر نیازی به پیگیری آنها وجود نداشته باشد.
در نسخه 405 و با مطرح
شده رسیدهای موقت، مشابه این انتقال باید برای این رسیدها هم انجام شوند.
یعنی از آنجا که تنظیم رسید انبار مبتنی بر یک رسید موقت سال قبل در سال
جاری میسر نیست، لازم است تا رسید موقتها به سال مالی جدید منتقل شوند.
واضح است که با رسید موقتهای تعیین تکلیف نشده سروکار داریم.
نکته
قابل توجه این است که ارتباط میان درخواستها و رسیدهای موقت باید در
انتقال به سال جدید حفظ شوند. یعنی مثلا اگر یک درخواست خرید به مقدار 1000
داریم که 800 واحد از آن رسید انبار نشده است و از این 800 واحد، 200 واحد
رسید موقت شده است (و هنوز رسید انبار نشده است) باید همزمان یک درخواست
800 واحدی و یک رسید موقت 200 واحدی به صورت متصل به همان درخواست در سال
جدید ایجاد کنیم. درخواست 1000 واحدی سال قبل در وضعیت خاتمه یافته قرار
خواهد گرفت و رسید موقت 200 واحدی به عنوان "نقل شده به سال جدید"
علامتگذاری خواهد شد.
پس برای حفظ ارتباط درخواستها و رسید
موقتهای تعیین تکلیف نشده، لازم است تا انتقال رخدادهای جاری آنها از سال
مالی قبل به صورت همزمان انجام شود. همان امکاناتی که از قبل برای درخواست
داشتیم را گسترش دادهایم و انتقال رخدادهای جاری رسید موقت از سال مالی
قبل را هم پیاده کردهایم. مجددا با تعدادی برگه رسید موقت حاوی رخدادهای
رسید موقت مواجه خواهیم بود.
رخدادهای رسید موقت، برخلاف رخدادهای
درخواست به صورت تدریجی تعیین تکلیف نمیشوند (پیش از این در مستند تعریف
ابتدایی و طرح اولیه رسیدهای موقت به صورت مفصل به این موضوع پرداختهایم).
به همین دلیل اگر یک رخداد رسید موقت از سال مالی قبل به سال مالی جاری
منتقل شود، به صورت کامل و با تمام مقدار خود ایجاد خواهد شد – برخلاف
رخدادهای درخواست که فقط مانده تحویل نشده آنها انتقال داده میشود.
تغییر رفتار: مرکز
و انبار در درخواستها حالت اختیاری دارند. مثلا ممکن است برگه درخواست،
انبار یا مرکز داشته باشد ولی سطر آن (رخداد درخواست) فاقد انبار یا مرکز
باشد. در نسخه قبلی، در انتقال درخواستها به سال جدید در این موارد، انبار
و یا مرکز برگه را برای رخدادهای درخواست ایجاد شده در سال جدید کپی
میکردیم. این کار ممکن است اتصال رسید موقتهای نقل شده (ایجاد شده) به
درخواستهای نقل شده (ایجاد شده) را با مشکل مواجه نماید.
میدانیم
که اگر رخداد درخواست دارای انبار یا مرکز باشد، رخدادهای مربوط به آن
(رخداد انبار یا رخداد رسید موقتی که آن درخواست به عنوان مرجع در آنها
بکار رفته است) هم باید همان انبار یا مرکز را داشته باشند. اما اگر رخداد
درخواست فاقد انبار یا مرکز باشد، رخدادهای مربوط به آن میتوانند انبار یا
مرکز دلخواهی داشته باشند.
تصور کنید که یک رخداد درخواست بدون
انبار در برگهای که مربوط به انبار 100 بوده است در سال قبل تنظیم شده است
و یک رسید موقت هم به آن متصل شده باشد. چون رخداد درخواست بدون انبار
بوده است، رخداد رسید موقت میتوانسته انبار دلخواهی داشته باشد و مثلا
انبار 200 برای آن انتخاب شده باشد. فرض کنید هر دو رخداد درخواست و رسید
موقت، جاری باشند (تعیین تکلیف نشده باشند) و بخواهیم آنها را از سال مالی
قبل به سال مالی جاری انتقال دهیم.
در این انتقال، مطابق رفتار نسخه
404، انبار برگه درخواست (100) به عنوان انبار رخداد درخواست (که قبلا
فاقد انبار بوده است) لحاظ خواهد شد. در ادامه میخواهیم رسید موقت مربوط
به انبار 200 را به این رخداد درخواست (که حالا دیگر مربوط به انبار 100
است) متصل کنیم که این وضعیت با خطا مواجه خواهد شد.
به همین دلیل
رفتار سیستم را تغییر دادیم و "در نسخه 405 در انتقال درخواستهای جاری از
سال مالی قبل، انبار و مرکز برگه برای رخدادهایی که فاقد انبار و یا مرکز
باشند درج نخواهد شد" – یعنی رخدادهای درخواست به همان صورت فاقد انبار یا
فاقد مرکز باقی خواهند ماند.
تاثیر در تنظیم خودکار درخواستهای خریددر
نسخههای پیش، در برگههای درخواست، امکاناتی برای "تنظیم خودکار رخدادهای
درخواست خرید" وجود داشتهاند. سیستم با بررسی موجودی کالاها با احتساب
مانده درخواستها، تشخیص میدهد که چه کالاهایی نیاز به سفارش خرید جدید
دارند و برای آنها درخواست خرید صادر میکند (در همان برگه سطرهایی با
اطلاعات مناسب درج میکند). روشهای مختلفی برای تشخیص کالاهایی که باید
مورد پردازش قرار بگیرند وجود دارد – کالاهای موجود در یک برگه درخواست
تحویل کالا از انبار / کالاهای یک مجموعه / محدودهای از کد کالاها یا
کالاهایی با کد منطبق با یک الگو.
موجودی کالاها در انبار به علاوه
مانده تحویل نشده درخواستهای ورود منهای مانده تحویل نشده درخواستهای
خروج برای هر کالا محاسبه میشوند. این موجودی با نقطه سفارش کالا مقایسه
میشود (اگر نقطه سفارش تعیین نشده باشد با حداقل موجودی مقایسه میشود و
اگر حداقل موجودی هم تعیین نشده باشد با صفر مقایسه میشود). اگر موجودی
کافی نباشد، درخواست جدید تنظیم میشود. مقدار این درخواست از بهینه سفارش
میآید. اگر بهینه سفارش تعیین نشده باشد صرفا به اندازه مقدار کسری
درخواست میشود.
این طرح به صورت کلی در نسخه جدید هم حفظ شده است.
با این تفاوت که کالاهای رسید موقت شده هم باید در محاسبات داخل شوند. با
این ایده کلی که اگر کالاهایی که کسری موجودی دارند رسید موقت شدهاند ولی
هنوز تعیین تکلیف نشدهاند نباید برای آنها درخواست خرید جدید صادر کرد.
مجددا به رسید موقتهای رد نشده برگشت نشده رسید نشده توجه میکنیم و مقدار
آنها را با مقدار موجودی کالا جمع میکنیم. واضح است که رسید موقتهای رد
شده نباید جزء موجودی بیایند (باید دوباره خریداری شوند)؛ رسید موقتهای
برگشت شده هم مستقل از اینکه وضعیت بازرسی آنها در انتظار یا رد شده باشد
نباید جزء موجودی لحاظ شوند. رسید موقتهای رسید شده هم به صورت رخدادهای
ورود انبار از قبل در موجودی لحاظ شدهاند.
اما به جز این نکته،
باید مراقب مانده تحویل نشده درخواستها هم باشیم. اگر رسید موقتهایی که
در بالا آنها را جزء موجودی دانستیم مبتنی بر درخواست بوده باشند، باید
مقدار آنها را از مانده تحویل نشده درخواستها بکاهیم. چنین تصور کنید که
دو دسته رسید موقت داریم: مبتنی بر درخواست و بدون درخواست. در محاسبات
قبلی همه آنها را جزء موجودی آوردهایم. حال باید مراقب باشیم که رسید
موقتهایی که مبتنی بر درخواست بودهاند از مانده تحویل نشده درخواست کاسته
شوند. این بخش از محاسبات دقیقا همانند پردازشی است که در فهرست رخدادهای
درخواست انجام دادیم: مقدار رسید موقتهای رد نشده برگشت نشده رسید نشدهای
که مبتنی بر درخواست بودهاند باید از مانده تحویل نشده درخواست کاسته
شوند.