涂煌豪
2022-05-06 ff435968945d457f9ee653a9620fa1c7d78d2d4c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?xml version="1.0" encoding="UTF-8"?>
<WebLink xmlns="http://soap.sforce.com/2006/04/metadata">
    <fullName>Discount_Request</fullName>
    <availability>online</availability>
    <displayType>button</displayType>
    <linkType>javascript</linkType>
    <masterLabel>减价申请</masterLabel>
    <openType>onClickJavaScript</openType>
    <protected>false</protected>
    <url>{!RequireScript(&quot;/soap/ajax/51.0/connection.js&quot;)} 
{!RequireScript(&quot;/resource/1527436225000/CommonUtilJs&quot;)} 
//2021-10-21 gwy 版本更改为51.0
var getConnectDMLErrorMessages = function (results) {
    var messages = [],
    i = 0,
    len = results.length,
    r;
    for (; i &lt; len; i++) {
        r = results[i];
        if (!r.getBoolean(&quot;success&quot;)) {
            messages = messages.concat(getConnectDMLMessagesOfAResult(r));
        }
    }
    return messages;
};
var getConnectDMLMessagesOfAResult = function (res) {
    var messages = [],
    errors = res.getArray(&quot;errors&quot;),
    i = 0,
    len = errors.length,
    e;
    for (; i &lt; len; i++) {
        e = errors[i];
        messages.push(e.message + &quot; &quot; + getConnectDMLErrorFields(e));
    }
    return messages;
};
var getConnectDMLErrorFields = function (error) {
    var fields = error.getArray(&apos;fields&apos;);
    if (fields.length &gt; 0) {
        return &quot;[&quot; + fields.join(&quot;,&quot;) + &quot;]&quot;
    } else {
        return &quot;&quot;;
    }
};
 
var foo = function() {
    var repairInfo = sforce.connection.query(&quot;SELECT Id, Return_Without_Repair__c, Return_Without_Repair_IF__c FROM Repair__c WHERE Id = &apos;{!Repair_Quotation__c.RepairId__c}&apos;&quot;); 
    var repairs = repairInfo.getArray(&quot;records&quot;);
    if (repairs != null &amp;&amp; repairs.length &gt; 0) { 
        var rp = repairs[0]; 
        if (rp.Return_Without_Repair_IF__c == &apos;true&apos;) {
            alert(&quot;未修理归还的修理不允许减价申请&quot;);
            return;
        } else {
            if (rp.Return_Without_Repair__c == &apos;true&apos;) {
                alert(&quot;已经申请未修理返回,如果需要继续修理请取消\&quot;未修理归还申请\&quot;的勾选后再进行减价申请操作&quot;);
                return;
            }
        }
    }
    var qUpd = new sforce.SObject(&quot;Repair_Quotation__c&quot;); 
    qUpd.Id = &quot;{!Repair_Quotation__c.Id}&quot;;
    var resultTmp = sforce.connection.update([qUpd]); 
    var messagesTmp = getConnectDMLErrorMessages(resultTmp);
    if (messagesTmp.length &gt; 0) { 
        alert(&quot;&quot; + messagesTmp.join(&quot;\n&quot;));
        return;
    }
    var q = new sforce.SObject(&quot;Repair_Quotation__c&quot;);
    q.Id = &quot;{!Repair_Quotation__c.Id}&quot;;
    q.Repair_quotation_status__c = &quot;减价申请填写完毕&quot;;
    var result = sforce.connection.update([q]); 
    var messages = getConnectDMLErrorMessages(result); 
    if (messages.length &gt; 0) { 
        alert(&quot;&quot; + messages.join(&quot;\n&quot;));
        return;
    }
    location.reload();
}
foo();</url>
</WebLink>