<?xml version="1.0" encoding="UTF-8"?> 
 | 
<WebLink xmlns="http://soap.sforce.com/2006/04/metadata"> 
 | 
    <fullName>SAP_Send_test</fullName> 
 | 
    <availability>online</availability> 
 | 
    <description>sap发货测试</description> 
 | 
    <displayType>button</displayType> 
 | 
    <linkType>javascript</linkType> 
 | 
    <masterLabel>发货(测试)</masterLabel> 
 | 
    <openType>onClickJavaScript</openType> 
 | 
    <protected>false</protected> 
 | 
    <url>{!RequireScript("/soap/ajax/51.0/connection.js")}  
 | 
{!RequireScript("/soap/ajax/51.0/apex.js")}  
 | 
//2021-10-22 gwy 版本更改为51.0 
 | 
var getErrorMessages = function (results) { 
 | 
    var messages = [],  
 | 
    i = 0,  
 | 
    len = results.length,  
 | 
    r;  
 | 
    for (; i < len; i++) {  
 | 
        r = results[i];  
 | 
        if (!r.getBoolean("success")) {  
 | 
            messages = messages.concat(getMessagesOfAResult(r));  
 | 
        } 
 | 
    } 
 | 
    return messages;  
 | 
};  
 | 
var getMessagesOfAResult = function (res) { 
 | 
    var messages = [],  
 | 
    errors = res.getArray("errors"),  
 | 
    i = 0,  
 | 
    len = errors.length,  
 | 
    e; 
 | 
    for (; i < len; i++) {  
 | 
        e = errors[i];  
 | 
        messages.push(e.message + " " + getErrorFields(e));  
 | 
    }  
 | 
    return messages;  
 | 
};  
 | 
var getErrorFields = function (error) {  
 | 
    var fields = error.getArray('fields');  
 | 
    if (fields.length > 0) {  
 | 
        return "[" + fields.join(",") + "]"  
 | 
    } else {  
 | 
        return "";  
 | 
    } 
 | 
}; 
 | 
var tringcodestr = function (){ 
 | 
    var result = ""; 
 | 
    for(var i=0;i<5;i++){ 
 | 
       var ranNum = Math.ceil(Math.random() * 25); //生成一个0到25的数字 
 | 
       //大写字母'A'的ASCII是65,A~Z的ASCII码就是65 + 0~25;然后调用 
 | 
       //String.fromCharCode()传入ASCII值返回相应的字符并push进数组里 
 | 
       result = result + String.fromCharCode(65+ranNum); 
 | 
       //result.push(String.fromCharCode(65+ranNum));  
 | 
    } 
 | 
    //result = "250" + result; 
 | 
    return result; 
 | 
} 
 | 
  
 | 
var tringcode = function (){ 
 | 
    var result = ""; 
 | 
    for(var i=0;i<5;i++){ 
 | 
       var ranNum = Math.ceil(Math.random() * 25); //生成一个0到25的数字 
 | 
       //大写字母'A'的ASCII是65,A~Z的ASCII码就是65 + 0~25;然后调用 
 | 
       //String.fromCharCode()传入ASCII值返回相应的字符并push进数组里 
 | 
       result = result + String.fromCharCode(65+ranNum); 
 | 
       //result.push(String.fromCharCode(65+ranNum));  
 | 
    } 
 | 
    result = "250" + result; 
 | 
    return result; 
 | 
} 
 | 
  
 | 
var foo = function() {  
 | 
  
 | 
    if ('{!Consumable_order__c.Order_status__c}' == '已提交') {  
 | 
        alert("请先审批订单");  
 | 
        return;  
 | 
    }else if ('{!Consumable_order__c.Order_status__c}' == '草案中') { 
 | 
        alert("请先批准订单"); 
 | 
        return;  
 | 
    }; 
 | 
    var Owner = "{!Consumable_order__c.OwnerId}"; 
 | 
    var det = new sforce.SObject("Consumable_order__c");  
 | 
    det.Id = "{!Consumable_order__c.Id}";  
 | 
    det.recordTypeid = "{!$Label.RT_ConOrder_Delivery}"; 
 | 
    var resultdet = sforce.connection.update([det]);  
 | 
  
 | 
    var OrdermainId = "{!Consumable_order__c.Id}";  
 | 
    var sql = "select Id,Name,CreatedByid,Consumable_order__r.id,Consumable_order__c,Consumable_order__r.recordtypeid,Consumable_product__c,Consumable_count__c,Asset_Model_No__c,Intra_Trade_List_RMB__c from Consumable_Orderdetails__c where Consumable_order__r.id ='" + OrdermainId + "'";  
 | 
    var sqlResult = sforce.connection.query(sql);  
 | 
    var records = sqlResult.getArray("records");  
 | 
  
 | 
    if(records.length>0) {  
 | 
        for (var i = 0; i < records.length; i++) { 
 | 
            var esd = records[i]; 
 | 
            var countNum = esd["Consumable_count__c"];  
 | 
            var OrderNnme = esd["Name"];  
 | 
            var OrderId = esd["Consumable_order__c"]; 
 | 
            var ForeignTrade = esd["Intra_Trade_List_RMB__c"];  
 | 
            var AssetModel = esd["Asset_Model_No__c"]; 
 | 
            var orderPro = esd["Consumable_product__c"];  
 | 
            for (var j = 1; j <=countNum; j++) { 
 | 
                var rac = new sforce.SObject("Consumable_order_details2__c"); 
 | 
                if(j.toString().length == 1){ 
 | 
                   rac.Name = OrderNnme + '00'+ j;  
 | 
                }else if (j.toString().length == 2){ 
 | 
                   rac.Name = OrderNnme + '0'+ j; 
 | 
                }else{rac.Name = OrderNnme + j;} 
 | 
                rac.Consumable_order_minor__c = OrderId;  
 | 
                rac.RecordTypeId = "{!$Label.RT_ConOrderDetail2_Delivery}"; 
 | 
                rac.Asset_Model_No__c = AssetModel;  
 | 
                rac.Intra_Trade_List_RMB__c = ForeignTrade;  
 | 
                var NewDate=new Date();  
 | 
                NewDate.setFullYear(NewDate.getFullYear()+5);  
 | 
                NewDate.setDate(NewDate.getDate()-1); 
 | 
                rac.Deliver_date__c = new Date();  
 | 
                rac.Sterilization_limit__c = NewDate;  
 | 
                rac.Guarantee_period_for_products__c = new Date(); 
 | 
                rac.Consumable_product__c=orderPro;  
 | 
                var rtingC = tringcodestr(); 
 | 
                rac.TracingCode__c = rtingC.toString(); 
 | 
                rac.SerialLotNo__c = rtingC.toString(); 
 | 
                rac.Bar_Code__c = (new Date()).valueOf() + "250" + rtingC.toString();  
 | 
                rac.OwnerId = Owner;  
 | 
                var result = sforce.connection.create([rac]);  
 | 
                messages = getErrorMessages(result);  
 | 
                if (messages.length > 0) {  
 | 
                    alert(messages.join("\n")); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
        window.location.reload();  
 | 
    } 
 | 
};  
 | 
  
 | 
foo();</url> 
 | 
</WebLink> 
 |