به "وبلاگ فالنیک ( ایران اچ پی)" خوش آمدید    |   وبسایت فالنیک (ایران اچ پی)
امروز چهارشنبه ۲۳ آبان ۱۳۹۷ - تماس با فالنیک : 8363-021

نحوه ایجاد Auto Complete برای فیلدهای Text در CRM

وبلاگ فالنیک ( ایران اچ پی)

ایجاد Auto Complete در CRM

حتما برای شما هم پیش آمده که بخواهید درهنگام تایپ در یک فیلد از نوع Single Line of Text سیستم به شما پیشنهاداتی را بدهد، در نسخه جدید CRM این قابلیت ایجاد شده و شما می‌توانید با نوشتن اسکرپیت مربوطه به راحتی این قابلیت را به CRM خود اضافه کنید.

سناریو: فرض کنید که فیلدی به نام استان در فرم متشری داریم و می‌خواهیم هنگامی که کاربر در این فیلد تایپ می‌کند، چنانچه پیشنهاداتی وجود دارد در زیر آن فیلد لیست شود:

ایجاد Auto Complete در CRM

ابتدا وارد Customization شوید و فیلد خود را بسازید و یا اینکه از لیست فیلدهای موجود فیلد خود را انتخاب کنید.

مهمترین چیزی که وجود دارد، نوشتن کد مربوطه و اجرا صحیح آن است. از طریق مراحل زیر اقدام کنید.

1) ابتدا یک تابع به نام ShowProvinceSuggestion ایجاد کنید.

2) داخل تابع، یک آرایه از استان‌های ایران را مانند زیر بسازید.

var provinces = [

        { id: 1, name: 'آذربایجان شرقی' },

        { id: 2, name: 'آذربایجان غربی' },

        { id: 3, name: 'اردبیل' },

        { id: 4, name: 'اصفهان' },

        { id: 5, name: 'ایلام' }

]

3 ) تابع دیگری بنام provinceSearch داخل تابع اصلی خود تعریف کنید. این تابع کار جستجو و نمایش اطلاعات مربوطه را انجام خواهد داد.

var provinceSearch = function (ext) {}

ضمنا، از الان همه کارها داخل تابع provinceSearch انجام خواهد شد.

4) ابتدا از طریق کد زیر محتوای فیلد خود را داخل یک متغییر ذخیره کنید.

var userInput = Xrm.Page.getControl(“provinceField”).getValue();

5) پس از آن کد زیر را به تابع خود اضافه کنید:


            resultSet = {
                results: new Array(),
                commands: {
                    id: "sp_commands",
                    label: "New Province",
                    action: function () {
                        alert("You can add Custom Action here");
                    }
                }
            };

متغییر resultSet دقیقا همان صفحه خواهد بود که ما به عنوان پیشنهادات خود خواهیم دید، که از دو قسمت results که همان نتایج جستجو است و commands که برای افزودن یک عمل خاص و نمایش آن در زیر نتایج جستجو است، استفاده می شود.

6) پس از آن نوبت به جستجوی مقدار و افزودن آن به لیست نتایج می‌رسد. کد زیر را به ادامه تابع خود اضافه کنید.

for (i = 0; i < provinces.length; i++) {
if (userInput === provinces[i].name.substring(0, userInput.length)) {
resultSet.results.push({ id: i, fields: [provinces[i].name, provinces[i].id], icon: "provinceIconPath" });
}
if (resultSet.results.length >= 10) break;
}

توضیح: این قسمت از کد، مقدار وارد شده توسط کاربر را با همه موارد داخل آرایه استان‌های ثبت شده مقایسه می کند و در طورتیکه این مقدار برابر شرط ما باشد آن را به لیست نتایج اضافه می‌کند.

یک لیست می‌تواند شامل ID، آرایه‌ای از فیلدها جهت نمایش و Icon باشد که می‌توانید هر کدام از آنها را به دلخواه مقداردهی کنید.

7) پس از اینکه جستجو انجام شد، وقت آن رسیده تا لیست نتایج جستجو را به کاربر نمایش دهیم که از طریق کد زیر نیز می‌توان این کار را انجام داد.



if (resultSet.results.length &gt; 0) {
                ext.getEventSource().showAutoComplete(resultSet);
            } else {
                ext.getEventSource().hideAutoComplete();
            }

8) کار ما با تابع provinceSearch تمام شد و در داخل تابع اصلی که ابتدا با نام ShowProvinceSuggestion ایجاد کردیم، کد زیر را اضافه می‌کنیم تا هنگام فشردن دکمه‌های کیبورد، تابع ما اجرا شود و مفادیر را نمایش دهد.


Xrm.Page.getControl(provinceField).addOnKeyPress(provinceSearch);

9) در مرحله آخر همه کدهای خود را به عنوان یک Web Resource به CRM اضافه می‌کنیم و در فرم Account به عنوان یک کتابخانه آن را اضافه می‌کنیم. همچنین برای اجرایی شدن این قابلیت تابع اصلی یعنی ShowProvinceSuggestion را در onload فرم فراخوانی می‌کنیم.

ایجاد Auto Complete در CRM

در آخر کار تغییرات خود را ذخیره و Publish کنید و تست خود را انجام دهید.

منبع: فالنیک (ایران اچ پی)


نویسنده :

نحوه ایجاد Auto Complete برای فیلدهای Text در CRM
به این مطلب امتیاز دهید.

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

avatar
3 نظرات
3 تعداد پاسخها
0 دنبال کنندگان
 
پربازدیدترین کامنت
پرامتیاز ترین کامنت
5 نویسندگان نظرات
تیم تحریریه فالنیکحمیدرضا زینالیحسین فرامرزینگاررضا کاظمی نظرات اخیر
  اشتراک  
اطلاع رسانی
رضا کاظمی
عضو
رضا کاظمی

ممنون از آموزش خوبتون

نگار
مهمان
نگار

سلام وقت بخیر
سی ار ام امکان ارسال فکس و ایمیل هم داره؟
ممنون میشم پاسخ بدین

حمیدرضا زینالی
مهمان
حمیدرضا زینالی

بله،
با تنظیمات و پلاگین های مخصوص این امکان براحتی انجام میشود.

حسین فرامرزی
مهمان
حسین فرامرزی

منظور از تابع provinceSearch چیست؟
میشه توضیح بدین؟
با تشکر از سایت خوبتون

حمیدرضا زینالی
مهمان
حمیدرضا زینالی

این تابع، تابع اصلی ما در این آموزش می باشد که همه کارها مانند دریافت کاراکترهای ورودی از کاربر، جستجوی مقدار وارد شده جهت پیدا کردن استان و نمایش اطلاعات مربوطه در فرم را انجام میدهد.
ممنون از دقت شما

پادکست 9
گفتگوی TechTalk - تکنولوژی وایرلس پرینتر
ایبوک فالنیک
تک تاک
پادکست
نویسنده مهمان فالنیک
پربازدید ترین مطالب
  • ماه
  • فصل
  • کل
پر بحث ترین ها
استفاده از مطالب سایت فالنیک (ایران اچ پی) فقط برای مقاصد غیر تجاری و با ذکر منبع بلامانع است. کلیه حقوق سایت متعلق به فالنیک (ایران اچ پی) است.
عضویت در خبرنامه crm فالنیک

عضویت در خبرنامه crm فالنیک

با عضویت در خبرنامه crm فالنیک (ایران اچ پی) اولین نفری باشید که مقالات و محتواهای ناب و تخصصی را دریافت می کنید.

تبریک، شما با موفقیت در خبرنامه عضو شدید.