اکشن نینتکس State Machine

اکشن State Machine یک اکشن بسیار کاربردی در Nintex Workflow  می باشد. این اکشن نه تنها یک اکشن بسیار کاربردی در Nintex Workflow  می باشد بلکه در بحث نگهداری WorkFlow نیز بسیار دارای اهمیت می باشد.

ممکن است منطق Workflow شما به گونه ای باشد که نیاز داشته باشید در حالت های مختلف در وضعیت های مختلف قرارگیرید. برای واضح تر شدن بهتر است این اکشن را با یک مثال واقعی پیش ببریم.

مسئله:

فرض کنید من یه درخواست ترخیص کالا از انبار را دارم که نیاز به 3 سطح تایید دارد و فرایند به این گونه است که اگر نفر اول رد کرد باید فرایند خاتمه یابد و اگر نفر اول تایید کرد اونوقت باید برای تایید نفر دوم ارسال گردد که اگر نفر دوم رد کرد باید به نفر اول بازگردد و اگر نفر دوم تایید کرد برای تایید نفر سوم برود و درصورتی که نفر سوم تایید کرد کالا از انبار ترخیص گردد و پایان فرایند باشد و اگر نفر سوم رد کند هم به نفر دوم مجدد ارسال گردد.

 

راه حل:

ابتدا یک Workflow جدید ایجاد می کنیم و اکشن State Machine را قرار میدهیم.

 

 

 

به طور پیش فرض این اکشن دوتا State به نام های State1 و State2 دارد. توجه داشته باشید که اکشن State Machine باید حداقل دارای دوتا State  باشد.

 

 

 

 

 

 

 

برای حل مسئله باید سه وضعیت تعریف کنیم که این وضعیت ها را در State Machine تعریف کرده و شروع این اکشن را با وضعیت "سطح اول تایید" قرار میدهیم.

 

 

 

بعد از آن باید شاخه اول را مطابق شکل بالا ایجاد کرد که ابتدا یک اکشن Request Approval قرار میدهیم که اگر فرد تایید کرد اونوقت باید برای فرد دوم ارسال گردد که یک اکشن Change State قرار میدهیم و سطح دوم را انتخاب می کنیم. و اگر هم رد کرد ابتدا یک ایمیل مبنی بر رد درخواست ارسال میگردد و سپس یک اکشن Change State قرار داده و گزینه End State Machine را انتخاب میکنیم.

مطابق حالت اول که توضیح داده شد شاخه های دیگر را نیز مطابق شکل بالا کانفیگ میکنیم.