我想在Salesforce中创建自定义按钮覆盖。我想覆盖删除按钮,这样我只想让它改变记录类型而不是删除。
我的自定义对象为Absence__c
答案 0 :(得分:0)
试试这个:
您只需要修改 页面布局,删除“删除”按钮, 然后创建一个名为“delete”的自定义按钮,将javascript设置为按钮的行为。最后将该按钮添加到页面布局中。
这是自定义按钮的示例代码:
{!REQUIRESCRIPT("/soap/ajax/15.0/connection.js")}
var AbsenceUpdate = new sforce.SObject("Absence__c");
AbsenceUpdate.Id='{! Absence__c.Id }';
AbsenceUpdate.RecordTypeId = '{new record type id}';
if(AbsenceUpdate!=null)
{
try
{
updateOpp = sforce.connection.update([AbsenceUpdate]);
window.location.reload();
}
catch(e)
{
alert('error : ' + e);
}
}
答案 1 :(得分:0)
我认为你最好的选择是控制器扩展和现有删除按钮的覆盖。
<apex:Page action="changeRTRedirect"
standardController="Absence__c" extensions="DeleteOverrideExtension">
</apex:page>
public class DeleteOverrideExtension {
private SObject record;
public DeleteOverrideExtension(ApexPages.StandardController controller) {
record = controller.getRecord();
}
public PageReference changeRTRedirect() {
record.RecordTypeId = '[YOUR NEW RT ID]';
update record;
//where do you want to send users now, maybe the Absence__c tab?
return Page.MyPageHere;
}
}