Makale Özeti

Bir randevuyu kapattıktan sonra sadece okunur olmasının birçok sebebi vardır. Ama bazen de bazı değişiklikler yapmak gerekebilir. Bu makalede kapatılmış bir randevuyu tekrar aktif hale getirip üzerinde değişiklik yapmayı göreceğiz.

Makale

MS CRM 3.0 da kapatılmış bir randevuyu açıp üzerinde değişiklik yapma

Bir randevuyu kapattıktan sonra sadece okunur olmasının birçok sebebi vardır. Ama bazen de bazı değişiklikler yapmak gerekebilir. Bu makalede kapatılmış bir randevuyu tekrar aktif hale getirip üzerinde değişiklik yapmayı göreceğiz.

Öncelikle  C:\Program Files\Microsoft CRM\CRMWeb\_Resources altında bulunan Microsoft CRM için her şey olan isv.config.xml dosyasının  öncelikle yedeğini alalım ki hata yaparsak geri dönelim. Yedeğini aldıktan sonra bir editör yardımı ile açalım ve aşağıda yazan JScript kodunu içerisine kopyalayalım.

    <Entity name="appointment">

      <ToolBar ValidForCreate="0" ValidForUpdate="1"> // Düğmemiz kayıdımız oluşturulduktan sonra gözükecek

        <Button Title="Reopen appointment" ToolTip="Reopen this appointment if this appointment is closed already and you have additional changes." Icon="/_imgs/ico_18_debug.gif" JavaScript="

var activityid = crmForm.ObjectId;

var serverUrl = /mscrmservices/2006;

var xmlhttp = new ActiveXObject(Microsoft.XMLHTTP);

xmlhttp.open(POST, serverUrl + /crmservice.asmx, false);

xmlhttp.setRequestHeader(Content-Type, text/xml; charset=utf-8)

xmlhttp.setRequestHeader(SOAPAction, http://schemas.microsoft.com/crm/2006/WebServices/Execute)

xmlhttp.send(“<?xml version='1.0' encoding='utf-8'?>”+\n\n+”<soap:Envelope+

' xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/'+

' xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance'+

' xmlns:xsd=http://www.w3.org/2001/XMLSchema”>'+

' <soap:Body>' +

' <Request xsi:type=SetStateAppointmentRequest'+

' xmlns=http://schemas.microsoft.com/crm/2006/WebServices”> '+

' <EntityId>' + activityid + '</EntityId>'+

' <AppointmentState>Open</AppointmentState>'+

' <AppointmentStatus>1</AppointmentStatus>'+

' </Request>'+

' </soap:Body>'+

' </soap:Envelope>')

var result = xmlhttp.responseXML.xml;

if (result.indexOf('faultcode') < 0) {

 window.open('/CRMReports/viewer/drillopen.aspx?ID=' + activityid + '&amp;OTC=4201');

} else {

 alert(result);

}

 

" Client="Web" /> // Düğmemizin adını,tooltipini,hangi icon gözükeceğini beliliyoruz

// Burada MS CRM Web Servicelerini çağırarak randevumuzu tekrar aktif hale getiriyoruz.

      </ToolBar>

    </Entity>

 

Bu kod ile CRM de bir randevuya gelip baktığınızda yeni bir buton görmüş olacaksınız. Eğer kapalı bir randevuyu açıp bu butona basarsanız randevu tekrar aktif hale gelecek.

Bu makalemizinde sonuna geldik. Bu makale ile ilgili merak ettiklerinizi aşağıdaki mail adresimden öğrenebilirsiniz.

 Bir sonraki makalede görüşmek üzere…

Volkan KORKMAZ
Microsoft Certified Business Management Solutions Specialist
volkankorkmaz@gmail.com
http://www.volkankorkmaz.net