Microsoft Dynamics CRM - Panduan Cepat
Customer Relationship Management (CRM) adalah sistem untuk mengelola interaksi perusahaan dengan pelanggan saat ini dan masa depan. Ini sering kali melibatkan penggunaan teknologi untuk mengatur, mengotomatiskan, dan menyinkronkan penjualan, pemasaran, layanan pelanggan, dan dukungan teknis. CRM dapat membantu mengurangi biaya dan meningkatkan profitabilitas dengan mengatur dan mengotomatiskan proses bisnis yang memelihara kepuasan dan loyalitas pelanggan.
Microsoft Dynamics CRM
Microsoft Dynamics CRM adalah paket perangkat lunak manajemen hubungan pelanggan yang dikembangkan oleh Microsoft yang berfokus pada peningkatan hubungan pelanggan untuk organisasi mana pun. Di luar kotak, produk ini berfokus terutama pada sektor Penjualan, Pemasaran, dan Layanan Pelanggan, meskipun Microsoft telah memasarkan Dynamics CRM sebagai platform XRM dan telah mendorong mitra untuk menggunakan kerangka kerja miliknya (berbasis .NET) untuk menyesuaikannya. Dalam beberapa tahun terakhir, ini juga tumbuh sebagai platform Analytics yang digerakkan oleh CRM.
Solusi CRM dapat digunakan untuk mendorong produktivitas penjualan dan efektivitas pemasaran untuk sebuah organisasi, menangani rantai dukungan pelanggan yang lengkap, dan memberikan wawasan sosial, kecerdasan bisnis, dan banyak fungsi dan fitur out-of-the-box lainnya. Sebagai sebuah produk, Microsoft Dynamics CRM juga menawarkan dukungan seluler penuh untuk menggunakan aplikasi CRM di ponsel dan tablet.
Saat menulis tutorial ini, versi terbaru dari CRM adalah CRM 2016. Namun, dalam tutorial ini kami akan menggunakan versi CRM 2015 Online karena ini adalah versi stabil terbaru serta sering digunakan di banyak organisasi. Meskipun demikian, meskipun Anda menggunakan versi CRM lainnya, semua konsep dalam tutorial ini akan tetap berlaku.
Penawaran Produk
Microsoft Dynamics CRM ditawarkan dalam dua kategori -
CRM Online
CRM Online adalah penawaran Microsoft Dynamics CRM berbasis cloud di mana semua proses backend (seperti server aplikasi, penyiapan, penerapan, database, lisensi, dll.) Dikelola di server Microsoft. CRM Online adalah penawaran berbasis langganan yang disukai untuk organisasi yang mungkin tidak ingin mengelola semua teknis yang terlibat dalam implementasi CRM. Anda dapat memulai dengan menyiapkan sistem Anda dalam beberapa hari (bukan minggu, bulan, atau tahun) dan mengaksesnya di web melalui browser Anda.
CRM On-Premise
CRM on-premise adalah penawaran Microsoft Dynamics CRM yang lebih disesuaikan dan kuat, di mana aplikasi CRM dan database akan disebarkan di server Anda. Penawaran ini memungkinkan Anda untuk mengontrol semua database, kustomisasi, penerapan, backup, lisensi, serta pengaturan jaringan dan perangkat keras lainnya. Umumnya, organisasi yang ingin mencari solusi CRM yang disesuaikan lebih memilih penerapan di lokasi karena menawarkan integrasi dan kemampuan penyesuaian yang lebih baik.
Dari sudut pandang fungsional, kedua penawaran menawarkan fungsi yang serupa; Namun, mereka berbeda secara signifikan dalam hal implementasi. Perbedaannya dirangkum dalam tabel berikut.
CRM Online | CRM On-Premise |
---|---|
Ini adalah solusi berbasis cloud yang disediakan oleh Microsoft di mana semua server dan database dikelola oleh Microsoft. | Ini adalah solusi lokal yang disediakan oleh Microsoft di mana server dan database dikelola oleh pelanggan. |
Anda dapat memulai penawaran online dalam beberapa hari. Anda membayar untuk pengguna dan menggunakan ruang saat bepergian. | Menyiapkan penawaran di lokasi memerlukan keterampilan teknis serta waktu yang cukup untuk menyiapkan instans CRM dan menjalankannya. |
Ini mendukung penyesuaian dan ekstensi yang relatif lebih sedikit. | Ini mendukung lebih banyak penyesuaian dan ekstensi. |
CRM Online tidak memberikan kemampuan untuk melakukan pencadangan dan pemulihan data manual, karena basis data dihosting di server Microsoft. Namun, Microsoft melakukan pencadangan database setiap hari. | CRM on-premise memberikan kemampuan lengkap untuk mengelola database Anda. |
CRM Online memiliki berbagai paket berdasarkan batas penyimpanan data seperti 5GB, 20 GB, dll. | CRM di lokasi tidak memiliki batasan seperti itu pada ukuran penyimpanan, karena datanya ada di server Anda sendiri. |
CRM Online menyediakan kemampuan fitur bawaan seperti wawasan, mendengarkan sosial, analitik, dll. | CRM on-premise memiliki biaya tambahan untuk fitur ini. |
CRM Online mendukung pembaruan otomatis ke versi mendatang. | Pembaruan di lokasi CRM perlu dipasang oleh administrator. |
Mengakses CRM
Microsoft Dynamics CRM dapat diakses melalui salah satu opsi berikut -
- Browser
- Ponsel dan Tablet
- Outlook
Pesaing Produk
Microsoft Dynamics CRM tidak diragukan lagi adalah salah satu produk teratas di ruang CRM. Namun, berikut adalah produk lain yang bersaing dengan Microsoft Dynamics CRM.
- Salesforce.com
- Oracle
- SAP
- CRM Sage
- CRM Gula
- NetSuite
Versi Produk
Microsoft Dynamics CRM telah berkembang selama bertahun-tahun mulai dari versi 1.0 pada tahun 2003. Versi terbaru (saat menulis artikel ini) adalah 2015. Berikut ini adalah daftar kronologis versi rilis -
- Microsoft CRM 1.0
- Microsoft CRM 1.2
- Microsoft Dynamics CRM 3.0
- Microsoft Dynamics CRM 4.0
- Microsoft Dynamics CRM 2011
- Microsoft Dynamics CRM 2013
- Microsoft Dynamics CRM 2015
- Microsoft Dynamics CRM 2016
Mari kita mulai dengan menyiapkan lingkungan CRM kita. Kami akan menggunakan versi online CRM 2015, karena versi online menyediakan akses uji coba gratis selama satu bulan. Dengan melakukan ini, Anda tidak perlu membeli lisensi apa pun untuk mempelajari CRM.
Note- Karena Microsoft Dynamics CRM adalah produk yang sedang berkembang, mungkin saja pada saat Anda mempelajari ini, Anda akan memiliki versi produk yang lebih baru. Dalam hal ini, aplikasi mungkin tidak terlihat persis seperti yang Anda lihat di tangkapan layar tutorial ini. Namun, konsep inti produknya tetap sama. Tampilan dan nuansa serta navigasi produk dapat berubah, namun, dalam kebanyakan kasus, Anda dapat dengan mudah menavigasi dan menemukan opsi yang diperlukan.
Menyiapkan Akun Online Microsoft Dynamics CRM
Step 1 - Arahkan ke URL berikut -
https://www.microsoft.com/en-us/dynamics365/home
Jika Anda tidak melihat opsi versi Uji Coba melalui tautan ini di masa mendatang, coba cari "Uji Coba Gratis Microsoft Dynamics CRM" di Google.
Step 2- Klik tombol Coba gratis. Ini akan memulai proses registrasi 3 langkah seperti yang ditunjukkan pada gambar layar berikut. Pada Langkah 1 dari pendaftaran 3 langkah, isi detail wajib seperti nama, email, dan bahasa.
Step 3- Klik tombol Coba gratis. Ini akan memulai proses registrasi 3 langkah seperti yang ditunjukkan pada gambar layar berikut. Pada Langkah 1 dari pendaftaran 3 langkah, isi detail wajib seperti nama, email, dan bahasa.
Step 4- Pada Langkah 3 dari pendaftaran 3 langkah, Microsoft akan memvalidasi nomor ponsel yang telah Anda tentukan. Untuk ini, Anda dapat memberikan nomor ponsel Anda dan klik Kirimi saya SMS. Ini kemudian akan mengirim OTP ke ponsel Anda yang dapat digunakan untuk melanjutkan lebih lanjut dengan pengaturan.
Step 5- ID pengguna Office 365 Anda akan dibuat. Anda dapat menyimpan informasi ID pengguna ini untuk akses nanti.
Setelah mengatur akun, sekarang akan membuka Dasbor CRM Anda yang akan terlihat seperti berikut.
Sekadar menekankan lagi, tangkapan layar di atas dapat berubah dengan versi yang akan datang, namun pengaturan lingkungan akan menjadi proses yang cukup sederhana.
Mendownload SDK CRM
Kit Pengembangan Perangkat Lunak (SDK) Microsoft Dynamics CRM berisi contoh kode penting termasuk kode sisi server, kode sisi klien, ekstensi, plugin, layanan web, alur kerja, model keamanan, dll. Pada dasarnya, SDK berisi setiap sumber daya pengembangan yang Anda perlukan untuk memulai CRM. Baik Anda berencana menyiapkan proyek plugin baru atau menyiapkan proyek layanan web untuk CRM, SDK menyediakan arsitektur dasar dan contoh mulai dari tingkat sederhana hingga lanjutan untuk membantu Anda memulai. Sekarang kita akan melihat langkah-langkah untuk mendownload dan menginstal SDK.
Step 1- Setiap versi Microsoft Dynamics CRM dilengkapi dengan versi SDK-nya sendiri. Cara terbaik untuk mendapatkan versi SDK yang benar adalah dengan mencari di Google versi CRM Anda masing-masing. Misalnya, jika versi CRM Anda adalah 2015, coba cari "Microsoft Dynamics CRM 2015 SDK".
Step 2- Setelah diunduh, jalankan pengaturan exe. Klik Lanjutkan.
Step 3- Ini akan meminta Anda untuk memilih lokasi tempat SDK harus diekstraksi. Pilih lokasi yang sesuai di mana Anda ingin menyimpan SDK referensi.
Step 4- Buka folder tempat Anda mengekstrak. Anda dapat mengakses semua konten SDK dari sini.
Kesimpulan
Dalam bab ini, kami telah menyiapkan lingkungan kami dengan membuat akun CRM Online. Kami kemudian mengunduh SDK CRM, yang akan digunakan pada bab-bab selanjutnya dari tutorial ini. Pastikan untuk mencatat kredensial yang Anda gunakan untuk menyiapkan akun, karena Anda akan membutuhkan kredensial ini saat Anda masuk lagi.
Seluruh Microsoft Dynamics CRM dirancang dengan modul fungsional berikut.
- Sales
- Marketing
- Manajemen Pelayanan
Modul fungsional ini sering disebut sebagai Work Areas.
Memahami Modul Fungsional CRM
Seluruh aplikasi CRM dibagi secara fungsional untuk berbagai jenis pengguna dan tim. Oleh karena itu, jika organisasi menggunakan CRM untuk mengelola prosesnya, pengguna dari tim Penjualan akan menggunakan fungsi yang ada di dalam modul Penjualan, sedangkan pengguna dari tim Pemasaran akan menggunakan fungsi yang termasuk dalam modul Pemasaran.
Ketiga modul fungsional ini bersatu untuk mendorong seluruh siklus hidup untuk mendapatkan pelanggan baru (Pemasaran), menjual kepada mereka layanan (Penjualan), dan mempertahankan pelanggan yang ada (Manajemen Layanan).
Untuk memahami aliran ini dengan cara yang lebih baik, pertimbangkan bank yang menjual kartu kredit kepada pelanggannya. Siklus hidup tipikal dalam menjual kartu kredit kepada pelanggan adalah sebagai berikut. Di setiap langkah siklus hidup ini, Anda akan melihat bagaimana modul Penjualan, Pemasaran, dan Layanan menjalankan perannya.
Sales & Marketing- Pejabat call center office bank menerima data calon nasabah; sering disebut sebagai Prospek dalam CRM. Prospek ini ditangkap dalam sistem CRM melalui kampanye pemasaran, dorongan penjualan, rujukan, dll.
Sales- Eksekutif call center berkomunikasi dengan Pemimpin ini baik melalui panggilan telepon / email / dll. Jika pelanggan tertarik dengan penawaran kartu kredit, catatan Prospek akan diubah menjadi catatan Peluang (memenangkan Prospek).
Service- Setelah pelanggan menjadi bagian dari sistem, perusahaan akan membantunya dalam pembayaran, penagihan, pengembalian dana, dll. Kapan pun pelanggan memiliki pertanyaan atau masalah, mereka akan menelepon pusat panggilan dan melaporkan insiden. Pihak eksekutif akan menindaklanjuti penyelesaian kasus tersebut dengan tujuan untuk memberikan layanan yang berkualitas kepada pelanggan. Tugas-tugas ini termasuk dalam Manajemen Layanan CRM.
Menavigasi Area Kerja CRM
Step 1 - Buka Halaman Beranda CRM.
Step 2 - Secara default, Anda akan melihat area kerja Penjualan seperti yang dipilih.
Step 3- Untuk mengubah area kerja, klik opsi Tampilkan area kerja. Anda akan melihat opsi untuk memilih Penjualan, Layanan, dan Pemasaran.
Step 4- Klik Penjualan. Ini akan menunjukkan kepada Anda semua entitas yang termasuk dalam Penjualan seperti Akun, Kontak, Prospek, Peluang, Pesaing, dll. Masing-masing entitas ini dikategorikan menurut proses bisnis mereka seperti Pekerjaan Saya, Pelanggan, Penjualan, Jaminan, dll.
Step 5 - Demikian pula, jika Anda mengklik area kerja Pemasaran, Anda akan melihat semua entitas yang terkait dengan fungsi bisnis Pemasaran.
Modul Penjualan
Modul Penjualan CRM dirancang untuk mendorong seluruh siklus hidup penjualan pelanggan baru. Modul Penjualan terdiri dari sub-modul berikut -
Leads- Mewakili seseorang atau organisasi yang dapat menjadi pelanggan potensial bagi perusahaan di masa depan. Ini adalah langkah pertama untuk mendapatkan pelanggan potensial dalam sistem.
Opportunities- Mewakili penjualan potensial kepada pelanggan. Setelah Prospek menunjukkan minat pada penawaran, itu akan diubah menjadi Peluang. Peluang akan dimenangkan atau dikalahkan.
Accounts- Mewakili perusahaan yang memiliki hubungan dengan organisasi. Setelah Peluang menang, Peluang akan diubah menjadi Akun atau Kontak.
Contacts- Mewakili seseorang, atau individu yang memiliki hubungan dengan organisasi. Sebagian besar Kontak ini adalah pelanggan organisasi (mis. Semua pelanggan kartu kredit sebuah bank). Setelah Peluang menang, Peluang akan dikonversi menjadi Akun atau Kontak.
Competitors - Mengelola semua pesaing pasar organisasi.
Products - Mengelola semua produk yang ditawarkan oleh organisasi kepada pelanggannya (Contoh, semua paket kartu kredit).
Quotes - Penawaran resmi untuk produk atau layanan yang diusulkan dengan harga tertentu yang dikirim ke calon pelanggan (Contoh, harga tahunan dari paket kartu kredit tertentu yang dikirim ke pelanggan).
Orders - Penawaran yang diterima oleh pelanggan berubah menjadi Pesanan (Contoh, dari semua paket yang ditawarkan organisasi kepada Anda, Anda dapat berlangganan 6 bulan).
Invoices - Pesanan yang ditagih menghasilkan faktur.
Modul Pemasaran
Modul Pemasaran CRM dirancang untuk mendorong seluruh proses pemasaran organisasi untuk pelanggan yang ada dan pelanggan potensial. Modul Pemasaran terdiri dari sub-modul berikut -
Marketing Lists- Menyediakan cara untuk mengelompokkan Kontak, Akun, dan Prospek Anda dan berinteraksi dengan mereka melalui pengiriman email promosi, detail acara, buletin, dan pembaruan lain yang relevan dengan pelanggan target. Anda dapat menentukan kriteria untuk membuat daftar pemasaran Anda (Contoh, kontak berusia antara 25 dan 35).
Campaigns - Kampanye dirancang untuk mengukur keefektifan dan mencapai hasil tertentu, seperti memperkenalkan produk baru atau meningkatkan pangsa pasar dan dapat mencakup berbagai saluran komunikasi seperti email, iklan surat kabar, iklan YouTube, dll.
Quick Campaigns - Kampanye Cepat mirip dengan Kampanye namun dapat dikaitkan hanya dengan satu jenis aktivitas.
Semua modul Pemasaran di atas bekerja dalam koordinasi yang erat dengan modul Penjualan.
Modul Manajemen Layanan
Modul Manajemen Layanan CRM dirancang untuk memfokuskan, mengelola, dan melacak operasi layanan pelanggan dari suatu organisasi seperti mendukung layanan berbasis insiden, mendukung pelanggan menggunakan penjadwalan layanan, dll.
Modul Manajemen Layanan mencakup sub-modul berikut -
Cases (Incidents)- Mendukung permintaan, masalah, atau keluhan pelanggan untuk dilacak melalui insiden / kasus. Sebuah kasus mengikuti berbagai tahapan proses penyelesaian masalah dan akhirnya diselesaikan dan ditutup.
Knowledge Base - Menjaga gudang utama untuk semua pertanyaan dan jawaban umum yang sering ditanyakan pelanggan.
Contracts - Kontrak bekerja dengan Kasus yang menunjukkan semua kontrak aktif yang dimiliki pelanggan.
Resources/Resource Groups- Mewakili orang, peralatan, ruangan, atau bagian dari peralatan yang digunakan untuk memberikan layanan. Sumber daya ini dapat digunakan untuk memecahkan masalah pelanggan tertentu.
Services - Mewakili semua layanan yang ditawarkan organisasi kepada pelanggan.
Service Calendar - Digunakan untuk menjadwalkan waktu kerja dan jadwal pengguna yang bekerja di organisasi.
Manajemen Aktivitas
Semua modul yang dijelaskan di atas menggunakan modul Manajemen Aktivitas CRM. Aktivitas mewakili segala jenis interaksi dengan pelanggan seperti Panggilan Telepon, Email, Surat, dll. Aktivitas ini dapat dikaitkan dengan entitas mana pun yang dijelaskan sebelumnya seperti Akun, Kontak, Prospek, Kasus, dll. Secara default, CRM menyediakan jenis aktivitas berikut di luar kotak -
- Panggilan telepon
- Task
- Appointment
- Janji Berulang
- Letter
- Fax
- Respon Kampanye
- Kegiatan Kampanye
- Aktivitas Layanan
- Aktivitas Kustom
Kesimpulan
Dalam bab ini, kita telah mempelajari tentang tiga modul utama CRM - Penjualan, Pemasaran, dan Manajemen Layanan. Kami memahami bagaimana area kerja diatur dalam CRM dan bagaimana seluruh siklus hidup organisasi CRM bekerja. Kami juga melihat modul Manajemen Aktivitas CRM yang memungkinkan untuk membuat Telepon, Email, Faks, dan jenis aktivitas interaksi pelanggan lainnya.
Sekarang kita memiliki gambaran umum fungsional dari semua modul CRM, mari kita belajar dan memahami tentang entitas dan formulir di CRM.
Apa itu Entitas?
Entitas digunakan untuk memodelkan dan mengelola data bisnis di CRM. Kontak, Kasus, Akun, Prospek, Peluang, Aktivitas, dll. Adalah semua entitas yang menyimpan catatan data. Secara konseptual, entitas CRM setara dengan tabel database. Misalnya, entitas Kontak akan menyimpan catatan Kontak, entitas Kasus akan menyimpan catatan Kasus, dan seterusnya.
Anda dapat memiliki keduanya: entitas out-of-the-box (yang datang secara default dengan CRM) dan entitas kustom (yang dapat Anda buat dengan kustomisasi). Misalnya, Anda menyimpan data buku yang telah dibaca pelanggan Anda. Untuk ini, Anda akan menyimpan data pelanggan menggunakan entitas Kontak out-of-the-box tetapi di mana Anda akan menyimpan data buku? Anda tidak memiliki entitas apa pun yang dapat menyimpan data untuk buku. Dalam skenario seperti itu, Anda akan membuat entitas kustom baru bernama Buku dan menghubungkannya dengan entitas Kontak yang ada.
Untuk tutorial ini, mari kita ambil contoh menyimpan pemberi kerja dan karyawan di CRM. Mengambil contoh ini sebagai pertimbangan, di luar kotak, CRM menyediakanContactentitas di mana Anda idealnya dapat menyimpan semua karyawan Anda. Ini juga menyediakanAccountentitas tempat Anda dapat menyimpan semua perusahaan Anda. Namun demi entitas pembelajaran, kami akan membuat entitas kustom baru bernamaEmployer (dan tidak menggunakan entitas Akun yang ada).
Membuat Entitas Baru
Step 1 - Klik tombol pita atas diikuti dengan Settingspilihan. KlikCustomizations opsi dari bagian Kustomisasi (Lihat tangkapan layar berikut).
Step 2 - Sekarang klik Sesuaikan opsi Sistem.
Ini akan membuka jendela Solusi Default. Anda akan mempelajari lebih lanjut tentang Solusi CRM di bab-bab berikutnya, tetapi untuk saat ini Anda akan menggunakan Solusi CRM default.
Step 3 - Perluas opsi Entitas dari panel kiri.
Step 4 - Sekarang klik New → Entity.
Step 5- Di Formulir Entitas, masukkan Nama Tampilan sebagai Pemberi Kerja dan Nama Jamak sebagai Pemberi Kerja. Di bagian 'Area yang menampilkan entitas ini', centang Penjualan, Layanan, dan Pemasaran. Memeriksa opsi ini akan menampilkan entitas yang baru dibuat di tab Penjualan, Layanan, dan Pemasaran CRM.
Step 6- Klik pada ikon Simpan dan Tutup. Ini akan membuat entitas baru di database CRM di belakang layar.
Step 7 - Di jendela induk Solusi Default, Anda akan melihat entitas Pengusaha yang baru dibuat.
Step 8- Klik opsi Publikasikan Semua Kustomisasi dari bilah pita atas. Ini akan mempublikasikan (alias melakukan) semua perubahan yang kami lakukan hingga sekarang. Anda dapat menutup jendela ini dengan mengklik Simpan dan Tutup.
Membuat Rekaman
CRM adalah tentang mengelola data berharga di sistem Anda. Di bagian ini, kita akan mempelajari cara membuat, membuka, membaca, dan menghapus record di CRM. Kami akan melanjutkan dengan entitas pemberi kerja yang kami buat di bab terakhir.
Step 1 - Arahkan ke grid catatan entitas Pengusaha melalui Tampilkan area kerja → Penjualan → Ekstensi → Pengusaha.
Step 2 - Klik ikon Baru.
Ini akan membuka formulir majikan baru default. Anda dapat melihat bahwa hanya ada satu Nama bidang yang dapat diedit dalam formulir default ini. Masukkan Perusahaan 1 di bidang Nama. Klik Simpan dan Tutup.
Step 3 - Di Active Employers lihat, Anda dapat melihat catatan perusahaan yang baru dibuat.
Mengakses Rekaman
Untuk mengakses rekaman yang sudah dibuat di CRM, buka halaman entitas itu. Dalam kasus kami, navigasikan ke Tampilkan area kerja → Penjualan → Ekstensi → Pengusaha. Anda akan melihat daftar record yang ada di grid. Klik catatan Pemberi kerja mana pun untuk mengaksesnya.
Memperbarui Rekaman
Setelah Anda membuka catatan, Anda dapat mengedit detail apa pun di formulir. Secara default, CRM 2015 hadir dengan opsi simpan otomatis yang menyimpan setiap perubahan yang dibuat ke formulir 30 detik setelah perubahan. Atau, Anda dapat mengklik Ctrl + S.
Jika Anda ingin menonaktifkan fitur simpan otomatis, buka Pengaturan → Administrasi → Pengaturan Sistem → Aktifkan simpan otomatis untuk semua formulir dan pilih Tidak.
Menghapus Record
Step 1 - Pilih satu atau beberapa catatan yang ingin Anda hapus dan klik Delete tombol.
Step 2 - Konfirmasikan penghapusan catatan dengan mengklik Delete.
Kesimpulan
Seperti yang terlihat pada contoh di atas, formulir Pengusaha default hanya memiliki satu bidang. Namun, dalam skenario kehidupan nyata, Anda akan memiliki banyak bidang kustom di formulir. Misalnya, jika Anda melihat sampel catatan Kontak (yang merupakan entitas CRM out-of-the-box), itu akan memiliki banyak bidang untuk menyimpan informasi kontak seperti Nama Lengkap, Email, Telepon, Alamat, Kasus, dll.
Di bab berikutnya, Anda akan belajar bagaimana mengedit formulir default ini dan menambahkan berbagai jenis bidang di atasnya.
Sebelum Anda mempelajari cara menambahkan bidang kustom ke formulir CRM, mari kita lihat jenis bidang data apa yang didukung oleh CRM.
Jenis Bidang
Keluar-of-the-box, CRM menyediakan 11 jenis bidang data yang dapat ditempatkan pada formulir -
- Baris Teks Tunggal
- Set Opsi (Dropdown)
- Dua Opsi (Tombol Radio)
- Image
- Angka Utuh
- Nomor Titik Mengambang
- Angka desimal
- Currency
- Beberapa Baris Teks
- Tanggal dan waktu
- Lookup
Tabel berikut mencantumkan masing-masing dengan deskripsi singkat.
Sr Tidak | Jenis & Deskripsi Bidang |
---|---|
1 | Single Line of Text Bidang ini menyimpan hingga 4000 karakter teks. Anda juga dapat menentukan format sebagai salah satu dari ini: Email, Teks, Area Teks, URL, Simbol Ticker, dan Telepon. Anda dapat mengatur panjang maksimum dan mode IME untuk masing-masingnya. |
2 | Option Set (Dropdown) Bidang ini menyimpan sekumpulan opsi yang masing-masing memiliki nilai angka dan label. Dengan kata lain, ini adalah bidang dropdown di CRM. Anda juga dapat menentukan Kumpulan Opsi Global yang dapat digunakan di berbagai bentuk. |
3 | Two Options (Radio Button) Kolom ini menyediakan dua opsi bagi pengguna untuk memilih (0 atau 1). Dengan kata lain, ini adalah bidang tombol radio. |
4 | Image Ketika entitas memiliki bidang gambar, itu dapat dikonfigurasi untuk menampilkan gambar untuk catatan dalam aplikasi. |
5 | Whole Number Bidang ini menyimpan nilai integer antara -2.147.483.648 dan 2.147.483.647. Ini mendukung format yang menentukan sebagai Tidak Ada, Durasi, Zona Waktu, dan Bahasa. Anda juga dapat mengatur nilai minimum dan maksimum. |
6 | Floating Point Number Bidang ini menyimpan angka titik mengambang hingga 5 titik desimal dengan ketelitian antara 0,00 dan 1.000.000.000,00. Anda juga dapat mengatur nilai minimum dan maksimum. |
7 | Decimal Number Bidang ini menyimpan hingga 10 titik desimal dengan nilai mulai dari -100.000.000.000,00 dan 100.000.000.000,00. |
8 | Currency Bidang ini digunakan untuk menyimpan nilai mata uang apa pun dalam kisaran 922.337.203.685.477,00 hingga 922.337.203.685.477.0000. Anda juga dapat menentukan Presisi sebagai Desimal Harga, Presisi Mata Uang atau nilai apa pun antara 0 hingga 4. |
9 | Multiple Lines of Text Ini adalah kotak teks bergulir. Anda dapat mengatur jumlah karakter maksimum untuk bidang ini. |
10 | Date and Time Bidang ini digunakan untuk menyimpan data terkait tanggal di CRM dengan dua format yang didukung: Hanya Tanggal, dan Tanggal dan Waktu. Anda juga dapat menentukan perilaku sebagai Pengguna Lokal, Tanggal Saja dan Zona Waktu Independen. |
11 | Lookup Anda bisa membuat bidang pencarian menggunakan relasi entitas yang telah dibuat, tapi belum digunakan dengan bidang pencarian lain. Jika Anda membuat bidang pencarian dalam formulir entitas, hubungan secara otomatis dibuat. Bidang pencarian dibuat sebagai bidang hubungan. |
Dalam dua bab terakhir, Anda mempelajari tentang membuat entitas baru, membuat catatan baru, dan jenis bidang yang tersedia di CRM. Dalam bab ini, Anda akan belajar menambahkan bidang baru pada formulir CRM.
Dari 11 jenis bidang data yang dipelajari di bab sebelumnya, Anda akan menggunakan tiga jenis bidang di perusahaan Anda - Kumpulan Opsi (Dropdown), Beberapa Baris Teks, dan Waktu Tanggal. Bidang Kumpulan Opsi akan digunakan untuk menyimpan jenis pemberi kerja, Beberapa Baris Teks akan digunakan untuk menyimpan deskripsi singkat perusahaan dan bidang Tanggal Waktu akan digunakan untuk menyimpan tanggal saat perusahaan dimulai.Note: Anda sudah memiliki bidang Nama di formulir Anda yang merupakan jenis Baris Teks Tunggal.
Menambahkan Fields pada Formulir
Step 1 - Klik tombol pita atas diikuti dengan Settingspilihan. KlikCustomizations opsi dari bagian Kustomisasi (Lihat tangkapan layar di bawah).
Step 2 - Sekarang klik opsi Sesuaikan Sistem.
Ini akan membuka jendela DefaultSolution. Anda akan mempelajari lebih lanjut tentang Solusi CRM di bab-bab berikutnya, tetapi untuk saat ini Anda akan menggunakan Solusi CRM default.
Step 3 - Perluas opsi Entitas dari panel kiri.
Step 4- Dari entitas yang diperluas, pilih Perusahaan. Ini akan membuka detail entitas di jendela kanan. Perluas opsi Pengusaha dari panel kiri dan Anda akan dapat melihat Formulir, Tampilan, Bagan, Bidang, dan beberapa opsi lainnya.
Step 5- Klik Bidang. Ini akan membuka kisi yang menunjukkan semua bidang yang datang secara default saat Anda membuat entitas ini.
Step 6- Klik tombol Baru. Di jendela baru yang terbuka, masukkan detail berikut -
Display Name - Jenis Pengusaha
Name- Bidang ini akan terisi secara otomatis berdasarkan nama tampilan yang Anda pilih. Namun, jika Anda ingin mengubahnya, Anda dapat melakukannya.
Data Type- Set Opsi. Segera setelah Anda memilih Tipe Data sebagai Kumpulan Opsi, itu akan menunjukkan kepada Anda panel Opsi. Mengklik ikon plus (+) membuat item set opsi baru dengan Label default sebagai Item dan Nilai default sebagai 100.000.000. Anda dapat mengubah label item ini untuk menambahkan empat opsi yang mewakili jenis perusahaan: Swasta, Pemerintah, Multinasional dan Publik.
Step 7- Klik Simpan dan Tutup dari pita atas. Anda telah berhasil membuat bidang Jenis Pengusaha.
Step 8 - Mirip dengan apa yang baru saja Anda lakukan untuk menambahkan bidang Jenis Pengusaha, tambahkan tiga bidang lainnya seperti yang dijelaskan dan ditampilkan di tangkapan layar berikut -
Number of Employees - Ini akan menjadi bidang Angka Utuh.
Founded On - Ini akan menjadi kolom DateTime.
Employer Description - Ini akan menjadi bidang Teks Banyak Baris.
Step 9- Sekarang tambahkan bidang baru ini di formulir pemberi kerja. Untuk ini, klik Formulir dari navigasi kiri di bawah Entitas perusahaan. Ini akan menunjukkan kepada Anda dua formulir dengan Informasi nama. Secara default, CRM membuat dua bentuk - Utama dan Mobile-Express. Klik pada formulir Utama.
Step 10 - Anda dapat melihat bidang yang baru ditambahkan di panel Penjelajah Bidang di sebelah kanan.
Step 11 - Seret dan lepas bidang ini di tab Umum.
Step 12 - Klik Simpan, lalu klik Publikasikan.
Step 13- Sekarang Anda dapat membuat catatan pemberi kerja dengan bidang pembaruan. Arahkan ke Beranda CRM → Penjualan → Perusahaan → Baru. Formulir baru yang akan terbuka kali ini akan berisi semua kolom baru yang Anda tambahkan di bab ini. Anda dapat mengisi beberapa detail dan mengklik Simpan dan Tutup.
Kesimpulan
Dalam bab ini, kita belajar bekerja dengan formulir CRM dan cara menyesuaikannya dengan menempatkan berbagai jenis bidang di dalamnya. Kami juga belajar menambahkan bidang sebanyak yang kami inginkan pada formulir apa pun dan mengaturnya menggunakan berbagai tab dan bagian sesuai kebutuhan bisnis.
Microsoft Dynamics CRM adalah produk besar yang telah berkembang secara signifikan selama bertahun-tahun. Produk ini hadir dengan banyak fungsi out-of-the-box yang tertanam dalam sistem. Anda tidak perlu menulis kode apa pun untuk menggunakan fitur ini. Salah satu fitur penting yang siap digunakan adalah kemampuan pencarian CRM, yang mendukung kemampuan kueri dan pemfilteran tingkat lanjut.
Pencarian Cepat
Secara default, tampilan kisi setiap entitas di CRM mendukung fungsionalitas Pencarian Cepat menggunakan bilah pencarian di kanan atas. Berikut tangkapan layar pencarian cepat di entitas Kontak.
Anda dapat mencoba memasukkan string pencarian seperti 'Robert' dan itu akan mengembalikan semua rekaman yang cocok.
Anda dapat mengawali kata kunci pencarian dengan * (tanda bintang) untuk melakukan pencarian wildcard.
Note - Saat menggunakan versi klien web Microsoft Dynamics CRM, Pencarian Cepat selalu mencari Semua catatan Aktif terlepas dari tampilan yang dipilih.
Anda dapat menyesuaikan Pencarian Cepat (seperti menyesuaikan Tampilan lainnya) untuk mengubah kriteria filter, mengkonfigurasi pengurutan, menambahkan kolom tampilan, menambahkan kolom pencarian, dan mengubah properti lainnya.
Pencarian Lanjutan
Pencarian Lanjutan memungkinkan Anda untuk mencari catatan entitas apa pun di CRM. Ini adalah salah satu yang terkuat dan salah satu fitur paling berguna yang keluar-of-the-box dengan CRM. Ikon Pencarian Lanjutan muncul di bilah pita atas Microsoft Dynamics CRM terlepas dari layar mana Anda berada.
Klik ikon Advanced Find untuk membuka jendela Advanced Find. Jendela ini akan memungkinkan Anda untuk memilih entitas yang ingin Anda cari rekamannya, menerapkan kriteria pemfilteran dan pengelompokan, dan menyimpan tampilan Pencarian Tingkat Lanjut sebagai tampilan pribadi.
Mari kita ambil contoh. Misalkan, Anda ingin mencari semua Kontak dengan Nama Depan yang berisi Robert dan yang Bercerai. Untuk ini -
Step 1- Pilih Kontak dari menu tarik-turun Cari. Dropdown ini akan berisi semua entitas yang ada di sistem Anda.
Step 2- Masukkan kriteria pencarian seperti yang ditunjukkan pada tangkapan layar berikut. Anda dapat menambahkan parameter kueri penelusuran sebanyak yang Anda inginkan. Anda bahkan dapat mengelompokkan kriteria tersebut menggunakan parameter grup. Misalnya, jika Anda ingin mencari semua kontak yang nama depannya adalah Robert atau Mark, Anda dapat menambahkan dua kriteria pencarian dan mengelompokkannya menggunakan GroupOR.
Step 3- Klik tombol Hasil. Ini akan menunjukkan catatan yang cocok di tab baru.
Step 4- Anda juga dapat mengedit kolom yang ingin Anda lihat pada hasil pencarian dengan mengklik Edit Kolom. Misalnya, kisi kami saat ini hanya berisi dua kolom - Nama Lengkap dan Telepon Bisnis. Namun, jika Anda ingin menambahkan kolom ID Email ke kisi ini, Anda dapat melakukannya menggunakan opsi ini.
Menyimpan Tampilan Kustom
Pada tahap ini, jika Anda ingin menyimpan kriteria pencarian ini, bersama dengan filter dan kolom yang diedit, Anda dapat melakukannya dengan mengklik tombol Simpan. Setelah disimpan, Anda dapat menggunakan tampilan yang disimpan ini ketika Anda berada di halaman entitas itu.
Misalnya, sebagai eksekutif pelanggan Anda melayani dua jenis pelanggan: Normal dan Premium. Karenanya, Anda dapat membuat filter lanjutan dengan masing-masing kategori ini dan menyimpannya sebagai Kontak Normal yang Ditugaskan kepada Saya dan Kontak Premium Ditugaskan kepada Saya. Anda kemudian dapat dengan cepat mengakses tampilan ini langsung dari halaman Entitas kontak tanpa melakukan pencarian cepat atau pencarian pencarian lanjutan setiap kali Anda menggunakan sistem.
Sumber Daya Web di CRM adalah file web virtual yang disimpan dalam database CRM dan digunakan untuk mengimplementasikan fungsi halaman web di CRM. File ini dapat berupa HTML, JScript, Silverlight, atau jenis lain yang didukung.
CRM sebagai sebuah produk, hadir dengan serangkaian fitur dan fungsi yang luas. Namun, seringkali, Anda harus memperluas fungsi yang ada ini untuk memenuhi kebutuhan khusus Anda. Memperluas fungsi ini umumnya terjadi dalam dua cara -
Extending on Client Side - Menggunakan Sumber Daya Web dan Pembuatan Skrip Formulir.
Extending on Server Side - Plugin, Alur Kerja dan Layanan Web (kita akan mempelajari bagian ini di bab-bab selanjutnya).
Penggunaan Sumber Daya Web
Seperti disebutkan di atas, memperluas CRM di sisi klien adalah tempat Sumber Daya Web muncul. Untuk memahami ini dengan jelas, pertimbangkan kasus penggunaan berikut -
Anda memiliki formulir CRM yang berisi bidang tertentu. CRM menyediakan fitur out-of-the-box untuk validasi dasar seperti field wajib, panjang field, dll. Namun bagaimana jika Anda ingin memiliki validasi yang lebih kompleks seperti memvalidasi jika nomor telepon yang dimasukkan dalam format yang benar, atau memvalidasi apakah alamat yang dimasukkan benar-benar ada, atau jika SSN yang dimasukkan benar?
CRM menyediakan kustomisasi UI out-of-the-box seperti membuat bagian dan tab pada formulir, mengatur ulang bidang, dll. Namun, bagaimana jika klien ingin membuat halaman kustom yang menampilkan semua informasi pelanggan yang berasal dari yang lain. SIstem ERP?
CRM hadir dengan bilah pita standar, yang berisi semua tombol dan opsi. Bagaimana jika Anda ingin menambahkan tombol pita Anda sendiri?
Pertimbangkan bahwa Anda sudah memiliki sistem ERP. Bagaimana jika Anda ingin membuka beberapa layar CRM dari sistem ERP ini?
Anda selalu dapat memanggil layanan web eksternal apa pun di kode plugin sisi server Anda. Namun, bagaimana jika Anda ingin memanggil layanan web eksternal apa pun saat Anda masih berada di sisi klien?
Jawaban untuk semua "Bagaimana jika" ini adalah Sumber Daya Web. Setiap Sumber Daya Web dapat diakses melalui URL uniknya. Anda dapat mengunggah file Sumber Daya Web atau sumber daya berbasis kode (seperti HTML, Jscript, dll.) Anda bahkan dapat mengeditnya langsung di dalam CRM. Karena Sumber Daya Web disimpan dalam CRM, mereka dapat dengan mudah dipindahkan dari satu lingkungan ke lingkungan lain bersama-sama, bersama dengan penyesuaian CRM apa pun.
Jenis Sumber Daya Web
Jenis Sumber Daya Web | Contoh Aplikasi di CRM |
---|---|
Halaman Web (HTML) | Anda mungkin ingin membuat halaman HTML kustom seperti peta, halaman aplikasi kustom, dll. Dan meletakkannya di dalam formulir CRM Anda. |
Style Sheet (CSS) | File CSS apa pun yang akan digunakan bersama dengan file HTML. |
Skrip (JScript) | Semua logika sisi klien seperti validasi, memanipulasi nilai bidang, dll. |
Data (XML) | Dapat digunakan untuk menyimpan pengaturan statis atau data konfigurasi. |
Gambar (PNG, JPG, GIF, ICO) | Gambar apa pun yang digunakan dalam aplikasi pada tombol pita, ikon, formulir, dll. |
Silverlight (XAP) | Semua aplikasi Silverlight khusus yang disematkan dalam CRM. |
StyleSheet (XSL) | Digunakan untuk mengubah data XML. |
Dari semua jenis sumber daya web ini, kita akan mempelajari jenis sumber daya web yang paling penting - Sumber Daya Web HTML dan Sumber Daya Web JScript, di bab-bab selanjutnya.
Mengakses Sumber Daya Web untuk Entitas Apa Pun
Semua Sumber Daya Web yang disimpan dalam database dapat diakses di CRM. Berikut adalah langkah-langkah yang terlibat -
Step 1 - Buka Pengaturan → Kustomisasi → Sesuaikan Sistem.
Step 2 - Dari navigasi kiri, pilih Web Resources. Saat ini, Anda tidak akan dapat melihat Sumber Daya Web karena kami belum membuat apa pun.
Kami akan melihat cara membuat sumber daya web di bab berikutnya.
Sumber Daya Web JScript mungkin adalah jenis sumber daya web terpenting yang akan Anda gunakan dengan Microsoft Dynamics CRM.
Aplikasi JavaScript di CRM
Bentuk Pemrograman Acara
Pemrograman Peristiwa Formulir digunakan untuk menangani perilaku sisi klien seperti apa yang terjadi ketika pengguna membuka formulir, mengubah beberapa data, berpindah melalui tab, dll. Untuk mencapai interaksi sisi klien seperti itu, Anda akan menulis kode JavaScript dan menambahkannya sebagai Sumber Daya Web JScript di CRM. Namun, kode JavaScript yang akan Anda tulis harus menggunakan model Xrm.Page Dynamic CRM dan bukan JavaScript DOM standar. Menggunakan model Xrm.Page adalah cara pengkodean Microsoft yang memastikan bahwa kode apa pun yang Anda tulis menggunakan model ini akan kompatibel dengan versi CRM apa pun di masa mendatang.
Sumber Daya Web
Selain digunakan dalam Pemrograman Peristiwa Formulir, JavaScript digunakan dalam aplikasi lain dari CRM seperti -
Buka Formulir, Tampilan, dan Dialog dengan URL unik.
Menggunakan titik akhir OData dan SOAP untuk berinteraksi dengan layanan web.
Mereferensikan kode JavaScript di dalam Sumber Daya Web lain (seperti sumber daya web HTML).
Dalam kasus seperti itu, Anda akan menulis kode JavaScript Anda (menggunakan model Xrm.Page) dan menambahkannya sebagai Sumber Daya Web JScript di CRM, yang kemudian dapat direferensikan di mana saja dengan URI unik.
Kustomisasi Pita
Terakhir, salah satu penggunaan umum JavaScript lainnya adalah untuk menangani kustomisasi pita seperti -
- Tampilkan / Sembunyikan tombol pita berdasarkan beberapa logika
- Aktifkan / Nonaktifkan tombol pita berdasarkan beberapa logika
- Tangani apa yang terjadi saat Anda mengklik tombol pita tertentu
Untuk menangani skenario seperti itu, Anda akan menulis logika JavaScript Anda (menggunakan model Xrm.Page) dan kemudian menambahkannya sebagai Sumber Daya Web JScript. Sumber Daya Web ini kemudian dapat direferensikan di XML tombol pita dan kita dapat menentukan metode mana di mana file JScript akan dipanggil untuk memeriksa apakah tombol pita harus ditampilkan / disembunyikan atau diaktifkan / dinonaktifkan atau menangani peristiwa klik.
Xrm. Model Objek Halaman
Berikut ini adalah hierarki objek Xrm.Page yang menampilkan ruang nama, objek, dan koleksinya yang tersedia. Anda akan menggunakan properti ini saat menulis kode JScript.
Namespaces
Sr Tidak | Objek & Deskripsi |
---|---|
1 | Context Menyediakan metode untuk mengambil informasi khusus konteks seperti detail organisasi, detail pengguna yang masuk, atau parameter yang diteruskan ke formulir dalam string kueri. |
2 | Data Menyediakan akses ke data entitas dan metode untuk mengelola data dalam formulir serta dalam kontrol aliran proses bisnis. |
3 | UI Berisi metode untuk mengambil informasi tentang antarmuka pengguna, selain koleksi untuk beberapa sub-komponen formulir. |
Objek
Sr Tidak | Objek & Deskripsi |
---|---|
1 | Entity Menyediakan metode untuk -
|
2 | Process Metode untuk mengambil properti aliran proses bisnis. |
3 | Navigation Menyediakan akses ke item navigasi menggunakan koleksi item. |
4 | FormSelector Menggunakan koleksi Item untuk mengakses formulir yang tersedia bagi pengguna. Juga menggunakan metode navigasi untuk menutup dan membuka formulir. |
5 | Stages Setiap proses memiliki kumpulan tahapan yang dapat diakses menggunakan metode proses getStages. |
6 | Steps Setiap dekor terdiri dari berbagai langkah yang dapat diakses menggunakan metode getSteps dari dekor. |
Koleksi
Sr Tidak | Koleksi & Deskripsi |
---|---|
1 | Attributes Memberikan akses ke atribut entitas yang tersedia di formulir. |
2 | Controls ui.controls - Menyediakan akses ke setiap kontrol yang ada di formulir. attribute.controls - Menyediakan akses ke semua kontrol dalam suatu atribut. section.controls - Menyediakan akses ke semua kontrol dalam suatu bagian. |
3 | Items Menyediakan akses ke semua item navigasi di formulir. |
4 | Tabs Menyediakan akses ke semua tab di formulir. |
5 | Sections Memberikan akses ke semua bagian di formulir. |
Acara yang Didukung dalam Pemrograman Formulir
Pemrograman Formulir menggunakan model Xrm.Page memungkinkan Anda menangani peristiwa formulir berikut -
- onLoad
- onSave
- onChange
- TabStateChange
- OnReadyStateComplete
- PreSearch
- Peristiwa kontrol Alur Proses Bisnis
Contoh Pemrograman Formulir
Dalam contoh ini, kami akan meletakkan beberapa validasi pada formulir Kontak berdasarkan PreferredMethodofCommunication yang dipilih pengguna. Oleh karena itu, jika pengguna memilih metode pilihannya sebagai Email, maka bidang Email harus menjadi wajib dan demikian pula untuk bidang Telepon dan Faks lainnya.
Step 1 - Buat file JavaScript bernama contacts.js dan salin kode berikut.
function validatePreferredMethodOfCommunication() {
//get the value of Preffered Method of Communication code
var prefferedContactMethodCode =
Xrm.Page.getAttribute('preferredcontactmetho dcode').getValue();
//if Preferred Method = Any, make all fields as non-mandatory
//else if Preferred Method = Phone, make Mobile Phone field mandatory
//and all other fields as non-mandatory
//else if Preferred Method = Fax, make Fax field mandatory
//and all other fields as non-mandatory
if(prefferedContactMethodCode == 1) {
clearAllMandatoryFields();
}
if(prefferedContactMethodCode == 2) {
clearAllMandatoryFields();
Xrm.Page.getAttribute('emailaddress1').setRequiredLevel('required');
} else if(prefferedContactMethodCode == 3) {
clearAllMandatoryFields();
Xrm.Page.getAttribute('mobilephone').setRequiredLevel('required');
} else if(prefferedContactMethodCode == 4) {
clearAllMandatoryFields();
Xrm.Page.getAttribute('fax').setRequiredLevel('required');
}
}
function clearAllMandatoryFields() {
//clear all mandatory fields
Xrm.Page.getAttribute('emailaddress1').setRequiredLevel('none');
Xrm.Page.getAttribute('mobilephone').setRequiredLevel('none');
Xrm.Page.getAttribute('fax').setRequiredLevel('none');
}
Step 2 - Buka formulir entitas Kontak dengan menavigasi ke Pengaturan → Kustomisasi → Sesuaikan Sistem → Kontak entitas → Formulir → Formulir Utama.
Step 3 - Klik Properti Formulir.
Step 4 - Dari jendela Properti Formulir, klik Tambah.
Step 5 - Di jendela Look Up Web Resource Record berikutnya, klik New karena kita membuat sumber daya web baru.
Step 6 - Di jendela Sumber Daya Web Baru, masukkan detail berikut -
Name - new_contacts.js
Display Name - contacts.js
Type - JScript
Upload File - Unggah file JavaScript yang Anda buat dari mesin lokal Anda.
Step 7- Klik Simpan diikuti oleh Publikasikan. Setelah ini tutup jendela dan Anda akan kembali ke jendela Look Up Web Resource Record.
Step 8- Di sini, Anda sekarang dapat melihat sumber daya web new_contacts.js. Pilih dan klik Tambahkan. Anda sekarang telah berhasil menambahkan sumber daya web baru dan mendaftarkannya di formulir.
Step 9- Sekarang kita akan menambahkan pengendali kejadian pada perubahan bidang Metode Komunikasi Pilihan. Penangan kejadian ini akan memanggil fungsi JavaScript yang baru saja kita tulis. Pilih opsi berikut dari bagian Event Handler.
Control - Metode Komunikasi Pilihan
Event - OnChange
Kemudian, klik Add tombol, seperti yang ditunjukkan pada tangkapan layar berikut.
Step 10 - Di jendela Properti Penangan berikutnya, kami akan menentukan metode yang akan dipanggil saat peristiwa perubahan terjadi.
Pilih Library sebagai new_contacts.js dan Function sebagai validatePreferredMethodOfCommunication. Klik OK.
Step 11- Sekarang Anda dapat melihat Perpustakaan Formulir (Sumber Daya Web) dan acara yang terdaftar di dalamnya. Klik OK.
Step 12 - Klik Simpan diikuti oleh Publikasikan.
Step 13- Sekarang buka formulir Kontak apa pun dan atur Metode Komunikasi Pilihan sebagai Telepon. Ini akan membuat field Ponsel sebagai wajib. Jika Anda sekarang mencoba untuk menyimpan kontak ini tanpa memasukkan nomor ponsel apa pun, itu akan memberi Anda kesalahan yang mengatakan 'Anda harus memberikan nilai untuk Ponsel'.
Kesimpulan
Dalam bab ini, kami memulai dengan memahami tiga aplikasi penting JavaScript di CRM. Kemudian, kami menjelajahi model Xrm.Page dan menggunakannya untuk mempelajari pemrograman Formulir bersama dengan sebuah contoh.
Dalam bab ini, kita akan mempelajari tentang berbagai sumber daya web di Microsoft Dynamics CRM.
Aplikasi Sumber Daya Web HTML
Sumber Daya Web HTML di CRM dapat berisi konten HTML apa pun yang dapat dirender di browser. Pertimbangkan skenario berikut di mana Anda ingin menggunakan Sumber Daya Web HTML -
Anda memiliki halaman HTML statis yang ingin Anda tampilkan di dalam layar CRM.
Anda memiliki laman HTML khusus yang mengharapkan beberapa parameter masukan dan dirender berdasarkan parameter masukan tersebut. Misalnya, pertimbangkan Anda mengambil informasi dari API eksternal atau layanan web, dan Anda ingin menampilkannya di CRM.
Anda ingin menampilkan beberapa informasi dengan tampilan dan nuansa yang berbeda dari UI CRM standar.
Anda memiliki halaman ASPX kustom (di luar aplikasi CRM) yang dirender berdasarkan parameter input. Karena CRM tidak mengizinkan Anda memiliki sumber daya web ASPX, Anda dapat membuat Sumber Daya Web HTML dan memanggil halaman ASPX eksternal dari halaman HTML ini.
Contoh Sumber Daya Web HTML
Kami akan membuat Sumber Daya Web HTML yang sangat sederhana yang akan menampilkan teks khusus 'Selamat Datang di TutorialsPoint'. Perhatikan bahwa ini adalah contoh yang sangat sederhana dari Sumber Daya Web HTML. Praktisnya, Sumber Daya Web HTML akan lebih kompleks dari ini.
Step 1 - Buat file HTML bernama sampleHTMLWebResource.html dan salin kode berikut.
<!DOCTYPE html>
<htmllang = "en"xmlns = "http://www.w3.org/1999/xhtml">
<head>
<metacharset = "utf-8"/>
<title>Welcome to Tutorials Point</title>
</head>
<body>
<h1>Welcome to Tutorials Point. This is an example of HTML Web Resource.</h1>
</body>
</html>
Step 2- Pertama, kita akan membuat Sumber Daya Web baru dan kemudian mereferensikannya pada formulir Kontak. Buka DefaultSolution dan arahkan ke tab WebResources dari panel kiri. Klik Baru.
Step 3- Ini akan membuka jendela Sumber Daya Web Baru. Masukkan detail seperti yang ditunjukkan pada tangkapan layar berikut dan telusuri file HTML yang kita buat pada Langkah 1. Klik Simpan dan Publikasikan. Menutup jendela.
Step 4 - Anda akan melihat Sumber Daya Web baru ditambahkan ke kisi Sumber Daya Web.
Step 5- Sekarang buka formulir Kontak melalui Pengaturan → Kustomisasi → Sesuaikan Sistem → Kontak → Formulir Utama. Pilih bagian Informasi Kontak dan alihkan ke tab Sisipkan dari bilah pita atas. Klik Sumber Daya Web.
Step 6- Ini akan membuka jendela Add Web Resource. Klik Pencarian Sumber Daya Web dari jendela ini, yang akan membuka jendela Catatan Pencarian Sumber Daya Web. Cari Sumber Daya Web yang baru saja Anda buat (new_sampleHTMLWebResource), pilih dari kisi dan klik Tambah.
Step 7- Kembali ke Tambahkan Sumber Daya Web, masukkan Nama dan Label seperti yang ditunjukkan pada tangkapan layar berikut dan klik OK. Menutup jendela.
Anda akan melihat Sumber Daya Web HTML ditambahkan di bawah bidang Alamat.
Step 8 - Untuk mengujinya, buka data Kontak mana saja dan Anda akan melihat konten Sumber Daya Web HTML ditampilkan di sana.
Batasan Sumber Daya Web HTML
Tidak ada cara yang didukung untuk menggunakan kode sisi server di Sumber Daya Web HTML.
Sumber Daya Web HTML hanya dapat menerima sejumlah parameter. Untuk melewatkan lebih dari satu nilai dalam parameter data, Anda harus menyandikan parameter termasuk logika decoding di ujung lainnya.
Alur kerja di CRM memungkinkan Anda mengotomatiskan proses bisnis yang sederhana dan kompleks dalam CRM. Anda dapat membuat alur kerja menggunakan fungsi CRM out-of-the-box atau menulis alur kerja kustom dengan kode .NET untuk mengimplementasikan alur kerja yang kompleks. Proses alur kerja berjalan di latar belakang atau secara real-time dan secara opsional dapat memerlukan masukan pengguna.
Alur kerja dapat dipicu berdasarkan kondisi tertentu atau bahkan dapat dimulai secara manual oleh pengguna. Secara internal, alur kerja CRM diimplementasikan menggunakan Windows Workflow Foundation. Di bab ini, kita akan belajar tentang mengonfigurasi alur kerja.
Konfigurasi alur kerja memiliki bagian utama berikut (secara berurutan) -
- Konfigurasikan entitas tempat alur kerja akan berjalan
- Konfigurasikan apakah alur kerja akan berjalan secara sinkron atau asinkron
- Konfigurasikan pesan (acara) tempat alur kerja akan dijalankan
- Konfigurasikan ruang lingkup di mana alur kerja akan dijalankan
- Konfigurasikan tahapan dan langkah (tindakan) dari alur kerja
Alur Kerja Sinkron / Asinkron
Saat Anda membuat alur kerja, Anda akan melihat opsi Jalankan alur kerja ini di latar belakang (disarankan) yang menentukan apakah alur kerja akan berjalan secara real-time (sinkron) atau di latar belakang (asinkron).
Umumnya, pendekatan yang disarankan adalah menjalankan alur kerja di latar belakang karena mereka menggunakan sumber daya sistem jika tersedia. Namun, Anda selalu dapat beralih kembali dari alur kerja waktu nyata ke alur kerja latar belakang dan sebaliknya.
Pesan Alur Kerja
Alur kerja dapat didaftarkan pada acara tertentu sebagai berikut -
- Saat rekaman dibuat
- Saat status rekaman berubah
- Saat rekaman diberikan
- Saat nilai bidang catatan berubah
- Saat rekaman dihapus
Lingkup Alur Kerja
Alur kerja memungkinkan Anda untuk mengatur lingkup di mana alur kerja akan berjalan. Berikut adalah cakupan alur kerja yang didukung -
User | Alur kerja hanya akan berjalan pada rekaman yang dimiliki oleh pengguna yang sama dengan pengguna alur kerja. |
Business Unit | Alur kerja akan berjalan pada rekaman yang dimiliki oleh pengguna unit bisnis yang sama dengan pengguna alur kerja. |
Parent Child Business Units | Alur kerja akan berjalan pada rekaman yang dimiliki oleh pengguna unit bisnis yang sama dengan pengguna alur kerja serta unit bisnis anak. |
Organization | Alur kerja akan berjalan pada rekaman yang dimiliki oleh setiap pengguna di CRM. |
Langkah Alur Kerja
Alur kerja di CRM adalah kombinasi dari serangkaian langkah yang akan diikuti alur kerja. Anda bahkan dapat membagi langkah-langkah ini dalam tahapan logis. Langkah-langkah berikut ini didukung oleh alur kerja CRM -
Conditional Steps |
|
||||||||||||||
Wait Steps |
|
||||||||||||||
Action Steps |
|
Contoh Alur Kerja
Dalam contoh ini, kami akan membuat alur kerja sederhana yang berjalan di latar belakang untuk menetapkan setiap catatan Kontak yang baru dibuat ke pengguna tertentu dan kemudian mengirimkan email selamat datang ke pelanggan.
Step 1 - Buka Pengaturan → Proses.
Step 2 - Klik Baru.
Step 3 - Di jendela CreateProcess, masukkan detail berikut -
Process Name - Alur Kerja Pelanggan Baru (Ini dapat berupa nama apa pun yang Anda inginkan)
Category - Alur Kerja
Entity - Kontak (Ini akan menjadi entitas tempat Anda membuat alur kerja. Dalam kasus kami, ini adalah Kontak)
Run this workflow in the background (recommended)- Centang opsi ini saat kami membuat alur kerja asynchronous latar belakang. Terakhir, klik OK.
Step 4 - Di Jendela Proses Baru masukkan detail berikut -
Activate As - Proses
Scope - Pengguna
Start when - Rekam dibuat
Klik Add Step → Tetapkan Rekaman.
Step 5- Anda akan melihat langkah baru ditambahkan ke alur kerja. Pada langkah ini, kami akan menentukan pengguna kepada siapa semua kontak yang dibuat harus ditetapkan. Masukkan nama langkah sebagaiAssign Record to Team. Opsi Tetapkan akan ditetapkan sebagai entitas tempat kami membuat alur kerja (Kontak dalam kasus kami). Klik ikon Pencarian.
Step 6- Di jendela Pencarian, pilih pengguna yang Anda inginkan. Anda bahkan dapat memilih tim tertentu yang ingin Anda tetapkan rekamannya. Klik Add.
Step 7- Tambahkan langkah lain dengan mengklik Tambahkan Langkah → Kirim Email. Pada langkah ini, kami akan mengkonfigurasi pengiriman email ke pelanggan.
Step 8- Langkah baru akan ditambahkan. Masukkan namanya sebagai Kirim email ke Pelanggan. Klik Set Properties.
Step 9 - Di jendela berikutnya untuk mengonfigurasi email, lakukan operasi berikut−
From- Klik Dari bidang. Di panel kanan, pilih OwningUser dan Pengguna. Klik Add → OK.
To- Klik bidang Ke. Di panel kanan, pilih Kontak dan Kontak. Klik Add → OK.
Subject - Masukkan Subjek yang relevan.
Body - Masukkan konten Tubuh yang relevan.
Step 10 - Klik Simpan lalu Aktifkan.
Step 11 - Di popup Proses Aktifkan Konfirmasi yang mengikuti, klik Aktifkan.
Step 12- Buka tab Kontak dan buat kontak baru. Segera setelah Anda membuat kontak baru dengan menyimpan catatan, Anda akan melihat bidang Pemilik diatur ke pengguna, yang telah Anda konfigurasikan dalam alur kerja. Selain itu, jika Anda mengklik tab Aktivitas, Anda akan melihat aktivitas email yang dibuat untuk kontak ini. Ini menegaskan bahwa alur kerja berjalan dengan sukses.
Alur Kerja vs Plugin
Alur kerja dan plugin dapat digunakan untuk memperluas dan mengotomatiskan fungsi CRM. Dalam banyak skenario, kedua pendekatan tersebut dapat digunakan secara bergantian untuk menggantikan satu sama lain. Misalnya, jika Anda memiliki persyaratan sederhana untuk mengirim email ke pelanggan Anda, Anda dapat melakukannya melalui plugin atau alur kerja.
Jadi, bagaimana Anda memilih antara membuat alur kerja vs plugin? Daftar berikut mencoba menjelaskan hal yang sama -
Meskipun plugin dan alur kerja keduanya dapat digunakan untuk menjalankan logika sinkron dan asinkron, biasanya plugin lebih disukai untuk logika sinkron, sedangkan alur kerja untuk logika asinkron.
Umumnya, untuk mengimplementasikan logika bisnis yang kompleks, plugin lebih disukai daripada alur kerja. Alur kerja lebih disukai ketika Anda ingin mencapai fungsi yang relatif lebih mudah (seperti mengirim email, menetapkan pengguna, dll.)
Plugin perlu dikembangkan dengan pengkodean, sementara alur kerja dapat dikonfigurasi secara langsung oleh pengguna bisnis tanpa pengetahuan tentang alur kerja.
Alur kerja dapat berjalan sesuai permintaan. Karenanya, jika ada persyaratan di mana pengguna ingin menjalankan beberapa logika secara manual, alur kerja akan menjadi pilihan yang lebih baik.
Dari dampak kinerja, plugin sinkron memberikan kinerja (dan throughput) yang lebih baik dibandingkan dengan alur kerja waktu nyata dalam skenario di mana frekuensi permintaan lebih tinggi.
Kesimpulan
Bab ini memperkenalkan kita pada salah satu fungsi yang sangat penting dari CRM - Alur Kerja. Pertama-tama kami memahami alur kerja, pesan, cakupan, langkah sinkronisasi / asinkron dan akhirnya melihat contoh langsung cara membuat dan menjalankan alur kerja. Akhirnya, kami melihat perbedaan antara alur kerja dan plugin.
Plug-in adalah logika bisnis kustom yang terintegrasi dengan Microsoft Dynamics CRM untuk mengubah atau memperluas perilaku standar platform. Plug-in bertindak sebagai penangan peristiwa dan terdaftar untuk dijalankan pada peristiwa tertentu di CRM. Plugin ditulis dalam C # atau VB dan dapat berjalan baik dalam mode sinkron maupun asinkron.
Beberapa skenario di mana Anda akan menulis plugin adalah -
Anda ingin menjalankan beberapa logika bisnis seperti memperbarui bidang tertentu dari catatan atau memperbarui catatan terkait, dll. Saat Anda membuat atau memperbarui catatan CRM.
Anda ingin memanggil layanan web eksternal pada acara tertentu seperti menyimpan atau memperbarui rekaman.
Anda ingin menghitung nilai bidang secara dinamis saat rekaman apa pun dibuka.
Anda ingin mengotomatiskan proses seperti mengirim email ke pelanggan Anda pada acara tertentu di CRM.
Kerangka Acara
Kerangka Pemrosesan Peristiwa di CRM memproses permintaan plugin sinkron dan asinkron dengan meneruskannya ke pipeline eksekusi peristiwa. Setiap kali suatu peristiwa memicu logika plugin, sebuah pesan dikirim ke Layanan Web Organisasi CRM di mana ia dapat dibaca atau dimodifikasi oleh plugin lain atau operasi inti platform apa pun.
Tahapan Plugin Pipeline
Seluruh pipeline plugin dibagi dalam beberapa tahap tempat Anda dapat mendaftarkan logika bisnis kustom Anda. Tahap pipeline yang ditentukan menunjukkan pada tahap mana dari siklus eksekusi plugin, kode plugin Anda berjalan. Dari semua tahapan pipeline yang ditentukan dalam tabel berikut, Anda dapat mendaftarkan plugin kustom Anda hanya pada Pre- dan Post-event. Anda tidak dapat mendaftarkan plugin di Operasi Utama Inti Platform.
Peristiwa | Nama panggung | Deskripsi |
---|---|---|
Pra-Acara | Pra-validasi | Tahapan dalam pipeline untuk plug-in yang akan dijalankan sebelum operasi sistem utama. Plug-in yang didaftarkan pada tahap ini dapat dijalankan di luar transaksi database. |
Pra-Acara | Pra-operasi | Tahapan dalam pipeline untuk plug-in yang akan dijalankan sebelum operasi sistem utama. Plugin yang didaftarkan pada tahap ini dijalankan dalam transaksi database. |
Operasi Inti Platform | MainOperation | Intransaction, operasi utama sistem, seperti membuat, memperbarui, menghapus, dan sebagainya. Tidak ada plugin kustom yang dapat didaftarkan pada tahap ini. Hanya untuk penggunaan internal. |
Pasca-Acara | Pasca operasi | Tahapan dalam pipeline untuk plug-in yang akan dijalankan setelah operasi utama. Plug-in yang didaftarkan pada tahap ini dijalankan dalam transaksi database. |
Setiap kali aplikasi CRM memanggil suatu peristiwa (seperti menyimpan atau memperbarui catatan), urutan tindakan berikut terjadi -
Peristiwa memicu panggilan layanan Web dan eksekusi diteruskan melalui tahapan pipeline peristiwa (pra-peristiwa, operasi inti platform, pasca-peristiwa).
Informasi ini dikemas secara internal sebagai pesan OrganizationRequest dan akhirnya dikirim ke metode layanan Web CRM internal dan operasi inti platform.
Pesan OrganizationRequest pertama kali diterima oleh plugin pra-acara, yang dapat mengubah informasi sebelum meneruskannya ke operasi inti platform. Setelah operasi inti platform, pesan tersebut dikemas sebagai OrganizationResponse dan diteruskan ke plugin pasca operasi. Plugin pasca operasi dapat secara opsional mengubah informasi ini sebelum meneruskannya ke plugin async.
Plugin menerima informasi ini dalam bentuk objek konteks yang diteruskan ke metode Execute setelah pemrosesan lebih lanjut terjadi.
Setelah semua pemrosesan plugin selesai, eksekusi diteruskan kembali ke aplikasi yang memicu peristiwa tersebut.
Pesan Plugin
Pesan adalah peristiwa di mana plugin (atau logika bisnis) terdaftar. Misalnya, Anda dapat mendaftarkan plugin di Buat entitas Pesan Kontak. Ini akan mengaktifkan logika bisnis setiap kali catatan Kontak baru dibuat.
Untuk entitas kustom, berikut adalah pesan yang didukung berdasarkan apakah entitas tersebut milik pengguna atau milik organisasi.
Nama Pesan | Jenis Kepemilikan |
---|---|
Menetapkan | Hanya entitas milik pengguna |
Membuat | Entitas milik pengguna dan milik organisasi |
Menghapus | Entitas milik pengguna dan milik organisasi |
GrantAccess | Hanya entitas milik pengguna |
ModifyAccess | Hanya entitas milik pengguna |
Ambil | Entitas milik pengguna dan milik organisasi |
RetrieveMultiple | Entitas milik pengguna dan milik organisasi |
RetrievePrincipalAccess | Hanya entitas milik pengguna |
RetrieveSharedPrincipalsAndAccess | Hanya entitas milik pengguna |
Mencabut akses | Hanya entitas milik pengguna |
SetState | Entitas milik pengguna dan milik organisasi |
SetStateDynamicEntity | Entitas milik pengguna dan milik organisasi |
Memperbarui | Entitas milik pengguna dan milik organisasi |
Untuk entitas out-of-the-box default, ada lebih dari 100 pesan yang didukung. Beberapa dari pesan ini berlaku untuk semua entitas sementara beberapa di antaranya khusus untuk entitas tertentu. Anda dapat menemukan daftar lengkap pesan yang didukung dalam file excel di dalam SDK:SDK\Message-entity support for plug-ins.xlsx
Plugin Menulis
Pada bagian ini, kita akan mempelajari dasar-dasar penulisan plugin. Kami akan membuat plugin sampel yang membuat aktivitas Tugas untuk ditindaklanjuti dengan pelanggan setiap kali pelanggan baru ditambahkan ke sistem, yaitu setiap kali Catatan Kontak baru dibuat di CRM.
Pertama-tama, Anda perlu menyertakan referensi ke Microsoft.Xrm.Sdknamespace. CRM SDK berisi semua rakitan SDK yang diperlukan. Dengan asumsi Anda telah mengunduh dan menginstal SDK di Bab 2, buka Visual Studio. Buat proyek baru berjenis Class Library. Anda dapat menamai proyek sebagai SamplePlugins dan klik OK.
Tambahkan referensi dari Microsoft.Xrm.Sdkperakitan untuk proyek Anda. Majelis hadir diSDK/Bin.
Sekarang, buat kelas bernama PostCreateContact.cs dan tingkatkan kelas dari IPlugin. Sampai saat ini, kode Anda akan terlihat seperti berikut ini.
Anda juga perlu menambahkan referensi ke System.Runtime.Serialization. Setelah Anda menambahkan referensi yang diperlukan, salin kode berikut di dalamPostCreateContact kelas.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Xrm.Sdk;
namespace SamplePlugins {
public class PostCreateContact:IPlugin {
/// A plug-in that creates a follow-up task activity when a new account is created.
/// Register this plug-in on the Create message, account entity,
/// and asynchronous mode.
public void Execute(IServiceProviderserviceProvider) {
// Obtain the execution context from the service provider.
IPluginExecutionContext context =(IPluginExecutionContext)
serviceProvider.GetService(typeof(IPluginExecutionContext));
// The InputParameters collection contains all the data
passed in the message request.
if(context.InputParameters.Contains("Target")&&
context.InputParameters["Target"]isEntity) {
// Obtain the target entity from the input parameters.
Entity entity = (Entity)context.InputParameters["Target"];
try {
// Create a task activity to follow up with the account customer in 7 days
Entity followup = new Entity("task");
followup["subject"] = "Send e-mail to the new customer.";
followup["description"] =
"Follow up with the customer. Check if there are any new issues
that need resolution.";
followup["scheduledstart"] = DateTime.Now;
followup["scheduledend"] = DateTime.Now.AddDays(2);
followup["category"] = context.PrimaryEntityName;
// Refer to the contact in the task activity.
if(context.OutputParameters.Contains("id")) {
Guid regardingobjectid = new Guid(context.OutputParameter
s["id"].ToString());
string regardingobjectidType = "contact";
followup["regardingobjectid"] =
new EntityReference(rega rdingobjectidType,regardingobjectid);
}
// Obtain the organization service reference.
IOrganizationServiceFactory serviceFactory =
(IOrganizationSer viceFactory)serviceProvider.GetService
(typeof(IOrganizationServiceFactory));
IOrganizationService service =
serviceFactory.CreateOrganizationService(context.UserId);
// Create the followup activity
service.Create(followup);
} catch(Exception ex) {
throw new InvalidPluginExecutionException(ex.Message);
}
}
}
}
}
Berikut adalah penjelasan langkah demi langkah tentang fungsi kode ini -
Step 1- Menerapkan metode Execute dengan mengambil objek IServiceProvider sebagai parameternya. Penyedia layanan berisi referensi ke banyak objek berguna yang akan Anda gunakan dalam plugin.
Step 2 - Mendapatkan objek IPluginExecutionContext menggunakan metode GetService dari IServiceProvider.
Step 3- Mendapat objek entitas target dari koleksi InputParameters objek konteks. Objek kelas Entitas ini merujuk ke catatan entitas Kontak tempat plugin kami akan didaftarkan.
Step 4- Kemudian membuat objek entitas Tugas dan menetapkan subjek, deskripsi, tanggal, kategori, dan terkait objek yang tepat. Mengenaiobjekid mengindikasikan untuk rekaman kontak mana rekaman aktivitas ini sedang dibuat. Anda dapat melihat bahwa kode mendapatkan id dari catatan kontak induk menggunakan konteks.OutputParameters dan mengaitkannya dengan catatan entitas tugas yang telah Anda buat.
Step 5 - Membuat objek IOrganizationServiceFactory menggunakan objek IServiceProvider.
Step 6 - Membuat objek IOrganizationService menggunakan objek IOrganizationServiceFactory.
Step 7- Terakhir, menggunakan metode Buat objek layanan ini. Ini menciptakan aktivitas tindak lanjut yang disimpan di CRM.
Menandatangani Majelis Plugin
Bagian ini hanya berlaku jika Anda mendaftarkan rakitan plugin Anda untuk pertama kalinya. Anda harus masuk ke assembly dengan kunci untuk dapat menerapkan plugin. Klik kanan solusi dan klik Properties.
Pilih tab Signing dari opsi kiri dan centang opsi 'Sign the assembly'. Kemudian, pilih Baru dari Pilih opsi file kunci nama yang kuat.
Masukkan nama file Key sebagai sampleplugins (Ini bisa berupa nama lain yang Anda inginkan). Hapus centang pada opsi Lindungi file kunci saya dengan kata sandi dan klik OK. Klik Simpan.
Terakhir, buat solusinya. Klik Kanan → Bangun. Membangun solusi akan menghasilkan DLL perakitan, yang akan kita gunakan di bab berikutnya untuk mendaftarkan plugin ini.
Penanganan Pengecualian di Plugin
Lebih sering daripada tidak, logika plugin Anda perlu menangani pengecualian waktu proses. Untuk plugin sinkron, Anda dapat mengembalikan fileInvalidPluginExecutionExceptionpengecualian, yang akan menampilkan kotak dialog kesalahan kepada pengguna. Dialog kesalahan akan berisi pesan kesalahan khusus yang Anda berikan ke objek Pesan dari objek pengecualian.
Jika Anda melihat kode kami, kami melemparkan pengecualian InvalidPluginExecutionException di blok catch kami.
throw new InvalidPluginExecutionException(ex.Message);
Kesimpulan
Plugin sangat penting untuk implementasi CRM khusus apa pun. Dalam bab ini, kami fokus pada pemahaman model kerangka peristiwa, tahapan pipeline, pesan, dan penulisan plugin sampel. Di bab berikutnya, kami akan mendaftarkan plugin ini di CRM dan melihatnya berfungsi dari skenario ujung ke ujung.
Di bab terakhir, kami membuat plugin sampel untuk membuat aktivitas Tugas tindak lanjut saat rekaman Kontak dibuat. Pada bab ini, kita akan melihat cara mendaftarkan plugin ini di CRM menggunakan Alat Pendaftaran Plugin. Anda dapat menemukan alat tersebut di lokasi ini: SDK / Tools / PluginRegistration / PluginRegistration.exe.
Untuk kenyamanan, proses pendaftaran plugin dibagi menjadi tiga bagian -
- Menghubungkan ke Server
- Mendaftarkan Majelis
- Mendaftarkan Plugin
Menghubungkan ke Server
Step 1 - Jalankan PluginRegistration.exedari lokasi yang ditentukan sebelumnya. Klik tombol Buat Koneksi Baru.
Step 2- Di jendela Masuk, pilih Office 365 karena kami menggunakan versi online CRM. Masukkan kredensial Anda dan klik Login.
Step 3 - Alat akan terbuka dan terlihat seperti tangkapan layar berikut.
Mendaftarkan Majelis
Step 1 - Masuk ke Register → Register New Assembly.
Step 2- Ini akan membuka jendela Register New Assembly. Klik ikon Navigasi dan cari Plugin DLL yang Anda buat di bab terakhir.
Step 3- Setelah menavigasi DLL, klik Load Assembly. Ini akan mengisi rakitan SamplePlugins dan semua kelas pluginnya. Kamu dapat melihatPostCreateContactkelas plugin yang disorot di bawah. Jika perakitan plugin Anda memiliki 3 kelas plugin, itu akan menunjukkan tiga plugin yang terdaftar di sana.
Step 4- Pilih Isolation Mode as Sandbox, Location as Database dan klik Register Selected Plugins. Ini akan menunjukkan kepada Anda pesan sukses, jika pendaftaran berhasil.
Mendaftarkan Plugin
Sekarang kita akan mendaftarkan langkah-langkah spesifik di mana masing-masing plugin akan dipanggil.
Step 1 - Pilih plugin PostCreateContact.
Step 2 - Klik Daftar → Daftar Langkah Baru.
Step 3 - Kami akan mendaftarkan plugin ini pada pembuatan entitas Kontak, pada tahap pasca operasi dan dalam mode sinkron.
Message - Buat
Primary Entity - Kontak
Event Pipeline Stage of Execution - Pasca operasi
Execution Mode - Sinkron
Pertahankan opsi lainnya secara default dan klik Register New Step.
Anda dapat melihat langkah baru ditambahkan ke plugin.
Sekarang kita akan pergi ke CRM dan menguji apakah plugin kita berfungsi dengan benar. Perhatikan bahwa langkah-langkah pengujian ini khusus untuk plugin contoh kami.
Menguji Plugin
Buka tab Kontak dan buat rekor baru. Setelah Anda menyimpan record, Anda dapat melihat aktivitas baru dibuat dan diasosiasikan dengan record ini.
Anda dapat mengklik aktivitas untuk melihat detail yang telah kami setel di kode.
Ini menegaskan bahwa plugin kami berjalan dengan sukses. Demikian pula, Anda dapat memperluas plugin Anda untuk mencapai fungsi yang sangat kompleks.
Microsoft Dynamics CRM menyediakan dua layanan web penting yang digunakan untuk mengakses CRM dari aplikasi eksternal dan memanggil metode web untuk melakukan operasi data bisnis umum seperti membuat, menghapus, memperbarui, dan menemukan di CRM.
Pertimbangkan skenario berikut -
Anda memiliki aplikasi .NET eksternal, yang perlu berbicara dengan CRM. Misalnya, Anda mungkin ingin memasukkan catatan kontak di CRM saat pelanggan baru terdaftar di aplikasi eksternal Anda.
Atau mungkin, Anda ingin mencari catatan di CRM dan menampilkan hasil pencarian di aplikasi eksternal Anda.
Dalam skenario seperti itu, Anda dapat menggunakan layanan web yang diekspos oleh CRM untuk menggunakannya dalam aplikasi Anda dan melakukan operasi buat, hapus, perbarui, dan temukan di CRM.
Layanan Web IDiscoveryService
Layanan web ini mengembalikan daftar organisasi tempat pengguna tertentu berada dan titik akhir URL untuk setiap organisasi.
Layanan Web IOrganizationService
Layanan web ini adalah layanan web utama yang digunakan untuk mengakses data dan metadata di CRM. IOrganizationService menggunakan dua rakitan penting -Microsoft.Xrm.Sdk.dll dan Microsoft.Crm.Sdk.Proxy.dll. Rakitan ini dapat ditemukan dalam paket CRM SDK di dalamBin map.
Microsoft.Xrm.Sdk.dll
Rakitan ini menentukan metode dan jenis xRM inti, termasuk kelas proxy untuk membuat sambungan ke Microsoft Dynamics CRM lebih sederhana, metode otentikasi, dan kontrak layanan.
Microsoft.Crm.Sdk.Proxy.dll
Majelis ini mendefinisikan permintaan dan tanggapan untuk pesan non-inti serta pencacahan yang diperlukan untuk bekerja dengan data organisasi. Berikut adalah namespace yang didukung oleh dua majelis ini.
Masing-masing rakitan ini mendukung pesan tertentu, yang akan digunakan untuk bekerja dengan data yang disimpan di entitas mana pun. Daftar lengkap pesan yang didukung oleh mereka dapat ditemukan di tautan berikut -
Supported xRM Messages - https://msdn.microsoft.com/en-us/library/gg334698.aspx
Supported CRM Messages - https://msdn.microsoft.com/en-us/library/gg309482.aspx
Metode Layanan Web IOrganizationService
Itu IOrganizationService menyediakan delapan metode yang memungkinkan Anda melakukan semua operasi umum pada sistem dan entitas kustom serta metadata organisasi.
Sr Tidak | Metode & Deskripsi |
---|---|
1 | IOrganizationService.Create Membuat rekor. |
2 | IOrganizationService.Update Memperbarui catatan yang sudah ada. |
3 | IOrganizationService. Retrieve Mengambil rekaman. |
4 | IOrganizationService. RetrieveMultiple Mengambil koleksi catatan. |
5 | IOrganizationService. Delete Menghapus record. |
6 | IOrganizationService. Associate Membuat link antar record. |
7 | IOrganizationService.Disassociate Menghapus link antar record. |
8 | IOrganizationService.Execute Digunakan untuk pemrosesan rekaman umum serta pemrosesan khusus seperti resolusi kasus, deteksi duplikat, dll. |
Contoh Layanan Web
Untuk memahami bagaimana layanan web bekerja di CRM, kita akan melihat contoh yang diberikan oleh CRM SDK. Dalam contoh ini, kami akan membuat rekaman Akun baru, memperbaruinya, dan akhirnya menghapusnya menggunakan CRMIOrganizationService layanan web.
Step 1- Buka folder tempat Anda mengekstrak CRM SDK. Sekarang buka solusi QuickStartCS.sln dengan menjelajahi lokasi berikut: SDK \ SampleCode \ CS \ QuickStart
Step 2 - Kami akan menjelajahi QuickStart dengan Simplified Connectionproyek. Bukaapp.configdalam proyek ini. Secara default, fileconnectionStrings bagian dalam file ini akan diberi komentar.
Dari ini, hapus komentar kunci string koneksi pertama dan edit tiga detail berikut -
Url- Tentukan URL instance CRM Anda. Dalam kasus kami, karena kami menggunakan versi online CRM, Anda harus menyebutkan URL itu.
Username - Nama pengguna CRM Online Anda.
Password - Kata sandi CRM Online Anda.
Step 3 - Buka SimplifiedConnection.cs mengajukan dalam proyek ini dan Runmethod di dalamnya.
public void Run(StringconnectionString, boolpromptforDelete) {
try {
// Establish a connection to the organization web service using CrmConnection.
Microsoft.Xrm.Client.CrmConnection connection =
CrmConnection.Parse(connectionString);
// Obtain an organization service proxy.
// The using statement assures that the service proxy will be properly disposed.
using(_orgService = new OrganizationService(connection)) {
//Create any entity records this sample requires.
CreateRequiredRecords();
// Obtain information about the logged on user from the web service.
Guid userid = ((WhoAmIResponse)_orgService.Execute(new WhoAmIRequest())).UserId;
SystemUser systemUser = (SystemUser)_orgService.Retrieve("systemuser",userid,
new ColumnSet(newstring[]{"firstname","lastname"}));
Console.WriteLine("Logged on user is {0} {1}.",
systemUser.FirstName,systemUser.LastName);
// Retrieve the version of Microsoft Dynamics CRM.
RetrieveVersionRequest versionRequest = new RetrieveVersionRequest();
RetrieveVersionResponse versionResponse =
(RetrieveVersionResponse)_orgService.Execute(versionRequest);
Console.WriteLine("Microsoft Dynamics CRM version {0}.",
versionResponse.Version);
// Instantiate an account object. Note the use of option set
enumerations defined in OptionSets.cs.
// Refer to the Entity Metadata topic in the SDK documentation to
determine which attributes must
// be set for each entity.
Account account = new Account{Name = "Fourth Coffee"};
account.AccountCategoryCode = new OptionSetValue(
(int)AccountAccountCateg oryCode.PreferredCustomer);
account.CustomerTypeCode = new OptionSetValue(
(int)AccountCustomerTypeCod e.Investor);
// Create an account record named Fourth Coffee.
_accountId = _orgService.Create(account);
Console.Write("{0} {1} created, ",account.LogicalName,account.Name);
// Retrieve the several attributes from the new account.
ColumnSet cols = new ColumnSet(
new String[]{"name","address1_postalcode","lastusedincampaign"});
Account retrievedAccount =
(Account)_orgService.Retrieve("account", _accountId, cols);
Console.Write("retrieved, ");
// Update the postal code attribute.
retrievedAccount.Address1_PostalCode = "98052";
// The address 2 postal code was set accidentally, so set it to null.
retrievedAccount.Address2_PostalCode = null;
// Shows use of a Money value.
retrievedAccount.Revenue = new Money(5000000);
// Shows use of a Boolean value.
retrievedAccount.CreditOnHold = false;
// Update the account record.
_orgService.Update(retrievedAccount);
Console.WriteLine("and updated.");
// Delete any entity records this sample created.
DeleteRequiredRecords(promptforDelete);
}
}
// Catch any service fault exceptions that Microsoft Dynamics CRM throws.
catch(FaultException<microsoft.xrm.sdk.organizationservicefault>) {
// You can handle an exception here or pass it back to the calling method.
throw;
}
}
Step 4- Metode ini pada dasarnya mendemonstrasikan semua operasi CRUD menggunakan layanan web CRM. Kode pertama membuat instance organisasi, lalu membuat catatan Akun, memperbarui catatan yang dibuat dan akhirnya menghapusnya. Mari kita lihat komponen penting dari kode ini. Untuk melihat perubahan saat dalam perjalanan di CRM saat kode ini berjalan, Anda dapat men-debug kode ini selangkah demi selangkah (seperti yang kita bahas di bawah) dan sekaligus melihat perubahan di CRM.
Step 4.1 - Menetapkan koneksi ke organisasi menggunakan string koneksi yang telah kami modifikasi Step 2.
Microsoft.Xrm.Client.CrmConnection connection = CrmConnection.Parse(connectionString);
Step 4.2 - Mendapatkan instance proxy dari layanan web organisasi CRM.
_orgService = new OrganizationService(connection)
Step 4.3 - Membuat objek entitas Akun baru dan menetapkan Namanya, AccountCategoryCode, dan CustomerTypeCode.
Account account = new Account{Name = "Fifth Coffee"};
account.AccountCategoryCode = new OptionSetValue(
(int)AccountAccountCategoryCode.P referredCustomer);
account.CustomerTypeCode = new OptionSetValue(
(int)AccountCustomerTypeCode.Investor);
Step 4.4 - Membuat rekaman baru menggunakan metode Buat layanan organisasi.
_accountId = _orgService.Create(account);
Jika Anda menavigasi ke CRM, Anda akan melihat catatan akun yang baru dibuat.
Step 4.5 - Setelah akun dibuat, layanan mengambil kembali catatan dari CRM menggunakan metode Retrieve web service.
ColumnSet cols = new ColumnSet(new String[]{
"name","address1_postalcode","lastusedincampaign"});
Account retrievedAccount =
(Account)_orgService.Retrieve("account", _accountId, cols);
Step 4.6 - Setelah Anda memiliki catatan yang diambil, Anda dapat mengatur nilai catatan yang diperbarui.
retrievedAccount.Address1_PostalCode = "98052";
retrievedAccount.Address2_PostalCode = null;
retrievedAccount.Revenue = new Money(5000000);
retrievedAccount.CreditOnHold = false;
Step 4.7 - Setelah mengatur nilai terbaru dari record, perbarui record kembali ke database CRM menggunakan metode Update web service.
_orgService.Update(retrievedAccount);
Jika Anda membuka catatan di CRM, Anda akan melihat nilai-nilai ini diperbarui di sana.
Step 4.8 - Terakhir, hapus data menggunakan metode Hapus layanan web.
_orgService.Delete(Account.EntityLogicalName, _accountId);
Jika Anda sekarang menyegarkan rekaman yang sama di CRM, Anda akan melihat bahwa rekaman tidak lagi tersedia karena sudah dihapus.
Kesimpulan
Dalam bab ini, kami membahas dua layanan web penting yang disediakan oleh CRM dan contoh kerja tentang bagaimana layanan web ini dapat digunakan dari aplikasi eksternal untuk melakukan berbagai operasi CRUD.
Solusi menyediakan kerangka kerja untuk mengemas, memasang, dan mencopot komponen agar sesuai dengan fungsi bisnis Anda. Solusi memungkinkan penyesuai dan pengembang untuk membuat, mengemas, dan memelihara unit perangkat lunak yang memperluas CRM. Setiap penyesuaian, ekstensi, atau konfigurasi yang dilakukan di CRM dikemas, dikelola, dan didistribusikan menggunakan solusi. Solusi dapat diekspor sebagai file zip dari organisasi sumber, yang kemudian dapat diimpor ke organisasi target.
Untuk memahami ini, pertimbangkan skenario contoh berikut -
Anda, sebagai pengembang atau penyesuai, telah memperluas atau menyesuaikan CRM di lingkungan pengembangan. Sekarang Anda ingin mengemas perubahan Anda dan memindahkannya ke lingkungan berikutnya. Untuk ini, Anda dapat membuat solusi individual dan memublikasikannya di lingkungan yang lebih tinggi.
Anda, sebagai penyedia CRM pihak ketiga, telah membuat modul CRM, yang memungkinkan pengelolaan data di entitas Microsoft Dynamics CRM menggunakan API layanan Web eksternal. Sekarang, Anda ingin menjual modul ini ke klien lain. Dengan menggunakan solusi, Anda dapat mengemas modul ini dan mendistribusikannya ke klien lain yang akan dapat menginstal solusi ini dan menggunakan fungsionalitas yang disediakan oleh modul Anda.
Jenis Solusi
Solusi Sistem Bawaan
Solusi sistem berisi komponen solusi out-of-the-box yang ditentukan dalam Microsoft Dynamics CRM tanpa penyesuaian apa pun. Banyak komponen dalam solusi sistem dapat disesuaikan dan dapat digunakan dalam solusi terkelola atau penyesuaian tak terkelola.
Sepanjang tutorial ini, kami tidak membuat solusi apa pun dan menyesuaikan solusi sistem default. Jika Anda ingat, kami pergi ke Pengaturan → Kustomisasi → Sesuaikan Sistem. Opsi ini secara langsung menyesuaikan solusi default.
Solusi Terkelola
Solusi terkelola adalah solusi yang diselesaikan dan dimaksudkan untuk didistribusikan dan dipasang. Solusi terkelola dapat diinstal di bagian atas solusi sistem atau solusi terkelola lainnya.
Important Points -
Jika Anda mengekspor solusi terkelola dari satu organisasi dan mengimpornya ke organisasi lain, Anda tidak dapat mengedit solusi di organisasi baru.
Solusi terkelola tidak secara langsung merujuk pada solusi sistem.
Menghapus instalasi solusi terkelola akan menghapus semua penyesuaian yang terkait dengan solusi tersebut.
Secara default, solusi terkelola tidak dapat disesuaikan di organisasi target. Namun, dengan menggunakan konsep properti terkelola, Anda dapat menentukan apakah komponen solusi akan dapat disesuaikan dan jika ya, bagian tertentu dari komponen tersebut akan dapat disesuaikan setelah solusi diekspor sebagai solusi terkelola.
Solusi Tidak Terkelola
Solusi yang tidak terkelola adalah solusi yang masih dalam pengembangan dan tidak dimaksudkan untuk didistribusikan. Solusi tidak terkelola berisi semua penyesuaian komponen CRM yang tidak dikelola termasuk komponen yang ditambahkan, dimodifikasi, dihapus, atau dihapus. Secara default, solusi baru apa pun adalah solusi yang tidak terkelola. Namun, Anda dapat mengekspor solusi tidak terkelola sebagai solusi terkelola atau tidak terkelola.
Important Points -
Jika Anda mengekspor solusi tidak terkelola dari satu organisasi dan mengimpornya ke organisasi lain, Anda dapat mengedit solusi di organisasi baru.
Solusi tidak terkelola merujuk langsung ke solusi sistem. Karenanya, perubahan yang dibuat pada satu solusi tak terkelola akan diterapkan ke semua solusi tak terkelola yang mereferensikan komponen yang sama, termasuk solusi sistem.
Jika Anda menghapus komponen solusi dari solusi yang tidak terkelola, komponen tersebut akan dihapus secara permanen dari sistem dan tidak akan tersedia lagi. Jika Anda hanya ingin menghapus komponen dari solusi tidak terkelola tertentu, gunakan hapus, bukan hapus.
Menghapus instalasi solusi tidak terkelola tidak menghapus kustomisasi terkait. Ini hanya menghapus solusi dari sistem, tetapi perubahan yang Anda buat akan tetap ada.
Komponen Solusi
Solusi dapat digunakan untuk mengemas komponen berikut ini yang dapat disesuaikan menggunakan solusi default, tidak terkelola, atau terkelola.
Jenis Komponen | Komponen |
---|---|
Skema | Entitas |
Atribut | |
Hubungan | |
Set Opsi Global | |
Antarmuka pengguna | Pita Aplikasi |
SiteMap | |
Formulir | |
Pita Entitas | |
Sumber Daya Web | |
Analytics | Dasbor |
Laporan | |
Visualisasi | |
Proses / Kode | Proses |
Dialog | |
Alur kerja | |
Plugin | |
Sidang | |
Langkah Pengolahan | |
Template | Menggabungkan surat |
Surel | |
Kontrak | |
Artikel | |
Keamanan | Peran Keamanan |
Profil Keamanan Tingkat Bidang |
Menciptakan Solusi
Step 1- Arahkan ke Pengaturan → Solusi. Klik Baru.
Step 2 - Di jendela berikutnya, masukkan detail berikut dan klik Simpan dan Tutup.
Display Name - Contoh Solusi (Ini dapat berupa nama apa pun yang Anda inginkan).
Name- Akan diatur secara otomatis berdasarkan Nama Tampilan. Namun, Anda dapat mengubahnya.
Publisher- Penerbit Default. Penerbit solusi menyediakan awalan penyesuaian umum dan awalan nilai opsi. Menentukan penerbit solusi mengontrol bagaimana solusi terkelola Anda dapat diperbarui setelah didistribusikan. Namun, untuk contoh ini dan untuk sebagian besar kasus umum, Anda dapat mengatur ini sebagai Penerbit Default.
Version- Tentukan versi dengan format berikut: major.minor.build.revision. Misalnya: 1.0.0.0.
Secara default, setiap solusi ditambahkan sebagai solusi yang tidak terkelola. Setelah solusi ditambahkan, Anda dapat menambahkan komponen solusi dengan membuatnya dalam konteks solusi ini atau dengan menambahkan komponen yang ada dari solusi lain. Misalnya, Anda dapat membuat entitas baru, formulir, dll. Dalam konteks solusi baru ini.
Mengekspor Solusi
Setelah Anda memiliki semua perubahan yang ingin Anda paketkan sebagai solusi terkelola atau tidak terkelola, Anda dapat mengekspor solusi Anda sebagai berikut.
Step 1- Buka organisasi sumber dan arahkan ke Pengaturan → Solusi. Pilih solusi yang ingin Anda ekspor dan klik tombol Ekspor.
Step 2 - Di jendela Publikasikan Kustomisasi, klik Publikasikan Semua Kustomisasi, lalu klik Berikutnya.
Step 3- Di jendela berikutnya, Anda dapat memilih pengaturan sistem seperti penomoran otomatis, pengaturan kalender, dll. Untuk diekspor dengan solusi. Untuk saat ini, Anda dapat menghindari memilih opsi apa pun dan mengklik Berikutnya.
Step 4- Di jendela Jenis Paket, Anda dapat memilih apakah Anda ingin mengekspor paket sebagai solusi yang dikelola atau tidak. Untuk contoh ini, mari kita ekspor sebagai tidak terkelola. Setelah selesai, klik Next.
Step 5- Di jendela berikutnya, Anda dapat melihat versi sumber CRM yang Anda gunakan dan dapat memilih versi target. Klik Ekspor.
Step 6- Setelah Anda mengeklik Ekspor, solusi akan diekspor sebagai file zip. Simpan file zip ini di lokasi yang diinginkan di sistem Anda.
Mengimpor Solusi
Sekarang, kami akan mengimpor file zip solusi yang kami ekspor di bagian sebelumnya ke organisasi target baru.
Step 1- Buka organisasi target dan buka Pengaturan → Solusi. Klik Impor.
Step 2 - Jelajahi file zip yang Anda unduh dari langkah ekspor dan klik Next.
Step 3- Dari jendela berikutnya, Anda dapat melihat detail paket solusi jika diperlukan. Mengklik Impor akan memulai proses impor solusi.
Step 4- Setelah proses impor selesai, ini akan menunjukkan status berhasil atau gagal. Jika proses berhasil, klik Publikasikan Semua Kustomisasi. Jika pengimporan solusi gagal, ini akan memberi Anda log kesalahan mendetail tentang langkah mana dari proses impor yang gagal.
Step 5- Kami sudah selesai. Solusi akan berhasil diimpor ke organisasi target. Klik Tutup.
Resolusi konflik
Karena Anda dapat memiliki banyak pengembang yang bekerja untuk menyesuaikan dan memperluas CRM, Anda akan memiliki beberapa solusi terkelola dan tidak terkelola. Mengekspor dan mengimpor solusi ini terkadang dapat mengakibatkan skenario konflik. Misalnya, 'Solusi A' berisi bidang pada formulir sementara 'Solusi B' telah menghapus bidang dan 'Solusi C' telah mengganti nama bidang tersebut. Dalam skenario ini, apa yang akan menjadi perubahan terakhir? Dalam skenario yang saling bertentangan tersebut, CRM menggunakan dua pendekatan.
Merge- Pendekatan ini digunakan untuk komponen antarmuka pengguna seperti bilah perintah, pita, dan peta situs. Sesuai pendekatan ini, komponen solusi dihitung ulang dari bawah dan kustomisasi organisasi yang tidak dikelola adalah yang terakhir diterapkan.
Top Wins- Pendekatan ini digunakan untuk semua skenario konflik lainnya kecuali komponen antarmuka pengguna. Sesuai dengan pendekatan ini, perubahan terakhir (baik terkelola maupun tidak) mengambil prioritas dan diterapkan.
Kesimpulan
Dalam bab ini, kami memperkenalkan konsep solusi dan berbagai jenis solusi serta komponennya. Kami kemudian belajar cara membuat, mengekspor, dan mengimpor solusi. Terakhir, kami mempelajari tentang dua strategi resolusi konflik, yang terjadi saat kami memiliki beberapa solusi terkelola dan tidak terkelola yang memengaruhi komponen solusi yang sama.