业务场景一:合同订单选择产品,录入数量之后,含税单价自动根据定制的“价格表”带出
配置实现方法:在ld_related_producttoolfield 表中写入控制规则和查询SQL,然后清除缓存,刷新页面。

● id:自动增长
● modulename:设置需要添加控制的模块
● trigger_columnname:设置哪些字段改变时触可以发规则,多个字段使用英文逗号分隔。单据分录中的“产品名称”使用“hdnProductId”来表示,其他字段使用单据分录 ld_producttoolfield 表中对应的 columnname 来表示。
● effect_columnname:设置规则触发时,影响的字段(需要赋值的字段),多个字段使用英文逗号
● query_sql:被影响字段赋值查询脚本:
SELECT
totalAS taxprice
FROM ld_customform05 a
LEFT JOIN ld_customform05scf b ONb.customform05id=a.customform05id
WHERE a.deleted=0
ANDa.product_id='{hdnProductId}'
ANDb.cf_3321<='{quantity}'
ANDb.cf_3322>='{quantity}'
ORDER BY b.cf_3321,b.cf_3322,a.modifiedtimeDESC LIMIT 1
!注意:(1) 查询脚本中变量引用方法: {触发字段}
(2) 一定要把查询结果字段 AS 为 effect_columnname,查询结果只取一条记录
(3) 该功能仅适用于V8.2.2及以上版本,或者在V8.2.1版本打相关的补丁包
业务场景二:合同订单选择客户和产品后,根自动带出对应客户和产品的折扣

配置实现方法:在ld_related_producttoolfield 表中写入控制规则和查询SQL,然后清除缓存,刷新页面。

● Modulename:SalesOrder
● trigger_columnname:hdnProductId
● effect_columnname:discount_percent
● query_sql:
SELECT
ROUND(b.discount_percent,3)AS discount_percent
FROM ld_quotes a
LEFT JOIN ld_quotesdetail b ONb.id=a.quoteid
WHERE a.deleted=0
ANDa.approvestatus<>'已拒绝'
ANDb.productid='{hdnProductId}'
ANDa.accountid='{ld_salesorder.accountid}'
ORDER BY a.modifiedtime DESC LIMIT 1单据分录根据录入的产品、数量等字段自动带入其他字段.docx