<?xml version="1.0" encoding="UTF-8"?>
|
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
|
<actionOverrides>
|
<actionName>Accept</actionName>
|
<type>Default</type>
|
</actionOverrides>
|
<actionOverrides>
|
<actionName>CancelEdit</actionName>
|
<type>Default</type>
|
</actionOverrides>
|
<actionOverrides>
|
<actionName>Clone</actionName>
|
<type>Default</type>
|
</actionOverrides>
|
<actionOverrides>
|
<actionName>Delete</actionName>
|
<type>Default</type>
|
</actionOverrides>
|
<actionOverrides>
|
<actionName>Edit</actionName>
|
<type>Default</type>
|
</actionOverrides>
|
<actionOverrides>
|
<actionName>List</actionName>
|
<type>Default</type>
|
</actionOverrides>
|
<actionOverrides>
|
<actionName>New</actionName>
|
<type>Default</type>
|
</actionOverrides>
|
<actionOverrides>
|
<actionName>SaveEdit</actionName>
|
<type>Default</type>
|
</actionOverrides>
|
<actionOverrides>
|
<actionName>Tab</actionName>
|
<type>Default</type>
|
</actionOverrides>
|
<actionOverrides>
|
<actionName>View</actionName>
|
<type>Default</type>
|
</actionOverrides>
|
<allowInChatterGroups>false</allowInChatterGroups>
|
<compactLayoutAssignment>SYSTEM</compactLayoutAssignment>
|
<deploymentStatus>Deployed</deploymentStatus>
|
<enableActivities>false</enableActivities>
|
<enableBulkApi>true</enableBulkApi>
|
<enableChangeDataCapture>false</enableChangeDataCapture>
|
<enableFeeds>false</enableFeeds>
|
<enableHistory>true</enableHistory>
|
<enableReports>true</enableReports>
|
<enableSearch>true</enableSearch>
|
<enableSharing>true</enableSharing>
|
<enableStreamingApi>true</enableStreamingApi>
|
<externalSharingModel>ControlledByParent</externalSharingModel>
|
<fields>
|
<fullName>ApproveIndex__c</fullName>
|
<defaultValue>false</defaultValue>
|
<externalId>false</externalId>
|
<label>批准标识</label>
|
<trackHistory>false</trackHistory>
|
<trackTrending>false</trackTrending>
|
<type>Checkbox</type>
|
</fields>
|
<fields>
|
<fullName>ApproveTime__c</fullName>
|
<externalId>false</externalId>
|
<label>批准时间</label>
|
<required>false</required>
|
<trackHistory>true</trackHistory>
|
<trackTrending>false</trackTrending>
|
<type>DateTime</type>
|
</fields>
|
<fields>
|
<fullName>AssetStatus__c</fullName>
|
<externalId>false</externalId>
|
<formula>TEXT(Loaner__r.Status)</formula>
|
<formulaTreatBlanksAs>BlankAsZero</formulaTreatBlanksAs>
|
<label>样机状态</label>
|
<required>false</required>
|
<trackHistory>false</trackHistory>
|
<trackTrending>false</trackTrending>
|
<type>Text</type>
|
<unique>false</unique>
|
</fields>
|
<fields>
|
<fullName>ChangeReason__c</fullName>
|
<externalId>false</externalId>
|
<label>变更理由</label>
|
<required>false</required>
|
<trackHistory>false</trackHistory>
|
<trackTrending>false</trackTrending>
|
<type>TextArea</type>
|
</fields>
|
<fields>
|
<fullName>ChangeToStatus__c</fullName>
|
<externalId>false</externalId>
|
<label>变更至状态</label>
|
<required>true</required>
|
<trackHistory>true</trackHistory>
|
<trackTrending>false</trackTrending>
|
<type>Picklist</type>
|
<valueSet>
|
<controllingField>LoanerStatus__c</controllingField>
|
<restricted>true</restricted>
|
<valueSetDefinition>
|
<sorted>false</sorted>
|
<value>
|
<fullName>在库</fullName>
|
<default>false</default>
|
<label>在库</label>
|
</value>
|
<value>
|
<fullName>冻结</fullName>
|
<default>false</default>
|
<label>冻结</label>
|
</value>
|
<value>
|
<fullName>待废弃</fullName>
|
<default>false</default>
|
<label>待废弃</label>
|
</value>
|
<value>
|
<fullName>待修理</fullName>
|
<default>false</default>
|
<label>待修理</label>
|
</value>
|
<value>
|
<fullName>废弃</fullName>
|
<default>false</default>
|
<label>废弃</label>
|
</value>
|
<value>
|
<fullName>出借</fullName>
|
<default>false</default>
|
<label>出借</label>
|
</value>
|
<value>
|
<fullName>丢失</fullName>
|
<default>false</default>
|
<label>丢失</label>
|
</value>
|
<value>
|
<fullName>消耗</fullName>
|
<default>false</default>
|
<label>消耗</label>
|
</value>
|
<value>
|
<fullName>已售出</fullName>
|
<default>false</default>
|
<label>已售出</label>
|
</value>
|
</valueSetDefinition>
|
<valueSettings>
|
<controllingFieldValue>在库</controllingFieldValue>
|
<valueName>冻结</valueName>
|
</valueSettings>
|
<valueSettings>
|
<controllingFieldValue>在库</controllingFieldValue>
|
<valueName>待修理</valueName>
|
</valueSettings>
|
<valueSettings>
|
<controllingFieldValue>在库</controllingFieldValue>
|
<controllingFieldValue>冻结</controllingFieldValue>
|
<valueName>已售出</valueName>
|
</valueSettings>
|
<valueSettings>
|
<controllingFieldValue>冻结</controllingFieldValue>
|
<controllingFieldValue>待修理</controllingFieldValue>
|
<valueName>在库</valueName>
|
</valueSettings>
|
</valueSet>
|
</fields>
|
<fields>
|
<fullName>Equipment_Type__c</fullName>
|
<externalId>false</externalId>
|
<formula>TEXT(Loaner__r.Equipment_Type__c)</formula>
|
<formulaTreatBlanksAs>BlankAsZero</formulaTreatBlanksAs>
|
<label>样机分类</label>
|
<required>false</required>
|
<trackHistory>false</trackHistory>
|
<trackTrending>false</trackTrending>
|
<type>Text</type>
|
<unique>false</unique>
|
</fields>
|
<fields>
|
<fullName>LoanerStatus__c</fullName>
|
<externalId>false</externalId>
|
<label>变更前状态</label>
|
<required>false</required>
|
<trackHistory>true</trackHistory>
|
<trackTrending>false</trackTrending>
|
<type>Picklist</type>
|
<valueSet>
|
<restricted>true</restricted>
|
<valueSetDefinition>
|
<sorted>false</sorted>
|
<value>
|
<fullName>在库</fullName>
|
<default>false</default>
|
<label>在库</label>
|
</value>
|
<value>
|
<fullName>冻结</fullName>
|
<default>false</default>
|
<label>冻结</label>
|
</value>
|
<value>
|
<fullName>待废弃</fullName>
|
<default>false</default>
|
<label>待废弃</label>
|
</value>
|
<value>
|
<fullName>待修理</fullName>
|
<default>false</default>
|
<label>待修理</label>
|
</value>
|
<value>
|
<fullName>废弃</fullName>
|
<default>false</default>
|
<label>废弃</label>
|
</value>
|
<value>
|
<fullName>出借</fullName>
|
<default>false</default>
|
<label>出借</label>
|
</value>
|
<value>
|
<fullName>丢失</fullName>
|
<default>false</default>
|
<label>丢失</label>
|
</value>
|
<value>
|
<fullName>消耗</fullName>
|
<default>false</default>
|
<label>消耗</label>
|
</value>
|
</valueSetDefinition>
|
</valueSet>
|
</fields>
|
<fields>
|
<fullName>Loaner__c</fullName>
|
<externalId>false</externalId>
|
<label>样机</label>
|
<referenceTo>Asset</referenceTo>
|
<relationshipLabel>样机异动记录</relationshipLabel>
|
<relationshipName>LoanerChangeRecord</relationshipName>
|
<relationshipOrder>0</relationshipOrder>
|
<reparentableMasterDetail>false</reparentableMasterDetail>
|
<trackHistory>false</trackHistory>
|
<trackTrending>false</trackTrending>
|
<type>MasterDetail</type>
|
<writeRequiresMasterRead>false</writeRequiresMasterRead>
|
</fields>
|
<fields>
|
<fullName>Loanerid__c</fullName>
|
<externalId>false</externalId>
|
<formula>Loaner__r.Id</formula>
|
<formulaTreatBlanksAs>BlankAsZero</formulaTreatBlanksAs>
|
<label>样机ID</label>
|
<required>false</required>
|
<trackHistory>false</trackHistory>
|
<trackTrending>false</trackTrending>
|
<type>Text</type>
|
<unique>false</unique>
|
</fields>
|
<fields>
|
<fullName>RequestIndex__c</fullName>
|
<defaultValue>false</defaultValue>
|
<externalId>false</externalId>
|
<label>申请中标识</label>
|
<trackHistory>false</trackHistory>
|
<trackTrending>false</trackTrending>
|
<type>Checkbox</type>
|
</fields>
|
<fields>
|
<fullName>Status__c</fullName>
|
<externalId>false</externalId>
|
<label>状态</label>
|
<required>false</required>
|
<trackHistory>false</trackHistory>
|
<trackTrending>false</trackTrending>
|
<type>Picklist</type>
|
<valueSet>
|
<restricted>true</restricted>
|
<valueSetDefinition>
|
<sorted>false</sorted>
|
<value>
|
<fullName>草案中</fullName>
|
<default>true</default>
|
<label>草案中</label>
|
</value>
|
<value>
|
<fullName>已提交</fullName>
|
<default>false</default>
|
<label>已提交</label>
|
</value>
|
<value>
|
<fullName>已批准</fullName>
|
<default>false</default>
|
<label>已批准</label>
|
</value>
|
<value>
|
<fullName>驳回</fullName>
|
<default>false</default>
|
<label>驳回</label>
|
</value>
|
<value>
|
<fullName>Completed</fullName>
|
<default>false</default>
|
<label>Completed</label>
|
</value>
|
</valueSetDefinition>
|
</valueSet>
|
</fields>
|
<fields>
|
<fullName>Submiter__c</fullName>
|
<deleteConstraint>SetNull</deleteConstraint>
|
<externalId>false</externalId>
|
<label>提交人</label>
|
<referenceTo>User</referenceTo>
|
<relationshipName>LoanerChangeSubmiter</relationshipName>
|
<required>false</required>
|
<trackHistory>false</trackHistory>
|
<trackTrending>false</trackTrending>
|
<type>Lookup</type>
|
</fields>
|
<label>样机异动记录</label>
|
<listViews>
|
<fullName>All</fullName>
|
<columns>NAME</columns>
|
<columns>Equipment_Type__c</columns>
|
<columns>Loaner__c</columns>
|
<columns>Submiter__c</columns>
|
<columns>LoanerStatus__c</columns>
|
<columns>ChangeToStatus__c</columns>
|
<columns>ChangeReason__c</columns>
|
<filterScope>Everything</filterScope>
|
<label>All</label>
|
<language>zh_CN</language>
|
</listViews>
|
<nameField>
|
<displayFormat>{YYYY}{MM}-{0000}</displayFormat>
|
<label>样机移动记录名称</label>
|
<trackHistory>false</trackHistory>
|
<type>AutoNumber</type>
|
</nameField>
|
<pluralLabel>样机异动记录</pluralLabel>
|
<searchLayouts/>
|
<sharingModel>ControlledByParent</sharingModel>
|
<validationRules>
|
<fullName>CanNotChangeLoanerStatus</fullName>
|
<active>true</active>
|
<errorConditionFormula>TEXT(LoanerStatus__c) <> TEXT(Loaner__r.Status)</errorConditionFormula>
|
<errorDisplayField>LoanerStatus__c</errorDisplayField>
|
<errorMessage>变更前状态必须和样机主记录中的状态保持一致</errorMessage>
|
</validationRules>
|
<validationRules>
|
<fullName>CheckIfinBorrow</fullName>
|
<active>true</active>
|
<errorConditionFormula>Loaner__r.BorrowingAmount__c >= 1</errorConditionFormula>
|
<errorMessage>样机在借出过程中,不可以变更</errorMessage>
|
</validationRules>
|
<visibility>Public</visibility>
|
<webLinks>
|
<fullName>ApproveProcess</fullName>
|
<availability>online</availability>
|
<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")}
|
|
var getConnectDMLErrorMessages = function (results) {
|
var messages = [],
|
i = 0,
|
len = results.length,
|
r;
|
for (; i < len; i++) {
|
r = results[i];
|
if (! r.getBoolean("success")) {
|
messages = messages.concat(getConnectDMLMessagesOfAResult(r));
|
}
|
}
|
return messages;
|
};
|
var getConnectDMLMessagesOfAResult = 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 + " " + getConnectDMLErrorFields(e));
|
}
|
return messages;
|
};
|
var getConnectDMLErrorFields = function (error) {
|
var fields = error.getArray('fields');
|
if (fields.length > 0) {
|
return "[" + fields.join(",") + "]"
|
} else {
|
return "";
|
}
|
};
|
|
var foo = function() {
|
|
var status = "{!LoanerChangeRecord__c.Status__c}";
|
if (status != '草案中' && status != '驳回'){
|
alert('当前状态不能提交审批');
|
return;
|
}
|
|
var beforestatus = '{!LoanerChangeRecord__c.LoanerStatus__c}';
|
var loanerstatus = '{!LoanerChangeRecord__c.AssetStatus__c}';
|
if(beforestatus != loanerstatus){
|
alert('变更前状态与当前样机状态不符,不能提交审批');
|
return;
|
}
|
if (!confirm("一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?")) {
|
return;
|
}
|
var rac = new sforce.SObject("LoanerChangeRecord__c");
|
rac.Id = "{!LoanerChangeRecord__c.Id}";
|
rac.Status__c = 'Completed';
|
rac.Submiter__c = "{!$User.Id}";
|
|
var result = sforce.connection.update([rac]);
|
var messages = getConnectDMLErrorMessages(result);
|
if (messages.length > 0) {
|
alert(messages.join("\n"));
|
return;
|
}
|
|
var request = new sforce.ProcessSubmitRequest();
|
request.objectId = "{!LoanerChangeRecord__c.Id}";
|
var processResults = sforce.connection.process([request]);
|
if (processResults[0].errors != null) {
|
var back = new sforce.SObject("LoanerChangeRecord__c");
|
back.Id = "{!LoanerChangeRecord__c.Id}";
|
back.Status__c= status;
|
var backResult = sforce.connection.update([back]);
|
backMessages = getConnectDMLErrorMessages(backResult);
|
if (backMessages.length > 0) {
|
alert(backMessages.join("\n"));
|
return;
|
}
|
var errmsg = processResults[0].errors.message.toString();
|
alert(errmsg);
|
return;
|
}
|
window.location.reload();
|
};
|
foo();</url>
|
</webLinks>
|
<webLinks>
|
<fullName>NewLoanerChangeRecord</fullName>
|
<availability>online</availability>
|
<displayType>massActionButton</displayType>
|
<linkType>javascript</linkType>
|
<masterLabel>新建.</masterLabel>
|
<openType>onClickJavaScript</openType>
|
<protected>false</protected>
|
<requireRowSelection>true</requireRowSelection>
|
<url>var loanername = '{!Asset.Name}';
|
var loanerid = '{!Asset.Id}';
|
var loanerstatus = '{!Asset.Status}';
|
|
var url = 'a0U/e?CF00N0K00000KD9if='+ encodeURIComponent(loanername) + '&CF00N0K00000KD9if_lkid='+ encodeURIComponent(loanerid) + '&00N0K00000KD9im='+ encodeURIComponent(loanerstatus);
|
|
window.top.location.href = url;</url>
|
</webLinks>
|
</CustomObject>
|