Salesforce公式语言识别及URL参数编码问题求助
Salesforce公式字段问题解答
1. 代码语言识别
这段代码是Salesforce公式字段语言,用于在Salesforce中自动计算自定义字段值,支持逻辑判断、文本处理、跨对象关联引用等操作,语法专为Salesforce对象模型设计。
格式化后的原代码:
IF (Fulfillment_Submission_Form_URL__c <> "" && CONTAINS(Fulfillment_Submission_Form_URL__c, "qualtrics"), Fulfillment_Submission_Form_URL__c & (IF (CONTAINS(Fulfillment_Submission_Form_URL__c,"?SID="), "&", "?")) & (IF (CONTAINS(TEXT(Type__c), "Site Visit"), "ContactId="&Statement_of_Work__r.Contractor_Contact__c& "&CoachType="&SUBSTITUTE(Statement_of_Work__r.Work_Type__r.Name," ","%20")& "&CoachName="&SUBSTITUTE(Statement_of_Work__r.Contractor_Name__c," ","%20")& "&InitPartId="&Initiative_Participation__r.Id& "&InstitutionName="&substitute(substitute(SUBSTITUTE(Institution_Name__c," ","%20"),")",""),"(","")& "&AccountId="&Initiative_Participation__r.Participating_Institution__r.Id& "&TodaysDate="&TEXT(TODAY())& "&SOWLineItemId="&Id& "&LeaderCollege="&Initiative_Participation__r.ATD_Leader_College_Status__c& "&SVRCompleted="&TEXT(Count_of_Site_Visit_Fulfillments__c)& "&SVRRequired="&TEXT(Number_of_Work_Units_Allocated__c), IF (CONTAINS(TEXT(Type__c), "Feedback"), "InitPartId="&Initiative_Participation__r.Id& "&SOWLineItemId="&Id& "&ReportYear="&Statement_of_Work__r.SOW_Year__c& "&UserId="&Contractor_User_Id__c& "&InstitutionName="&substitute(substitute(SUBSTITUTE(Institution_Name__c," ","%20"),")",""),"(",""), "")) ,"")
2. URL参数断裂问题解决方法
问题核心是URL中(和)属于特殊字符,未做URL编码直接拼接会导致链接解析失败,当前代码仅替换了空格为%20,未处理括号。
简便修改方案
通过多层SUBSTITUTE函数对括号进行URL编码,保留标识的同时避免链接断裂:
- 左括号
(替换为%28 - 右括号
)替换为%29
修改后的CoachName片段:
"&CoachName="&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(Statement_of_Work__r.Contractor_Name__c," ","%20"),"(","%28"),")","%29")&
额外优化(可选)
如果希望保留InstitutionName的括号标识,也可以将原删除括号的逻辑改为编码:
"&InstitutionName="&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(Institution_Name__c," ","%20"),"(","%28"),")","%29")&
内容的提问来源于stack exchange,提问作者D Man
相关产品推荐
相关产品推荐

