NetSuite 交易记录类型中文环境下的失效

发布于:2022-10-15 ⋅ 阅读:(384) ⋅ 点赞:(0)

场景:

在英文环境中写的Saved Search运行的好好的,但是在中文状态下失效了。因为saved search中使用了如下的公式。

case when {type}='Sales Order' then {amount} else 0 end 

 这是个新手常犯的错误,因为在做Transaction的Saved Search时,有个陷阱字段就是Type字段。这个字段会跟随系统语言而呈现“中英文”的数值。以下图为例,同一个Saved Search在中英文下其“Type”字段的值是不同的。

 如果避免这个问题?

我们从数据字典上寻求答案。在数据字典上,可以看到Type字段类型为Select,而另外一个Record Type字段的类型为Text。前者会伴随环境语言而呈现不同的数值,但是后者不会。

 我们做一个测试如下:

可以看出Record Type字段跟环境语言无关,其数值始终是英文。那么就意味着我们今后在写跟“记录类型”相关的Saved Search的Formula时,需要选择Record Type字段,而非Type字段。

我们收集了Record Type的数值列表如下,以供大家今后使用:

类型 Type 记录类型 RecordType
高级公司间日记账 advintercompanyjournalentry
装配件生产 assemblybuild
装配件分拆 assemblyunbuild
库位转移 bintransfer
库位入库处理工作表 binworksheet
一揽子采购订单 blanketpurchaseorder
现金退款 cashrefund
现金交易 cashsale
支票 check
佣金 commission
信用卡 creditcardcharge
贷项通知单 creditmemo
交叉计费日记账 crosschargejournal
客户存款 customerdeposit
付款 customerpayment
客户退款 customerrefund
存款 deposit
存款应用程序 depositapplication
报价单 estimate
费用报告 expensereport
货币重新估价 fxreval
库存调整 inventoryadjustment
库存成本重估 inventorycostrevaluation
库存盘点 inventorycount
库存转移 inventorytransfer
库存工作表 inventoryworksheet
发票 invoice
货品实施情况 itemfulfillment
货品收据 itemreceipt
日记账 journalentry
佣金 partnercommission
采购合同 purchasecontract
采购订单 purchaseorder
请购单 purchaserequisition
报价请求 requestforquote
退货授权 returnauthorization
收入安排 revenuearrangement
销售订单 salesorder
转账 transfer
库存转移订单 transferorder
账单 vendorbill
用贷记方法支付账单 vendorcredit
账单付款 vendorpayment
供应商预付款 vendorprepayment
供应商预付款核销 vendorprepaymentapplication
供应商报价请求 vendorrequestforquote
供应商退货审批 vendorreturnauthorization
工作单 workorder
工作单关闭 workorderclose
工作单完成 workordercompletion
工作单发放 workorderissue

因此本文开头的公式应该改为如下:

 case when {recordtype}='salesorder' then {amount} else 0 end 

本文含有隐藏内容,请 开通VIP 后查看