Microsoft Dynamics CRM - Hızlı Kılavuz
Müşteri İlişkileri Yönetimi (CRM), bir şirketin mevcut ve gelecekteki müşterileriyle etkileşimlerini yönetmek için bir sistemdir. Genellikle satış, pazarlama, müşteri hizmetleri ve teknik desteği organize etmek, otomatikleştirmek ve senkronize etmek için teknolojinin kullanılmasını içerir. CRM, müşteri memnuniyetini ve bağlılığını besleyen iş süreçlerini organize ederek ve otomatikleştirerek maliyetleri düşürmeye ve karlılığı artırmaya yardımcı olabilir.
Microsoft Dynamics CRM
Microsoft Dynamics CRM, herhangi bir kuruluş için müşteri ilişkilerini geliştirmeye odaklanan Microsoft tarafından geliştirilen bir müşteri ilişkileri yönetimi yazılım paketidir. Microsoft, Dynamics CRM'yi bir XRM platformu olarak pazarlıyor ve iş ortaklarını kendi özel (.NET tabanlı) çerçevesini özelleştirmek için kullanmaya teşvik etmesine rağmen, kutunun dışında, ürün esas olarak Satış, Pazarlama ve Müşteri Hizmetleri sektörlerine odaklanıyor. Son yıllarda, CRM tarafından yönlendirilen bir Analytics platformu olarak da büyümüştür.
CRM Çözümü, bir kuruluş için satış üretkenliğini ve pazarlama etkinliğini artırmak, tüm müşteri destek zincirini yönetmek ve sosyal içgörüler, iş zekası ve diğer pek çok kullanıma hazır işlevsellik ve özellik sağlamak için kullanılabilir. Bir ürün olarak Microsoft Dynamics CRM, CRM uygulamalarının cep telefonlarında ve tabletlerde kullanılması için tam mobil destek de sunar.
Bu öğreticiyi yazarken, CRM'nin en son sürümü CRM 2016'dır. Bununla birlikte, bu eğiticide, en son kararlı sürüm olduğu ve birçok kuruluşta sıklıkla kullanıldığı için CRM 2015 Online sürümünü kullanacağız. Bununla birlikte, CRM'nin başka bir sürümünü kullanıyor olsanız bile, eğitimdeki tüm kavramlar yine de geçerli olacaktır.
Ürün Teklifleri
Microsoft Dynamics CRM iki kategoride sunulur -
CRM Çevrimiçi
CRM Online, tüm arka uç süreçlerinin (uygulama sunucuları, kurulumlar, dağıtımlar, veritabanları, lisanslama vb.) Microsoft sunucularında yönetildiği bulut tabanlı bir Microsoft Dynamics CRM teklifidir. CRM Online, CRM uygulamasında yer alan tüm teknik özellikleri yönetmek istemeyen kuruluşlar için tercih edilen abonelik tabanlı bir tekliftir. Birkaç gün içinde (haftalar, aylar veya yıllar değil) sisteminizi kurmaya başlayabilir ve tarayıcınız aracılığıyla web üzerinden ona erişebilirsiniz.
CRM Şirket İçi
Şirket içi CRM, CRM uygulamasının ve veritabanlarının sunucularınıza dağıtılacağı daha özelleştirilmiş ve sağlam bir Microsoft Dynamics CRM teklifidir. Bu teklif, tüm veritabanlarınızı, özelleştirmelerinizi, dağıtımlarınızı, yedeklemelerinizi, lisanslamanızı ve diğer ağ ve donanım kurulumlarınızı kontrol etmenize olanak tanır. Genel olarak, özelleştirilmiş bir CRM çözümüne gitmek isteyen kuruluşlar, daha iyi entegrasyon ve özelleştirme yetenekleri sunduğu için şirket içi dağıtımı tercih eder.
İşlevsel bakış açısından, her iki teklif de benzer işlevler sunar; ancak, uygulama açısından önemli ölçüde farklılık gösterirler. Farklılıklar aşağıdaki tabloda özetlenmiştir.
CRM Çevrimiçi | CRM Şirket İçi |
---|---|
Bu, Microsoft tarafından sağlanan ve tüm sunucuların ve veritabanlarının Microsoft tarafından yönetildiği bulut tabanlı bir çözümdür. | Bu, Microsoft tarafından sağlanan, sunucuların ve veritabanlarının müşteri tarafından yönetildiği yerinde bir çözümdür. |
Birkaç gün içinde çevrimiçi bir teklifle başlayabilirsiniz. Hareket halindeyken kullanıcılar ve kullanılan alan için ödeme yaparsınız. | Şirket içi bir teklif oluşturmak, teknik becerilerin yanı sıra CRM örneğini kurmak ve çalıştırmak için yeterli zaman gerektirir. |
Nispeten daha az özelleştirmeleri ve uzantıları destekler. | Nispeten daha fazla özelleştirme ve uzantıyı destekler. |
CRM Online, veritabanı Microsoft sunucularında barındırıldığı için manuel veri yedekleme ve geri yükleme seçeneklerini gerçekleştirme yeteneği sağlamaz. Ancak Microsoft, veritabanının günlük yedeklemelerini gerçekleştirir. | Şirket içi CRM, veritabanınızı yönetmek için eksiksiz bir yetenek sağlar. |
CRM Online'ın 5GB, 20 GB gibi veri depolama limitlerine dayalı çeşitli planları vardır. | Veriler kendi sunucularınızda mevcut olduğundan, şirket içi CRM'nin depolama boyutunda böyle bir sınırı yoktur. |
CRM Online, içgörüler, sosyal dinleme, analitik vb. Gibi özelliklerin yerleşik yeteneklerini sağlar. | Şirket içi CRM, bu özellikler için ekstra maliyetlere sahiptir. |
CRM Online, gelecekteki sürüme otomatik güncellemeleri destekler. | Şirket içi CRM güncellemelerinin yönetici tarafından yüklenmesi gerekir. |
CRM'ye erişim
Microsoft Dynamics CRM'ye aşağıdaki seçeneklerden herhangi biriyle erişilebilir -
- Browser
- Mobil ve Tabletler
- Outlook
Ürün Rakipleri
Microsoft Dynamics CRM, şüphesiz CRM alanındaki en iyi ürünlerden biridir. Ancak, Microsoft Dynamics CRM ile rekabet eden diğer ürünler aşağıdadır.
- Salesforce.com
- Oracle
- SAP
- Sage CRM
- Şeker CRM
- NetSuite
Ürün Versiyonları
Microsoft Dynamics CRM, 2003'teki 1.0 sürümünden başlayarak yıllar içinde büyümüştür. En son sürüm (bu makaleyi yazarken) 2015'tir. Yayın sürümlerinin kronolojik listesi aşağıdadır -
- 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
CRM ortamımızı kurarak başlayalım. Çevrimiçi sürüm bir aylık ücretsiz deneme erişimi sağladığı için CRM 2015'in çevrimiçi sürümünü kullanacağız. Bunu yaparak, CRM öğrenmek için herhangi bir lisans satın almanıza gerek kalmayacaktır.
Note- Microsoft Dynamics CRM büyüyen bir ürün olduğu için, bunu öğrendiğinizde ürünün daha yeni bir sürümüne sahip olmanız mümkündür. Bu durumda, uygulama tam olarak bu eğitimin ekran görüntülerinde göreceğiniz gibi görünmeyebilir. Bununla birlikte, ürünün temel kavramları aynı kalır. Ürünün görünümü ve hissi ve navigasyonu değişebilir, ancak çoğu durumda gerekli seçenekleri kolayca bulabilir ve bulabilirsiniz.
Microsoft Dynamics CRM Çevrimiçi Hesabını Ayarlama
Step 1 - Aşağıdaki URL'ye gidin -
https://www.microsoft.com/en-us/dynamics365/home
Gelecekte bu bağlantı aracılığıyla Deneme sürümü seçeneklerini görmezseniz, Google'da "Microsoft Dynamics CRM Ücretsiz Deneme" aramayı deneyin.
Step 2- Ücretsiz deneyin düğmesini tıklayın. Bu, aşağıdaki ekran görüntüsünde gösterildiği gibi 3 aşamalı bir kayıt sürecini başlatacaktır. 3 adımlı kaydın 1. Adımında ad, e-posta ve dil gibi zorunlu ayrıntıları doldurun.
Step 3- Ücretsiz deneyin düğmesini tıklayın. Bu, aşağıdaki ekran görüntüsünde gösterildiği gibi 3 aşamalı bir kayıt sürecini başlatacaktır. 3 adımlı kaydın 1. Adımında ad, e-posta ve dil gibi zorunlu ayrıntıları doldurun.
Step 4- 3 adımlı kaydın 3. Adımında, Microsoft, belirttiğiniz cep telefonu numarasını doğrular. Bunun için cep telefonu numaranızı girebilir ve Bana mesaj gönder'i tıklayabilirsiniz. Ardından, kurulumda ilerleyebileceğiniz bir OTP'yi cep telefonunuza gönderir.
Step 5- Office 365 kullanıcı kimliğiniz oluşturulacak. Bu kullanıcı kimliği bilgilerini daha sonra erişim için kaydedebilirsiniz.
Hesabı kurduktan sonra, şimdi aşağıdaki gibi görünecek olan CRM Panonuzu açacaktır.
Tekrar vurgulamak gerekirse, yukarıdaki ekran görüntüleri gelecekteki bir sürümle değişebilir, ancak ortamı kurmak oldukça basit bir süreç olacaktır.
CRM SDK'yı indirme
Microsoft Dynamics CRM'nin Yazılım Geliştirme Kiti (SDK), sunucu tarafı kodu, istemci tarafı kodu, uzantılar, eklentiler, web hizmetleri, iş akışları, güvenlik modeli vb. Dahil olmak üzere önemli kod örneklerini içerir. Temel olarak, SDK, ihtiyacınız olan her geliştirme kaynağını içerir. CRM ile başlamak için. Yeni bir eklenti projesi kurmayı veya CRM için bir web hizmetleri projesi kurmayı planlıyor olun, SDK, başlamanıza yardımcı olmak için basitten ileri düzeye kadar temel mimari ve örnekler sunar. Şimdi SDK'yı indirme ve yükleme adımlarına bakacağız.
Step 1- Microsoft Dynamics CRM'nin her sürümü kendi SDK sürümüyle birlikte gelir. Doğru SDK sürümünü edinmenin en iyi yolu, ilgili CRM sürümünüzü Google'da aramaktır. Örneğin, CRM sürümünüz 2015 ise, "Microsoft Dynamics CRM 2015 SDK" aramayı deneyin.
Step 2- İndirildikten sonra exe kurulumunu çalıştırın. Devam et'i tıklayın.
Step 3- SDK'nın çıkarılacağı konumu seçmenizi isteyecektir. Referans SDK'yı saklamak istediğiniz herhangi bir uygun konumu seçin.
Step 4- Çıkardığınız klasörü açın. Tüm SDK içeriğine buradan erişebilirsiniz.
Sonuç
Bu bölümde, bir CRM Online hesabı oluşturarak ortamımızı kurduk. Daha sonra bu eğitimin sonraki bölümlerinde kullanılacak olan CRM SDK'yı indirdik. Hesabı kurduğunuz kimlik bilgilerini not ettiğinizden emin olun, çünkü bir sonraki oturum açışınızda bu kimlik bilgilerine ihtiyacınız olacak.
Tüm Microsoft Dynamics CRM, aşağıdaki işlevsel modüller etrafında tasarlanmıştır.
- Sales
- Marketing
- Servis Yönetimi
Bu işlevsel modüller genellikle şu şekilde adlandırılır: Work Areas.
CRM İşlevsel Modüllerini Anlamak
Tüm CRM uygulaması, farklı kullanıcı ve ekip türleri için işlevsel olarak bölünmüştür. Dolayısıyla, bir kuruluş süreçlerini yönetmek için CRM kullanıyorsa, Satış ekibinden kullanıcılar Satış modülünün altında gelen işlevleri kullanırken, Pazarlama ekibinden kullanıcılar Pazarlama modülünün kapsamına giren işlevleri kullanır.
Bu üç işlevsel modülün tümü, yeni bir müşteri edinme (Pazarlama), onlara hizmetleri satma (Satış) ve mevcut müşterileri sürdürme (Hizmet Yönetimi) yaşam döngüsünün tamamını yürütmek için bir araya gelir.
Bu akışı daha iyi anlamak için müşterilerine kredi kartı satan bir banka düşünün. Bir müşteriye kredi kartı satmanın tipik yaşam döngüsü aşağıdaki gibi olacaktır. Bu yaşam döngüsünün her adımında, Satış, Pazarlama ve Servis modüllerinin rollerini nasıl yerine getirdiklerini göreceksiniz.
Sales & Marketing- Bankanın çağrı merkezi ofisi yöneticisi, potansiyel müşterilerin verilerini alır; CRM'de genellikle Müşteri Adayı olarak adlandırılır. Bu Müşteri Adayları, pazarlama kampanyaları, satış teşvikleri, yönlendirmeler vb. Yoluyla CRM sisteminde yakalanır.
Sales- Çağrı merkezi yöneticisi, bu Müşteri Adayları ile telefon görüşmeleri / e-postalar / vb. Yoluyla iletişim kurar. Müşteri kredi kartı teklifiyle ilgileniyorsa, Müşteri Adayı kaydı Fırsat kaydına (Kazanılan Müşteri Adayı) dönüştürülecektir.
Service- Bir müşteri sistemin bir parçası olduğunda, şirket ona ödeme, fatura, para iadesi vb. Konularda yardımcı olacaktır. Müşterinin herhangi bir sorusu veya endişesi olduğunda, çağrı merkezini arayacak ve olayları dile getirecektir. Yönetici, müşteriye kaliteli hizmet sunmak amacıyla davayı çözmek için takip edecektir. Bu görevler CRM Hizmet Yönetimi kapsamındadır.
CRM Çalışma Alanlarında Gezinme
Step 1 - CRM Ana Sayfasını açın.
Step 2 - Varsayılan olarak, Satış çalışma alanını seçili olarak göreceksiniz.
Step 3- Çalışma alanını değiştirmek için Çalışma alanlarını göster seçeneğine tıklayın. Satış, Servis ve Pazarlama seçeneklerini göreceksiniz.
Step 4- Satış'ı tıklayın. Bu size Hesaplar, İlgili Kişiler, Müşteri Adayları, Fırsatlar, Rakipler gibi Satış kapsamına giren tüm varlıkları gösterecektir. Bu varlıkların her biri Çalışmam, Müşteriler, Satışlar, Teminat vb. Gibi iş süreçlerine göre kategorize edilir.
Step 5 - Benzer şekilde, Pazarlama çalışma alanını tıklarsanız, Pazarlama iş işlevleriyle ilgili tüm varlıkları görürsünüz.
Satış Modülü
CRM'nin Satış modülü, yeni bir müşterinin tüm satış yaşam döngüsünü sürdürmek için tasarlanmıştır. Satış modülü aşağıdaki alt modüllerden oluşur -
Leads- Gelecekte şirketin potansiyel müşterisi olabilecek bir kişi veya kuruluşu temsil eder. Bu, sisteme potansiyel bir müşteri kazandırmanın ilk adımıdır.
Opportunities- Müşteriye olası bir satışı temsil eder. Bir Potansiyel Müşteri teklife ilgi gösterdiğinde, Fırsata dönüştürülür. Bir Fırsat ya kazanılacak ya da kaybedilecektir.
Accounts- Kuruluşun ilişki içinde olduğu bir şirketi temsil eder. Bir Fırsat kazandığında, bir Hesap veya Kişilere dönüştürülür.
Contacts- Kuruluşun ilişkide olduğu bir kişiyi veya herhangi bir kişiyi temsil eder. Bu Kişiler çoğunlukla kuruluşların müşterileridir (örneğin, bir bankanın tüm kredi kartı müşterileri). Bir Fırsat kazandığında, bir Hesap veya Kişilere dönüştürülür.
Competitors - Organizasyonun tüm piyasa rakiplerini yönetir.
Products - Kuruluşun müşterilerine sunduğu tüm ürünleri yönetir (Örnek, tüm kredi kartı planları).
Quotes - Muhtemel bir müşteriye gönderilen belirli fiyatlarla önerilen ürünler veya hizmetler için resmi bir teklif (Örnek, müşteriye gönderilen belirli bir kredi kartı planının yıllık fiyatlandırması).
Orders - Müşteri tarafından kabul edilen bir teklif bir Siparişe dönüşür (Örneğin, kuruluşun size sunduğu tüm planlardan 6 aylık bir abonelik için gidebilirsiniz).
Invoices - Faturalanan bir sipariş bir fatura oluşturur.
Pazarlama Modülü
CRM'nin Pazarlama modülü, bir kuruluşun mevcut ve potansiyel müşterileri için tüm pazarlama sürecini yönlendirmek üzere tasarlanmıştır. Pazarlama modülü aşağıdaki alt modüllerden oluşur -
Marketing Lists- Kişilerinizi, Hesaplarınızı ve Müşteri Adaylarınızı gruplamak ve promosyon e-postaları, etkinlik ayrıntıları, haber bültenleri ve hedef müşterilerle ilgili diğer güncellemeler göndererek onlarla etkileşim kurmak için bir yol sağlar. Pazarlama listelerinizi oluşturmak için kriterleri tanımlayabilirsiniz (Örnek, 25 ile 35 yaş arası kişiler).
Campaigns - Kampanyalar, yeni bir ürünün tanıtılması veya pazar payının artırılması gibi etkinliği ölçmek ve belirli bir sonuca ulaşmak için tasarlanmıştır ve e-posta, gazete reklamları, YouTube reklamları vb. Gibi çeşitli iletişim kanallarını içerebilir.
Quick Campaigns - Hızlı Kampanya, Kampanyaya benzer, ancak yalnızca bir tür faaliyetle ilgili olabilir.
Yukarıdaki tüm Pazarlama modülleri, Satış modülü ile yakın koordinasyon içinde çalışır.
Servis Yönetim Modülü
CRM'nin Hizmet Yönetimi modülü, olay bazlı hizmetleri desteklemek, hizmet planlaması kullanarak müşterileri desteklemek gibi bir kuruluşun müşteri hizmetleri işlemlerine odaklanmak, yönetmek ve izlemek için tasarlanmıştır.
Servis Yönetimi modülü aşağıdaki alt modülleri kapsar -
Cases (Incidents)- Olaylar / vakalar aracılığıyla izlenecek her türlü müşteri istek, sorun veya şikayetini destekler. Bir vaka, bir sorun çözme sürecinin çeşitli aşamalarını izler ve ardından nihayet çözülür ve kapatılır.
Knowledge Base - Müşterinin sıkça sorduğu tüm genel sorular ve cevaplar için bir ana depo tutar.
Contracts - Sözleşmeler, müşterinin sahip olduğu tüm aktif sözleşmeleri gösteren Vakalarla çalışır.
Resources/Resource Groups- Bir hizmet sunmak için kullanılan kişileri, araçları, odaları veya ekipman parçalarını temsil eder. Bu kaynaklar, belirli bir müşteri sorununu çözmek için kullanılabilir.
Services - Kuruluşun müşterilerine sunduğu tüm hizmetleri temsil eder.
Service Calendar - Organizasyonda çalışan kullanıcıların çalışma zamanlamalarını ve programlarını planlamak için kullanılır.
Aktivite Yönetimi
Yukarıda açıklanan tüm modüller CRM'nin Etkinlik Yönetimi modülünü kullanır. Bir Etkinlik, Müşteri ile Telefon Görüşmesi, E-posta, Mektup vb. Gibi her türlü etkileşimi temsil eder. Bu faaliyetler, Müşteri, İlgili Kişi, Müşteri Adayı, Vaka vb. Gibi daha önce açıklanan varlıklardan herhangi biri ile ilgili olabilir. Varsayılan olarak, CRM kullanıma hazır aşağıdaki etkinlik türlerini sağlar -
- Telefon görüşmesi
- Task
- Appointment
- Yinelenen Randevu
- Letter
- Fax
- Kampanya Yanıtı
- Kampanya Faaliyetleri
- Servis Aktivitesi
- Özel Aktiviteler
Sonuç
Bu bölümde, CRM'nin üç ana modülü olan Satış, Pazarlama ve Hizmet Yönetimi hakkında bilgi edindik. CRM'de çalışma alanlarının nasıl düzenlendiğini ve bir CRM organizasyonunun tüm yaşam döngüsünün nasıl çalıştığını anladık. CRM'nin Telefon, E-posta, Faks ve diğer müşteri etkileşim faaliyetlerini oluşturmaya izin veren Etkinlik Yönetimi modülüne de baktık.
Artık tüm CRM modüllerinin işlevsel bir genel bakışına sahip olduğumuza göre, CRM'deki varlıkları ve formları öğrenip anlayalım.
Varlık nedir?
CRM'de iş verilerini modellemek ve yönetmek için bir varlık kullanılır. Kişiler, Vakalar, Hesaplar, Müşteri Adayları, Fırsatlar, Faaliyetler vb. Veri kayıtlarını tutan varlıklardır. Kavramsal olarak, bir CRM varlığı bir veritabanı tablosuna eşdeğerdir. Örneğin, Kişiler varlığı İlgili Kişi kayıtlarını, Servis Talepleri varlığı Servis Talepleri kayıtlarını tutar vb.
Her ikisine de sahip olabilirsiniz: kullanıma hazır varlıklara (varsayılan olarak CRM ile birlikte gelir) ve özel varlıklara (özelleştirme ile oluşturabileceğiniz). Örneğin, müşterilerinizin okuduğu kitapların verilerini koruduğunuzu varsayalım. Bunun için, kullanıma hazır Kişiler varlığını kullanarak müşteri verilerini depolayacaksınız, ancak kitap verilerini nerede depolayacaksınız? Kitaplar için veri depolayabilecek herhangi bir varlığınız yok. Bu tür senaryolarda, Kitaplar adında yeni bir özel varlık oluşturacak ve bunu mevcut Kişiler varlığıyla ilişkilendireceksiniz.
Bu eğitim için, işverenleri ve çalışanları CRM'de depolamanın bir örneğini ele alalım. Bu örneği dikkate alarak, kullanıma hazır, CRM şunları sağlar:Contacttüm çalışanlarınızı ideal olarak saklayabileceğiniz varlık. Aynı zamanda birAccounttüm işverenlerinizi saklayabileceğiniz varlık. Ancak öğrenme varlıkları uğruna, adında yeni bir özel varlık oluşturacağız.Employer (ve mevcut Hesap varlığını kullanmayın).
Yeni Bir Varlık Oluşturmak
Step 1 - Üst şerit düğmesini ve ardından Settingsseçeneği. TıklayınCustomizations Özelleştirme bölümünden seçeneği (Aşağıdaki ekran görüntüsüne bakın).
Step 2 - Şimdi Sistemi Özelleştir seçeneğini tıklayın.
Bu, Varsayılan Çözüm penceresini açacaktır. Sonraki bölümlerde CRM Çözümleri hakkında daha fazla bilgi edineceksiniz, ancak şimdilik varsayılan CRM Çözümünü kullanacaksınız.
Step 3 - Sol panelden Varlıklar seçeneğini genişletin.
Step 4 - Şimdi Yeni → Varlık'a tıklayın.
Step 5- Varlık Formunda, Görünen Adı İşveren olarak ve ÇoğulAdı İşveren olarak girin. 'Bu varlığı görüntüleyen alanlar' bölümünde Satış, Servis ve Pazarlama'yı kontrol edin. Bu seçeneklerin işaretlenmesi, yeni oluşturulan varlığı CRM'nin Satış, Hizmet ve Pazarlama sekmelerinde görüntüleyecektir.
Step 6- Kaydet ve Kapat simgesine tıklayın. Bu, arka planda CRM veri tabanında yeni bir varlık yaratacaktır.
Step 7 - Varsayılan Çözüm ana penceresinde, yeni oluşturulan İşveren varlığını göreceksiniz.
Step 8- Üst şerit çubuğundan Tüm Özelleştirmeleri Yayınla seçeneğini tıklayın. Bu, şimdiye kadar yaptığımız tüm değişiklikleri yayınlayacak (aka commit). Kaydet ve Kapat'ı tıklayarak bu pencereyi kapatabilirsiniz.
Kayıt Oluşturma
CRM, sisteminizdeki değerli verileri yönetmekle ilgilidir. Bu bölümde, CRM'de kayıtların nasıl oluşturulacağını, açılacağını, okunacağını ve silineceğini öğreneceğiz. Son bölümde oluşturduğumuz işveren varlığıyla devam edeceğiz.
Step 1 - Çalışma alanlarını göster → Satışlar → Uzantılar → İşverenler aracılığıyla İşveren varlık kayıtları tablosuna gidin.
Step 2 - Yeni simgesini tıklayın.
Bu, varsayılan yeni işveren formunu açacaktır. Bu varsayılan formda yalnızca bir düzenlenebilir alan Adı olduğunu görebilirsiniz. Ad alanına İşveren 1 girin. Kaydet ve Kapat'ı tıklayın.
Step 3 - içinde Active Employers görünümünde yeni oluşturulan işveren kaydını görebilirsiniz.
Kayıtlara Erişim
CRM'de önceden oluşturulmuş kayıtlara erişmek için o varlık sayfasına gidin. Bizim durumumuzda, Çalışma alanlarını göster → Satışlar → Eklentiler → İşverenler'e gidin. Tabloda bulunan kayıtların listesini göreceksiniz. Erişmek için herhangi bir İşveren kaydına tıklayın.
Kayıtları Güncelleme
Kaydınızı açtıktan sonra, formdaki herhangi bir ayrıntıyı düzenleyebilirsiniz. Varsayılan olarak, CRM 2015, değişiklikten 30 saniye sonra formda yapılan değişiklikleri kaydeden otomatik kaydetme seçeneğiyle birlikte gelir. Alternatif olarak, Ctrl + S tuşlarına da tıklayabilirsiniz.
Otomatik kaydetme özelliğini devre dışı bırakmak istemeniz durumunda, Ayarlar → Yönetim → Sistem Ayarları → Tüm formlar için otomatik kaydetmeyi etkinleştir'e gidin ve Hayır'ı seçin.
Kayıtları Silme
Step 1 - Silmek istediğiniz bir veya daha fazla kaydı seçin ve Delete buton.
Step 2 - Kayıtların silinmesini tıklayarak onaylayın Delete.
Sonuç
Yukarıdaki örnekte görüldüğü gibi, varsayılan İşveren formunda yalnızca bir alan vardı. Bununla birlikte, gerçek hayat senaryolarında, bir form üzerinde birçok özel alanınız olacaktır. Örneğin, örnek bir İlgili Kişi kaydına (kullanıma hazır bir CRM varlığıdır) bakarsanız, Tam Ad, E-posta, Telefon, Adres, Servis Talepleri vb. Gibi iletişim bilgilerini depolamak için birçok alana sahip olacaktır.
Sonraki bölümlerde, bu varsayılan formu nasıl düzenleyeceğinizi ve üzerine farklı alan türleri ekleyeceğinizi öğreneceksiniz.
CRM formlarına özel alanlar eklemeyi öğrenmeden önce, CRM tarafından hangi tür veri alanlarının desteklendiğine bir göz atalım.
Alan Türleri
Kullanıma hazır CRM, formlara yerleştirilebilecek 11 tür veri alanı sağlar -
- Tek Satır Metin
- Seçenek Seti (Açılır Menü)
- İki Seçenek (Radyo Düğmesi)
- Image
- Bütün sayı
- Kayan Nokta Numarası
- Ondalık sayı
- Currency
- Birden Çok Metin Satırı
- Tarih ve saat
- Lookup
Aşağıdaki tabloda her biri kısa bir açıklama ile listelenmektedir.
Sr.No | Alan Tipi ve Tanımı |
---|---|
1 | Single Line of Text Bu alan 4000 karaktere kadar metin depolar. Biçimi şunlardan biri olarak da belirtebilirsiniz: E-posta, Metin, Metin Alanı, URL, Kayan Yazı Sembolü ve Telefon. Bunların her biri için maksimum uzunluğu ve IME modunu ayarlayabilirsiniz. |
2 | Option Set (Dropdown) Bu alan, her biri bir sayı değerine ve etikete sahip bir dizi seçeneği saklar. Diğer bir deyişle, CRM'de açılır bir alandır. Birden çok formda kullanılabilen Global Seçenek Kümeleri de tanımlayabilirsiniz. |
3 | Two Options (Radio Button) Bu alan, kullanıcının seçmesi için iki seçenek sunar (0 veya 1). Başka bir deyişle, bir radyo düğmesi alanıdır. |
4 | Image Bir varlık bir görüntü alanına sahip olduğunda, uygulamada kayıt için görüntüyü gösterecek şekilde konfigüre edilebilir. |
5 | Whole Number Bu alan, -2.147.483.648 ile 2.147.483.647 arasındaki tam sayı değerlerini depolar. Yok, Süre, Saat Dilimi ve Dil olarak belirleyen formatları destekler. Minimum ve maksimum değerleri de ayarlayabilirsiniz. |
6 | Floating Point Number Bu alan, 0.00 ile 1.000.000.000,00 arasında 5 ondalık hassasiyet noktasına kadar kayan nokta sayılarını saklar. Minimum ve maksimum değerleri de ayarlayabilirsiniz. |
7 | Decimal Number Bu alan, -100.000.000.000,00 ile 100.000.000.000,00 arasında değişen değerlerle en fazla 10 ondalık nokta depolar. |
8 | Currency Bu alan, 922.337.203.685.477.0000 ile 922.337.203.685.477.0000 aralığındaki herhangi bir para birimi değerini depolamak için kullanılır. Hassasiyeti Fiyatlandırma Ondalık, Para Birimi Hassasiyeti veya 0 ile 4 arasında herhangi bir değer olarak da belirtebilirsiniz. |
9 | Multiple Lines of Text Bu, kayan bir metin kutusudur. Bu alan için maksimum karakter sayısını ayarlayabilirsiniz. |
10 | Date and Time Bu alan, CRM'de tarihle ilgili verileri desteklenen iki formatla saklamak için kullanılır: Yalnızca Tarih ve Tarih ve Saat. Davranışı Kullanıcı Yerel, Yalnızca Tarih ve Saat Diliminden Bağımsız olarak da belirtebilirsiniz. |
11 | Lookup Önceden oluşturulmuş ancak henüz başka bir arama alanıyla kullanılmamış bir varlık ilişkisini kullanarak bir arama alanı oluşturabilirsiniz. Bir varlık formunda bir arama alanı oluşturursanız, ilişki otomatik olarak oluşturulur. Bir ilişki alanı olarak bir arama alanı oluşturulur. |
Son iki bölümde, yeni varlıklar oluşturma, yeni kayıtlar oluşturma ve CRM'de bulunan alan türleri hakkında çalıştınız. Bu bölümde, CRM formlarına yeni alanlar eklemeyi öğreneceksiniz.
Önceki bölümde incelenen 11 veri alanı türünden işvereninizde üç tür alan kullanacaksınız - Seçenek Kümesi (Açılır), Birden Çok Satır Metin ve Tarih Zamanı. Seçenek Kümesi alanı, işveren türünü saklamak için kullanılır, Birden Çok Metin Satırı, işverenin kısa açıklamasını saklamak için kullanılır ve DateTime alanı, şirketin başlatıldığı tarihi saklamak için kullanılır.Note: Formunuzda zaten Tek Satır Metin türü olan bir Ad alanı vardı.
Forma Alan Ekleme
Step 1 - Üst şerit düğmesini ve ardından Settingsseçeneği. TıklayınCustomizations Özelleştirme bölümünden seçenek (aşağıdaki ekran görüntüsüne bakın).
Step 2 - Şimdi Sistemi Özelleştir seçeneğini tıklayın.
Bu, DefaultSolution penceresini açacaktır. Sonraki bölümlerde CRM Çözümleri hakkında daha fazla bilgi edineceksiniz, ancak şimdilik varsayılan CRM Çözümünü kullanacaksınız.
Step 3 - Sol panelden Varlıklar seçeneğini genişletin.
Step 4- Genişletilmiş varlıklardan İşveren'i seçin. Bu, sağ pencerede varlığın ayrıntılarını açacaktır. Sol panelden İşveren seçeneğini genişletin ve Formlar, Görünümler, Grafikler, Alanlar ve diğer birkaç seçeneği görebileceksiniz.
Step 5- Alanlar'ı tıklayın. Bu varlığı oluşturduğunuzda varsayılan olarak gelen tüm alanları gösteren bir ızgara açacaktır.
Step 6- Yeni düğmesini tıklayın. Açılan yeni pencerede aşağıdaki ayrıntıları girin -
Display Name - İşveren Tipi
Name- Bu alan, seçtiğiniz görünen ada göre otomatik olarak doldurulacaktır. Ancak, değiştirmek isterseniz, bunu yapabilirsiniz.
Data Type- Seçenek Seti. Veri Türünü Seçenek Kümesi olarak seçer seçmez, size Seçenekler panelini gösterecektir. Artı (+) simgesine tıklamak, Öğe olarak varsayılan Etiket ve varsayılan Değeri 100.000.000 olan yeni bir seçenek kümesi öğesi oluşturur. İşveren türlerini temsil eden dört seçenek eklemek için bu öğenin etiketini değiştirebilirsiniz: Özel, Devlet, Çok Uluslu ve Genel.
Step 7- Üst şeritten Kaydet ve Kapat'ı tıklayın. İşveren Türü alanını başarıyla oluşturdunuz.
Step 8 - İşveren Türü alanını eklemek için yaptığınız şeye benzer şekilde, aşağıdaki ekran görüntülerinde açıklanan ve gösterilen şekilde diğer üç alanı ekleyin -
Number of Employees - Bu bir Tam Sayı alanı olacak.
Founded On - Bu bir DateTime alanı olacaktır.
Employer Description - Bu, Çoklu Metin Satırı alanı olacaktır.
Step 9- Şimdi bu yeni alanları işveren formuna ekleyin. Bunun için İşveren varlığı altında sol gezinme bölmesinden Formlar'ı tıklayın. Bu size isim bilgilerinin bulunduğu iki form gösterecektir. Varsayılan olarak, CRM iki form oluşturur - Ana ve Mobil Ekspres. Ana forma tıklayın.
Step 10 - Sağdaki Alan Gezgini panelinde yeni eklenen alanları görebilirsiniz.
Step 11 - Bu alanları Genel sekmesine sürükleyip bırakın.
Step 12 - Kaydet'i ve ardından Yayınla'yı tıklayın.
Step 13- Artık güncelleme alanları ile işveren kayıtları oluşturabilirsiniz. CRM Ana Sayfası → Satış → İşverenler → Yeni'ye gidin. Bu sefer açılacak olan yeni form, bu bölümde eklediğiniz tüm yeni alanları içerecektir. Bazı ayrıntıları girip Kaydet ve Kapat'ı tıklayabilirsiniz.
Sonuç
Bu bölümde, CRM formlarıyla çalışmayı ve içlerine çeşitli alan türleri yerleştirerek bunları nasıl özelleştireceğimizi öğrendik. Ayrıca herhangi bir forma istediğimiz kadar alan eklemeyi ve iş gereksinimine göre çeşitli sekmeler ve bölümler kullanarak bunları düzenlemeyi öğrendik.
Microsoft Dynamics CRM, yıllar içinde önemli ölçüde gelişen geniş bir üründür. Ürün, sisteme yerleşik birçok kullanıma hazır işlevsellikle birlikte gelir. Bu özellikleri kullanmak için herhangi bir kod yazmanıza gerek yoktur. Kullanıma hazır önemli özelliklerden biri, gelişmiş sorgulama ve filtreleme yeteneklerini desteklemesi açısından CRM'nin arama yeteneğidir.
Hızlı arama
Varsayılan olarak, CRM'deki her varlığın ızgara görünümü, sağ üstte bir arama çubuğu kullanarak Hızlı Arama işlevini destekler. Aşağıda, Kişi varlığında hızlı aramanın bir ekran görüntüsü verilmiştir.
'Robert' gibi bir arama dizesi girmeyi deneyebilirsiniz ve eşleşen tüm kayıtları döndürür.
Joker karakter araması yapmak için arama anahtar kelimesinin önüne * (yıldız işareti) ekleyebilirsiniz.
Note - Microsoft Dynamics CRM'nin web istemcisi sürümünü kullanırken, Hızlı Arama, seçilen görünümden bağımsız olarak her zaman Tüm Etkin kayıtları arar.
Filtre ölçütlerini değiştirmek, sıralamayı yapılandırmak, görünüm sütunları eklemek, bulma sütunları eklemek ve diğer özellikleri değiştirmek için Hızlı Arama'yı (başka bir Görünümü özelleştirmek gibi) özelleştirebilirsiniz.
gelişmiş Arama
Gelişmiş Arama, CRM'deki herhangi bir varlığın kayıtlarını aramanızı sağlar. CRM ile kutudan çıkan en güçlü ve en kullanışlı özelliklerden biridir. Gelişmiş Arama simgesi, hangi ekranda olursanız olun Microsoft Dynamics CRM'nin üst şerit çubuğunda görünür.
Gelişmiş Bul penceresini açmak için Gelişmiş Bul simgesine tıklayın. Bu pencere, kayıtları aramak istediğiniz varlığı seçmenize, filtreleme ve gruplama kriterleri uygulamanıza ve Gelişmiş Bul görünümlerinizi kişisel görünümler olarak kaydetmenize olanak tanır.
Bir örnek alalım. Diyelim ki, Robert'ı içeren ve Boşanmış olan Adına sahip tüm Kişileri aramak istiyorsunuz. Bunun için -
Step 1- Ara açılır menüsünden Kişiler'i seçin. Bu açılır liste, sisteminizde bulunan tüm varlıkları içerecektir.
Step 2- Aşağıdaki ekran görüntüsünde gösterildiği gibi arama kriterlerini girin. İstediğiniz kadar arama sorgusu parametresi ekleyebilirsiniz. Grup parametrelerini kullanarak bu tür kriterleri bile gruplayabilirsiniz. Örneğin, ilk adı Robert veya Mark olan tüm kişileri aramak istiyorsanız, iki arama kriteri ekleyebilir ve bunları GroupOR kullanarak gruplayabilirsiniz.
Step 3- Sonuçlar düğmesini tıklayın. Eşleşen kayıtları yeni bir sekmede gösterecektir.
Step 4- Arama sonuçlarında görmek istediğiniz sütunları, Sütunları Düzenle'yi tıklayarak da düzenleyebilirsiniz. Örneğin, mevcut ızgaramız yalnızca iki sütun içerir - Tam Ad ve İş Telefonu. Ancak, bu ızgaraya ek bir E-posta Kimliği sütununun eklenmesini istiyorsanız, bunu bu seçeneği kullanarak yapabilirsiniz.
Özel Görünümü Kaydetme
Bu aşamada, bu arama kriterini, filtreler ve düzenlenmiş sütunlarla birlikte kaydetmek isterseniz, Kaydet düğmesine tıklayarak bunu yapabilirsiniz. Kaydedildikten sonra, o varlık sayfasındayken bu kaydedilmiş görünümü kullanabilirsiniz.
Örneğin, bir müşteri yöneticisi olarak iki tür müşteriye hizmet ettiğinizi düşünün: Normal ve Premium. Bu nedenle, bu ilgili kategorilerle gelişmiş bir filtre oluşturabilir ve bunları Bana Atanmış Normal Kişiler ve Bana Atanmış Özel Kişiler olarak kaydedebilirsiniz. Daha sonra, sistemi her kullandığınızda hızlı bir arama veya gelişmiş bir bulma araması yapmadan bu görünümlere doğrudan Kişi varlığı sayfasından hızlı bir şekilde erişebilirsiniz.
CRM'deki Web Kaynakları, CRM veritabanında depolanan ve CRM'de web sayfası işlevlerini uygulamak için kullanılan sanal web dosyalarıdır. Bu dosyalar HTML, JScript, Silverlight veya desteklenen herhangi bir türde olabilir.
Bir ürün olan CRM, kapsamlı bir dizi özellik ve işlevle birlikte gelir. Bununla birlikte, çoğu zaman, özel gereksinimlerinizi karşılamak için bu mevcut işlevleri genişletmeniz gerekir. Bu işlevleri genişletmek genellikle iki şekilde gerçekleşir -
Extending on Client Side - Web Kaynaklarını ve Form Komut Dosyalarını Kullanma.
Extending on Server Side - Eklentiler, İş Akışları ve Web Hizmetleri (bu bölümü ilerideki bölümlerde öğreneceğiz).
Web Kaynaklarının Kullanımları
Yukarıda belirtildiği gibi, müşteri tarafında CRM'yi genişletmek, Web Kaynaklarının resme geldiği yerdir. Bunu açıkça anlamak için aşağıdaki kullanım örneklerini göz önünde bulundurun -
Belirli alanları içeren bir CRM formunuz var. CRM, zorunlu alanlar, alan uzunlukları vb. Gibi temel doğrulamalar için kullanıma hazır özellikler sağlar. Ancak, girilen telefon numarasının doğru biçimde olup olmadığını doğrulama gibi daha karmaşık bir doğrulamaya sahip olmak isterseniz ya da girilen adresin gerçekten mevcut olup olmadığını veya girilen SSN'nin doğru olup olmadığını doğrulama?
CRM, form üzerinde bölümler ve sekmeler oluşturma, alanları yeniden düzenleme vb. Gibi kullanıma hazır UI özelleştirmeleri sağlar. Ancak, müşteri müşterinin diğerlerinden gelen tüm bilgilerini gösteren özel bir sayfa oluşturmak isterse ne olur? ERP sistemi?
CRM, tüm düğmeleri ve seçenekleri içeren standart bir şerit çubukla birlikte gelir. Ya kendinize ait bir şerit düğme eklemek isterseniz?
Halihazırda bir ERP sisteminiz olduğunu düşünün. Bu ERP sisteminden bazı CRM ekranlarını açmak isterseniz ne olur?
Sunucu tarafı eklenti kodunuzda her zaman herhangi bir harici web servisini arayabilirsiniz. Bununla birlikte, hala istemci tarafındayken herhangi bir harici web hizmetini aramak isterseniz ne olur?
Tüm bu “Ya eğer” sorularının cevabı Web Kaynakları. Her Web Kaynağına benzersiz URL'si aracılığıyla erişilebilir. Bir Web Kaynağı dosyası yükleyebilir veya kod tabanlı kaynaklar (HTML, Jscript vb. Gibi) için bunları doğrudan CRM içinde düzenleyebilirsiniz. Web Kaynakları CRM içinde depolandığından, herhangi bir CRM özelleştirmesiyle birlikte bir ortamdan diğerine kolayca taşınabilirler.
Web Kaynakları Türleri
Web Kaynağı Türü | CRM'de Örnek Uygulama |
---|---|
Web Sayfası (HTML) | Haritalar, özel uygulama sayfası vb. Gibi herhangi bir özel HTML sayfası oluşturmak ve CRM formunuzun içine yerleştirmek isteyebilirsiniz. |
Stil Sayfası (CSS) | HTML dosyalarıyla birlikte kullanılacak tüm CSS dosyaları. |
Komut Dosyası (JScript) | Doğrulamalar, alan değerlerini değiştirme vb. Gibi herhangi bir istemci tarafı mantığı. |
Veri (XML) | Herhangi bir statik ayar veya yapılandırma verisini depolamak için kullanılabilir. |
Resim (PNG, JPG, GIF, ICO) | Uygulamada şerit düğmeler, simgeler, formlar vb. Üzerinde kullanılan tüm resimler. |
Silverlight (XAP) | CRM'ye gömülü herhangi bir özel Silverlight uygulaması. |
Stil Sayfası (XSL) | XML verilerini dönüştürmek için kullanılır. |
Tüm bu tür web kaynaklarının dışında, sonraki bölümlerde en önemli web kaynağı türlerini - HTML Web Kaynakları ve JScript Web Kaynakları - inceleyeceğiz.
Herhangi Bir Varlık İçin Web Kaynaklarına Erişim
Veritabanında depolanan tüm Web Kaynaklarına CRM'den erişilebilir. İlgili adımlar aşağıdadır -
Step 1 - Ayarlar → Özelleştirmeler → Sistemi Özelleştir'e gidin.
Step 2 - Sol gezinme bölmesinden Web Resources. Henüz hiçbir şey oluşturmadığımız için, şu anda hiçbir Web Kaynağını göremeyeceksiniz.
Sonraki bölümlerde web kaynaklarının nasıl oluşturulacağına bakacağız.
JScript Web Kaynakları, Microsoft Dynamics CRM ile kullanacağınız muhtemelen en önemli web kaynakları türüdür.
CRM'de JavaScript Uygulamaları
Form Etkinliği Programlama
Form Olay Programlama, bir kullanıcı bir formu açtığında, bazı verileri değiştirdiğinde, sekmelerde hareket ettiğinde vb. İstemci tarafı davranışlarını işlemek için kullanılır. Bu tür istemci tarafı etkileşimleri elde etmek için JavaScript kodu yazacak ve bunu bir kullanıcı olarak ekleyeceksiniz. CRM'de JScript Web Kaynağı. Ancak yazacağınız JavaScript kodu, standart JavaScript DOM'u değil Dinamik CRM'nin Xrm.Page modelini kullanmalıdır. Xrm.Page modelini kullanmak, Microsoft'un bu modeli kullanarak yazdığınız herhangi bir kodun CRM'nin gelecekteki sürümleriyle uyumlu olmasını sağlayan kodlama yöntemidir.
Web Kaynakları
JavaScript, Form Olay Programlamasında kullanılmasının yanı sıra, CRM'nin aşağıdaki gibi diğer uygulamalarında da kullanılır:
Benzersiz bir URL ile Açık Formlar, Görünümler ve İletişim Kutuları.
Web hizmetleriyle etkileşimde bulunmak için OData ve SOAP uç noktalarını kullanma.
Diğer Web Kaynakları (HTML web kaynakları gibi) içindeki JavaScript koduna başvurma.
Bu gibi durumlarda, JavaScript kodunuzu yazarsınız (Xrm.Page modelini kullanarak) ve onu, daha sonra benzersiz bir URI ile herhangi bir yerde referans verilebilecek olan CRM'de bir JScript Web Kaynağı olarak eklersiniz.
Şerit Özelleştirmeleri
Son olarak, JavaScript'in diğer yaygın kullanımlarından biri de -
- Bazı mantığa göre şerit düğmelerini göster / gizle
- Bazı mantığa göre şerit düğmelerini etkinleştir / devre dışı bırak
- Belirli bir şerit düğmesine tıkladığınızda ne olacağını yönetin
Bu tür senaryoları işlemek için JavaScript mantığınızı (Xrm.Page modelini kullanarak) yazacak ve ardından onu bir JScript Web Kaynağı olarak ekleyeceksiniz. Bu Web Kaynağına daha sonra şerit düğmesinin XML'sinde başvurulabilir ve bir şerit düğmesinin görüntülenmesi / gizlenmesi veya etkinleştirilmesi / devre dışı bırakılması veya tıklama olaylarının işlenmesi için hangi JScript dosyasının çağrılacağını belirleyebiliriz.
Xrm.Page Nesne Modeli
Aşağıda, Xrm.Page nesnesinin mevcut ad alanlarını, nesneleri ve koleksiyonlarını gösteren hiyerarşisi verilmiştir. JScript kodunu yazarken bu özellikleri kullanacaksınız.
İsim alanları
Sr.No | Nesne ve Açıklama |
---|---|
1 | Context Kuruluş ayrıntıları, oturum açmış kullanıcı ayrıntıları veya bir sorgu dizesinde forma iletilen parametreler gibi bağlama özgü bilgileri almak için yöntemler sağlar. |
2 | Data Formdaki ve iş süreci akış kontrolündeki verileri yönetmek için varlık verilerine ve yöntemlerine erişim sağlar. |
3 | UI Formun birkaç alt bileşeni için koleksiyonlara ek olarak, kullanıcı arabirimi hakkında bilgi alma yöntemlerini içerir. |
Nesneler
Sr.No | Nesne ve Açıklama |
---|---|
1 | Entity Yöntem sağlar -
|
2 | Process İş süreci akışının özelliklerini alma yöntemleri. |
3 | Navigation Öğe koleksiyonunu kullanarak gezinme öğelerine erişim sağlar. |
4 | FormSelector Kullanıcının kullanabileceği formlara erişmek için Öğeler koleksiyonunu kullanır. Ayrıca formları kapatmak ve açmak için gezinme yöntemini kullanır. |
5 | Stages Her işlemin getStages işlem yöntemi kullanılarak erişilebilen bir aşama koleksiyonu vardır. |
6 | Steps Her aşama, aşamanın getSteps yöntemi kullanılarak erişilebilen çeşitli adımlardan oluşur. |
Koleksiyonlar
Sr.No | Koleksiyonlar ve Açıklama |
---|---|
1 | Attributes Formda bulunan varlık özniteliklerine erişim sağlar. |
2 | Controls ui.controls - Formda bulunan her kontrole erişim sağlar. attribute.controls - Bir öznitelik içindeki tüm kontrollere erişim sağlar. section.controls - Bir bölüm içindeki tüm kontrollere erişim sağlar. |
3 | Items Bir formdaki tüm gezinme öğelerine erişim sağlar. |
4 | Tabs Bir formdaki tüm sekmelere erişim sağlar. |
5 | Sections Bir formdaki tüm bölümlere erişim sağlar. |
Form Programlamada Desteklenen Olaylar
Xrm.Page modelini kullanarak Form Programlama, aşağıdaki form olaylarını işlemenize izin verir -
- onLoad
- onSave
- onChange
- TabStateChange
- OnReadyStateComplete
- PreSearch
- İş Süreci Akışı kontrol olayları
Form Programlama Örneği
Bu örnekte, kullanıcının seçtiği PreferredMethodofCommunication'a dayalı olarak İletişim formuna bazı doğrulamalar koyacağız. Bu nedenle, kullanıcı tercih ettiği yöntemi E-posta olarak seçerse, E-posta alanı zorunlu hale gelmeli ve benzer şekilde diğer Telefon ve Faks alanları için de benzer şekilde olmalıdır.
Step 1 - adlı bir JavaScript dosyası oluşturun contacts.js ve aşağıdaki kodu kopyalayın.
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 - Ayarlar → Özelleştirmeler → Sistemi Özelleştir → İlgili kişi → Formlar → Ana Form'a giderek Kişi varlığı formunu açın.
Step 3 - Form Özellikleri'ni tıklayın.
Step 4 - Form Özellikleri penceresinden Ekle'yi tıklayın.
Step 5 - Bir sonraki Web Kaynak Kaydı Arama penceresinde, yeni bir web kaynağı oluşturduğumuz için Yeni'yi tıklayın.
Step 6 - Yeni Web Kaynağı penceresinde aşağıdaki ayrıntıları girin -
Name - new_contacts.js
Display Name - contact.js
Type - JScript
Upload File - Yerel makinenizden oluşturduğunuz JavaScript dosyasını yükleyin.
Step 7- Kaydet'i ve ardından Yayınla'yı tıklayın. Bundan sonra pencereyi kapatın ve Web Kaynak Kaydına Bakma penceresine geri döneceksiniz.
Step 8- Burada artık new_contacts.js web kaynağını görebilirsiniz. Onu seçin ve Ekle'yi tıklayın. Artık yeni bir web kaynağını başarıyla eklediniz ve forma kaydettiniz.
Step 9- Şimdi Tercih Edilen İletişim Yöntemi alanına bir olay işleyicisi ekleyeceğiz. Bu olay işleyici, az önce yazdığımız JavaScript işlevini çağıracak. Olay İşleyici bölümünden aşağıdaki seçenekleri seçin.
Control - Tercih Edilen İletişim Yöntemi
Event - OnChange
Ardından, Add düğmesi, aşağıdaki ekran görüntüsünde gösterildiği gibi.
Step 10 - İşleyici Özellikleri'nin bir sonraki penceresinde, değişiklik olayı gerçekleştiğinde çağrılacak yöntemi belirteceğiz.
Kitaplığı new_contacts.js olarak ve İşlev öğesini validatePreferredMethodOfCommunication olarak seçin. Tamam'ı tıklayın.
Step 11- Artık Form Kitaplığını (Web Kaynağı) ve üzerinde kayıtlı olayları görebileceksiniz. Tamam'ı tıklayın.
Step 12 - Kaydet'i ve ardından Yayınla'yı tıklayın.
Step 13- Şimdi herhangi bir İletişim formunu açın ve Tercih Edilen İletişim Yöntemini Telefon olarak ayarlayın. Bu, Cep Telefonu alanını zorunlu hale getirecektir. Şimdi bu kişiyi herhangi bir cep telefonu numarası girmeden kaydetmeye çalışırsanız, size 'Cep Telefonu için bir değer girmelisiniz' diyen bir hata verecektir.
Sonuç
Bu bölümde, CRM'de JavaScript'in üç önemli uygulamasını anlayarak başladık. Daha sonra Xrm.Page modelini inceledik ve bir örnekle birlikte Form programlamayı öğrenmek için kullandık.
Bu bölümde, Microsoft Dynamics CRM'deki çeşitli web kaynakları hakkında bilgi edineceğiz.
HTML Web Kaynaklarının Uygulamaları
CRM'deki bir HTML Web Kaynağı, bir tarayıcıda işlenebilen herhangi bir HTML içeriğini içerebilir. HTML Web Kaynaklarını kullanmak istediğiniz aşağıdaki senaryoları göz önünde bulundurun -
CRM ekranında göstermek istediğiniz statik bir HTML sayfanız var.
Bazı giriş parametrelerini bekleyen ve bu giriş parametrelerine göre oluşturulan özel bir HTML sayfanız var. Örneğin, harici bir API veya web hizmetinden bilgi aldığınızı ve bunu CRM'de görüntülemek istediğinizi düşünün.
Bazı bilgileri standart CRM kullanıcı arayüzünden farklı bir görünüm ve tarzla görüntülemek istiyorsunuz.
Girdi parametrelerine göre oluşturulan özel bir ASPX sayfanız (CRM uygulamasının dışında) var. CRM, ASPX web kaynaklarına sahip olmanıza izin vermediğinden, bir HTML Web Kaynağı oluşturabilir ve bu HTML sayfasından harici ASPX sayfasını çağırabilirsiniz.
HTML Web Kaynağı Örneği
'TutorialsPoint'e Hoş Geldiniz' özel metnini görüntüleyecek çok basit bir HTML Web Kaynağı oluşturacağız. Bunun bir HTML Web Kaynağının çok basit bir örneği olduğuna dikkat edin. Pratik olarak, HTML Web Kaynakları bundan daha karmaşık olacaktır.
Step 1 - adlı bir HTML dosyası oluşturun sampleHTMLWebResource.html ve aşağıdaki kodu kopyalayın.
<!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- Önce yeni bir Web Kaynağı oluşturacağız ve ardından İletişim formunda referans vereceğiz. DefaultSolution'ı açın ve sol panelden WebResources sekmesine gidin. Yeni'yi tıklayın.
Step 3- Yeni bir Web Kaynağı penceresi açacaktır. Aşağıdaki ekran görüntüsünde gösterildiği gibi ayrıntıları girin ve 1. Adımda oluşturduğumuz HTML dosyasına göz atın. Kaydet ve Yayınla'yı tıklayın. Pencereyi kapat.
Step 4 - Web Kaynakları ızgarasına eklenen yeni Web Kaynağını göreceksiniz.
Step 5- Şimdi Ayarlar → Özelleştirmeler → Sistemi Özelleştir → İletişim → Ana Form aracılığıyla İletişim formunu açın. İletişim Bilgileri bölümünü seçin ve üst şerit çubuğundan Ekle sekmesine geçin. Web Kaynağı'nı tıklayın.
Step 6- Bir Web Kaynağı Ekle penceresi açılacaktır. Bu pencereden Web Kaynağı Arama Kaydı penceresini açacak olan Web Kaynağı Araması'na tıklayın. Yeni oluşturduğunuz Web Kaynağını (new_sampleHTMLWebResource) arayın, ızgaradan seçin ve Ekle'yi tıklayın.
Step 7- Web Kaynağı Ekle'ye geri döndüğünüzde, aşağıdaki ekran görüntüsünde gösterildiği gibi Adı ve Etiketi girin ve Tamam'ı tıklayın. Pencereyi kapat.
Adres alanının altına HTML Web Kaynağının eklendiğini göreceksiniz.
Step 8 - Bunu test etmek için herhangi bir Kişi kaydını açın ve burada HTML Web Kaynağı içeriğinin görüntülendiğini göreceksiniz.
HTML Web Kaynaklarının Sınırlamaları
HTML Web Kaynaklarında sunucu tarafı kodunu kullanmanın desteklenen bir yolu yoktur.
HTML Web Kaynakları yalnızca sınırlı sayıda parametre kabul edebilir. Veri parametresinde birden fazla değer geçirmek için, diğer uçta kod çözme mantığını içeren parametreleri kodlamanız gerekir.
CRM'deki iş akışları, CRM içindeki basit ve karmaşık iş süreçlerini otomatikleştirmenize olanak tanır. Kullanıma hazır CRM işlevlerini kullanarak iş akışları oluşturabilir veya karmaşık iş akışlarını uygulamak için .NET koduyla özel iş akışları yazabilirsiniz. İş akışı işlemleri arka planda veya gerçek zamanlı olarak çalışır ve isteğe bağlı olarak bir kullanıcı girişi gerektirebilir.
İş akışları belirli koşullara göre tetiklenebilir veya hatta kullanıcılar tarafından manuel olarak başlatılabilir. CRM iş akışları dahili olarak Windows Workflow Foundation kullanılarak uygulanır. Bu bölümde, iş akışlarını yapılandırmayı öğreneceğiz.
Bir iş akışının yapılandırılması aşağıdaki ana bölümlerden oluşur (sırayla) -
- İş akışının üzerinde çalışacağı varlığı yapılandırın
- İş akışının eşzamanlı mı yoksa eşzamansız mı çalışacağını yapılandırın
- İş akışının üzerinde çalışacağı mesajı (olayı) yapılandırın
- İş akışının çalışacağı kapsamı yapılandırın
- İş akışının aşamalarını ve adımlarını (eylemlerini) yapılandırın
Eşzamanlı / Eşzamansız İş Akışı
Bir iş akışı oluşturduğunuzda, iş akışının gerçek zamanlı (eşzamanlı olarak) veya arka planda (eşzamansız) çalışıp çalışmayacağını belirleyen arka planda Bu iş akışını çalıştır (önerilen) seçeneğini göreceksiniz.
Genel olarak önerilen yaklaşım, sistem kaynaklarını mevcut olduğu zaman ve olduğu zaman kullandıkları için iş akışlarını arka planda çalıştırmaktır. Ancak, gerçek zamanlı bir iş akışından arka plan iş akışına veya tam tersi her zaman geri dönebilirsiniz.
İş Akışı Mesajları
İş akışları, belirli olaylara aşağıdaki şekilde kaydedilebilir -
- Bir kayıt oluşturulduğunda
- Bir kayıt durumu değiştiğinde
- Bir kayıt atandığında
- Bir kayıt alanı değeri değiştiğinde
- Bir kayıt silindiğinde
İş Akışı Kapsamı
İş akışları, iş akışının çalışacağı kapsamı ayarlamanıza olanak tanır. Aşağıda desteklenen iş akışı kapsamları verilmiştir -
User | İş akışı, yalnızca iş akışı kullanıcısıyla aynı kullanıcıya ait kayıtlarda çalışacaktır. |
Business Unit | İş akışı, iş akışı kullanıcısı ile aynı iş biriminin kullanıcılarının sahip olduğu kayıtlar üzerinde çalışacaktır. |
Parent Child Business Units | İş akışı, herhangi bir alt iş biriminin yanı sıra iş akışı kullanıcısı ile aynı iş biriminin kullanıcılarının sahip olduğu kayıtlar üzerinde çalışacaktır. |
Organization | İş akışı, CRM'deki herhangi bir kullanıcının sahip olduğu kayıtlar üzerinde çalışacaktır. |
İş Akışı Adımları
CRM'deki iş akışları, iş akışının izleyeceği bir dizi adımın birleşimidir. Bu adımları mantıksal aşamalara bile bölebilirsiniz. Aşağıdaki adımlar CRM iş akışları tarafından desteklenir -
Conditional Steps |
|
||||||||||||||
Wait Steps |
|
||||||||||||||
Action Steps |
|
İş Akışı Örneği
Bu örnekte, yeni oluşturulan herhangi bir Kişi kaydını belirli bir kullanıcıya atamak ve ardından müşteriye bir hoş geldiniz e-postası göndermek için arka planda çalışan basit bir iş akışı oluşturacağız.
Step 1 - Ayarlar → İşlemler'e gidin.
Step 2 - Yeni'yi tıklayın.
Step 3 - CreateProcess penceresinde aşağıdaki ayrıntıları girin -
Process Name - Yeni Müşteri İş Akışı (Bu, istediğiniz herhangi bir ad olabilir)
Category - İş akışı
Entity - İletişim (Bu, üzerinde iş akışını oluşturduğunuz varlık olacaktır. Bizim durumumuzda bu Kişi'dir)
Run this workflow in the background (recommended)- Eşzamansız bir arka plan iş akışı oluştururken bu seçeneği işaretleyin. Son olarak, Tamam'ı tıklayın.
Step 4 - Yeni İşlem Penceresine aşağıdaki ayrıntıları girin -
Activate As - Süreç
Scope - Kullanıcı
Start when - Kayıt oluşturulur
Tıklayın Add Step → Kayıt Ata.
Step 5- İş akışına eklenen yeni bir adım göreceksiniz. Bu adımda, oluşturulan tüm kişilerin atanması gereken kullanıcıyı belirteceğiz. Adımın adını şu şekilde girin:Assign Record to Team. Ata seçeneği, üzerinde iş akışını oluşturduğumuz varlık olarak varsayılan olacaktır (bizim durumumuzda İletişim). Arama simgesini tıklayın.
Step 6- Arama penceresinde istediğiniz herhangi bir kullanıcıyı seçin. Kayıtları atamak istediğiniz belirli bir ekibi bile seçebilirsiniz. Ekle'yi tıklayın.
Step 7- Adım Ekle → E-posta Gönder'i tıklayarak başka bir adım ekleyin. Bu adımda, müşteriye e-posta göndermeyi yapılandıracağız.
Step 8- Yeni bir adım eklenecektir. Adını Müşteriye e-posta gönder olarak girin. Özellikleri Ayarla'yı tıklayın.
Step 9 - E-postayı yapılandırmak için sonraki pencerede aşağıdaki işlemleri gerçekleştirin
From- Gönderen alanını tıklayın. Sağ panelde OwningUser ve User'ı seçin. Ekle → Tamam'ı tıklayın.
To- Alana tıklayın. Sağ panelde Kişi ve Kişi'yi seçin. Ekle → Tamam'ı tıklayın.
Subject - İlgili bir Konu girin.
Body - Alakalı bir Gövde içeriği girin.
Step 10 - Kaydet'i ve ardından Etkinleştir'i tıklayın.
Step 11 - Ardından gelen İşlem Etkinleştirme Onayı açılır penceresinde Etkinleştir'i tıklayın.
Step 12- Kişiler sekmesine gidin ve yeni bir kişi oluşturun. Kaydı kaydederek yeni bir kişi oluşturduğunuzda, iş akışında yapılandırdığınız Kullanıcı alanının kullanıcı olarak ayarlandığını göreceksiniz. Ayrıca, Faaliyetler sekmesini tıklarsanız, bu kişi için bir e-posta aktivitesinin oluşturulduğunu göreceksiniz. Bu, iş akışının başarıyla çalıştığını doğrular.
Eklenti vs İş Akışı
CRM işlevlerini genişletmek ve otomatikleştirmek için hem iş akışları hem de eklentiler kullanılabilir. Birçok senaryoda, her iki yaklaşım da birbirinin yerine birbirinin yerine kullanılabilir. Örneğin, müşterilerinize e-posta göndermek gibi basit bir gereksiniminiz varsa, bunu bir eklenti veya bir iş akışı aracılığıyla yapabilirsiniz.
Peki, bir iş akışı oluşturmakla eklenti arasında nasıl seçim yaparsınız? Aşağıdaki liste aynı şeyi açıklamaya çalışıyor -
Eklentiler ve iş akışları hem eşzamanlı hem de eşzamansız mantığı çalıştırmak için kullanılabilse de, eşzamanlı mantık için eklentiler, eşzamansız mantık için iş akışları tercih edilir.
Genel olarak, karmaşık iş mantığını uygulamak için eklentiler iş akışlarına tercih edilir. Görece daha kolay işlevler (e-posta gönderme, kullanıcıları atama vb.) Elde etmek istediğinizde iş akışları tercih edilir.
Eklentilerin kodlama ile geliştirilmesi gerekirken, iş akışları herhangi bir iş akışı bilgisi olmadan doğrudan iş kullanıcıları tarafından yapılandırılabilir.
İş akışları isteğe bağlı olarak çalışabilir. Bu nedenle, kullanıcının bazı mantığı manuel olarak çalıştırmak istediği gereksinimler varsa, iş akışları daha iyi bir seçim olacaktır.
Performans etkisinden dolayı, eşzamanlı eklentiler, istek sıklığının daha yüksek olduğu senaryolarda gerçek zamanlı iş akışlarına kıyasla daha iyi bir performans (ve verim) sağlar.
Sonuç
Bu bölüm bizi CRM'nin çok önemli işlevlerinden biri olan İş Akışları ile tanıştırdı. İlk olarak senkronizasyon / asenkron iş akışlarını, mesajları, kapsamı, adımları anladık ve son olarak bir iş akışı oluşturmanın ve çalıştırmanın canlı bir örneğine baktık. Son olarak, bir iş akışı ile bir eklenti arasındaki farkları gördük.
Eklenti, platformun standart davranışını değiştirmek veya genişletmek için Microsoft Dynamics CRM ile entegre olan özel bir iş mantığıdır. Eklentiler, olay işleyicileri olarak hareket eder ve CRM'de belirli bir olay üzerinde yürütmek için kaydedilir. Eklentiler ya C # ya da VB ile yazılır ve eşzamanlı ya da eşzamansız modda çalışabilir.
Bir eklenti yazacağınız bazı senaryolar şunlardır:
Bir CRM kaydı oluşturduğunuzda veya güncellediğinizde, bir kaydın belirli alanlarını güncellemek veya ilgili kayıtları güncellemek gibi bazı iş mantığını yürütmek istiyorsunuz.
Bir kaydı kaydetme veya güncelleme gibi belirli olaylarda harici bir web hizmetini aramak istiyorsunuz.
Herhangi bir kayıt açıldığında alan değerlerini dinamik olarak hesaplamak istiyorsunuz.
CRM'deki belirli olaylarda müşterilerinize e-posta göndermek gibi süreçleri otomatikleştirmek istiyorsunuz.
Etkinlik Çerçevesi
CRM'deki Olay İşleme Çerçevesi, eşzamanlı ve eşzamansız eklenti isteklerini olay yürütme işlem hattına ileterek işler. Bir olay bir eklenti mantığını tetiklediğinde, CRM Organizasyon Web Hizmetine, diğer eklentiler veya platformun herhangi bir temel işlemi tarafından okunabileceği veya değiştirilebileceği bir mesaj gönderilir.
Eklenti Ardışık Düzeni Aşamaları
Tüm eklenti ardışık düzeni, özel iş mantığınızı kaydedebileceğiniz birden çok aşamaya bölünmüştür. Belirtilen işlem hattı aşaması, eklenti çalıştırma döngüsünün hangi aşamasında, eklenti kodunuzun çalıştığını gösterir. Aşağıdaki tabloda belirtilen tüm ardışık düzen aşamalarından, özel eklentilerinizi yalnızca Etkinlik Öncesi ve Sonrası için kaydedebilirsiniz. Eklentileri Platform Core Main Operations'a kaydedemezsiniz.
Etkinlik | Sahne adı | Açıklama |
---|---|---|
Etkinlik Öncesi | Ön doğrulama | Ana sistem çalışmasından önce yürütülecek eklentiler için işlem hattındaki aşama. Bu aşamada kaydedilen eklentiler veritabanı işlemlerinin dışında yürütülebilir. |
Etkinlik Öncesi | Operasyon öncesi | Ana sistem çalışmasından önce yürütülecek eklentiler için ardışık düzen içindeki aşama. Bu aşamada kaydedilen eklentiler, veritabanı işlemi içerisinde yürütülür. |
Platform Çekirdek İşlemi | AnaOperasyon | Sistemin oluşturma, güncelleme, silme vb. Ana işlemi olan saldırı. Bu aşamada hiçbir özel eklenti kaydedilemez. İç kullanım için. |
Olay sonrası | Ameliyat sonrası | Ana işlemden sonra yürütülecek eklentiler için işlem hattındaki aşama. Bu aşamada kaydedilen eklentiler veri tabanı işlemi içerisinde yürütülür. |
CRM uygulaması bir olay başlattığında (bir kaydı kaydetme veya güncelleme gibi), aşağıdaki eylemler dizisi gerçekleşir -
Olay, bir Web hizmeti çağrısını tetikler ve yürütme, olay işlem hattı aşamalarından (olay öncesi, platform temel işlemleri, olay sonrası) geçirilir.
Bilgiler dahili olarak bir OrganizationRequest mesajı olarak paketlenir ve son olarak dahili CRM Web hizmeti yöntemlerine ve platform temel işlemlerine gönderilir.
OrganizationRequest mesajı ilk olarak, bilgileri platform temel işlemlerine aktarmadan önce değiştirebilen olay öncesi eklentiler tarafından alınır. Platform temel işlemlerinden sonra, mesaj OrganizationResponse olarak paketlenir ve işlem sonrası eklentilere aktarılır. Operasyon sonrası eklentileri, eşzamansız eklentiye geçmeden önce bu bilgileri isteğe bağlı olarak değiştirebilir.
Eklentiler, bu bilgileri, Execute yöntemine aktarılan ve ardından sonraki işlemlerin gerçekleştiği bağlam nesnesi biçiminde alır.
Tüm eklenti işlemleri tamamlandıktan sonra, yürütme, olayı tetikleyen uygulamaya geri gönderilir.
Eklenti Mesajları
Mesajlar, eklentinin (veya iş mantığının) kayıtlı olduğu olaylardır. Örneğin, İletişim Mesajı Oluştur varlığında bir eklenti kaydedebilirsiniz. Bu, yeni bir İlgili Kişi kaydı oluşturulduğunda iş mantığını ateşler.
Özel varlıklar için, varlığın kullanıcıya mı yoksa kuruluşa mı ait olduğuna bağlı olarak desteklenen mesajlar aşağıdadır.
Mesaj Adı | Mülkiyet Türü |
---|---|
Atamak | Yalnızca kullanıcının sahip olduğu varlıklar |
Oluşturmak | Kullanıcıya ait ve kuruluşa ait varlıklar |
Sil | Kullanıcıya ait ve kuruluşa ait varlıklar |
GrantAccess | Yalnızca kullanıcının sahip olduğu varlıklar |
ModifyAccess | Yalnızca kullanıcının sahip olduğu varlıklar |
Al | Kullanıcıya ait ve kuruluşa ait varlıklar |
RetrieveMultiple | Kullanıcıya ait ve kuruluşa ait varlıklar |
RetrievePrincipalAccess | Yalnızca kullanıcının sahip olduğu varlıklar |
RetrieveSharedPrincipalsAndAccess | Yalnızca kullanıcının sahip olduğu varlıklar |
RevokeAccess | Yalnızca kullanıcının sahip olduğu varlıklar |
SetState | Kullanıcıya ait ve kuruluşa ait varlıklar |
SetStateDynamicEntity | Kullanıcıya ait ve kuruluşa ait varlıklar |
Güncelleme | Kullanıcıya ait ve kuruluşa ait varlıklar |
Varsayılan olarak kullanıma hazır varlıklar için 100'den fazla desteklenen mesaj vardır. Bu mesajlardan bazıları tüm varlıklar için geçerlidir, bazıları ise belirli varlıklara özeldir. Desteklenen mesajların tam listesini SDK içindeki bir excel dosyasında bulabilirsiniz:SDK\Message-entity support for plug-ins.xlsx
Yazma Eklentisi
Bu bölümde, bir eklenti yazmanın temellerini öğreneceğiz. Sisteme yeni bir müşteri eklendiğinde, yani CRM'de yeni bir Kişi kaydı oluşturulduğunda müşteriyi takip etmek için bir Görev etkinliği oluşturan örnek bir eklenti oluşturacağız.
Her şeyden önce, referansları eklemeniz gerekir. Microsoft.Xrm.Sdkad alanı. CRM SDK, gerekli tüm SDK derlemelerini içerir. SDK'yı Bölüm 2'de zaten indirip yüklediğinizi varsayarak, Visual Studio'yu açın. Sınıf Kitaplığı türünde yeni bir proje oluşturun. Projeyi SamplePlugins olarak adlandırabilir ve Tamam'a tıklayabilirsiniz.
Referansını ekleyin Microsoft.Xrm.Sdkprojenize montaj. Meclis mevcutturSDK/Bin.
Şimdi, adlı bir sınıf oluşturun PostCreateContact.cs ve sınıfı genişletmek IPlugin. Şimdiye kadar, kodunuz aşağıdaki gibi görünecek.
Ayrıca System.Runtime.Serialization'a başvuru eklemeniz gerekecektir. Gerekli referansları ekledikten sonra, aşağıdaki koduPostCreateContact sınıf.
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);
}
}
}
}
}
Aşağıda, bu kodun ne yaptığına dair adım adım açıklama yer almaktadır -
Step 1- IServiceProvider nesnesini parametresi olarak alarak Execute yöntemini uygular. Servis sağlayıcı, eklenti içinde kullanacağınız birçok yararlı nesneye referanslar içerir.
Step 2 - IServiceProvider'ın GetService yöntemini kullanarak IPluginExecutionContext nesnesini alır.
Step 3- Bağlam nesnesinin InputParameters koleksiyonundan hedef varlığın nesnesini alır. Bu Varlık sınıfı nesnesi, eklentimizin kaydedileceği İlgili Kişi varlık kaydına başvurur.
Step 4- Daha sonra Görev varlığının bir nesnesini oluşturur ve uygun konuyu, açıklamayı, tarihleri, kategoriyi ve ilgili nesne kimliğini ayarlar. Relatedobjectid, bu aktivite kaydının hangi ilgili kişi kaydı için oluşturulduğunu gösterir. Kodun, context.OutputParameters'ı kullanarak üst Kişi kaydının kimliğini aldığını ve bunu oluşturduğunuz Görev varlık kaydı ile ilişkilendirdiğini görebilirsiniz.
Step 5 - IServiceProvider nesnesini kullanarak IOrganizationServiceFactory nesnesini oluşturur.
Step 6 - IOrganizationServiceFactory nesnesini kullanarak IOrganizationService nesnesini oluşturur.
Step 7- Son olarak, bu hizmet nesnesinin Create yöntemini kullanarak. CRM'de kaydedilen takip aktivitesini oluşturur.
Eklenti Derlemesini İmzalama
Bu bölüm, yalnızca eklenti derlemenizi ilk kez kaydediyorsanız geçerlidir. Eklentiyi dağıtabilmek için derlemede bir anahtarla oturum açmanız gerekir. Çözüme sağ tıklayın ve Özellikler'e tıklayın.
Soldaki seçeneklerden İmzalama sekmesini seçin ve 'Montajı imzala' seçeneğini işaretleyin. Ardından, Kesin bir ad anahtarı dosyası seç seçeneğinden Yeni'yi seçin.
Anahtar dosya adını örnek eklentiler olarak girin (Bu, istediğiniz başka herhangi bir ad olabilir). Anahtar dosyamı bir parola ile koru seçeneğinin işaretini kaldırın ve Tamam'ı tıklayın. Kaydet'i tıklayın.
Son olarak çözümü oluşturun. Sağ tıklayın → Oluştur. Çözümün oluşturulması, bir sonraki bölümde bu eklentiyi kaydetmek için kullanacağımız derleme DLL'sini oluşturacaktır.
Eklentide Özel Durum İşleme
Çoğu zaman, eklenti mantığınızın çalışma zamanı istisnalarını ele alması gerekecektir. Eşzamanlı eklentiler için birInvalidPluginExecutionExceptionkullanıcıya bir hata iletişim kutusu gösterecek olan istisna. Hata iletişim kutusu, istisna nesnesinin Mesaj nesnesine ilettiğiniz özel hata mesajını içerecektir.
Kodumuza bakarsanız, catch bloğumuza InvalidPluginExecutionException istisnasını atıyoruz.
throw new InvalidPluginExecutionException(ex.Message);
Sonuç
Eklentiler, herhangi bir özel CRM uygulaması için kesinlikle çok önemlidir. Bu bölümde, olay çerçeve modelini, ardışık düzen aşamalarını, mesajları anlamaya ve örnek bir eklenti yazmaya odaklandık. Bir sonraki bölümde, bu eklentiyi CRM'ye kaydedeceğiz ve uçtan uca senaryodan çalıştığını göreceğiz.
Son bölümde, bir Kişi kaydı oluşturulduğunda bir takip Görev etkinliği oluşturmak için örnek bir eklenti oluşturduk. Bu bölümde, Eklenti Kayıt Aracı kullanılarak bu eklentinin CRM'ye nasıl kaydedileceğini göreceğiz. Aracı şu konumda bulabilirsiniz: SDK / Tools / PluginRegistration / PluginRegistration.exe.
Kolaylık sağlamak için, eklenti kayıt süreci üç bölüme ayrılmıştır -
- Sunucuya bağlanıyor
- Montajın Kaydedilmesi
- Eklentiyi Kaydetme
Sunucuya bağlanıyor
Step 1 - Çalıştır PluginRegistration.exedaha önce belirtilen konumdan. Yeni Bağlantı Oluştur düğmesini tıklayın.
Step 2- Oturum Aç penceresinde, CRM'nin çevrimiçi sürümünü kullandığımız için Office 365'i seçin. Kimlik bilgilerinizi girin ve Oturum Aç'ı tıklayın.
Step 3 - Araç açılacak ve aşağıdaki ekran görüntüsü gibi görünecektir.
Montajın Kaydedilmesi
Step 1 - Kaydol'a gidin → Yeni Montajı Kaydet.
Step 2- Bu, Yeni Montajı Kaydet penceresini açacaktır. Gezin simgesine tıklayın ve son bölümde oluşturduğunuz Eklenti DLL dosyasını bulun.
Step 3- DLL dosyasında gezindikten sonra Montajı Yükle'yi tıklayın. Bu, SamplePlugins derlemesini ve tüm eklenti sınıflarını dolduracaktır. GörebilirsinPostCreateContacteklenti sınıfı aşağıda vurgulanmıştır. Eklenti derlemenizde 3 eklenti sınıfı varsa, burada listelenen üç eklenti gösterilirdi.
Step 4- Korumalı Alan olarak İzolasyon Modunu, Veritabanı Olarak Konum'u seçin ve Seçilen Eklentileri Kaydet'i tıklayın. Kayıt başarılı olursa size bir başarı mesajı gösterecektir.
Eklentiyi Kaydetme
Şimdi bireysel eklentilerin çağrılacağı belirli adımları kaydedeceğiz.
Step 1 - PostCreateContact eklentisini seçin.
Step 2 - Kaydol → Yeni Adımı Kaydet'i tıklayın.
Step 3 - Bu eklentiyi, İletişim varlığının oluşturulmasında, operasyon sonrası aşamada ve senkron modda kaydedeceğiz.
Message - Oluştur
Primary Entity - İletişim
Event Pipeline Stage of Execution - Operasyon sonrası
Execution Mode - Senkron
Varsayılan olarak seçeneklerin geri kalanını koruyun ve Yeni Adımı Kaydet'i tıklayın.
Eklentiye yeni bir adım eklendiğini görebilirsiniz.
Şimdi CRM'ye gidip eklentimizin doğru çalışıp çalışmadığını test edeceğiz. Bu test adımlarının örnek eklentimize özel olduğunu unutmayın.
Eklentiyi Test Etme
Kişiler sekmesine gidin ve yeni bir kayıt oluşturun. Kaydı kaydettikten sonra, yeni bir aktivitenin oluşturulduğunu ve bu kayıtla ilişkilendirildiğini görebilirsiniz.
Kodda belirlediğimiz ayrıntıları görmek için etkinliği tıklayabilirsiniz.
Bu, eklentimizin başarıyla çalıştığını doğrular. Benzer şekilde, oldukça karmaşık işlevler elde etmek için eklentilerinizi genişletebilirsiniz.
Microsoft Dynamics CRM, CRM'ye harici bir uygulamadan erişmek için kullanılan iki önemli web hizmeti sağlar ve CRM'de oluşturma, silme, güncelleme ve bulma gibi ortak iş verileri işlemlerini gerçekleştirmek için web yöntemlerini çağırır.
Aşağıdaki senaryoları düşünün -
CRM ile konuşmanız gereken harici bir .NET uygulamanız var. Örneğin, harici uygulamanıza yeni bir müşteri kaydedildiğinde CRM'ye bir Kişi kaydı eklemek isteyebilirsiniz.
Ya da belki CRM'de kayıtları aramak ve arama sonuçlarını harici uygulamanızda görüntülemek istiyorsunuz.
Bu tür senaryolarda, CRM tarafından sunulan web hizmetlerini uygulamanızda kullanmak ve CRM'de oluşturma, silme, güncelleme ve bulma işlemleri gerçekleştirmek için kullanabilirsiniz.
IDiscoveryService Web Hizmeti
Bu web hizmeti, belirtilen kullanıcının ait olduğu kuruluşların bir listesini ve kuruluşların her biri için URL uç noktasını döndürür.
IOrganizationService Web Hizmeti
Bu web hizmeti, CRM'deki verilere ve meta verilere erişmek için kullanılan birincil web hizmetidir. IOrganizationService iki önemli derleme kullanır -Microsoft.Xrm.Sdk.dll ve Microsoft.Crm.Sdk.Proxy.dll. Bu derlemeler, CRM SDK paketinde bulunabilir.Bin Klasör.
Microsoft.Xrm.Sdk.dll
Bu derleme, Microsoft Dynamics CRM ile bağlantıyı daha basit hale getirmek için proxy sınıfları, kimlik doğrulama yöntemleri ve hizmet sözleşmeleri dahil olmak üzere temel xRM yöntemlerini ve türlerini tanımlar.
Microsoft.Crm.Sdk.Proxy.dll
Bu derleme, temel olmayan mesajlar için istekleri ve yanıtları ve kuruluş verileriyle çalışmak için gereken numaralandırmaları tanımlar. Bu iki derlemenin desteklediği ad alanları aşağıdadır.
Bu derlemelerin her biri, herhangi bir varlıkta depolanan verilerle çalışmak için kullanılacak belirli mesajları destekler. Kendileri tarafından desteklenen mesajların tam listesi aşağıdaki bağlantılarda bulunabilir -
Supported xRM Messages - https://msdn.microsoft.com/en-us/library/gg334698.aspx
Supported CRM Messages - https://msdn.microsoft.com/en-us/library/gg309482.aspx
IOrganizationService Web Hizmeti Yöntemleri
IOrganizationService sistem ve özel varlıklar üzerindeki tüm ortak işlemleri ve organizasyon meta verilerini gerçekleştirmenize olanak tanıyan sekiz yöntem sağlar.
Sr.No | Yöntem ve Açıklama |
---|---|
1 | IOrganizationService.Create Bir kayıt oluşturur. |
2 | IOrganizationService.Update Mevcut bir kaydı günceller. |
3 | IOrganizationService. Retrieve Bir kaydı alır. |
4 | IOrganizationService. RetrieveMultiple Bir kayıt koleksiyonunu alır. |
5 | IOrganizationService. Delete Bir kaydı siler. |
6 | IOrganizationService. Associate Kayıtlar arasında bir bağlantı oluşturur. |
7 | IOrganizationService.Disassociate Kayıtlar arasındaki bir bağlantıyı siler. |
8 | IOrganizationService.Execute Ortak kayıt işlemenin yanı sıra vaka çözümleme, yinelenen algılama vb. Gibi özel işlemler için kullanılır. |
Web Servis Örneği
Web hizmetlerinin CRM'de nasıl çalıştığını anlamak için CRM SDK tarafından sağlanan bir örneğe bakacağız. Bu örnekte, yeni bir Hesap kaydı oluşturacağız, güncelleyeceğiz ve son olarak CRM'yi kullanarak sileceğiz.IOrganizationService internet servisi.
Step 1- CRM SDK'yı çıkardığınız klasörü açın. Şimdi aşağıdaki konuma göz atarak QuickStartCS.sln çözümünü açın: SDK \ SampleCode \ CS \ QuickStart
Step 2 - Keşfedeceğiz QuickStart ile Simplified Connectionproje. Açıkapp.configbu projede. Varsayılan olarak,connectionStrings Bu dosyadaki bölüm yorumlanacak.
Bundan, ilk bağlantı dizesi anahtarının açıklamasını kaldırın ve aşağıdaki üç ayrıntıyı düzenleyin -
Url- CRM örneğinizin URL'sini belirtin. Bizim durumumuzda, CRM'nin çevrimiçi sürümünü kullandığımız için, bu URL'yi belirtmeniz gerekecektir.
Username - CRM Online kullanıcı adınız.
Password - CRM Online şifreniz.
Step 3 - Aç SimplifiedConnection.cs Bu projedeki dosya ve içindeki Runmethod.
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- Bu yöntem temel olarak CRM web hizmetlerini kullanan tüm CRUD işlemlerini gösterir. Kod önce bir organizasyon örneği oluşturur, ardından bir Hesap kaydı oluşturur, oluşturulan kaydı günceller ve son olarak onu siler. Bu kodun önemli bileşenlerine bakalım. Bu kod çalıştığında CRM'deki hareket halindeki değişiklikleri görmek için, bu kodu adım adım (aşağıda tartıştığımız gibi) ve aynı anda CRM'deki değişiklikleri görebilirsiniz.
Step 4.1 - içinde değiştirdiğimiz bağlantı dizesini kullanarak kuruluşla bağlantıyı kurar Step 2.
Microsoft.Xrm.Client.CrmConnection connection = CrmConnection.Parse(connectionString);
Step 4.2 - CRM organizasyon web hizmetinin proxy örneğini alır.
_orgService = new OrganizationService(connection)
Step 4.3 - Yeni bir Hesap varlık nesnesi oluşturur ve Adını, HesapKategoriKodunu ve MüşteriTipiKodunu ayarlar.
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 - Kuruluş hizmetinin Oluştur yöntemini kullanarak yeni kaydı oluşturur.
_accountId = _orgService.Create(account);
CRM'ye giderseniz, yeni oluşturulmuş bir hesap kaydı göreceksiniz.
Step 4.5 - Hesap oluşturulduktan sonra, hizmet, Web hizmeti Al yöntemini kullanarak kaydı CRM'den geri alır.
ColumnSet cols = new ColumnSet(new String[]{
"name","address1_postalcode","lastusedincampaign"});
Account retrievedAccount =
(Account)_orgService.Retrieve("account", _accountId, cols);
Step 4.6 - Alınan kaydı aldıktan sonra, kaydın güncellenmiş değerini ayarlayabilirsiniz.
retrievedAccount.Address1_PostalCode = "98052";
retrievedAccount.Address2_PostalCode = null;
retrievedAccount.Revenue = new Money(5000000);
retrievedAccount.CreditOnHold = false;
Step 4.7 - Kaydın güncellenmiş değerini ayarladıktan sonra, Güncelleme web hizmeti yöntemini kullanarak kaydı CRM veritabanına geri güncelleyin.
_orgService.Update(retrievedAccount);
Kaydı CRM'de açarsanız, bu değerlerin burada güncellendiğini göreceksiniz.
Step 4.8 - Son olarak, Web hizmetini sil yöntemini kullanarak kaydı silin.
_orgService.Delete(Account.EntityLogicalName, _accountId);
Şimdi aynı kaydı CRM'de yenilerseniz, zaten silinmiş olduğu için kaydın artık mevcut olmadığını göreceksiniz.
Sonuç
Bu bölümde, CRM tarafından sağlanan iki önemli web hizmetini ve bu web hizmetlerinin çeşitli CRUD işlemlerini gerçekleştirmek için harici bir uygulamadan nasıl kullanılabileceğinin çalışan bir örneğini ele aldık.
Çözümler, iş işlevlerinize uygun bileşenleri paketlemek, kurmak ve kaldırmak için bir çerçeve sağlar. Çözümler, özelleştiricilerin ve geliştiricilerin CRM'yi genişleten yazılım birimleri yazmasına, paketlemesine ve sürdürmesine olanak tanır. CRM'de gerçekleştirilen tüm özelleştirmeler, uzantılar veya yapılandırmalar, çözümler kullanılarak paketlenir, yönetilir ve dağıtılır. Çözümler, kaynak kuruluştan bir zip dosyası olarak dışa aktarılabilir ve daha sonra hedef kuruluşa içe aktarılabilir.
Bunu anlamak için aşağıdaki örnek senaryoları göz önünde bulundurun -
Bir geliştirici veya özelleştirici olarak, geliştirme ortamında genişletilmiş veya özelleştirilmiş CRM'ye sahipsiniz. Şimdi değişikliklerinizi paketlemek ve bir sonraki ortama taşımak istiyorsunuz. Bunun için bireysel çözümler oluşturabilir ve bunları daha yüksek ortamlarda yayınlayabilirsiniz.
Üçüncü taraf bir CRM sağlayıcısı olarak, Microsoft Dynamics CRM varlıklarındaki verilerin harici Web hizmeti API'leri kullanılarak yönetilmesine izin veren bir CRM modülü oluşturdunuz. Şimdi, bu modülü diğer müşterilere satmak istiyorsunuz. Çözümleri kullanarak, bu modülü paketleyebilir ve bu çözümü kurabilecek ve modülünüz tarafından sağlanan işlevleri kullanabilecek diğer istemcilere dağıtabilirsiniz.
Çözüm Türleri
Varsayılan Sistem Çözümü
Sistem çözümü, herhangi bir özelleştirme olmaksızın Microsoft Dynamics CRM içinde tanımlanan kullanıma hazır çözüm bileşenlerini içerir. Sistem çözümündeki bileşenlerin çoğu özelleştirilebilir ve yönetilen çözümlerde veya yönetilmeyen özelleştirmelerde kullanılabilir.
Bu eğitim boyunca herhangi bir çözüm oluşturmadık ve varsayılan sistem çözümünü özelleştiriyorduk. Hatırlarsanız, Ayarlar → Özelleştirmeler → Sistemi Özelleştir'e gittik. Bu seçenek, varsayılan çözümü doğrudan özelleştirir.
Yönetilen Çözüm
Yönetilen çözüm, tamamlanan ve dağıtılması ve kurulması amaçlanan bir çözümdür. Yönetilen çözümler, sistem çözümünün veya diğer yönetilen çözümlerin üstüne kurulabilir.
Important Points -
Yönetilen bir çözümü bir kuruluştan dışa aktarır ve başka bir kuruluşa alırsanız, çözümü yeni kuruluşta düzenleyemezsiniz.
Yönetilen bir çözüm, doğrudan sistem çözümüne başvurmaz.
Yönetilen bir çözümün kaldırılması, çözümle ilişkili tüm özelleştirmeleri kaldırır.
Varsayılan olarak, hedef kuruluşta yönetilen bir çözüm özelleştirilemez. Bununla birlikte, yönetilen özellikler kavramını kullanarak, bir çözüm bileşeninin özelleştirilebilir olup olmayacağını ve eğer öyleyse, çözüm yönetilen bir çözüm olarak dışa aktarıldığında bileşenin hangi belirli parçalarının özelleştirilebilir olacağını tanımlayabilirsiniz.
Yönetilmeyen Çözüm
Yönetilmeyen bir çözüm, hala geliştirilme aşamasında olan ve dağıtılması amaçlanmayan bir çözümdür. Yönetilmeyen bir çözüm, eklenen, değiştirilen, kaldırılan veya silinen bileşenler dahil olmak üzere CRM bileşenlerinin tüm yönetilmeyen özelleştirmelerini içerir. Varsayılan olarak, her yeni çözüm yönetilmeyen bir çözümdür. Ancak, yönetilmeyen bir çözümü yönetilen veya yönetilmeyen bir çözüm olarak dışa aktarabilirsiniz.
Important Points -
Yönetilmeyen bir çözümü bir kuruluştan diğerine aktarırsanız, çözümü yeni kuruluşta düzenleyebilirsiniz.
Yönetilmeyen bir çözüm, doğrudan sistem çözümüne başvurur. Bu nedenle, tek bir yönetilmeyen çözüme yapılan değişiklikler, sistem çözümü de dahil olmak üzere aynı bileşenlere başvuran tüm yönetilmeyen çözümlere uygulanacaktır.
Yönetilmeyen bir çözümden bir çözüm bileşenini silerseniz, bileşen sistemden kalıcı olarak silinir ve artık kullanılamaz. Yalnızca belirli bir yönetilmeyen çözümden bileşeni kaldırmak istiyorsanız, delete yerine remove değerini kullanın.
Yönetilmeyen bir çözümün kaldırılması, ilişkili özelleştirmeleri kaldırmaz. Sadece çözümü sistemden siler, ancak yaptığınız değişiklikler hala orada olacaktır.
Çözüm Bileşenleri
Varsayılan, yönetilmeyen veya yönetilen çözümler kullanılarak özelleştirilebilen aşağıdaki bileşenleri paketlemek için bir çözüm kullanılabilir.
Bileşen Tipi | Bileşen |
---|---|
Şema | Varlıklar |
Öznitellikler | |
İlişkiler | |
Global Opsiyon Setleri | |
Kullanıcı arayüzü | Uygulama Şeridi |
Site Haritası | |
Formlar | |
Varlık Şeritleri | |
Web Kaynakları | |
Analitik | Gösterge tabloları |
Raporlar | |
Görselleştirmeler | |
İşlem / Kod | Süreçler |
Diyaloglar | |
İş akışları | |
Eklentiler | |
Meclisler | |
İşleme Adımları | |
Şablonlar | Posta birleştirme |
E-posta adresi | |
Sözleşme | |
makale | |
Güvenlik | Güvenlik Rolleri |
Alan Seviyesi Güvenlik Profilleri |
Bir Çözüm Yaratmak
Step 1- Ayarlar → Çözümler'e gidin. Yeni'yi tıklayın.
Step 2 - Açılan pencerede aşağıdaki ayrıntıları girin ve Kaydet ve Kapat'ı tıklayın.
Display Name - Örnek Çözüm (Bu, istediğiniz herhangi bir ad olabilir).
Name- Görünen Ada göre otomatik olarak ayarlanacaktır. Ancak bunu değiştirebilirsiniz.
Publisher- Varsayılan Yayıncı. Çözüm yayımcısı, ortak bir özelleştirme öneki ve seçenek değeri öneki sağlar. Bir çözüm yayıncısı tanımlamak, yönetilen çözümlerin dağıtıldıktan sonra nasıl güncellenebileceğini kontrol eder. Ancak, bu örnek için ve genel durumların çoğu için, bunu Varsayılan Yayıncı olarak ayarlayabilirsiniz.
Version- Şu biçime sahip bir sürüm belirtin: major.minor.build.revision. Örneğin: 1.0.0.0.
Varsayılan olarak, her çözüm yönetilmeyen bir çözüm olarak eklenir. Bir çözüm eklendiğinde, çözüm bileşenlerini bu çözüm bağlamında oluşturarak veya diğer çözümlerden mevcut bileşenleri ekleyerek ekleyebilirsiniz. Örneğin, bu yeni çözüm bağlamında yeni varlıklar, formlar vb. Oluşturabilirsiniz.
Bir Çözümü Dışa Aktarma
Yönetilen veya yönetilmeyen bir çözüm olarak paketlemek istediğiniz tüm değişiklikleri yaptıktan sonra, çözümünüzü aşağıdaki gibi dışa aktarabilirsiniz.
Step 1- Kaynak kuruluşu açın ve Ayarlar → Çözümler'e gidin. Dışa aktarmak istediğiniz çözümü seçin ve Dışa Aktar düğmesini tıklayın.
Step 2 - Özelleştirmeleri Yayınla penceresinde, Tüm Özelleştirmeleri Yayınla'yı ve ardından İleri'yi tıklayın.
Step 3- Açılan pencerede isteğe bağlı olarak otomatik numaralandırma, takvim ayarları vb. Gibi çözümle birlikte dışa aktarılacak herhangi bir sistem ayarı seçebilirsiniz. Şimdilik herhangi bir seçeneği seçmekten kaçınabilir ve İleri'ye tıklayabilirsiniz.
Step 4- Paket Tipi penceresinde, paketi yönetilen veya yönetilmeyen bir çözüm olarak dışa aktarmak isteyip istemediğinizi seçebilirsiniz. Bu örnek için onu yönetilmeyen olarak dışa aktaralım. Tamamlandığında, İleri'yi tıklayın.
Step 5- Bir sonraki pencerede, kullandığınız CRM'nin kaynak sürümünü görebilir ve hedef sürümü seçebilirsiniz. Dışa Aktar'ı tıklayın.
Step 6- Dışa Aktar'ı tıkladığınızda, çözüm bir zip dosyası olarak dışa aktarılacaktır. Bu zip dosyasını sisteminizde istediğiniz bir konuma kaydedin.
Bir Çözümü İçe Aktarma
Şimdi, önceki bölümde dışa aktardığımız çözüm zip dosyasını yeni bir hedef kuruluşa aktaracağız.
Step 1- Hedef kuruluşu açın ve Ayarlar → Çözümler'e gidin. İçe Aktar'ı tıklayın.
Step 2 - Dışa aktarma adımından indirdiğiniz zip dosyasına göz atın ve Next.
Step 3- Bir sonraki pencereden, gerekirse çözüm paketi ayrıntılarını görüntüleyebilirsiniz. İçe Aktar'ı tıklamak, çözüm içe aktarma işlemini başlatır.
Step 4- İçe aktarma işlemi tamamlandığında, başarı veya başarısızlık durumunu gösterecektir. İşlem başarılı olursa, Tüm Özelleştirmeleri Yayınla'yı tıklayın. Çözümün içe aktarılmasının başarısız olması durumunda, size içe aktarma işleminin hangi adımının başarısız olduğuna dair ayrıntılı bir hata günlüğü verecektir.
Step 5- Bitirdik. Çözüm, hedef kuruluşa başarıyla aktarılacaktır. Kapat'ı tıklayın.
Çatışma çözümü
CRM'yi özelleştirme ve genişletme üzerinde çalışan birden çok geliştiriciniz olabileceğinden, birden çok yönetilen ve yönetilmeyen çözümünüz olacaktır. Bu çözümleri dışa ve içe aktarmak bazen çatışma senaryolarına neden olabilir. Örneğin, 'Çözüm A'nın bir form üzerinde bir alan içerdiğini ve' Çözüm B'nin alanı kaldırdığını ve 'Çözüm C'nin alanı yeniden adlandırdığını varsayalım. Bu senaryoda, son değişiklik ne olacak? Bu tür çelişkili senaryolarda, CRM iki yaklaşım kullanır.
Merge- Bu yaklaşım, komut çubuğu, şeritler ve site haritaları gibi kullanıcı arabirimi bileşenleri için kullanılır. Bu yaklaşıma göre, çözüm bileşenleri en alttan yeniden hesaplanır ve kuruluşun yönetilmeyen özelleştirmeleri en son uygulananlardır.
Top Wins- Bu yaklaşım, kullanıcı arabirimi bileşenleri dışındaki tüm diğer çakışma senaryoları için kullanılır. Bu yaklaşıma göre, son değişiklik (yönetilen veya yönetilmeyen) önceliği alır ve uygulanır.
Sonuç
Bu bölümde, çözüm kavramını ve farklı çözüm türlerini ve bileşenlerini tanıttık. Daha sonra bir çözümün nasıl oluşturulacağını, dışa aktarılacağını ve içe aktarılacağını öğrendik. Son olarak, aynı çözüm bileşenlerini etkileyen birden fazla yönetilen ve yönetilmeyen çözüme sahip olduğumuzda gerçekleşen iki çatışma çözme stratejisini inceledik.