Salesforce按钮:如果机会阶段不相等,如何显示错误“;Closed Won”;

Salesforce Button: How To Display An Error if Opportunity Stage Does Not Equal "Closed Won"

本文关键字:显示 错误 Won Closed 何显示 机会 如果 按钮 不相等 Salesforce      更新时间:2023-09-26

我正在Salesforce中创建一个DocuSign自定义按钮。在运行DocuSign按钮逻辑之前,试图在不满足某些字段值时添加错误。

我想要的条件是,如果Opportunity Stage的pick list值不等于"Closed Won",则会触发错误消息。否则,执行DocuSign自定义按钮。

我是javascript的新手,刚刚开始学习,所以我对这些基本问题表示歉意,并感谢您的反馈。

我当前的脚本如下:

{!REQUIRESCRIPT("/apex/DocuSign_JavaScript")}
var oppStage = "Closed Won";
var error;
{
if ({!Opportunity.StageName}!=oppStage)
{
error = "Unable to send envelope. Opportunity Stage does not equal Closed won.";
}
else {
//********* Option Declarations (Do not modify )*********//
var RC = '';var RSL='';var RSRO='';var RROS='';var CCRM='';var CCTM='';var CCNM='';var CRCL=''; var CRL='';var OCO='';var DST='';var LA='';var CEM='';var CES='';var STB='';var SSB='';var SES='';var SEM='';var SRS='';var SCS ='';var RES='';
//*************************************************//
CES="Hello World";
CRL='FirstName~{!URLENCODE(User.FirstName)};LastName~{!URLENCODE(User.LastName)};Email~{!URLENCODE(User.Email)};Role~OppOwner;RoutingOrder~2,LoadDefaultContacts~1';
CCRM='Business User~Signer 1;OppOwner~Signer 2';
LA='0';
CEM='Hello World,''n''nThis should be a double line break.';

//********* Page Callout (Do not modify) *********//
window.location.href ="/apex/dsfs__DocuSign_CreateEnvelope?DSEID=0&SourceID={!Opportunity.Id}&RC="+RC+"&RSL="+RSL+"&RSRO="+RSRO+"&RROS="+RROS+"&CCRM="+CCRM+"&CCTM="+CCTM+"&CRCL="+CRCL+"&CRL="+CRL+"&OCO="+OCO+"&DST="+DST+"&CCNM="+CCNM+"&LA="+LA+"&CEM="+CEM+"&CES="+CES+"&SRS="+SRS+"&STB="+STB+"&SSB="+SSB+"&SES="+SES+"&SEM="+SEM+"&SRS="+SRS+"&SCS="+SCS+"&RES="+RES;
//*******************************************//
}
}

我收到的当前错误消息是"Qualification is not defined"

Qualification是我的Opportunity上的选择列表的当前值。如果我更改此值,错误消息将反映它。

提前谢谢。

修订后的代码现在触发了我想要的行为:

{!REQUIRESCRIPT("/apex/DocuSign_JavaScript")}
var oppStage = "Closed Won";
var OpptyStage = '{!Opportunity.StageName}';
if (OpptyStage!=oppStage)
{
alert("Unable to send envelope. Opportunity Stage does not equal Closed won.");
}
else {
//********* Option Declarations (Do not modify )*********//
var RC = '';var RSL='';var RSRO='';var RROS='';var CCRM='';var CCTM='';var CCNM='';var CRCL=''; var CRL='';var OCO='';var DST='';var LA='';var CEM='';var CES='';var STB='';var SSB='';var SES='';var SEM='';var SRS='';var SCS ='';var RES='';
//*************************************************//
CES="Hello World";
CRL='FirstName~{!URLENCODE(User.FirstName)};LastName~{!URLENCODE(User.LastName)};Email~{!URLENCODE(User.Email)};Role~OppOwner;RoutingOrder~2,LoadDefaultContacts~1';
CCRM='Business User~Signer 1;OppOwner~Signer 2';
LA='0';
CEM='Hello World,''n''nThis should be a double line break.';

//********* Page Callout (Do not modify) *********//
window.location.href ="/apex/dsfs__DocuSign_CreateEnvelope?DSEID=0&SourceID={!Opportunity.Id}&RC="+RC+"&RSL="+RSL+"&RSRO="+RSRO+"&RROS="+RROS+"&CCRM="+CCRM+"&CCTM="+CCTM+"&CRCL="+CRCL+"&CRL="+CRL+"&OCO="+OCO+"&DST="+DST+"&CCNM="+CCNM+"&LA="+LA+"&CEM="+CEM+"&CES="+CES+"&SRS="+SRS+"&STB="+STB+"&SSB="+SSB+"&SES="+SES+"&SEM="+SEM+"&SRS="+SRS+"&SCS="+SCS+"&RES="+RES;
//*******************************************//
}