Loading
示例:在记录页面上添加批准按钮

示例:在记录页面上添加批准按钮

添加按钮,用户可单击该按钮提交记录以待批准。让我们看看在报价页面上添加按钮的示例。

所需的 Edition

适用于:Lightning Experience
适用于启用了事务管理的Enterprise、Unlimited和Developer Edition of Revenue Management(以前称为 Revenue Cloud)
备注
备注 在快速操作触发的自动启动流中,$User 解析为自动流程用户,而不是提交用户。如果您的流需要有关提交用户的详细信息,请使用 Visualforce 页面和 Apex 控制器方法将该信息作为输入变量传递到流中。您不能在封装的编配中硬编码用户、组或队列 ID。请参阅 Revenue Cloud 高级批准:无法部署或封装具有用户、小组或队列被分配人类型的流编排。

要添加批准按钮,请按照每个部分中的说明进行操作。

创建 Apex 类

按照这些步骤创建和使用 QuoteApprovalController Apex 类,该类开始审批工作流。

  1. 从“设置”中,搜索并选择 Apex 类。
  2. 单击新建。
  3. 在类编辑器中,输入类的 Apex Code。
    public class QuoteApprovalController {
        private Id quoteId;
        private String userId;
        public String submitterComments { get; set; }
       
        public QuoteApprovalController(ApexPages.StandardController controller) {
            Quote quote = (Quote) controller.getRecord();
            quoteId = quote.Id;
            userId = UserInfo.getUserId();
        }
        
        public void submitQuoteForApproval() {
            String flowApiName = 'Approval_Autolaunched_Flow';
            Map<String, Object> inputs = new Map<String, Object>();
            inputs.put('recordId', quoteId);
            inputs.put('submitter', userId);
            inputs.put('submissionComments', submitterComments);
            Flow.Interview myFlow = Flow.Interview.createInterview(flowApiName, inputs);
            myFlow.start();
        }
    }
    
  4. 保存更改。

创建 Visualforce 页面

按照这些步骤创建名为 QuoteApprovalPage 的 Visualforce 页面,以触发 Apex 类。

  1. 从“设置”中,搜索并选择 Visualforce 页面。
  2. 单击新建。
  3. 输入 QuoteApprovalPage 作为标签和名称。
  4. 选择适用于 Salesforce 移动应用程序,并在 GET 请求中需要 CSRF 保护。
  5. 在 Visualforce 标记文本框中,输入页面的 Visualforce 标记。
    <apex:page standardController="Quote" extensions="QuoteApprovalController" showQuickActionVfHeader="false" lightningStylesheets="true">
        <script>
            function closePopupWindow() {
                if (typeof sforce != 'undefined' && sforce && sforce.one) {
                    var quoteId = '{!Quote.Id}';
                    sforce.one.navigateToSObject(quoteId);
                } else {
                    window.close();
                }
            }
        </script>
        <h2 align='center'>
            Submit for Approval
        </h2>
       <apex:form >
            <apex:pageBlock >
                <apex:pageBlockButtons location="bottom">
                    <p align='left'>Enter comments for Approver(s):</p>
                    <p align='center'><apex:inputTextarea value="{!submitterComments}" cols="100"/></p>          
                    <apex:commandButton value="Submit" action="{!submitQuoteForApproval}" oncomplete="closePopupWindow();" /> 
                </apex:pageBlockButtons>
            </apex:pageBlock>
        </apex:form>
    </apex:page>
    
  6. 保存更改。
  7. 从“设置”中,搜索并选择 Visualforce 页面。
  8. 单击 QuoteApprovalPage 的安全性。
  9. 添加销售代表简档,以启用对 Visualforce 页面的访问权限。

创建自定义操作

按照这些步骤在对象上创建自定义操作。例如,让我们在报价对象上创建此自定义操作。

  1. 从对象管理器中,搜索并选择报价。
  2. 选择按钮、链接和操作。
  3. 单击新建操作,并指定这些详细信息。
    • 操作类型: Custom Visualforce
    • Visualforce 页面:QuoteApprovalPage
    • 标签:请求批准
    • 名称: Request_for_Approval
  4. 保存更改。

修改对象的页面布局

按照这些步骤将新创建的操作“提交待批准”添加到报价对象的页面布局中。

  1. 在报价对象设置页面上,单击页面布局。
  2. 选择报价布局。
  3. 在选项板中,单击移动和 Lightning 操作。
  4. 将提交待批准拖到布局中的 Salesforce Mobile 和 Lightning Experience 操作部分。
  5. 保存更改。
 
正在加载
Salesforce Help | Article