【发布时间】:2011-10-03 18:57:44
【问题描述】:
我正在尝试在对象中的自定义按钮上实现批准和拒绝按钮的功能。
我有 2 个问题
- 我们可以从自定义按钮调用 apex 方法吗?
- 我们如何模拟 apex 类中的批准/拒绝功能?
谢谢
【问题讨论】:
标签: salesforce apex-code
我正在尝试在对象中的自定义按钮上实现批准和拒绝按钮的功能。
我有 2 个问题
谢谢
【问题讨论】:
标签: salesforce apex-code
1) 您需要创建一个 VF 页面来完成您需要的工作并将重定向回您希望用户所在的任何位置。此处描述:http://sfdc.arrowpointe.com/2009/01/08/invoke-apex-from-a-custom-button-using-a-visualforce-page/
2) 看看这个例子的第二部分(req2 部分):http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#CSHID=apex_process_example.htm|StartTopic=Content%2Fapex_process_example.htm|SkinName=webhelp。
然后,您可能希望从ProcessInstanceWorkitem 表中查询它,而不是从result 中获取newWorkItemIds.get(0) 值
希望这可以帮助您继续前进
【讨论】:
选项 1:Apex 代码(http://blog.jeffdouglas.com/2010/01/04/automating-salesforce-approval-processes-with-apex-triggers/)
以下顶级代码可用于提交记录以供批准
// create the new approval request to submit
Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest();
req.setComments('Submitted for approval. Please approve.');
req.setObjectId(Trigger.new[i].Id);
// submit the approval request for processing
Approval.ProcessResult result = Approval.process(req);
// display if the reqeust was successful
System.debug('Submitted for approval successfully: '+result.isSuccess());
选项 2:点击 JS (http://jamesrsullivan.com/salesforcecom-start-and-approval-process-from)
导航至:设置 > 自定义 > 机会 > 按钮和链接 按“新建”按钮并使用以下详细信息: 标签: 批准 名称:批准 显示类型:详情页按钮 行为:执行 JavaScript OnClick JavaScript:
if ((Modal.confirm && Modal.confirm('一旦你提交这条记录 批准,您可能无法对其进行编辑或从 审批流程取决于您的设置。继续?')) || (!Modal.confirm && window.confirm('一旦您提交此记录 批准,您可能无法对其进行编辑或从 审批流程取决于您的设置。继续?'))) navigateToUrl('/p/process/Submit?id={!Opportunity.Id}&retURL=%2F{!Opportunity.Id}');
将 Opportunity 替换为您的对象 API 名称。
【讨论】: