创建Salesforce自定义公式字段 - (错误参数类型错误)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建Salesforce自定义公式字段 - (错误参数类型错误)相关的知识,希望对你有一定的参考价值。

我正在为佣金字段创建一个公式,根据标准进行多次计算。我目前收到的错误是(错误:函数'AND()'的参数类型不正确。预期的布尔值,收到的数字)。我应该如何修改公式来解决这个问题?

IF(AND(Order__r.New_Amount_Outstanding__c = 0,Order__r.RecordTypeId =“Bespoke Item”,ISPICKVAL(Payment_type _c,'Deposit'),Date__c> = DATE(2017,04,01)),(Order__r.Amount_RollUp__c)* 1.2 / 100 ,IF(AND(Order__r.RecordTypeId =“Bespoke Item”,ISPICKVAL(Payment_type _c,'Deposit'),Date__c <DATE(2017,04,01),(Order__r.New_New_Net__c)* 1.2 / 100),IF(Order__r.RecordTypeId <>“Bespoke Item”,(Order__r.New_New_Net__c * 1.2 / 100),NULL)))

它基本上由3个场景组成:

IF(AND(Order__r.New_Amount_Outstanding__c = 0,Order__r.RecordTypeId =“Bespoke Item”,ISPICKVAL(Payment_type _c,'Deposit'),Date__c> = DATE(2017,04,01)),(Order__r.Amount_RollUp__c)* 1.2 / 100 ,

IF(AND(Order__r.RecordTypeId =“Bespoke Item”,ISPICKVAL(Payment_type _c,'Deposit'),Date__c <DATE(2017,04,01),(Order__r.New_New_Net__c)* 1.2 / 100),

IF(Order__r.RecordTypeId <>“Bespoke Item”,(Order__r.New_New_Net__c * 1.2 / 100),

空值)))

答案

你有一个错位的“)”。当你缩进公式时,它变得很明显:

IF(
  AND(
    Order__r.New_Amount_Outstanding__c = 0,
    Order__r.RecordTypeId="Bespoke Item",
    ISPICKVAL( Payment_type__c , 'Deposit'), 
    Date__c >= DATE(2017,04,01)
  ),
  (Order__r.Amount_RollUp__c) *1.2/100,
  IF(
    AND(
      Order__r.RecordTypeId="Bespoke Item",
      ISPICKVAL( Payment_type__c , 'Deposit'), 
      Date__c < DATE(2017,04,01),
      (Order__r.New_New_Net__c) *1.2/100),
      IF(Order__r.RecordTypeId<>"Bespoke Item",
        (Order__r.New_New_Net__*1.2/100), 
        NULL
      )
   )
)

应该:

IF(
  /*Test this Argument*/
  AND(
    Order__r.New_Amount_Outstanding__c = 0,
    Order__r.RecordTypeId="Bespoke Item",
    ISPICKVAL( Payment_type__c , 'Deposit'), 
    Date__c >= DATE(2017,04,01)
  ),
  /* If True */
  (Order__r.Amount_RollUp__c) *1.2/100,
  /* If False */
  IF(
    /* Test this Argument */
    AND(
      Order__r.RecordTypeId="Bespoke Item",
      ISPICKVAL( Payment_type__c , 'Deposit'), 
      Date__c < DATE(2017,04,01)
    ),
    /* If True */
    (Order__r.New_New_Net__c) *1.2/100),
    /* If False*/
    IF(
       /* Test this Argument */
       Order__r.RecordTypeId<>"Bespoke Item",
       /* If True */
       (Order__r.New_New_Net__*1.2/100), 
       /* If False */
       NULL
    )
  )
)

Order__r.RecordTypeId =“Bespoke Item”也会评估为TRUE吗?我认为这将是一个Id。

以上是关于创建Salesforce自定义公式字段 - (错误参数类型错误)的主要内容,如果未能解决你的问题,请参考以下文章

Salesforce - 将字段设置为只读

错误:活动上的查找必须具有唯一的域

Salesforce:查找字段的自动完成

即使在页面加载后,Salesforce 闪电自定义标签也不会更新

salesforce Migration一个组织与另一个组织之间的迁移问题

工具包php / Salesforce:改变lang