【客户需求】即时库存联查序列号报表增加入库日期原创
金蝶云社区-陈元喜
陈元喜
5人赞赏了该文章 711次浏览 未经作者许可,禁止转载编辑于2022年06月28日 08:10:36

如何设置实现:即时库存联查序列号报表显示其入库日期


说明:

  1. 客户希望查询序列号时,能增加入库日期字段显示。按逻辑入库日期应该取追踪记录表当前在库组织最初的入库单据上业务日期。

  2. 如若需要通过配置实现的话,则可以通过BOS设计器修改系统即时库存联查序列号报表对应主数据源取数脚本实现上述诉求。

  3. 但需要说明的是,直接配置实现的话,此种方法无法在取数时做范围限定,在序列号主档大数据量情况下则可能存在性能问题,此时则需要二开序列号报表插件。二开可以插件中根据序列号内码限定取追踪记录数据的范围,避免大数据量直接全范围取数性能表现差的问题。

  4. 下面针对配置实现,提供具体的实现步骤供参考。此场景类似其他增加字段方法也可参考此方案实现。


步骤:

    1.BOS设计器-序列号查询报表:增加日期字段,注意标识为:FDate

image.png

    2.调整-序列号查询报表:SQL脚本,增加入库日期字段取数源。

image.png

SELECT 'BD_SerialMainFile' AS FFORMID,SM.FSERIALID,INV.FID,SM.FNUMBER AS FSerialNo,c.FBILLDATE AS FDATE,{0} {1} INTO {2}
FROM T_STK_INVENTORY INV
INNER JOIN T_BD_SERIALBILLTRACE TRA ON INV.FID = TRA.FINVID
INNER JOIN ({3}) TRA2 
ON TRA2.FBILLTRACEID = TRA.FBILLTRACEID
INNER JOIN T_BD_SERIALMASTER SM ON SM.FSERIALID = TRA.FSERIALID 
{4}
LEFT JOIN (SELECT FSERIALID,FDESTSTOCKORGID,FBILLDATE  FROM T_BD_SERIALBILLTRACE_E a INNER JOIN 
(SELECT FDESTSTOCKORGID,MIN(FBILLTRACEID) FBILLTRACEID FROM T_BD_SERIALBILLTRACE 
GROUP BY FSERIALID,FDESTSTOCKORGID)b on a.FBILLTRACEID = b.FBILLTRACEID) c
ON SM.FSERIALID = c.FSERIALID and c.FDESTSTOCKORGID = INV.FSTOCKORGID
WHERE SM.FFORBIDSTATUS = 'A'  {5}
ORDER BY INV.FID,SM.FNUMBER

    3.报表对应过滤界面-显示隐藏列-增加入库日期字段,标识需要和上面一致。

image.png

    4.登陆系统缓存管理-清除缓存,验证效果。


效果:

(打开即时库存列表,联查序列号报表)

image.png

赞 5