2016-04-12 8 views
1

Yapmak istediğim, Yanıtla düğmesine tıklandığında Kimden adresi alanı e-posta kimliğiyle doldurulur (varsayılan ekibin varsayılan kuyruğunun e-posta kimliği). Mevcut senaryo, oturum açmış kullanıcı ile doldurulur. Yanıt e-posta adresini dinamik crm 2011 kuyruğundaki e-posta adresine değiştirin.

aşağıdaki js kodu onLoad kullanılan, ancak nesne olsun özellik değeri yöntemi yanlıştır özellik veya yöntem getAttributeValue

function CheckEnquiryReplyAddress() { 
 
// Only complete this validate on Create Form 
 
var formType = Xrm.Page.ui.getFormType(); 
 
var emailStatus = Xrm.Page.getAttributeValue("statecode").getValue(); 
 
var emailDirection = Xrm.Page.getAttributeValue("directioncode").getValue(); 
 

 

 

 
if (formType == 1 || (formType == 2 && emailStatus == "Open")) { 
 
               
 
             
 
    if (emailDirection == "1"){ 
 
    var previousEmailId=getExtraqsParam("_InReplyToId", window.parent.location.search); 
 

 
    //getting context from the parent window 
 
    var context = Xrm.Page.context; 
 

 
    try { 
 
    var serverUrl = context.getServerUrl(); 
 
    //The XRM OData end-point 
 
    var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc"; 
 
    var query="/EmailSet?$select=ActivityId,ActivityTypeCode,DirectionCode,"; 
 
    query=query+"ToRecipients,Email_QueueItem/QueueId&$expand=Email_QueueItem&$filter=ActivityId eq guid'" + previousEmailId +"'"; 
 
    query =serverUrl+ODATA_ENDPOINT+ query; 
 

 
    var request= new XMLHttpRequest(); 
 
    request.open("GET", query, false); 
 
    request.setRequestHeader("Accept", "application/json"); 
 
    request.setRequestHeader("Content-Type", "application/json; charset=utf-8"); 
 
    request.onreadystatechange=function(){ CompleteEnquiryReplyCheck(request,serverUrl);} 
 
    request.send(null); 
 
    } 
 
    catch(e) { 
 
    alert(e.Description); 
 
    } 
 
    } 
 
} 
 

 
      
 
} 
 
function CompleteEnquiryReplyCheck(request,url) 
 
{ 
 
if (request.readyState==4) { 
 
    if(request.status==200) { 
 
    var queue=JSON.parse(request.responseText).d.results[0]; 
 
    
 
    if (queue != null) { 
 
    var queueId = queue.Email_QueueItem.results[0].QueueId.Id; 
 
    var lookup = new Array(); 
 
     var lookupItem = new Object(); 
 
    
 
    lookupItem.id = queueId; 
 
    lookupItem.name = queue.Email_QueueItem.results[0].QueueId.Name; 
 
    lookupItem.typename = "queue"; 
 
     
 
    lookup[0] = lookupItem; 
 
    
 
    Xrm.Page.getAttribute("from").setValue(lookup); 
 
    } 
 
    } 
 
    } 
 
}

cevap

1

desteklemediği" şeklinde bir hata alıyorum bir özelliğinin değeri aşağıdaki kullanmak almak için:

var attributeValue = Xrm.Page.getAttribute("attributeName").getValue(); 

Yani, sizin durumunuzda olurdu:

var emailStatus = Xrm.Page.getAttribute("statecode").getValue(); 
    var emailDirection = Xrm.Page.getAttribute("directioncode").getValue(); 
+0

Teşekkürler, bu işe yarıyor. Ama şimdi getExtapsParam var bir başka tanımlanmamış hatayla karşılaşıyorum varEmailId = getExtraqsParam ("_ InReplyToId", window.parent.location.search); – user3495554

+0

Eğer bir yöntem "getExtraqsParam" tanımladıysanız, eğer buraya yazabilirsiniz, eğer değilse, "previousEmailId" kod satırında ne elde etmeye çalışıyorsunuz? – dynamicallyCRM

+0

Yapmadım. Yapmaya çalıştığım şey, kuyruk e-posta adresini almaktır. Yanıtı verdikten sonra geçerli kullanıcı kimliğini alır, bunun yerine sıra e-posta kimliğini almak istiyorum. – user3495554

İlgili konular