自定义报价单关闭体验

作为管理员,您可以自定义报价单关闭体验的以下方面,让您的销售人员能够快速高效地关闭报价单:

  • 在“报价单关闭”对话中将创建修订报价单字段的默认值更改为,以避免创建不需要的修订。
  • 添加命令按钮可在不打开“报价单关闭”对话的情况下快速关闭报价单。

使用功能区自定义可自定义这些报价单关闭体验。

更改创建修订报价单的默认值

当您的销售人员在 Dynamics 365 中关闭报价单时,他们可以选择在原始报价单的基础上创建修订报价单。 默认情况下,此选项在“报价单关闭”对话中打开。 但是,您可能需要将其关闭,以避免创建不需要的修订。 要执行此操作,需要编辑报价单实体的功能区定义的代码。

功能区定义是一个 XML 文件,用于控制功能区按钮和菜单的外观和行为。 您可以通过下载默认功能区数据来访问它。 在 quoteRibbon.xml 文件中,找到 closeQuote 函数,单击关闭报价单按钮时会触发此函数。 此函数有一个布尔参数,用于设置创建修订报价单的默认值。 要将默认值更改为,您需要将此参数的值从 true 更改为 false。 以下代码片段演示如何实现此目的:

<CommandDefinition Id="Mscrm.Form.quote.CloseQuote">
    <EnableRules>
        <EnableRule Id="Mscrm.QuoteIsActive" />
    </EnableRules>
    <DisplayRules />
    <Actions>
        <JavaScriptFunction FunctionName="Sales.QuoteRibbonActions.Instance.closeQuote" Library="$webresource:Sales/_static/SFA/quotes/QuoteRibbonActions.js">
            <BoolParameter Value="true" /> <!-- Change this value from true to false -->
        </JavaScriptFunction>
    </Actions>
</CommandDefinition>

确保以上定义是实体自定义解决方案的一部分。 保存并发布更改后,在“报价单关闭”对话中创建修订报价单的默认值将为。 销售人员仍然可以通过在对话框中选择手动创建修订报价单。

将快速关闭报价单按钮添加到命令栏

默认情况下,当销售人员关闭报价单时,会打开“报价单关闭”对话,让他们输入其他信息。 作为管理员,您可以通过添加快速报价单关闭按钮来自定义这种体验,该按钮可以让您的销售人员只需点击一下即可关闭报价单。

您可以添加多个按钮来启用不同的行为。 例如,您可以添加一个按钮来作为丢单关闭报价单并创建修订,还可以添加另一个按钮在取消状态下关闭报价单并结束商机。 以下屏幕截图是如何实现快速报价单关闭按钮的示例:

命令栏上快速报价单关闭按钮的屏幕截图。

您可以使用功能区自定义将这些按钮添加到命令栏中。

要添加按钮,在报价单功能区自定义中定义新的自定义操作,并使用 QuoteRibbonActions.js 文件中的 Sales.QuoteRibbonActions.Instance.quickCloseQuoteWithoutDialog javascript 函数
QuoteRibbonActions.js 文件用于其命令操作。

重要提示

所有这些参数都是必需的,必须按照给定顺序传递。 如果您缺少这些参数中的任何一个,按钮将无法工作。

  • IntParameter(状态描述):使用 IntParameter 指定报价单关闭的原因。
    允许的值:5 表示“丢单”,6 表示“取消”,7 表示“修订”

  • BoolParameter(创建修订):使用第一个 BoolParameter 指定是否要创建修订报价单。
    允许的值:true、false

  • BoolParameter(结束商机):使用第二个 BoolParameter 指定是否结束关联的商机。
    允许的值:true、false

以下代码片段包括一个示例命令定义,用于作为丢单关闭报价单并创建修订:

<CommandDefinitions>
    <CommandDefinition Id="new.quote.Command0.Command">
        <EnableRules>
            <EnableRule Id="new.quote.EnableRule0.EnableRule" />
        </EnableRules>
        <DisplayRules />
        <Actions>
            <JavaScriptFunction FunctionName="Sales.QuoteRibbonActions.Instance quickCloseQuoteWithoutDialog" Library="$webresource:Sales/_static/sfa/quotes/QuoteRibbonActions.js">
                <IntParameter Value="5" />
                <BoolParameter Value="true" />
                <BoolParameter Value="false" />
            </JavaScriptFunction>
        </Actions>
    </CommandDefinition>
</CommandDefinitions>