www.cub-e.net
CRM Uzmanının Günlüğü - Microsoft Dynamics CRM

Microsoft Dynamics CRM Ürünleri

Service Management : Bu uygulama Microsoft Dynamics CRM üzerinde hızlı bir şekilde servis taleplerini yönetmenizi sağlıyor.
Microsoft Dynamics CRM içerisindeki Case ( Servis Talebi ) ekranı içinde yer aldığından ek bir arayüz ve programa ihtiya duyulmaz.
Uygulama Erikli Su - Nestle Waters, SaatveSaat ve Teknolojix Mağazalar tarafından kullanlmaktadır.
SMS Collector : Bu uygulama ile Microsoft Dynamics CRM içerisinden Turkcell üzerindeki SMS hesaplarınızı yönetebilir bunlar üzerinden SMS alıp verebilirsiniz. Bu sayede Müşterilerinize ve Saha Personelinize SMS gönderebilirsiniz.
Uygulama Erikli Su - Nestle Waters, SaatveSaat tarafından kullanlmaktadır.
Score Collector : SMS ile Müşterilerinize veya Bayilerinize Kampanya bazlı Puan kurgularını Microsoft Dynamics CRM üzerinden gerçekleştirmenizi sağlayan uygulamadır.
Uygulama Konyalı Saat tarafından kullanlmaktadır. (v1.0 kullanılmaktadır)

Ürünler hakkında daha fazla detay için tıklayınız...

CRM içerisinden Java Script kullanarak web sayfası çağırmak

Ocak 27, 2008 19:18 by brsk

CRM içerisinden Java Script kullanarak web sayfası çağırmak

Makalemizde CRM içerisinden JavaScript kodu kullanılarak, bir web sayfasını çağırmak ve ona işlem yaptırdıktan sonra dönen sonuca göre JavaScript kodundaki işlemlere devam edilmesi işleminin nasıl yapılacağı anlatılacaktır.

Örnek JavaScript kodunda; ürün kartı üzerindeki ürünün Guidi(productid) lookup alanından alınan guidi '/QuoteCalcs/Calcs.aspx' sayfasına parametre olarak gönderiliyor. Sayfa gerekli işlemleri yaptiktan sonra sonucu <baris> xml taglari içerisinde döndürüyor. standart hata kontrollerinde eğer değer "null" veya "false" geliyorsa ekrana uyarı çıkartılıyor (kaydetme işlemi sırasında hata oluşursa kaydetmeyi iptal etmek için "event.returnValue = false;" kodu hata kodundan sonra eklenir), eğer değer var ise gelen değer ilgili alana aktarılıyor. Kodun devaminda çağrılan sayfanın c# script kodu gelmektedir.

var oProduct = document.crmForm.all.productid;
var aProduct = new Array();
aProduct = oProduct .DataValue;
var sProductID = aProduct [0].id;
sProductID = encodeURIComponent(sProductID);
if (sProductID!=null)
{
 var oXmlDoc = new ActiveXObject('Microsoft.XMLDOM');
 oXmlDoc.async = false;
 var path = '/QuoteCalcs/Calcs.aspx?productid=' + sProductID ;
 oXmlDoc.load(path);
 var oNode = oXmlDoc.selectSingleNode('baris');
 if (oNode != null && oNode.text == 'false')
{
  alert(Fiyat getirilirken hata oluştu.');
}
 if (oNode != null && oNode.text != 'false')
 {
  crmForm.all.price.value = oNode.text;
 }
}

c# script ile paremetre alip işlem yapmak; bu kod içerisinde gelen parametrenin boş olup olmadığı kontrol ediliyor. Sonrasında ise CRM'den standart veri çağırma algoritması işliyor. Oluşan sonuçlar ilgili xml tagları ile birleştirilerek dönmeleri sağlanıyor.

<%@ Page Language='c#'%>
<%@ Import Namespace='CrmSdk' %>
<script runat='server'>
protected override void Render(HtmlTextWriter writer)
{
Response.Clear();
Response.ContentType = 'text/xml';
string ProductID = Request.QueryString['ProductID'];
string TYPE = Request.QueryString['Type'];
if (ProductID != null &&
ProductID !='null')
{
CrmService service = new CrmService();
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
QueryByAttribute attributeQuery = new QueryByAttribute();
attributeQuery.ColumnSet = new AllColumns();
attributeQuery.Attributes = new string [] {'productid'};
attributeQuery.Values = new string [] {ProductID};
attributeQuery.EntityName = EntityName.product.ToString();
RetrieveMultipleRequest retrieve = new RetrieveMultipleRequest();
retrieve.Query = attributeQuery;
RetrieveMultipleResponse retrieved = (RetrieveMultipleResponse)service.Execute(retrieve);
if (retrieved.BusinessEntityCollection.BusinessEntities.Length > 0)
{
product prd = (product)retrieved.BusinessEntityCollection.BusinessEntities[0];
if (prd.price!=null)
{
Response.Write('<baris>'+prd.price.Value.ToString()+'</baris>');
}
else
{
Response.Write('<baris>false</baris>');
}
}
else
{
Response.Write('<baris>false</baris>');
}
}
</script>

Bu işlemler sonucunda elimizde bir JavaScript ve bir c# Script kodu oluştu. Notlar kısmında nasıl oluşturulacağı anlatılan Microsoft.Crm.Sdk.Wsdl.dll 'i ile birlikte bütün bunlar ilgili CRM website'inin altında bir 'virtual directory' oluşturacak şekilde yerleştirilir ve IIS restart edilir.

Not:


Microsoft.Crm.Sdk.Wsdl.dll 'ini oluşturmak;

1.    Başlat’a tıklayın, Tüm Programlar’a tıklayın, Microsoft Visual Studio .NET 2003 ‘e tıklayın, Visual Studio .NET Tools ‘a tıklayın, Visual Studio .NET 2003 Command Prompt ‘u tıklayarak açın.

2.    Command Prompt’un içinde referans dosyasını oluşturun, Microsoft.Crm.Sdk.Wsdl.cs, bu işlemi şağıdaki gibi yapabilirsiniz (URL’in sizin Microsoft CRM 3.0 server’ı işaret ettiğinden emin olun):


wsdl.exe /out:Microsoft.Crm.Sdk.Wsdl.cs /namespace:CrmSdk http://<yourserver>/mscrmservices/2006/crmservice.asmx

3 Command Prompt’un içinde, Microsoft.Crm.Sdk.Wsdl.dll ‘ini şu komutu yazarak oluşturabilirsiniz : csc /t:library Microsoft.Crm.Sdk.Wsdl.cs

Artık Microsoft.Crm.Sdk.Wsdl.dll elinizde.


Barış KANLICA

Yazılım Uzmanı – Software Specialist
brsk@e-kolay.net
www.cub-e.net


Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , , , , , ,
Categories: Dynamics CRM
Actions: E-mail | Permalink | Yorumlar (0) | Comment RSSRSS comment feed

İlişkili yazılar

Yorum ekle


 

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]