请输入
菜单

单据分录根据录入的产品、数量等字段自动带入其他字段

下载

1.业务场景一:合同订单选择产品,录入数量之后,含税单价自动根据定制的“价格表”带出

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

lid:自动增长

lmodulename:设置需要添加控制的模块

ltrigger_columnname:设置哪些字段改变时触可以发规则,多个字段使用英文逗号分隔。单据分录中的“产品名称”使用“hdnProductId”来表示,其他字段使用单据分录 ld_producttoolfield 表中对应的 columnname 来表示。

leffect_columnname:设置规则触发时,影响的字段(需要赋值的字段),多个字段使用英文逗号

lquery_sql:被影响字段赋值查询脚本:

SELECT

       total AS taxprice

FROM ld_customform05 a

LEFT JOIN ld_customform05scf b ON b.customform05id=a.customform05id

WHERE a.deleted=0

       AND a.product_id='{hdnProductId}'

       AND b.cf_3321<='{quantity}'

       AND b.cf_3322>='{quantity}'

ORDER BY b.cf_3321,b.cf_3322,a.modifiedtime DESC LIMIT 1

1) 查询脚本中变量引用方法: {触发字段}

2) 一定要把查询结果字段 AS effect_columnname,查询结果只取一条记录

3) 该功能仅适用于V8.2.2及以上版本,或者在V8.2.1版本打相关的补丁包

 

2. 业务场景二:合同订单选择客户和产品后,根自动带出对应客户和产品的折扣


 

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


lModulenameSalesOrder

ltrigger_columnnamehdnProductId

leffect_columnnamediscount_percent

lquery_sql

SELECT

         ROUND(b.discount_percent,3) AS discount_percent

FROM ld_quotes a

LEFT JOIN ld_quotesdetail b ON b.id=a.quoteid

WHERE a.deleted=0

        AND a.approvestatus<>'已拒绝'

        AND b.productid='{hdnProductId}'

        AND a.accountid='{ld_salesorder.accountid}'

ORDER BY a.modifiedtime DESC LIMIT 1

 

3. 业务场景三:选择源单之后,根据源单分录明细带出上游单据的值。例如:发票选择合同,如果有关联源单则带出源单的单价,没有关联源单直接选择产品,则带入产品中的参考价。

 

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

lModulenameInvoice

ltrigger_columnname

(1) hdnProductId:选定的产品ID

(2) hidden_lineitem_id:产品关联的源单明细的ID

(3) entitytype_module:源单的类型

leffect_columnnametaxprice

lquery_sql

SELECT

            CASE

                      WHEN '{hidden_lineitem_id}'>0 AND '{entitytype_module}'='SalesOrder' THEN

                              (SELECT ROUND(taxprice,2) FROM ld_salesorderdetail WHERE lineitem_id='{hidden_lineitem_id}')

ELSE

                              (SELECT ROUND(unit_price,2) FROM ld_products WHERE productid='{hdnProductId}')

END AS taxprice

4. 业务场景四:销售发票单据分录增加了客户名称字段,希望选择源单之后能够带出源单的客户名称。

lModulenameInvoice

ltrigger_columnname

(1) hdnProductId:选定的产品ID

(2) selectSourceModuleid:选择的源单ID

leffect_columnname

(1) line_accounts_id:客户ID

(2) line_accounts_id_name:客户名称

lquery_sql

SELECT

   a.accountid AS line_accounts_id,

   b.accountname AS line_accounts_id_name

FROM ld_salesorder a

LEFT JOIN ld_account b ON b.accountid=a.accountid

WHERE a.salesorderid='{selectSourceModuleid}'

 

最近修改: 2025-02-05