Advertisement
Guang_Ming_Lin

Untitled

May 23rd, 2012
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function salesOrderLineOnLoad()
  2. {
  3.     var lookupObject = Xrm.Page.getAttribute('xts_batnbrid').getValue();
  4.  
  5.     if (lookupObject != null)
  6.     {
  7.          var batNbrid = lookupObject[0].id;
  8.     }
  9.     //var batNbr = Xrm.Page.getAttribute('xts_batnbrid').getValue();
  10.     var result = getsalesOrderStatus(batNbrid);
  11.    
  12.     var productid = Xrm.Page.ui.controls.get("xts_productid");
  13.     var productname = Xrm.Page.ui.controls.get("xts_productname");
  14.     var qty = Xrm.Page.ui.controls.get("xts_qty");
  15.     var price = Xrm.Page.ui.controls.get("xts_price");
  16.     var totallineamount = Xrm.Page.ui.controls.get("xts_totallineamount");
  17.     var ownerid = Xrm.Page.ui.controls.get("ownerid");
  18.     var batchnumber = Xrm.Page.ui.controls.get("xts_batnbrid");
  19.     var tax = Xrm.Page.ui.controls.get("new_xts_tax");
  20.     var taxamount = Xrm.Page.ui.controls.get("xts_taxamount");
  21.    
  22.     if(result == 2 || result == 3)
  23.     {
  24.         productid.setDisabled(true);
  25.         productname.setDisabled(true);
  26.         qty.setDisabled(true);
  27.         price.setDisabled(true);
  28.         totallineamount.setDisabled(true);
  29.         ownerid.setDisabled(true);
  30.         batchnumber.setDisabled(true);
  31.         tax.setDisabled(true);
  32.         taxamount.setDisabled(true);
  33.     }
  34.    
  35. }
  36.  
  37. function getsalesOrderStatus(batchNumber) {
  38.     var authenticationHeader = Xrm.Page.context.getAuthenticationHeader();
  39.     var xml = "<?xml version='1.0' encoding='utf-8'?>" +
  40.     "<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'" +
  41.     " xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'" +
  42.     " xmlns:xsd='http://www.w3.org/2001/XMLSchema'>" +
  43.     authenticationHeader +
  44.     "<soap:Body>" +
  45.     "<RetrieveMultiple xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>" +
  46.     "<query xmlns:q1='http://schemas.microsoft.com/crm/2006/Query'" +
  47.     " xsi:type='q1:QueryExpression'>" +
  48.     "<q1:EntityName>xts_salesorder</q1:EntityName>" +
  49.     "<q1:ColumnSet xsi:type='q1:ColumnSet'>" +
  50.     "<q1:Attributes>" +
  51.         "<q1:Attribute>xts_salesorderid</q1:Attribute>" +
  52.         "<q1:Attribute>xts_status</q1:Attribute>" +
  53.     "</q1:Attributes>" +
  54.     "</q1:ColumnSet>" +
  55.     "<q1:Distinct>false</q1:Distinct>" +
  56.     "<q1:Criteria>" +
  57.     "<q1:FilterOperator>And</q1:FilterOperator>" +
  58.    
  59.     "<q1:Conditions>" +
  60.         "<q1:Condition>" +
  61.             "<q1:AttributeName>xts_salesorderid</q1:AttributeName>" +
  62.             "<q1:Operator>eq</q1:Operator>" +
  63.             "<q1:Values>" +
  64.             "<q1:Value xsi:type='xsd:string'>" + batchNumber + "</q1:Value>" +
  65.             "</q1:Values>" +
  66.         "</q1:Condition>" +
  67.     "</q1:Conditions>" +
  68.     "</q1:Criteria>" +
  69.     "</query>" +
  70.     "</RetrieveMultiple>" +
  71.     "</soap:Body>" +
  72.     "</soap:Envelope>";
  73.    
  74.     // Prepare the xmlHttpObject and send the request.
  75.     var xHReq = new ActiveXObject("Msxml2.XMLHTTP");
  76.     xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
  77.     xHReq.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple");
  78.     xHReq.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
  79.     xHReq.setRequestHeader("Content-Length", xml.length);
  80.     xHReq.send(xml);
  81.  
  82.     // Capture the result.
  83.     var resultXml = xHReq.responseXML;
  84.  
  85.     // Check for errors.
  86.     var errorCount = resultXml.selectNodes('//error').length;
  87.     if (errorCount != 0) {
  88.         var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
  89.         alert(msg);
  90.     }
  91.     // Parse and display the results.
  92.     else {
  93.         var results = resultXml.getElementsByTagName('BusinessEntity');
  94.         if (results.length != 0) {
  95.             return results[0].selectSingleNode("./q1:xts_status").text;
  96.         }
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement