1

是否可以通过触发器显示警报消息(不是错误消息)?我编写了一个触发器来检查系统中的重复帐户。此时的触发器会向用户提供一条错误消息,告诉用户存在重复帐户。但是,如果用户更改字段的值“记录是否接近重复?” 为YES,触发器允许用户保存记录。

但是,我想在警报弹出框中显示错误消息,例如“存在此名称的帐户,您确定要继续”,然后用户单击“是”并创建记录。关于我如何做到这一点的任何想法。我的代码如下:

for(Account account: System.Trigger.New)  
{  
 if(accountMap.containsKey(account.Physical_Street__c)==accountMap2.containsKey(account.Phone))
 if(accountMap.containsKey(account.Physical_Street__c)==accountMap3.containsKey(account.Name))  
 if(account.Is_record_near_to_duplicate__c.equals('No'))  
  {  
   account.addError('Account with this Name,Street and Phone Number already      exists. If you still wish to create the agency change the value of field "Is Record Near To Duplicate" to YES');  
  }  
}
4

3 回答 3

1

如果您真的需要一个警告框,那么您可以创建一个自定义 javascript 按钮,该按钮使用ajax 工具包来替换标准的保存按钮。

然而,正如 Baxter 所说,您与标准的销售人员外观和感觉相去甚远。我建议改为在复选框字段而不是对象上添加错误,以便用户清楚他们需要选择什么。

if(account.Is_record_near_to_duplicate__c.equals('No'))  
  {  
     account.Is_record_near_to_duplicate__c.addError('Agency with this Name, Physical Street and Phone Number already exists. If you still wish to create the agency change the value of field "Is Record Near To Duplicate" to YES');  
  }   
于 2012-07-22T04:56:08.820 回答
0

Unless you write a custom visualforce page that processes the error message and then displays it as a popup there's no way to do this.

If you wanted the alert to modify the data you may look at using the ajax api to set the Is_record_near_to_duplicate__c field to 'Yes' but either way you're getting pretty far from the standard functionality and interface with this.

于 2012-07-21T22:25:22.153 回答
0

为触发错误实施弹出式警报并不是一件容易的事,而且弹出式窗口很久以前就已经过时了。如果您遇到麻烦,不妨在 VF 页面上实现自定义灵魂。

从触发器中抛出一个自定义异常(针对欺骗帐户),并在您的控制器中捕获它。当您捕获此异常时,您可以在页面上动态显示部分,要求用户确认他/她的操作。当用户确认操作时,页面将完成其余的工作。

希望这是有道理的!

阿努普

于 2012-07-22T20:03:06.910 回答