عناوین فهرست
مقدمه
در این مقاله نحوه ارسال نامه در نرم افزار Processmaker را با استفاده از api های فراگستر تشریح می کنیم. به این ترتیب شما می توانید نامه ای را با موضوع و بدنه دلخواه از فرستنده به یک گیرنده مورد نظرتان ارسال کنید. برای این منظور تنها کافی است Trigger ای که تابع ارسال نامه را با مقادیر مناسب پر کنید و در قسمتی از فرایند (مثلا بعد از آخرین Task در فرایند فروش) اضافه می کنیم.
پیش نیاز
معرفی کلاس class.pmFunctions
فایل class.pmFunctions حاوی تنظیماتی است که تابع های نرم افزار Processmaker (مانند getCurrentTime که زمان جاری را بر می گرداند) را برای کاربران در بخش Trigger فراهم می سازد. به این ترتیب ما در این بخش تعریف تابع ارسال نامه را اضافه می کنیم تا امکان استفاده از این تابع در بخش Trigger های نرم افزار فراهم شود.
نحوه اضافه کردن فرایند به Processmaker
نرم افزار Processmaker این امکان را دارد که کل فرایند شامل نماد ها یا BPMN، فرم ها، تریگر های و … را در قالب یک فایل با فرمت pmx خروجی بدهد. اما این خروجی شامل کاربران تخصیص داده شده به Task ها نمی باشد یعنی کاربرانی که به Task ها اختصاص داده شده است در خروجی فرایند ذکر نمی شود.
برای اضافه کردن فرایند جدید از منوی Designer دکمه import را انتخاب می کنیم. سپس در پنجره باز شده فایل pmx را آدرس می دهیم. در پنجره بعدی از شما می پرسد که تمایل دارید فرایند اضافه شده با شناسه های جدید وارد سیستم شود یا با همان شناسه هایی که در سیستم مبدا دارد در این سیستم اضافه شود
بعد از انتخاب گزینه Save فرایند به سیستم اضافه شده و به صورت اتوماتیک، صفحه نقشه فرایند باز می شود. در ادامه باید اصلاحاتی در این فرایند انجام شود مانند تعیین ایفاکنندگان فرایند ها، اصلاح اتصال های پایگاه داده یا Database Connection ها و … .
ساخت اتصال پایگاه داده یا Database Connection به پایگاه داده اتوماسیون
- خواندن اطلاعات ازیک دیتابیس دیگر در فرآیندProcess Maker (کانال آپارات)
- جلسه ۲۲-کار با پایگاه داده در نرم افزار مدیریت فرایند
برای ساخت اتصال به پایگاه داده بعد از ورود به فرایند، از منوی سمت راست گزینه Database Connection را انتخاب می کنیم.
سپس از پنجره باز شده گزینه Create را انتخاب می کنیم.
در پنجره باز شده مقادیر لازم برای اتصال به پایگاه داده را وارد می کنیم. ابتدا نوع پایگاه داده را از Mysql به Microsoft sql server تغییر می دهیم. در بخش Server اطلاعات سرور پایگاه داده و نام Instance نصب شده را تنظیم می کنیم. در فیلد های بعدی نام پایگاه داده، نام کاربر پایگاه داده و رمز عبور آن کاربر پایگاه داده را وارد می کنید. در پایان Port اتصال را وارد می کنیم که به صورت پیشفرض 1433 می باشد
سپس گزینه Test Connection را زده و در صورتی که اطلاعات وارد شده درست باشد به پایگاه داده اتوماسیون متصل می شویم. در نهاییت از این اتصال پایگاه داده می توانید در Trigger یا در فرم های این فرایند استفاده کنید.
کپی فایل ها و اصلاح فایل class.pmFunctions
برای فعال شدن قابلیت ارسال نامه ابتدا لازم است که فایل های مربوطه را در مسیر مناسب اضافه کنید. برای این منظور ابتدا فایل Faragostar_SendLetter_ws.php را در مسیر مربوطه کپی می کنیم.
سپس در این مسیر فایل class.pmFunctions.php را پیدا کرده و این فایل را با نرم افزار ویرایش متن مانند Notepad یا wordpad باز کرده و تکته کد زیر را به انتهای این فایل اضافه می کنیم. سپس تغییرات را ذخیره کرده و فایل را می بندیم.
// ————— Faragostar —————
include ‘Faragostar_SendLetter_ws.php’;
در پایان سه فایل دیگر را در درایو C کپی می کنیم.
اضافه کردن فرایند آموزشی ارسال نامه در Processmaker
در قدم بعدی مطابق الگوی آموزش داده شده فایل pmx فرایند آموزشی ارسال نامه را در Processmaker اضافه می کنیم. برای این منظور از منوی Designer گزینه import را انتخاب می کنیم. سپس در پنجره باز شده فرایند را آدرس داده و اضافه می کنیم.
معرفی اجزای فرایند مانند فرم ها و تریگر فرایند ارسال نامه
این فرایند شامل دو فرم به نام های Before Send Letter Form که در task اول قرار داده شده است و فرم After Sending Letter Form که در task دوم قرار داده شده است می باشد.
فرم اولی شامل ویجت هایی مانند فرستنده و گیرنده نامه و دبیرخانه و فرمتی که فرستنده نامه به آن دسترسی دارد می باشد. امضای فرستنده نامه نیز در فیلد دیگر نمایش داده می شود که کاربر می تواند امضای مد نظر را انتخاب کند. فیلد های پایانی این فرم موضوع نامه و بدنه نامه است که کاربر آن ها را پر کرده و دکمه Submit را انتخاب می کند. سپس Trigger مربوطه اجرا شده و فرایند به Task دوم هدایت می شود. در Task دوم نتیجه Trigger نمایش داده می شود. در صورتی که فراخوانی با شکست مواجه شود نتیجه برگشتی نمایش داده می شود. در صورت موفقیت شماره رهگیری نامه نمایش داده می شود.
در بخش Trigger های فرایند تریگر Call Send Letter Web Service را مشاهده می کنید. قطعه کدی که وب سرویس ارسال نامه در فرایند را فراخوانی می کند در این Trigger نوشته شده است.
در این قسمت لازم است که نام کابری و رمز عبور در متغیرهای username و password وارد شود. این کاربر به عنوان ایجاد کننده نامه در سیستم ثبت می شود. پیشنهاد میشود ایجاد کننده و فرستنده نامه یک کاربر ثابت باشد و دسترسی های لازم منجمله دسترسی به دبیرخانه و امضا و امکان ارسال نامه به تمام سازمان به این فرد داده شود. در متغیر automation_url مقدار آدرس اتوماسیون وارد میشود. بقیه مقادیر از فرم وارد شده و در این قسمت این مقادیر به متغیرهای مربوطه کپی میشود.
بعد از فراخوانی تابع ارسال نامه، مقدار برگشتی بررسی می شود و در صورتیکه ارسال نامه موفقیت آمیز بود متغیر Status با True و در غیر این صورت با False پر میشود و همچنین نتیجه برگشتی در متغیر ReturnResult پر میشود.
در پایان لازم است اتصال پایگاه داده که در بخش Database Connection وارد شده است با مقادیر مناسب پر شود. پیشنهاد میشود که مقادیر موجود در بخش Database Connection اصلاح شود. برای این منظور مطابق توضیحات داده شده از بخش بالا ابتدا مقادیر مرتبط با پایگاه داده اتوماسیون را وارد میکنیم. سپس روی گزینه test connection کلیک کرده و در صورتیکه مقادیر به درستی وارد شده باشد به پایگاه داده اتوماسیون متصل میشود.
در قدم بعدی لازم است فرم Before Send Letter Form بررسی شده و روی ویجت های Dropdown کلیک کرده و بررسی فرمایید از منوی سمت چپ بخش DB Connection با مقدار Database Connection مربوطه پر شود.
اصلاح یا تکمیل اطلاعات فرایند و آماده کردن فرایند برای اجرا
بعد از بررسی بخش های مختلف فرایند، برای تکمیل اطلاعات هر کدام از Task های فرایند را به کاربر مربوطه اختصاص می دهیم.
اجرای فرایند
برای اجرای فرایند هم این امکان وجود دارد که از کارتابل کابر تخصیص داده شده اقدام کرد هم در صورتی که به کاربر مدیر سیستم در Processmaker اختصاص داده شود می توان از سربرگ Home فرایند جدید را ایجاد و اجرا کرد.
سپس روی گزینه Submit کلیک می کنیم. در قدم بعدی فرایند به Task بعدی هدایت شده و کار در کارتابل کسی که Task به او تخصیص شده است می رود. در صورتی که این کاربر مدیر سیستم Processmaker باشد از همین صفحه از بخش inbox فرم بعدی را باز می کنیم.
در صورتی که ارسال نامه با موفقیت انجام شود پیامی مشابه تصویر را مشاهده خواهید کرد. دقت کنید که رهگیری نامه نیز در تصویر نمایش داده شده است.
در صورتی که ارسال نامه با خطا مواجه شود در این فرم پیغام مرتبط و مقدار برگشتی نمایش داده می شود.
معرفی خطا های احتمالی
- در صورتی که هیچ مقداری در ویجت های فرم Before Send Letter Form نمایش داده نمی شود Database Connection را بررسی کنید. شما باید حتما قبل از اجرای فرایند Database Connection را مقدار دهی کرده و تست کنید که به درستی به پایگاه داده اتوماسیون متصل شود. همچنین باید Database Connection مربوطه در تمام ویجت های فرم Before Send Letter Form در بخش DB Connection انتخاب شده باشد.
- اگر در تریگر آدرس اتوماسیون یا نام کاربری و رمز عبور را اشتباه وارد کرده باشید فراخوانی تابع ارسال نامه با خطا مواجه می شود.
در پایان نمونه سورس کامل پروژه در قالب فایل rar برای دانلود قرار داده شده است.