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

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.

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">

        <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);

//alert(serverUrl+ /crmservice.asmx);

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" />

      </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

MCSD.NET , CRM 3.0 Uzmanı

volkankorkmaz@gmail.com