همانطور که می دانید یکی از مشخصات هر کار در سیستم مدیریت فرایندها، شرح کار است که در هنگام ایجاد کار جدید، تعیین می گردد. در نسخه های قبلی سیستم مدیریت فرایندها، شرح کار پس از ایجاد، ثابت و غیرقابل تغییر بود و کاربران در مواردی که نیاز به ویرایش و تغییر شرح کار داشتند با مشکل روبرو می شدند اما از نسخه 15.28 این امکان در سیستم پیاده سازی شده است. در اینجا این سوال پیش می آید که اساسا چه نیازی به ویرایش شرح کار وجود دارد و در چه شرایطی کاربران لازم می بینند که شرح کار را تغییر دهند؟ برای درک این موضوع ابتدا باید ببینیم معمولا محتوای شرح کار از چه داده هایی تشکیل می شود.
محتوای شرح کار
با توجه به تعدد و تنوع بسیار در گردش کارها، انتخاب محتوای شرح کار کاملا سلیقه ای است و بطور کلی نمی توانیم الگوی مشابهی را برای انواع گردش کارها تدوین و رعایت کنیم. اما آنچه که مسلم است این است که یک شرح کار خوب و مناسب باید شامل یکی از فیلدهای اصلی کار باشد به نحوی که با یک نگاه به شرح کار بتوانیم وجه تمایز آن کار با کارهای دیگر را متوجه شویم. برای مثال:
- در گردش کار تامین کالاها، نام یا کد کالایی که خریداری می شود اصلی ترین فیلد است. بنابراین بسیار مناسب است که نام کالا در شرح کار ذکر شود.
- در گردش کار مکاتبات اداری، نام سازمان مقصد، اصلی ترین فیلد کار است و لذا شرح کارهای مکاتبات اداری می تواند شامل نام "سازمان مقصد" باشد.
- در گردش کار ارجاع و پیگیری کارها، بخشی از کارها مربوط به اصلاح فاکتورهاست ولذا "نام مشتری" در شرح کار وارد می شود.
حال در مواردی ممکن است شرح کار نیاز به تغییر داشته باشد، برای مثال:
- در گردش کار تامین کالاها، در مرحله ای از کار بنا به هر دلیل کالاهای خریداری شده تغییر می کند. مثلا فرض کنید ابتدا قرار است فر گازی توکار خریداری شود اما در حین خرید، تصمیم عوض می شود و قرار می شود مایکروفر خریداری شود.
- در گردش کار مکاتبات اداری، در حین کار مشخص می شود که نام سازمان مقصد نامه باید تغییر کند.
- در گردش کار ارجاع و پیگیری کارها، پس از ایجاد کار برای اصلاح یک فاکتور، تصمیم می گیریم بجای کد فاکتور، می شویم که کد فاکتور به اشتباه وارد شده است. در این صورت باید راهی برای اصلاح شرح کار داشته باشیم.
نتیجه: از مثالهای فوق می توانیم نتیجه بگیریم که سه عامل اصلی، ضرورت اصلاح شرح کار را ایجاب می کند: 1- تغییر داده های کار در حین کار 2- اصلاح اشتباه در ثبت داده های کار در شرح کار 3- تغییر الگوی شرح کار
ویرایش شرح کار با عملیات خاص
از آنجایی که ویرایش شرح کار، مستقل از وضعیت است بنابراین بهتر است برای این کار، یک عملیات خاص تعریف کنیم. به این ترتیب کاربران در هر مرحله از کار می توانند در صورت لزوم، شرح کار را ویرایش کنند. برای این کار باید:
- یک گروه پارامتر با عنوان "شرح کار" تعریف کنید که شامل فیلدی بنام شرح جدید (NewDesc) باشد:
- در برنامه گردش کار، یک تابع عملیات خاص برای تغییر شرح کار بنویسید. این تابع به شکل زیر است:
function WorkActionEditDescription(n, p) {
WorkState.WorkDesc=p.NewDesc;
}
همانطور که ملاحظه می کنید، یک ویژگی جدید بنام WorkDesc (شرح کار) به موجود WorkState اضافه شده که قابل ویرایش است و لذا در این تابع، مقدار شرح کار برابر با پارامتر شرح جدید کار (NewDesc) تعیین می شود.
- یک عملیات خاص بنام "ویرایش شرح کار" ایجاد کنید. این عملیات خاص از نوع "اجرای کار" و با روش اجرای مستقیم تابع و با گروه پارامتر "شرح کار" است:
- دسترسی کاربران مورد نظر به این عملیات خاص را مجاز کنید.
حال با استفاده از این عملیات خاص، می توانید در هر مرحله از کار، شرح جدید مورد نظر خود را در محاوره پارامتر وارد کرده و شرح کار را تغییر دهید. لازم به توضیح است که برای این کار می توانید از یک توع دیگر عملیات خاص از نوع ویرایش فرم عمومی نیز استفاده کنید. برای این کار باید یک فیلد با نام شرح جدید کار تعریف کنید و این فیلد را در فرم عمومی قرار بدهید.
سوال چالشی: به نظر شما روش استفاده از گروه پارامتر بهتر است یا استفاده از روش ویرایش فرم عمومی؟ مزایا و معایب هر روش چیست؟