How To

业务规则最佳实践

以下是使用业务规则时应牢记的一些最佳实践。需要更多业务规则方面的帮助,或者有任何问题?查看 SSC论坛

 

先决条件


你应熟悉以下主题:

 

语法最佳实践


 
  • 大写函数:函数名称始终是大写的。例如:PROPER()  
  • 库存字段:库存字段名称应以$开头,并且全部小写,不包含空格或特殊字符。例如:$itemtitle  
  • 匹配圆括号:确保开括号和闭括号的数量是一致的。例如:PROPER(TRIM($itemtitle))  
  • 查找列表:引用使用函数的查找列表时,查找列表名称区分大小写,并且必须完全匹配,包括空格。注:查找列表中的值并不区分大消息。例如:如果你的列表命名为“My List ”:

 

错误

正确

LOOKUP("my list",$itemsku)

LOOKUP("My List",$itemsku)

LOOKUP("MyList",$itemsku)

 

 

 

 

 

 

 

通用最佳实践


 

  • 编辑前备份:如果编辑一个现有规则,要注意安全,并在编辑前拷贝描述字段中前一版本的备份。 
  • 保存前预览:  保存之前对规则进行预览,确保它们是按照你的想法来运行的。
  • 描述字段:  使用描述字段来描述规则函数,记笔记,保存前一版本规则,并写出算法。
  • 使用描述性名称: 描述性地命名规则。例如: 筛选 < $5  的物品
  • 别忘了空格: 使用CONCATENATE或JOIN函数时,别忘了加入必要的空格。  例如: CONCATENATE ("Hello"," ","there")  
  • 引号:  引号是特殊字符,因此你必须在文本字符串中加入引号时使用反斜杠。例如:"This \"word"\ will be quoted."
  • 公式必须是可评估的: IF语句中的true和false部分都必须返回一个值,无论状态的值(IF语句的首要参数)。当使用日期解析函数时求其重要,因为如果你没有返回一个有效的日期将会出现异常。要想解决这种状况,可使用IFBLANK语句。 
    例: 
    错误示范: 
    IF(false, GETDAYSSINCE($BlankAttribute,"MM/dd/yyyy"), "some false string") 
    正确示范:
    IF(false, GETDAYSSINCE(IfBlank($BlankAttribute, GetCurrentDate("MM/dd/yyyy")),"MM/dd/yyyy"), "some false string") 
    这将会确保即使不使用输出,传递到GetDaysSince的值都会得到正确评估。


提示与技巧


  • 使用小写字母():为确保精确的字符串匹配,在评估之前将字符串转化为小写。例如: IF(TOLOWER($brand)="acme","free shipping","$4.99") 
  • 重复使用规则:如有可能,在多个模板上使用相同的规则,而不是单独创建同样功能的多个规则。
  • 嵌套函数: 其它函数中的嵌套函数是为了最大程度提高效率。例如: IF(TOLOWER($brand)="acme","free shipping","$4.99")  
  • 翻转真/假: 要想翻转布尔值(将真转变为假,将假转变为真),将规则用括号扩在NOT函数之中。例如:NOT(2 > 1) 将返回FALSE值。  
  • 正则表达式:在规则中利用正则规则表达式来执行高级函数。例如: REGEXREPLACE( $offername, "&[a-zA-Z0-9]+;", "" )

 

以下是使用业务规则时应牢记的一些最佳实践。需要更多业务规则方面的帮助,或者有任何问题?查看 SSC论坛

 

先决条件


你应熟悉以下主题:

 

语法最佳实践


 
  • 大写函数:函数名称始终是大写的。例如:PROPER()  
  • 库存字段:库存字段名称应以$开头,并且全部小写,不包含空格或特殊字符。例如:$itemtitle  
  • 匹配圆括号:确保开括号和闭括号的数量是一致的。例如:PROPER(TRIM($itemtitle))  
  • 查找列表:引用使用函数的查找列表时,查找列表名称区分大小写,并且必须完全匹配,包括空格。注:查找列表中的值并不区分大消息。例如:如果你的列表命名为“My List ”:

 

错误

正确

LOOKUP("my list",$itemsku)

LOOKUP("My List",$itemsku)

LOOKUP("MyList",$itemsku)

 

 

 

 

 

 

 

通用最佳实践


 

  • 编辑前备份:如果编辑一个现有规则,要注意安全,并在编辑前拷贝描述字段中前一版本的备份。 
  • 保存前预览:  保存之前对规则进行预览,确保它们是按照你的想法来运行的。
  • 描述字段:  使用描述字段来描述规则函数,记笔记,保存前一版本规则,并写出算法。
  • 使用描述性名称: 描述性地命名规则。例如: 筛选 < $5  的物品
  • 别忘了空格: 使用CONCATENATE或JOIN函数时,别忘了加入必要的空格。  例如: CONCATENATE ("Hello"," ","there")  
  • 引号:  引号是特殊字符,因此你必须在文本字符串中加入引号时使用反斜杠。例如:"This \"word"\ will be quoted."
  • 公式必须是可评估的: IF语句中的true和false部分都必须返回一个值,无论状态的值(IF语句的首要参数)。当使用日期解析函数时求其重要,因为如果你没有返回一个有效的日期将会出现异常。要想解决这种状况,可使用IFBLANK语句。 
    例: 
    错误示范: 
    IF(false, GETDAYSSINCE($BlankAttribute,"MM/dd/yyyy"), "some false string") 
    正确示范:
    IF(false, GETDAYSSINCE(IfBlank($BlankAttribute, GetCurrentDate("MM/dd/yyyy")),"MM/dd/yyyy"), "some false string") 
    这将会确保即使不使用输出,传递到GetDaysSince的值都会得到正确评估。


提示与技巧


  • 使用小写字母():为确保精确的字符串匹配,在评估之前将字符串转化为小写。例如: IF(TOLOWER($brand)="acme","free shipping","$4.99") 
  • 重复使用规则:如有可能,在多个模板上使用相同的规则,而不是单独创建同样功能的多个规则。
  • 嵌套函数: 其它函数中的嵌套函数是为了最大程度提高效率。例如: IF(TOLOWER($brand)="acme","free shipping","$4.99")  
  • 翻转真/假: 要想翻转布尔值(将真转变为假,将假转变为真),将规则用括号扩在NOT函数之中。例如:NOT(2 > 1) 将返回FALSE值。  
  • 正则表达式:在规则中利用正则规则表达式来执行高级函数。例如: REGEXREPLACE( $offername, "&[a-zA-Z0-9]+;", "" )

 

0
Your rating: None
0
Your rating: None