BOS选单关系中如何反写未下推数量

BOS选单关系中可以通过配置勾稽来反写已下推数量,这个也是比较常用的关系,但是不能配置其他字段反写,
如何在序时簿里直观的看出未下推数量?本文介绍不写触发器,不写插件代码实现未下推数量自动反写。
举例:上游单据为200000068

注意:先在单据中为【数量】配置值更新事件未下推数量=数量-已下推数量,保证单据初始化的时候数据是准确的。
下游单据

选单关系如下配置:

勾稽的方式下推,这样配置完之后,下游单据保存后可以反写上游单据的【已下推数量】,但是不能反写未下推数量;
在bos设计器打开下游单据的属性窗口

点击保存后事件-新增事件,

再变量名处填写 subId,对应字段选择【单据头.内码】,点击添加

然后再【sql语句】中填写Exec P_WriteBack0068 @subID@

确定后关闭界面,然后点击主界面【保存】按钮以更新bos的更改使事件生效。
打开SQLServer 编写脚本并执行以创建存储过程P_WriteBack0068(这个名称根据需要自己自己定义,单需要和事件中的名称保持一致。)
create proc P_WriteBack0068
@SubID as int
as
begin
update a
set a.FDecimal2 = a.fdecimal - a.fdecimal1
from t_BOS200000068entry2 as a
inner join t_BOS200000069entry2 b on a.FID = b.fid_src and a.fentryid = b.fentryid_src
where b.FID = @SubID
end
Go
t_BOS200000068entry2 是上游单据的表体物理表
t_BOS200000069entry2 是下游单据的表体物理表
a.FDecim
BOS选单关系中如何反写未下推数量
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



