07
مه
در هسته هر نرمافزار مدیریت ارتباط با مشتری، منطقی نهفته است که تعیین میکند دادهها چگونه باید وارد شوند، پردازش گردند و در نهایت به چه شکلی در اختیار کاربران قرار بگیرند. در داینامیکس ۳۶۵، قوانین تجاری ابزاری هستند که این منطق را به شکلی ساده و کاربرپسند در اختیار مدیران سیستم و حتی کاربران قدرتمند قرار میدهند. به زبان ساده، یک قانون تجاری مجموعهای از شرایط و اقدامات است که روی یک فرم (مانند فرم ثبت فرصت فروش یا مخاطب) اعمال میشود. این قانون دائماً در حال نظارت بر رفتار کاربر و مقادیر وارد شده در فیلدهای مختلف است و وقتی شرایط تعریف شده برقرار شود، به طور خودکار اقدام مشخصی را انجام میدهد. تصور کنید در حال پر کردن فرم ثبت سفارش هستید، قانون تجاری مانند یک دستیار هوشمند در پشت صحنه عمل کرده و با مخفی کردن گزینههای غیرمرتبط یا نمایش هشدارهای لازم، شما را در مسیر درست راهنمایی میکند. این ابزار قدرتمند به شما اطمینان میدهد که فرآیندهای تجاری شما بدون توجه به اینکه چه کسی در حال وارد کردن داده است، به شکلی یکسان و دقیق اجرا شوند و از ورود اطلاعات ناقص یا اشتباه به سیستم جلوگیری به عمل آید .
برای درک عمیقتر قوانین تجاری، لازم است با دو جزء اصلی آن یعنی «شرط» و «اقدام» آشنا شوید. شرط (Condition) همان “اگر” ماجرا است. شما تعیین میکنید که اگر یک فیلد دارای مقدار مشخصی بود یا اگر یک شرط منطقی خاصی (مثلاً بزرگتر بودن یک عدد از هزار) برقرار شد، آنگاه سیستم وارد عمل شود. به عنوان مثال، شرط میتواند این باشد: “اگر مقدار فیلد کشور برابر با ایران باشد”. اقدام (Action) نیز همان “آنگاه” ماجرا است و مشخص میکند که سیستم در صورت برقرار بودن شرط، چه عکسالعملی نشان دهد. اقدامات میتوانند بسیار متنوع باشند؛ از تنظیم یک مقدار پیشفرض برای یک فیلد دیگر، نمایش یک پیام خطای خوشآب و رنگ، اجباری کردن یک فیلد خاص، یا حتی مخفی کردن یک فیلد یا بخشی از فرم. ترکیب این دو جزء به شما امکان میدهد سناریوهای پیچیدهای را خلق کنید. به عنوان مثال، میتوانید قانونی بسازید که اگر کاربر در فیلد روش پرداخت، گزینه “نسیه” را انتخاب کرد، آنگاه فیلد “سقف اعتبار” را به صورت اجباری درآورده و یک پیام هشدار در پایین فرم نمایش دهد که “تأیید اعتبار مشتری الزامی است”. اینگونه است که فرمهای ایستا و ساده، به فرمهایی پویا و هوشمند تبدیل میشوند .
قوانین تجاری در داینامیکس ۳۶۵ عمدتاً برای اعمال روی فرمهای اصلی (Main Forms) و فرمهای ایجاد سریع (Quick Create Forms) طراحی شدهاند. این بدان معناست که شما میتوانید منطق تجاری خود را هم در صفحهای که کاربران زمان زیادی را برای مشاهده و ویرایش جزئیات یک رکورد در آن صرف میکنند (فرم اصلی) پیادهسازی کنید و هم در پنجرههای کوچکی که برای ثبت سریع و بدون دردسر یک رکورد جدید ظاهر میشوند (فرم ایجاد سریع). نکته مهم این است که قوانین تجاری روی فرمهای نمایش سریع (Quick View Forms) که فقط جنبه نمایشی دارند و یا فرمهای کارت (Card Forms) که در داشبوردها استفاده میشوند، کاربردی ندارند. همچنین، هر قانون تجاری به یک موجودیت (Entity) خاص مانند “مخاطب”، “شرکت” یا “فرصت فروش” متصل میشود. هنگامی که قانونی را برای یک موجودیت میسازید، میتوانید تعیین کنید که این قانون روی تمام فرمهای آن موجودیت اعمال شود یا فقط فرمهای خاصی را هدف قرار دهد. این سطح از کنترل به شما اجازه میدهد برای نقشهای مختلف کاربری که از فرمهای متفاوتی استفاده میکنند، قوانین جداگانه و متناسب با وظایفشان طراحی کنید .
مایکروسافت داینامیکس ۳۶۵ برای ساخت قوانین تجاری، یک ویرایشگر گرافیکی و بسیار بصری در اختیار شما قرار داده است که کار را برای افراد غیرفنی به شدت ساده میکند. برای دسترسی به این ویرایشگر، کافی است وارد بخش سفارشیسازی (Customization) شوید، موجودیت مورد نظر خود را پیدا کنید و سپس برگه “قوانین تجاری” (Business Rules) را انتخاب نمایید. با کلیک روی “ایجاد جدید”، پنجره ویرایشگر باز میشود که محیطی شبیه به یک صفحه سفید با چند بلوک اصلی است. در سمت چپ، لیستی از تمام فیلدهای موجودیت و عملگرهای قابل استفاده را مشاهده میکنید که به راحتی قابل کشیدن و رها کردن (Drag & Drop) به داخل صفحه اصلی هستند. این محیط از یک منطق “اگر-آنگاه” (If-Then) ساده پیروی میکند. شما یک بلوک “شرط” (Condition) را به صفحه اضافه کرده و با استفاده از فیلدها و عملگرها، منطق مد نظر خود را میسازید. سپس یک یا چند بلوک “اقدام” (Action) را به آن متصل کرده و نوع اقدام و جزئیات آن را تعیین میکنید. این ویرایشگر به شما امکان میدهد تا قوانین را به صورت زنده و بدون نیاز به کامپایل یا اجرای برنامه جانبی، طراحی و ویرایش کنید و نهایتاً با فشردن دکمه “انتشار” (Publish)، آن را برای تمام کاربران فعال نمایید .
بیایید با یک مثال بسیار ساده و عملی، اولین قانون تجاری خود را بسازیم. فرض کنید میخواهیم در فرم ثبت “سرنخ” (Lead) جدید، اگر کاربر کشوری را که در آن فعالیت میکند “ایران” انتخاب کرد، فیلد “کدپستی” برای او اجباری شود. برای این کار، پس از ورود به ویرایشگر قوانین تجاری برای موجودیت “سرنخ”، مراحل زیر را طی میکنیم: ابتدا یک شرط جدید از بخش اجزای سمت چپ به صفحه اصلی بکشید. در کادر شرط، فیلد “کشور” را انتخاب کرده، عملگر “برابر است با” را برگزینید و مقدار “ایران” را تایپ کنید. سپس، یک اقدام از نوع “الزامی کردن فیلد” (Set Field Required) را به کادر “آنگاه” (Then) که پس از شرط ایجاد شده، متصل کنید. در این اقدام، فیلد “کدپستی” را انتخاب کرده و گزینه “الزامی” (Required) را فعال نمایید. در نهایت، در پایین صفحه، نام مناسبی برای قانون خود مانند “اجباری شدن کدپستی برای مشتریان ایرانی” انتخاب کنید و مطمئن شوید که گزینه “فعال” (Enable) برای آن روشن باشد. پس از انتشار این قانون، هر بار که کاربری در فرم سرنخ، کشور ایران را انتخاب کند، فیلد کدپستی به طور ناگهانی با یک ستاره قرمز (نماد فیلد اجباری) مشخص شده و تا زمانی که آن را پر نکند، امکان ذخیره رکورد را نخواهد داشت.
همچنین بخوانید: اتوماسیون فرآیندها با گردش کار در داینامیکس 365
یکی از بزرگترین چالشهای هر سازمانی که از یک نرمافزار مدیریت اطلاعات استفاده میکند، کیفیت دادهها است. دادههای ناقص، نادرست یا ناهمگون میتوانند منجر به تصمیمگیریهای اشتباه، گزارشهای گمراهکننده و در نهایت ناکارآمدی فرآیندها شوند. قوانین تجاری در داینامیکس ۳۶۵ با ارائه قابلیتهای قدرتمند اعتبارسنجی (Validation)، به شما این امکان را میدهند تا به محض ورود داده توسط کاربر، از صحت و سلامت آن اطمینان حاصل کنید. به جای اینکه پس از ذخیره شدن اطلاعات نادرست در سیستم، روزها وقت خود را صرف پاکسازی و مرتبسازی آنها کنید، با اعتبارسنجی پیشگیرانه، جلوی ورود دادههای نامعتبر را از همان ابتدا میگیرید. برای مثال، میتوانید قانونی وضع کنید که اگر فیلد “تاریخ شروع پروژه” از فیلد “تاریخ پایان پروژه” بزرگتر (یعنی دیرتر) بود، یک پیام خطا نمایش داده شود و از ذخیره شدن رکورد جلوگیری کند. این کار ساده، تأثیر شگرفی بر کیفیت دادههای تحلیلی و گزارشهای مدیریتی شما خواهد داشت و مانع از ایجاد تناقضهای زمانی در پروژهها میشود .
قوانین تجاری ابزارهای متنوعی برای اعتبارسنجی در اختیار شما قرار میدهند که فراتر از سادهترین حالتها است. شما میتوانید اعتبارسنجی از نوع مقایسهای انجام دهید؛ مانند مثالی که در بالا زده شد (مقایسه دو تاریخ). همچنین میتوانید اعتبارسنجی از نوع محدودهای (Range) داشته باشید؛ برای نمونه، تعیین کنید که فیلد “تعداد کارکنان” باید عددی بین ۱ تا ۱۰۰۰ باشد. اگر کاربر عدد ۲۰۰۰ را وارد کرد، قانون تجاری فعال شده و پیامی مبنی بر “تعداد کارکنان باید کمتر از ۱۰۰۰ نفر باشد” نمایش دهد. نوع دیگر، اعتبارسنجی قالب (Format) دادهها است. هر چند که خود داینامیکس برای فیلدهایی مثل ایمیل یا تلفن، اعتبارسنجی پایهای دارد، اما شما میتوانید با ترکیب قوانین و استفاده از عملگرهایی مثل “شامل میشود” یا “با … شروع میشود”، قالبهای خاص خود را نیز کنترل کنید. مثلاً میتوانید قانونی وضع کنید که کد ملی وارد شده حتماً ۱۰ رقم باشد. در صورت عدم رعایت این قالب، قانون با نمایش یک پیغام خطا، کاربر را از ورود اطلاعات نادرست آگاه کرده و فرآیند ذخیرهسازی را متوقف میکند.
صرفاً جلوگیری از ورود داده غلط کافی نیست؛ بلکه باید به کاربر توضیح دهید که مشکل چیست و چگونه میتواند آن را برطرف کند. قوانین تجاری این امکان را به شما میدهند که پیامهای خطای خود را به صورت کاملاً دلخواه و دوستانه طراحی کنید. هنگامی که در حال تعریف یک اقدام از نوع “نمایش پیام خطا” (Show Error Message) هستید، یک کادر متنی ظاهر میشود که میتوانید متن دقیق خطا را در آن بنویسید. به عنوان مثال، به جای اینکه یک خطای سیستمی و نامفهوم نمایش داده شود، میتوانید بنویسید: “مقدار وارد شده برای بودجه بسیار زیاد است. لطفاً مبلغی کمتر از ۱۰ میلیارد تومان وارد کنید.” یا “کدپستی باید دقیقاً ۱۰ رقم باشد. از وارد کردن حرف یا علامت خودداری کنید.” این پیامهای واضح و خوشبرخورد، تجربه کاربری را به شدت بهبود میبخشند و باعث میشوند کاربران بدون سردرگمی و با رضایت بیشتری اطلاعات صحیح را وارد کنند. همچنین، با توضیح علت خطا، از تکرار اشتباهات مشابه در آینده جلوگیری میکنید و به نوعی کاربران خود را با فرآیندهای صحیح سازمان آشنا میسازید .
فرض کنید در ماژول فروش داینامیکس، موجودیتی به نام “فرصت فروش” (Opportunity) دارید که تیم فروش، ارزش معاملات احتمالی را در فیلد “بودجه” (Budget) در آن ثبت میکنند. مدیر فروش تشخیص داده است که هیچ فرصت فروشی با بودجه بالای ۵۰ میلیارد تومان نباید بدون تأیید مدیریت ارشد ثبت شود. برای پیادهسازی این قانون تجاری، یک قانون جدید برای موجودیت “فرصت فروش” ایجاد میکنیم. شرط را به این صورت تعریف میکنیم: “اگر بودژه (Budget) بزرگتر از ۵۰۰,۰۰۰,۰۰۰,۰۰۰ ریال باشد”. سپس یک اقدام از نوع “نمایش پیام خطا” به آن متصل میکنیم. در متن پیام خطا مینویسیم: “فرصتهای فروش با بودجه بالاتر از ۵۰ میلیارد تومان نیاز به تأیید مدیر ارشد دارند. لطفاً قبل از ثبت، تأییدیه را اخذ و سپس اقدام فرمایید.” با فعال بودن این قانون، اگر یکی از کارشناسان فروش تلاش کند فرصتی با بودجه ۶۰ میلیاردی را ذخیره کند، یک پنجره قرمز رنگ خطا باز شده و از ذخیره شدن رکورد جلوگیری میکند تا زمانی که مقدار بودجه را به محدوده مجاز کاهش دهد. این مکانیزم ساده، از ثبت فرصتهای خارج از چارچوب مصوب شرکت جلوگیری کرده و نظم فرآیندی را تضمین میکند.
قدرت واقعی قوانین تجاری زمانی نمایان میشود که بتوانید چند شرط را با هم ترکیب کنید. شما محدود به یک شرط ساده نیستید و میتوانید با استفاده از عملگرهای منطقی “و” (AND) و “یا” (OR) درون ویرایشگر، قوانین اعتبارسنجی پیچیدهای خلق کنید. به عنوان مثال، فرض کنید میخواهید قانونی وضع کنید که اگر “نوع مشتری” برابر با “حقوقی” بود و “خرید اولیه” بیشتر از ۱۰۰ میلیون تومان بود، آنگاه فیلد “شناسه ملی” اجباری شود. در اینجا برای رسیدن به نتیجه، هر دو شرط باید با هم برقرار باشند. یا در مثالی دیگر، شاید بخواهید پیام خطایی نمایش دهید اگر “موجودی انبار” کمتر از صفر بود یا “تاریخ انقضا” گذشته باشد. در این حالت، برقراری هر یک از شرایط به تنهایی کافی است تا اقدام خطا انجام شود. این توانایی ترکیب شرایط به شما اجازه میدهد تا منطق پیچیدهای که در ذهن دارید را به دقت به سیستم منتقل کنید و سطح دقت و صحت دادهها را به حداکثر ممکن برسانید.
تصور کنید وارد یک فرم ثبت سفارش میشوید که پر است از فیلدهای متعدد و گوناگون؛ فیلدهایی که شاید ۸۰ درصد آنها برای نوع خاصی از سفارش که شما میخواهید ثبت کنید، کاملاً بیربط باشند. این حجم از اطلاعات اضافی و شلوغی بصری، نه تنها باعث سردرگمی کاربر میشود، بلکه سرعت کار او را به شدت کاهش داده و احتمال خطا را افزایش میدهد. ذهن انسان به طور طبیعی به دنبال سادگی و پرهیز از پیچیدگی است. در علم طراحی تجربه کاربری، یکی از اصول کلیدی، “سادگی” و ارائه اطلاعات مرتبط و ضروری در هر لحظه است. فرمهای شلوغ، کاربر را خسته کرده و باعث میشود او نتواند روی دادههای مهم و اصلی تمرکز کند. این مسئله در یک نرمافزار مدیریت ارتباط با مشتری که کاربران ساعات زیادی را در آن سپری میکنند، میتواند به یک معضل بزرگ برای بهرهوری سازمان تبدیل شود. بنابراین، پویا سازی فرمها و نمایش اطلاعات به صورت شرطی، یک نیاز حیاتی برای بهبود کارایی تیمها است .
نمایش شرطی فیلدها یا همان “Conditional Visibility” قابلیتی است که با استفاده از قوانین تجاری به دست میآید و این مشکل را به زیبایی حل میکند. با این قابلیت، شما میتوانید تعیین کنید که هر فیلد یا حتی هر بخش از فرم، تنها در شرایط خاصی برای کاربر نمایان شود. به عبارت دیگر، فرم شما بر اساس تعاملات و انتخابهای کاربر، خود را تغییر شکل داده و تنظیم میکند. مزایای این رویکرد بسیار فراتر از زیباییسازی ظاهری است. اولاً، ورود داده را برای کاربران بسیار سریعتر و آسانتر میکند، چون آنها فقط با فیلدهای مرتبط مواجه میشوند. ثانیاً، با حذف فیلدهای غیرمرتبط، احتمال ورود داده در فیلدهای اشتباه به شدت کاهش مییابد. ثالثاً، تمرکز کاربر بر روی وظیفه اصلی خود حفظ میشود و حواس او با گزینههای نامرتبط پرت نمیگردد. در نهایت، این قابلیت به شما کمک میکند تا یک جریان کاری منطقی و گام به گام برای کاربران طراحی کنید و آنها را در مسیر درست ثبت اطلاعات هدایت نمایید .
بیایید با یک مثال رایج و پرکاربرد، مفهوم نمایش شرطی را بهتر درک کنیم. در فرم ثبت “مخاطب” (Contact) یا “شرکت” (Account)، معمولاً فیلدی برای “نام شرکت” یا “شناسه ملی” وجود دارد که فقط برای مشتریان از نوع “حقوقی” (سازمانها و شرکتها) کاربرد دارد. برای مشتریان “حقیقی” (اشخاص عادی)، این فیلدها نه تنها بیاستفاده هستند، بلکه میتوانند باعث اشتباه و ثبت دادههای نادرست شوند. با یک قانون تجاری ساده میتوانیم این رفتار را هوشمند کنیم. قانون را برای موجودیت “مخاطب” میسازیم. شرط را تعریف میکنیم: “اگر (Relationship Type) برابر با “حقوقی” است”. سپس یک اقدام از نوع “مخفی کردن/نمایش” (Hide/Show) به آن اضافه میکنیم. در این اقدام، فیلد “نام شرکت” را انتخاب کرده و گزینه “نمایش” (Show) را فعال میکنیم. اما نکته مهم اینجاست که باید حالت پیشفرض را نیز در نظر بگیریم. ما میخواهیم این فیلد برای همه پنهان باشد و فقط در صورت انتخاب “حقوقی” ظاهر شود. برای این کار، در بخش “اقدامات پیشفرض” (Default Actions) قانون، باید فیلد “نام شرکت” را روی “مخفی” (Hide) تنظیم کنیم. حالا فرم ما هوشمندانه عمل میکند: فیلد نام شرکت پنهان است، اما به محض اینکه کاربر در فیلد نوع رابطه، گزینه حقوقی را انتخاب کند، این فیلد نمایان شده و آماده دریافت اطلاعات میشود.
قدرت نمایش شرطی فقط به فیلدهای منفرد ختم نمیشود. شما میتوانید با استفاده از قوانین تجاری، یک “بخش” (Section) کامل از فرم یا حتی یک “برگه” (Tab) را به طور کامل مخفی یا نمایان کنید. این ویژگی زمانی بسیار کاربردی است که دستهای از اطلاعات تنها در یک سناریوی خاص تجاری مورد نیاز هستند. به عنوان مثال، در فرم ثبت “فرصت فروش”، ممکن است یک برگه مجزا برای “اطلاعات فنی پروژه” وجود داشته باشد که فقط برای محصولات خاصی مانند “نرمافزارهای سفارشیساز” باید نمایش داده شود. شما میتوانید قانونی وضع کنید که اگر “نوع محصول” انتخابی برابر با “نرمافزار سفارشی” بود، کل برگه “اطلاعات فنی” نمایان شود. این کار نظم فرم را در بالاترین سطح خود حفظ میکند و از نمایش حجم عظیمی از اطلاعات فنی غیرمرتبط برای محصولات عمومی و ساده جلوگیری مینماید. مدیریت بخشها و برگهها از طریق قوانین تجاری، سطح بالایی از چابکی و شخصیسازی را برای فرمهای پیچیده فراهم میآورد.
در استفاده از نمایش شرطی، باید دقت کنید که فرم به یک معمای پیچیده برای کاربر تبدیل نشود. اگر فیلدی ناگهان ظاهر یا ناپدید شود، کاربر باید دلیل آن را متوجه شود. بهترین کار این است که نمایش شرطی را بر اساس فیلدهایی طراحی کنید که در بالای فرم و در معرض دید هستند. همچنین، پیشنهاد میشود از پیامهای راهنما (Tooltips) استفاده کنید تا به کاربر بفهمانید با تغییر یک مقدار خاص، چه بخشهایی از فرم تغییر خواهد کرد. از ایجاد قوانین تو در تو و بسیار پیچیده که منجر به نمایش و مخفی شدن مکرر و گیجکننده فیلدها میشود، خودداری کنید. همیشه فرم خود را با چند سناریوی مختلف تست کنید و از چند کاربر مختلف درباره تجربه کار با آن نظرخواهی نمایید. یک فرم خوب، فرمی است که کاربر اصلاً متوجه پیچیدگیهای پشت صحنه آن نشود و به طور شهودی و راحت بتواند کارش را انجام دهد. نمایش شرطی وقتی موفق است که “درست کار کند” و کاربر را شگفتزده کند، نه این که او را سردرگم نماید.
در هر سازمانی، کارمندان زمان قابل توجهی را صرف ورود اطلاعات تکراری در سیستم میکنند. تصور کنید هر بار که یک کاربر میخواهد یک مشتری جدید ثبت کند، مجبور باشد فیلدهایی مانند “کشور”، “شهر”، “نوع مشتری” یا “واحد پول” را دستی وارد کند. این کار نه تنها خستهکننده است، بلکه فرصت پرداختن به وظایف مهمتر را از کاربر میگیرد. قوانین تجاری در داینامیکس ۳۶۵ این امکان را فراهم میکنند تا با تعریف مقادیر پیشفرض برای فیلدهای مختلف، این فرآیند را به شدت تسریع بخشید. وقتی یک فیلد مقدار پیشفرض دارد، کاربر دیگر نیازی به تایپ یا جستجو ندارد و میتواند به سرعت به فیلدهای بعدی برود. این کاهش زمان، در طول روز و برای تعداد زیادی رکورد، میتواند ساعات کاری ارزشمندی را آزاد کرده و بهرهوری تیم را به شکل چشمگیری افزایش دهد. علاوه بر سرعت، یک مزیت مهم دیگر نیز وجود دارد و آن کاهش خطاهای انسانی است. وقتی کاربر مجبور نباشد بارها و بارها یک عبارت ثابت را تایپ کند، احتمال تایپ نادرست آن کلمه (مثلاً اشتباه نوشتن نام یک شهر) به صفر میرسد و این موضوع به یکپارچگی و کیفیت دادههای ذخیره شده در سیستم کمک شایانی مینماید.
قوانین تجاری به شما اجازه میدهند تا طیف وسیعی از مقادیر را به عنوان پیشفرض برای فیلدها تعریف کنید که هر کدام کاربرد خاص خود را دارند. اولین و سادهترین نوع، مقادیر متنی ثابت هستند. برای مثال، میتوانید برای فیلد “کشور” در فرم مخاطب، مقدار پیشفرض “ایران” را تنظیم کنید. دومین نوع، مقادیر عددی هستند؛ مانند تنظیم عدد “یک” به عنوان پیشفرض برای فیلد “تعداد” در یک سفارش فروش. سومین و بسیار کاربردیترین نوع، مقادیر پیشفرض مبتنی بر تاریخ هستند. شما میتوانید تعیین کنید که فیلد “تاریخ ثبت سفارش” همیشه برابر با “تاریخ امروز” باشد. این مقدار پویا (Dynamic Value) هر بار که کاربر فرم جدیدی باز میکند، به روز شده و تاریخ جاری سیستم را نشان میدهد. این قابلیت برای فیلدهایی که نیاز به ثبت لحظه وقوع یک رویداد دارند، ایدهآل است. همچنین میتوانید از مقادیر پیشفرض برای فیلدهای گزینهای (Option Set) استفاده کنید. برای مثال، میتوانید گزینه “فعال” را به عنوان وضعیت پیشفرض یک موجودیت جدید تعیین کنید. این تنوع در تعریف مقادیر پیشفرض، به شما امکان میدهد تقریباً برای هر سناریوی تجاری، یک راهکار سریع و کارآمد طراحی کنید.
قدرت واقعی قوانین تجاری زمانی نمایان میشود که بتوانید مقادیر پیشفرض را به صورت شرطی و وابسته به انتخابهای کاربر تعریف کنید. این ویژگی به فرم شما هوشمندی میبخشد و آن را قادر میسازد تا بر اساس شرایط، مقدار مناسب را به طور خودکار در فیلدها قرار دهد. برای درک بهتر، یک مثال عملی را بررسی میکنیم. فرض کنید در فرم ثبت “فرصت فروش”، یک فیلد به نام “منبع سرنخ” وجود دارد که مشخص میکند مشتری از چه طریقی با شما آشنا شده است (اینترنت، تبلیغات، معرفی دوستان و …). همچنین یک فیلد دیگر به نام “نماینده فروش” دارید. شما میخواهید اگر کاربر در فیلد “منبع سرنخ”، گزینه “اینترنت” را انتخاب کرد، به طور خودکار فیلد “نماینده فروش” روی نام “تیم فروش اینترنتی” تنظیم شود. اما اگر منبع سرنخ “تبلیغات تلویزیونی” انتخاب شد، نماینده فروش به نام “تیم فروش مستقیم” تغییر یابد. این کار با یک قانون تجاری شرطی به راحتی قابل انجام است. شما یک شرط برای هر کدام از این گزینهها تعریف کرده و سپس اقدام “تنظیم مقدار” را با مقدار متناسب متصل میکنید. این سطح از شخصیسازی، نه تنها سرعت کار را افزایش میدهد، بلکه تخصیص خودکار وظایف را نیز ممکن ساخته و از سردرگمی کاربران در انتخاب مقادیر صحیح جلوگیری میکند.
برای درک بهتر کاربرد مقادیر پیشفرض شرطی، یک مثال دیگر را بررسی میکنیم. فرض کنید در ماژول مدیریت وظایف (Tasks) سازمان، فرمی برای ثبت وظایف جدید دارید. این فرم شامل دو فیلد مهم است: “نوع وظیفه” (ساده، مهم، فوری) و “تاریخ سررسید”. شما میخواهید فرآیند تعیین تاریخ سررسید را برای کاربران سادهتر کنید. قانون تجاری به این صورت طراحی میشود: ابتدا شرط اول را تعریف میکنیم: “اگر (نوع وظیفه) برابر با ‘ساده’ است”. یک اقدام به آن متصل کرده و برای فیلد “تاریخ سررسید”، مقدار “تاریخ امروز + ۷ روز” را به عنوان پیشفرض تنظیم میکنیم. سپس شرط دوم را اضافه میکنیم: “اگر (نوع وظیفه) برابر با ‘مهم’ است”. در این اقدام، مقدار پیشفرض را “تاریخ امروز + ۳ روز” قرار میدهیم. در نهایت شرط سوم را برای نوع ‘فوری’ تعریف کرده و مقدار پیشفرض را “تاریخ امروز + ۱ روز” تنظیم میکنیم. با فعال شدن این قانون، به محض اینکه کاربر در فیلد “نوع وظیفه” یکی از گزینهها را انتخاب کند، تاریخ سررسید متناسب با آن به طور خودکار در فیلد مربوطه درج میشود. کاربر همچنان میتواند این تاریخ را تغییر دهد، اما در اکثر موارد نیازی به این کار ندارد و با یک کلیک ساده، وظیفه خود را با تاریخ سررسید منطبق بر فرآیندهای سازمان ثبت میکند.
یکی از نکات مهمی که در هنگام کار با قوانین تجاری و به خصوص در تنظیم مقادیر پیشفرض باید به آن توجه کرد، موضوع اولویتبندی و تداخل قوانین است. ممکن است برای یک فیلد خاص، چند قانون تجاری مختلف وجود داشته باشد که هر کدام سعی در تنظیم مقدار آن به روشی متفاوت دارند. داینامیکس ۳۶۵ برای حل این مسئله، سازوکاری مشخص دارد. قوانین تجاری بر اساس تاریخ آخرین بهروزرسانی و فعالسازی، اولویتبندی میشوند، اما نکته مهم این است که در یک لحظه، تنها یک قانون میتواند مقدار یک فیلد را تعیین کند. اگر چند قانون فعال داشته باشید که برای یک فیلد مقدار پیشفرض تعیین میکنند، ممکن است نتایج غیرمنتظرهای رخ دهد. برای جلوگیری از این مشکل، توصیه میشود همیشه قوانین خود را به گونهای طراحی کنید که شرایط منحصربهفرد داشته باشند و همپوشانی نداشته باشند. همچنین میتوانید با غیرفعال کردن قوانین قدیمیتر یا ویرایش آنها، از تداخل جلوگیری کنید. بهترین راهکار این است که پیش از ایجاد یک قانون جدید، لیست قوانین موجود برای آن موجودیت را بررسی کنید تا از عدم تداخل با قوانین قبلی اطمینان حاصل نمایید. مدیریت صحیح اولویتبندی قوانین، ضامن اجرای دقیق و بدون خطای منطق تجاری شما در سیستم خواهد بود.
همچنین بخوانید: ماژول زنجیره تامین در داینامیکس 365
یکی از اشتباهات رایج کاربرانی که تازه با قوانین تجاری کار میکنند، این است که پس از ایجاد یا ویرایش یک قانون، فراموش میکنند آن را “انتشار” (Publish) دهند. در داینامیکس ۳۶۵، ایجاد یا ویرایش یک قانون صرفاً به معنای ذخیره پیشنویس آن است. تا زمانی که قانون به صورت رسمی منتشر نشود، در محیط کاری کاربران عادی اعمال نخواهد شد و هیچ تأثیری بر فرمها نخواهد داشت. برای انتشار قوانین، پس از اتمام کار بر روی یک قانون، باید دکمه “انتشار” (Publish) را در نوار ابزار ویرایشگر فشار دهید. همچنین در صفحه لیست قوانین (Business Rule Grid)، گزینهای برای انتشار همزمان چند قانون وجود دارد. نکته مهم این است که انتشار قوانین ممکن است چند ثانیه تا چند دقیقه زمان ببرد، به خصوص اگر تغییرات زیادی در سیستم اعمال کرده باشید. پس از انتشار، توصیه میشود یک بار فرم مربوطه را باز کرده و عملکرد قانون را به صورت زنده تست کنید تا از صحت کار آن اطمینان حاصل نمایید. به خاطر داشته باشید که انتشار، گام نهایی و ضروری برای زنده کردن قوانین شماست و فراموش کردن آن، یکی از دلایل اصلی “کار نکردن” قوانین در محیط عملیاتی است.
در فرمهای پیچیده، ممکن است چندین قانون تجاری فعال داشته باشید که روی فیلدهای مشابهی تأثیر میگذارند. در این موارد، درک چگونگی ترتیب اجرای قوانین برای پیشبینی رفتار نهایی فرم حیاتی است. اگرچه مایکروسافت مکانیزم دقیقی برای اولویتبندی دستی قوانین در اختیار کاربران قرار نداده است، اما به طور کلی، قوانین تجاری بر اساس یک منطق مشخص اجرا میشوند: هر تغییری که کاربر در یک فیلد ایجاد کند، میتواند چندین قانون را فعال سازد. در این میان، آخرین عملی که توسط آخرین قانون اجرا شده روی یک فیلد خاص اعمال شود، به عنوان مقدار نهایی آن فیلد در نظر گرفته میشود. به عنوان مثال، اگر دو قانون داشته باشید که هر دو روی فیلد “شهر” تأثیر میگذارند و قانون دوم (بر اساس ترتیب زمانی اجرا) مقدار آن را تغییر دهد، مقدار نهایی همان مقدار تعیین شده توسط قانون دوم خواهد بود. این رفتار میتواند منجر به نتایج غیرمنتظره شود. برای مدیریت بهتر این وضعیت، توصیه میکنیم قوانین خود را تا حد امکان مستقل از یکدیگر طراحی کنید و از ایجاد قوانین متعدد و متضاد برای یک فیلد خاص خودداری نمایید. همچنین میتوانید با غیرفعال کردن موقت برخی قوانین، تأثیر هر یک را به تنهایی بررسی کرده و از تداخل آنها جلوگیری کنید.
اگر قانون تجاری شما آنطور که انتظار دارید عمل نمیکند، نگران نباشید. با دنبال کردن یک فرآیند عیبیابی گام به گام، میتوانید به راحتی مشکل را پیدا و حل کنید. قدم اول: انتشار. مطمئن شوید که قانون خود را پس از آخرین ویرایش، منتشر کردهاید. قدم دوم: موجودیت و فرم درست. بررسی کنید که قانون برای موجودیت صحیح (مثلاً مخاطب) ایجاد شده باشد و در بخش “Scope” قانون، فرمهای درستی (مثلاً همه فرمها یا یک فرم خاص) برای اعمال قانون انتخاب شده باشند. قدم سوم: شرایط قانون. دقت کنید که شرایط تعریف شده برای قانون دقیق و بدون اشتباه باشند. گاهی اوقات استفاده از عملگر اشتباه (مثلاً “مساوی است” به جای “شامل میشود”) میتواند علت مشکل باشد. قدم چهارم: تداخل قوانین. بررسی کنید که آیا قوانین فعال دیگری وجود دارند که با قانون شما تداخل داشته باشند. میتوانید برای تست، سایر قوانین مرتبط را به صورت موقت غیرفعال کنید. قدم پنجم: تست با داده واقعی. قانون خود را با مقادیر مختلف و در سناریوهای گوناگون تست کنید. اگر قانون هنوز کار نمیکند، آن را حذف کرده و از نو بسازید. گاهی اوقات یک باگ کوچک در ویرایشگر با ایجاد مجدد قانون برطرف میشود.
قوانین تجاری علیرغم قدرتمند بودن، محدودیتهایی نیز دارند که آگاهی از آنها به شما کمک میکند از همان ابتدا طراحی بهتری داشته باشید. اولین محدودیت، تعداد قوانین قابل اعمال روی یک فرم است. اگرچه محدودیت عددی دقیقی وجود ندارد، اما اعمال تعداد بسیار زیادی قانون (مثلاً بیش از ۵۰ قانون) روی یک فرم میتواند سرعت بارگذاری و پاسخدهی آن را به شدت کاهش دهد. دومین محدودیت، پیچیدگی قوانین است. قوانین تجاری برای منطقهای ساده تا متوسط طراحی شدهاند. اگر منطق تجاری شما بسیار پیچیده است و نیاز به حلقههای تکرار، شرطهای تو در تو با عمق زیاد، یا محاسبات پیشرفته دارد، بهتر است از ابزارهای دیگری مانند “جریانهای ابری” (Power Automate) یا “پلاگینها” (Plug-ins) استفاده کنید. سومین نکته، وابستگی به فیلدهای فرم است. قوانین تجاری فقط میتوانند روی فیلدهایی که در همان فرم حضور دارند، تأثیر بگذارند و به فیلدهای موجود در فرمهای دیگر یا موجودیتهای وابسته دسترسی مستقیم ندارند. درک این محدودیتها به شما کمک میکند تا انتخاب درستی بین ابزارهای مختلف شخصیسازی در داینامیکس ۳۶۵ داشته باشید.
برای استفاده حداکثری از قوانین تجاری و حفظ کارایی سیستم، رعایت یک سری از بهترین روشها (Best Practices) ضروری است. ابتدا، همیشه پیش از ایجاد قانون، فرآیند تجاری خود را روی کاغذ ترسیم کنید و مشخص کنید دقیقاً چه شرایط و اقداماتی نیاز دارید. دوم، قوانین خود را ساده و خوشنام نگه دارید. نام قانون باید به وضوح نشاندهنده هدف آن باشد تا در آینده به راحتی بتوانید آن را پیدا کنید. سوم، از ایجاد قوانین اضافی و تکراری خودداری کنید. قبل از ساخت قانون جدید، لیست قوانین موجود را بررسی کنید. چهارم، قوانین خود را به طور منظم بازبینی و پاکسازی کنید. قوانینی که دیگر مورد استفاده نیستند را غیرفعال یا حذف نمایید. پنجم، همواره قوانین خود را در یک محیط آزمایشی (Sandbox) تست کنید و پس از اطمینان از صحت عملکرد، آنها را به محیط اصلی (Production) منتقل نمایید. با پیروی از این اصول، میتوانید از قدرت قوانین تجاری برای هوشمندسازی فرمهای خود به بهترین شکل ممکن بهرهمند شوید و تجربه کاربری لذتبخشی را برای تیم خود رقم بزنید.
خیر، بزرگترین مزیت قوانین تجاری در داینامیکس ۳۶۵ این است که کاملاً بدون نیاز به کدنویسی طراحی شدهاند. شما با استفاده از یک ویرایشگر گرافیکی و بصری، شرایط و اقدامات مورد نظر خود را مانند قطعات پازل کنار هم میچینید و نیازی به نوشتن هیچ کدی ندارید.
قوانین تجاری عمدتاً برای اعمال تغییرات سریع و لحظهای در فرمها در زمان ورود داده توسط کاربر طراحی شدهاند، مانند مخفی کردن یک فیلد. در مقابل، جریانهای کاری برای فرآیندهای طولانیمدت و خودکار در پشت صحنه استفاده میشوند، مانند ارسال ایمیل پس از ایجاد یک رکورد یا بهروزرسانی آن در ساعتی مشخص.
قوانین تجاری در سطح فرم و برای همه کاربرانی که به آن فرم خاص دسترسی دارند، اعمال میشوند. اگر نیاز به اعمال قوانین متفاوت بر اساس نقش کاربر دارید، باید فرمهای مجزا برای هر نقش طراحی کرده و قانون را روی فرم مربوطه پیادهسازی کنید.
ابتدا مطمئن شوید که قانون خود را «فعال» کردهاید و تغییرات را در سیستم «انتشار» دادهاید. سپس بررسی کنید که قانون در فرم و موجودیت صحیح تعریف شده باشد. همچنین ترتیب اجرای قوانین (در صورت تداخل) و صحت شرایط تعریف شده را نیز بررسی نمایید.
بله، این یکی از رایجترین کاربردهای قوانین تجاری است. به عنوان مثال، میتوانید قانونی وضع کنید که اگر کاربر در فیلد «نوع مشتری»، گزینه «حقوقی» را انتخاب کرد، آنگاه فیلد «نام شرکت» اجباری شود. این کار به شفافیت دادهها کمک شایانی میکند.
قوانین تجاری در مایکروسافت داینامیکس ۳۶۵ یک ابزار حیاتی و کارآمد برای هر سازمانی است که به دنبال بهینهسازی فرآیندها، افزایش دقت دادهها و بهبود تجربه کاربری کارکنان خود میباشد. این قوانین با ارائه یک رابط کاربری گرافیکی و ساده، امکان پیادهسازی پیچیدهترین منطقهای شرطی را برای فرمها فراهم میآورند، آن هم بدون اینکه نیازی به دخالت برنامهنویسان و صرف هزینههای اضافی برای توسعه باشد.
همانطور که در این مقاله بررسی کردیم، شما میتوانید با استفاده از این ابزار، فیلدهای ضروری را اعتبارسنجی کنید، فیلدهای غیرمرتبط را از دید کاربر پنهان نمایید تا تمرکز او به هم نریزد، و مقادیر پیشفرض را به گونهای تنظیم کنید که سرعت ورود اطلاعات به شکل چشمگیری افزایش یابد. در نهایت، تسلط بر قوانین تجاری به شما این قدرت را میدهد که نرمافزار را دقیقاً با زبان و فرآیندهای منحصربهفرد شرکت خود هماهنگ سازید و گام بلندی در جهت هوشمندسازی سازمان خود بردارید.
برای کسب اطلاعات بیشتر و مشاهده آموزشهای گامبهگام و رسمی در مورد قوانین تجاری، میتوانید به مستندات جامع مایکروسافت در این زمینه مراجعه کنید. این منبع معتبر، تمامی جنبههای کار با قوانین تجاری، از مفاهیم پایه تا نمونههای پیشرفته، را پوشش میدهد و به عنوان یک راهنمای همیشهبهروز برای مدیران سیستم و توسعهدهندگان عمل میکند. اگر تمایل دارید دانش خود را در این زمینه عمیقتر کنید، به شما پیشنهاد میکنیم حتماً سری به این صفحه بزنید و از راهنماهای تصویری و توضیحات فنی آن بهرهمند شوید: ایجاد قوانین تجاری برای اعمال منطق در فرم برنامههای مبتنی بر مدل – Power Apps | Microsoft Learn
در خبرنامه ما مشترک شوید و آخرین اخبار و به روزرسانی های را در صندوق ورودی خود مستقیماً دریافت کنید.

دیدگاه بگذارید