طراحی گردش تأیید سند و نسخهبندی مراحل
مسیر تأیید را با نقش، بازهٔ مبلغ، زمان پاسخ و نسخهبندی تعریف کنید و تصمیمهای منتظر را در کارتابل پیگیری کنید.
طراح گردش کار در /panel/erp/workflow برای تعریف مسیر تأیید سندهای عملیاتی است؛ مثلاً درخواست خرید ابتدا به مدیر واحد برسد و بعد از تأیید او به مسئول مالی. این صفحه تعریف گردشها و کارتابل تصمیمهای منتظر را کنار هم نشان میدهد. تعریف گردش روی سندهای بعدی اثر میگذارد؛ کارتابل برای تصمیمگیری دربارهٔ نمونههایی است که قبلاً وارد فرایند شدهاند.
این ابزار را با استودیوی اتوماسیون اشتباه نگیرید. گردش کار برای ثبت تأیید یا رد یک سند و نگهداری مسئول هر تصمیم است؛ استودیوی اتوماسیون برای قانونهای رویدادمحوری است که میتوانند اقدامهایی مثل اعلان را اجرا کنند. گردش کار فقط برای ترکیب ماژول و نوع سندی اجرا میشود که در خود سامانه پشتیبانی شده باشد. پیش از اتکا به آن در خرید یا پرداخت واقعی، مسیر را با سند مجاز و کممبلغ امتحان کنید و از ثبت نتیجه در خود سند مطمئن شوید.
نمای کلی و کارتابل تصمیمها
میزکار، شمار گردشهای فعال و پیشنویس، تأییدهای منتظر و تأییدهای گذشته از موعد را نشان میدهد. فهرست گردشها کد، نام، ماژول، نوع سند، نسخه، وضعیت فعال یا پیشنویس، تعداد اجرا و مرحلهها را کنار هم میآورد. جدول کارتابل سند، نوع سند، نام گردش، مرحله، مسئول و موعد را نشان میدهد. اگر کارتابل خالی است، این بهتنهایی ثابت نمیکند گردش تنظیم نشده: ممکن است هنوز سندی ارسال نشده باشد یا کار به شخص دیگری رسیده باشد.
برای باز کردن یک کار، ابتدا ردیف را با شماره یا عنوان سند در ماژول مربوط پیدا کنید و همان سند را باز کنید. نام مرحله به شما میگوید چه تصمیمی مانده؛ نام مسئول نشان میدهد چه کسی باید اقدام کند. موعد را با زمان ساخت کار مقایسه کنید. زمان پاسخ بر حسب دقیقه به زمان فعلی اضافه میشود؛ کد آن را با تقویم ساعات کاری یا تعطیلات تطبیق نمیدهد. اگر مجوز دیدن کارتابل را دارید اما موردی نمیبینید، نوع سند، ماژول، مالک سند و مسئول تخصیصیافته را بررسی کنید. تأیید یک ردیف فقط روی همان نمونه اثر دارد و تعریف گردشهای بعدی را تغییر نمیدهد.
ساخت پیشنویس گردش
- «گردش جدید» را انتخاب کنید و کد و نام یکتا و قابل تشخیص بدهید. کد در ارجاع داخلی به کار میرود؛ نام برای مدیران و تأییدکنندهها قابل فهم باشد.
- ماژول و نوع سند را از فهرست موجود انتخاب کنید. نمونه میتواند سند خرید در ماژول procurement باشد. تنها ترکیبی را انتخاب کنید که در فهرست پشتیبانی میشود.
- کادر شرط شروع پیشرفته در صفحه وجود دارد و JSON را در تعریف گردش ذخیره میکند؛ اما مسیر اجرای فعلی برای پیدا کردن گردش، این شرط را بررسی نمیکند. بنابراین این کادر را مبنای محدودسازی یا کنترل دسترسی قرار ندهید. گردش فعال فعلاً با تطبیق ماژول و نوع سند انتخاب میشود. اگر محدودیت مبلغ میخواهید از حداقل و حداکثر هر مرحله استفاده کنید و نتیجه را آزمایش کنید.
- دستکم یک مرحله بسازید. ترتیب مراحل از شمارهٔ sequence میآید؛ با پیکان بالا/پایین آن را جابهجا کنید. پس از حذف یک مرحله، شمارهها دوباره مرتب میشوند.
- برای هر مرحله نام و نوع تصمیمگیر را تعیین کنید. انتخاب نقش، کاربر، مدیر یا مالک سند رفتار متفاوتی دارد؛ گیرنده را بر پایهٔ ساختار سازمانی و مسئولیت همان سند انتخاب کنید.
- حداقل و حداکثر مبلغ برای همان مرحله است. اگر مبلغ سند بیرون از بازه باشد، برای آن مرحله کار تأیید ساخته نمیشود. سامانه همهٔ مرحلههای دارای یک شمارهٔ ترتیب را بررسی میکند؛ بازههای مرحلههای همشماره را طوری بچینید که برای مبلغ هدف دستکم یک تأییدکننده ایجاد شود. دو بازهٔ ناخواستهٔ همپوشان ممکن است دو کار در همان مرحله بسازند. حداقل بزرگتر از حداکثر قابل انتشار نیست.
- زمان پاسخ (دقیقه) را با فوریت کار تنظیم کنید. مقدار آغازین صفحه ۱۴۴۰ دقیقه، یعنی ۲۴ ساعت تقویمی است؛ موعد از زمان ایجاد کار محاسبه میشود و منطق مشاهدهشده ساعات کاری، تعطیلات یا ارجاع خودکار را کم نمیکند. در حداقل یک سند آزمایشی مطمئن شوید موعدی که در کارتابل میبینید با انتظار شما جور است.
- فیلد گروه موازی در فرم ذخیره میشود و در مرتبسازی و نمایش مرحلهها نقش دارد؛ ولی منطق ساخت و تکمیل کارها بر اساس شمارهٔ ترتیب (sequence) است. تمام کارهای ساختهشده در یک شمارهٔ ترتیب باید تأیید شوند تا گردش به شمارهٔ بعد برسد. گروههای موازی را راهی برای تعیین ترتیب یا شرط پایان فرض نکنید.
- اجازهٔ تأیید توسط ایجادکننده بهطور پیشفرض خاموش است. آن را فقط اگر سیاست کنترل داخلی اجازه میدهد روشن کنید؛ در تأیید مالی یا خرید معمولاً جدا بودن درخواستدهنده و تأییدکننده مهم است.
- گزینهٔ مسئول پیگیری یک نقش را در تعریف نگه میدارد؛ در مسیر فعلی رسیدگی، با گذشت موعد، کار خودکار به آن نقش منتقل نمیشود. برای تعیین مسئول جایگزین روی ارجاع خودکار حساب نکنید؛ کارتابل و فرایند داخلی سازمان را جداگانه پیگیری کنید.
چه کسی تأییدکننده میشود؟
نوع تصمیمگیر را با نحوهٔ تخصیص واقعی تطبیق دهید:
- نقش: کار به اعضای فعال آن نقش میرسد. نقش باید عضو فعال داشته باشد؛ نقش خالی یا غیرفعال هنگام ساخت کار باعث خطا میشود.
- کاربر مشخص: کار به همان کاربر فعال میرسد. اگر کاربر غیرفعال یا نامعتبر باشد، نمیتوان به ایجاد کار تکیه کرد.
- مدیر واحد سند: سیستم مدیر ثبتشده برای مالک سند را پیدا میکند. اگر برای مالک مدیر معتبر تعریف نشده باشد، کار ایجاد نمیشود.
- مالک سند: خود مالک بهعنوان مسئول مرحله انتخاب میشود. اما اگر اجازهٔ خودتأییدی خاموش باشد، همان مالک نمیتواند این مرحله را تأیید کند؛ چنین ترکیبی گردش را در بنبست میگذارد.
خاموش بودن اجازهٔ تأیید توسط ایجادکننده باعث میشود سازندهٔ سند نتواند همان سند را در آن مرحله تأیید کند. برای کنترل دو نفره، مرحله را به نقش یا مدیر جداگانه بدهید و پیش از انتشار با سندی که سازندهاش عضو همان نقش است، این محدودیت را هم آزمایش کنید. مدیر کل یا مالک سامانه ممکن است طبق مجوز مدیریتی بتواند اقدام کند، اما این امکان را جایگزین طراحی مسئولیتها نکنید.
ذخیره، انتشار و نسخهبندی
«ذخیرهٔ پیشنویس» تعریف و مرحلهها را نگه میدارد اما آن را برای سندهای جدید فعال نمیکند. هنگام انتشار، سامانه بررسی میکند گردش دستکم یک مرحله داشته باشد، شمارهٔ مرحلهها از ۱ شروع شود و پشت سر هم باشند، نوع تصمیمگیر نقش یا کاربر ضروریاش را داشته باشد، بازهٔ مبلغ معتبر باشد و زمان پاسخ مثبت باشد. شمارهٔ ترتیب را پیوسته بگذارید؛ مثلاً ۱ و ۲ معتبر است، اما ۱ و ۳ قابل انتشار نیست.
«ذخیره و انتشار» گردش را فعال میکند. برای سند پیشنویس یا ردشدهای که بعداً ارسال میشود، سامانه گردش فعالِ همماژول و همنوع را با بالاترین شمارهٔ نسخه پیدا میکند. شرط شروع پیشرفته در این انتخاب لحاظ نمیشود. اگر هیچ گردش سازگاری پیدا نشود، سند به وضعیت ارسالشده میرود اما نمونهٔ گردش و کار تأیید ساخته نمیشود؛ پس پیش از استفادهٔ واقعی، کارتابل و رویدادهای سند را بررسی کنید تا متوجه شوید واقعاً گردش شروع شده است.
نسخهٔ فعال مستقیماً قابل ویرایش نیست. برای تغییر از نسخهٔ جدید استفاده کنید، مرحلهها را بازبینی و منتشر کنید. انتشار نسخهٔ جدید، کارهای نمونههای در حال اجرا را به مسیر تازه منتقل نمیکند؛ نمونههای قبلی با نسخهای که با آن شروع شدهاند ادامه مییابند. اگر مسیر قبلی دیگر نباید برای اسناد بعدی استفاده شود، نسخهٔ فعال را غیرفعال کنید؛ غیرفعالسازی بهتنهایی کارهای منتظر را حذف یا تعیینتکلیف نمیکند.
اگر گردش را غیرفعال کنید، دیگر برای اسناد جدید انتخاب نمیشود؛ این کار لزوماً نمونههای در حال اجرا را حذف یا متوقف نمیکند. پیش از غیرفعالسازی بررسی کنید سندهای موجود در کارتابل چه مرحلهای دارند و مسئول جایگزین برایشان مشخص شده است.
تصمیم در کارتابل تأیید
برای هر تأیید، سند و نوع، گردش، مرحله، شخص/نقش مسئول و موعد را بخوانید و خود سند اصلی را باز کنید. تأیید یعنی پذیرش همین سند در همین مرحله؛ اگر مبلغ، طرف حساب، پیوست یا نسخه تغییر کرده، پیش از اقدام نسخهٔ جاری را تطبیق دهید. رد یا بازگرداندن سند باید طبق توضیح ثبتشده و فرایند کسبوکار انجام شود؛ تأیید نکنید تا فقط شمارنده کم شود.
در هر مرحله، سند و مبلغ فعلی، پیوستها، گردش، نام مرحله، مسئول و موعد را بخوانید. سپس سند اصلی را باز کنید و اطلاعاتی را که مبنای تصمیم شماست با آخرین نسخه تطبیق دهید. اگر همه چیز درست است، تأیید را ثبت کنید. اگر رد میکنید، دلیل روشن و قابل پیگیری بنویسید؛ دلیل رد اجباری است و کارهای تأیید منتظر دیگر همان گردش لغو میشوند. رد کردن مرحله سند را به وضعیت ردشده میبرد. وضعیت سند و سابقهٔ رویداد را بعد از تصمیم بررسی کنید.
فقط یک کار را برای خالیکردن کارتابل تأیید نکنید. اگر مبلغ یا پیوست تغییر کرده، تا روشن شدن نسخهٔ مبنا تصمیم نگیرید. اگر کار دیر شده، موعد، مسئول درجشده و مدیر یا نقش عملیاتی سازمان را بررسی کنید؛ مقدار «مسئول پیگیری» در این گردش خودکار ارجاع را انجام نمیدهد. برای اصلاح تخصیصهای آینده، نسخهٔ جدید منتشر کنید؛ این تغییر کارهای جاری را بازنویسی نمیکند.
مثال: درخواست خرید با دو سطح مبلغ
فرض کنید همهٔ درخواستها باید مدیر واحد را ببینند و درخواستهای بالاتر از ۵۰ میلیون تومان باید بعد از او به مالی بروند. یک گردش برای ماژول و نوع دقیق سند خرید میسازید. مرحلهٔ شمارهٔ ۱ را به مدیر واحد یا نقش تأییدکنندهٔ واحد میدهید و برای این مرحله محدودیت مبلغ نمیگذارید. مرحلهٔ شمارهٔ ۲ را به نقش مالی میدهید و حداقل مبلغش را ۵۰ میلیون و یک ریال میگذارید. با این چیدمان مرحلهٔ دوم برای مبلغ پایینتر کار نمیسازد و پس از تأیید مرحلهٔ اول، برای مبلغ بزرگتر کار مالی ساخته میشود.
حالا پیشنویس را منتشر نکنید تا سه آزمایش انجام دهید: درخواست کممبلغ باید فقط کار مرحلهٔ ۱ را بگیرد؛ درخواست پرمبلغ باید پس از تأیید مدیر، کار مرحلهٔ ۲ را بسازد؛ و اگر مدیر درخواستکننده خودش عضو نقش مدیران است، نباید بتواند در حالت خودتأییدی خاموش آن را تأیید کند. در هر سه مورد وضعیت سند و کارتابل را بخوانید. اگر برای درخواست پرمبلغ کار مرحلهٔ ۲ ساخته نشد، بازهٔ مبلغ، شمارهٔ ترتیب و فعال بودن عضو نقش مالی را بررسی کنید. این آزمایشها را فقط در محیط و با سند مجاز انجام دهید. نتیجهٔ عملیات روزمرهٔ خرید را در میزکار تأمین و خرید پیگیری کنید.
خطاها و مسیر تشخیص
- ذخیره پیام کد، نام یا نوع سند لازم میدهد: سه فیلد اصلی را تکمیل و نوع سند را از فهرست انتخاب کنید.
- شرط شروع نامعتبر است: JSON را از نظر کوتیشن، آکولاد و نوع مقدار بررسی کنید؛ کامای اضافه یا متن غیر JSON پذیرفته نمیشود.
- گردش مرحله ندارد: دستکم یک مرحله ایجاد کنید؛ ترتیبدهی خالی قابل انتشار نیست.
- انتشار میگوید شمارهٔ مرحلهها پیوسته نیست: شمارهها باید از ۱ شروع شوند و هیچ عددی جا نیفتاده باشد. دو مرحلهٔ اول را ۱ و ۲ بگذارید.
- برای نقش یا مدیر، تأییدکنندهای پیدا نمیشود: اعضای فعال نقش را بررسی کنید؛ برای نوع مدیر، مدیر ثبتشدهٔ مالک سند را کنترل کنید. اگر مالک سند انتخاب شده و خودتأییدی خاموش است، یک تأییدکنندهٔ دیگر تعیین کنید.
- سند ارسال شده اما تأییدی در کارتابل نیست: وضعیت «ارسالشده» میتواند یعنی گردش فعالی با ترکیب دقیق ماژول و نوع سند پیدا نشده است. گردش فعال، نوع نوشتهشده در سند و رویدادهای آن را کنار هم بررسی کنید.
- مرحلهٔ مبلغی اجرا نشد: حداقل/حداکثر فقط برای همان مرحله اعمال میشود. مبلغ سند باید داخل بازه باشد و دستکم یکی از مرحلههای همان شمارهٔ ترتیب باید کار قابل تخصیص بسازد.
- مرحلهٔ بعد باز نمیشود: همهٔ کارهای ساختهشده در شمارهٔ ترتیب جاری باید تأیید شده باشند. عدد گروه موازی این شرط را عوض نمیکند.
- پس از موعد کسی خودکار مطلع یا مسئول نشد: کادر مسئول پیگیری تنظیم اتوماتیک ارجاع نمیکند و SLA نیز فقط موعد میسازد. کار را از مسیر عملیاتی سازمان پیگیری کنید.
- شرط شروع تغییری در انتخاب گردش نداد: شرط JSON ذخیره میشود، اما انتخاب فعلی بر اساس ماژول و نوع سند است. برای محدودیت مؤثر فعلاً روی این کادر حساب نکنید.
- نسخه فعال ویرایش نمیشود: رفتار عمدی نسخهبندی است؛ نسخهٔ جدید بسازید تا تعریف مورد استفادهٔ اجراهای جاری بیصدا عوض نشود.
- تأیید به کاربر اشتباه رسیده: نوع approver، نقش، محدوده و امکان یافتن مدیر/مالک سند را در نسخهٔ فعال بررسی کنید. تغییر تعریف را با نسخهٔ تازه انجام دهید.
- سند وارد گردش نشد: نوع سند، ماژول، شرط آغاز و فعال بودن آخرین نسخه را با سند تطبیق دهید. اگر سند پیشتر ساخته شده، انتشار نسخهٔ تازه ممکن است فقط روی سندهای جدید اثر کند.
- تأیید عقبافتاده است: موعد و کارتابل مسئول را بررسی کنید؛ تنظیم SLA بهتنهایی تأیید را انجام نمیدهد.
برای کارهای زمانبندیشده یا اعلان و بهروزرسانی منبع، استودیوی اتوماسیون را بخوانید. برای مدل نقشها و دامنهٔ دسترسی، راهنمای نقش و دسترسی امن مسیر پایه را توضیح میدهد.