GoldenME V10 单据联查回写配置

GoldenME V10 单据联查回写配置


配置回写事例

<p>回写有三种:直接回写,跨单据间接回写,通过自身单据间接回写</p> <hr /> <h3>直接回写示例:入库通知回写-采购合同直接入库量</h3> <pre><code>//同步回写采购合同直接入库量 #set($upbillinfoMap=$vs.util.newLinkedHashMap()); #set($upbillinfo=$proc.getInfoModel('opt')); #set($upbillinfo.billtypecolumn='ENTRYINF_DETAIL_BILLTYPE')//业务单据类型(关联上级单据的单据类型) #set($upbillinfo.billcodecolumn='ENTRYINF_DETAIL_OPTCODE')//业务单据号(关联上级单据的单据号) #set($upbillinfo.billbatchcolumn='ENTRYINF_DETAIL_OPTBATCH')//业务单据批号(关联上级单据的批号) #set($upbillinfo.updatename='入库通知回写采购合同直接入库量');// 回写名称。 //数据源表:按回写的单据批号汇总,将回写的值进行合计。查处的值需要别名和目标单据批号和更新的字段对应。 #set($upbillinfo.updatesorcetable="SELECT b.ENTRYINF_DETAIL_OPTBATCH as GOODS_CONTRACTBATCH,SUM(b.GOODS_NUM) AS CONTRACT_DETAIL_DNUM,SUM(b.GOODS_WEIGHT) AS CONTRACT_DETAIL_DWEIGHT,SUM(b.GOODS_INMONEY) AS CONTRACT_DETAIL_DMONEY FROM WAREHOUSE_ENTRYINF_DETAIL b where b.ENTRYINF_DETAIL_BILLTYPE='BT1139'  and 2=2  GROUP BY b.ENTRYINF_DETAIL_OPTBATCH");//回写数据源表或查询 #set($upbillinfo.updatesorcewherecolumn="b.ENTRYINF_DETAIL_OPTBATCH")//加上别名。用于更新时,在数据源后面直接加上查询条件。如果此字段不为空,可以将updatesorcetable条件中的2=2替换成新的条件 #set($upbillinfo.updategoaltypecode='BT1139');//回写目标单据类型 #set($upbillinfo.updategoaltable='purchase_contract_detail');//回写目标表 #set($upbillinfo.updategoalcolumn='CONTRACT_DETAIL_DNUM,CONTRACT_DETAIL_DWEIGHT,CONTRACT_DETAIL_DMONEY');//需要回写更新的字段数组 #set($upbillinfo.updatetype=0);// 更新类型:0同步,1异步。 #set($upbillinfo.updateoperatortypecode='BT1142');// 操作的单据类型,当操作单据类型与此相同时触发回写。为空表示是本单据触发。 #set($upbillinfo.afterupdatecheck='detail_check,detail_all_check');// 执行数据数据检测。 $upbillinfoMap.put('BT1139', $upbillinfo);//采购合同</code></pre> <hr /> <h3>跨单据间接回写示例:采购合同-入库通知-入库验收(回写采购合同入库验收量)</h3> <pre><code>#set($optInfo = $proc.getInfoModel('opt')) //回写采购合同验收量 #set($upbillinfo_cghtys= $vs.util.mapClone($optInfo)); #set($upbillinfo_cghtys.billtypecolumn='')//业务单据类型 #set($upbillinfo_cghtys.billcodecolumn='GOODS_CONTRACT')//业务单据号 #set($upbillinfo_cghtys.billbatchcolumn='GOODS_CONTRACTBATCH')//业务单据批号 #set($upbillinfo_cghtys.updatename='入库验收回写采购合同入库验收量');// 回写名称。 #set($upbillinfo_cghtys.updatesorcetable="SELECT B.GOODS_CONTRACTBATCH AS GOODS_CONTRACTBATCH,SUM(B.ENTRYINF_DETAIL_OKNUM) AS CONTRACT_DETAIL_OKNUM ,SUM(B.ENTRYINF_DETAIL_OKWEIGHT) AS CONTRACT_DETAIL_OKWEIGHT FROM WAREHOUSE_ENTRYINF_DETAIL B where b.ENTRYINF_DETAIL_BILLTYPE in ('BT1139','BT1140','BT1141','BT1180','XT1022') and 2=2 GROUP BY B.GOODS_CONTRACTBATCH")//回写数据源表或查询 #set($upbillinfo_cghtys.updatesorcewherecolumn="b.GOODS_CONTRACTBATCH")//加上别名。用于更新时,在数据源后面直接加上查询条件。如果此字段不为空,可以将updatesorcetable条件中的2=2替换成新的条件 #set($upbillinfo_cghtys.updategoaltypecode='BT1139')//回写目标单据类型 #set($upbillinfo_cghtys.updategoaltable='PURCHASE_CONTRACT_DETAIL')//回写目标表 #set($upbillinfo_cghtys.updategoalcolumn='CONTRACT_DETAIL_OKNUM,CONTRACT_DETAIL_OKWEIGHT')//需要回写更新的字段数组 #set($upbillinfo_cghtys.updatetype=1)// 更新类型:0同步,1异步。 #set($upbillinfo_cghtys.updateoperatortypecode='BT1143')// 操作的单据类型,当操作单据类型与此相同时触发回写。为空表示是本单据触发。 #if($optOne)     #set($upbillinfo_cghtys.updateoperatortypecode='BT1142') #end $upbillinfoMap.put('BT1139-JJYS', $upbillinfo_cghtys);//采购合同</code></pre> <hr /> <h3>通过自身单据间接回写示例 采购合同-采购发货-入库通知(回写采购合同间接入库量)</h3> <pre><code> //异步直接回写采购合同间接入库量 发货-入库 装运-入库 代理入库-入库 #set($upbillinfo_cghtjj=$proc.getInfoModel('opt')); #set($upbillinfo_cghtjj.billtypecolumn='');//业务单据类型(关联上级单据的单据类型) 为空表示不是直接的。可以不创建联查数据 #set($upbillinfo_cghtjj.billcodecolumn='GOODS_CONTRACT');//业务单据号(关联上级单据的单据号) #set($upbillinfo_cghtjj.billbatchcolumn='GOODS_CONTRACTBATCH');//业务单据批号(关联上级单据的批号) #set($upbillinfo_cghtjj.updatename='入库通知回写采购合同间接入库量');// 回写名称。 //数据源表:按回写的单据批号汇总,将回写的值进行合计。查处的值需要别名和目标单据批号和更新的字段对应。 #set($upbillinfo_cghtjj.updatesorcetable="select b.GOODS_CONTRACTBATCH as GOODS_CONTRACTBATCH,sum(b.GOODS_NUM) as CONTRACT_DETAIL_ENUM,sum(b.GOODS_WEIGHT) as CONTRACT_DETAIL_EWEIGHT from WAREHOUSE_ENTRYINF_DETAIL b  where b.ENTRYINF_DETAIL_BILLTYPE in('BT1140','BT1141','XT1022')and 2=2  GROUP BY b.GOODS_CONTRACTBATCH");//回写数据源表或查询 #set($upbillinfo_cghtjj.updatesorcewherecolumn="b.GOODS_CONTRACTBATCH")//加上别名。用于更新时,在数据源后面直接加上查询条件。如果此字段不为空,可以将updatesorcetable条件中的2=2替换成新的条件 #set($upbillinfo_cghtjj.updategoaltypecode='BT1139');//回写目标单据类型 #set($upbillinfo_cghtjj.updategoaltable='purchase_contract_detail');//回写目标表 #set($upbillinfo_cghtjj.updategoalcolumn='CONTRACT_DETAIL_ENUM,CONTRACT_DETAIL_EWEIGHT');//需要回写更新的字段数组 #set($upbillinfo_cghtjj.updatetype=1);// 更新类型:0同步,1异步。 #set($upbillinfo_cghtjj.updategoalfield='GOODS_CONTRACTBATCH')//需要回写更新的单据查询字段 #set($upbillinfo_cghtjj.updateoperatortypecode='BT1142');// 操作的单据类型,当操作单据类型与此相同时触发回写。为空表示是本单据触发。 $upbillinfoMap.put('BT1139-JJRK', $upbillinfo_cghtjj);//采购合同-间接入库</code></pre>

页面列表

ITEM_HTML