2016-04-12 75 views
1

我想要做的是,當我們點擊回覆按鈕,發件人地址字段將填充電子郵件ID(默認隊的默認隊列的電子郵件ID )。當前場景使用登錄用戶填充。更改回覆電子郵件地址到隊列的電子郵件地址在動態crm 2011

我用下面的js代碼的onLoad,但我得到的是說「對象不支持屬性或方法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); 
 
    } 
 
    } 
 
    } 
 
}

回答

1

get屬性值的方法是不正確的錯誤,以獲得屬性的值使用以下內容:

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

因此,在你的情況下它會是:

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

謝謝,這是有效的。但現在我面臨另一個未定義的錯誤getExtapsParam var previousEmailId = getExtraqsParam(「_ InReplyToId」,window.parent.location.search); – user3495554

+0

你是否定義了一個方法「getExtraqsParam」?如果是,你可以在這裏發佈它,如果沒有,你想在那行代碼「previousEmailId」中實現什麼? – dynamicallyCRM

+0

我沒有。我想要做的是獲得隊列電子郵件地址。一旦我回復它將採取當前的用戶ID,而不是我想要獲得隊列電子郵件ID。 – user3495554

相關問題