SAP_Send_test
    online
    sap发货测试
    button
    javascript
    发货(测试)
    onClickJavaScript
    false
    {!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();