金蝶K3序时簿页面增加物料即时库存显示功能
K3默认序时簿是不体现即时库存的,如果需要在序时簿将物料的即时库存数据带入,可以按照下方的步骤实现:
本文以销售订单序时簿增加即时库存为例,其他单据以此方法参考即可。
如果希望在订单新增环节体现物料即时库存,参见另外一篇文章https://blog.csdn.net/hzfw2008/article/details/77461406
一、步骤
1、 创建视图,按物料合计库存。
2、 获取目标序时簿typeid
3、 修改序时簿关联关系表ICTableRelation,追加与即时库存关联关系
4、 修改序时簿字段表ICChatBillTitle,追加显示即时库存字段。
5、 序时簿过滤器中显示隐藏列中勾选显示库存字段。
二、涉及到的表介绍:
序号 表名 表功能
1 ictransactiontype 单据业务类型表
2 iclisttemplate 序时簿模版表
3 ICTableRelation 序时簿所有表之间的连接关系
4 ICChatBillTitle 序时簿显示字段表
三、分步骤实现:
1、 创建库存合计视图vw_rtstock。
1 2 3 4 5 6 | CREATE VIEW [dbo].[vw_rtstock] AS SELECT a.FItemID, SUM (a.FQty) kc FROM dbo.ICInventory a LEFT JOIN dbo.t_Stock b ON a.FStockID = b.FItemID WHERE 1=1 AND b.FTypeID = 500 GROUP BY a.FItemID |
2、 获取目标单据序时簿模版内码(这里以销售订单为例,获取到32)
1 2 | SELECT flisttemplateid,* FROM ictransactiontype WHERE fname LIKE '%销售订单%' |
3、 按序时簿模版内码获取模版代码(本例销售订单序时簿为61)
1 | SELECT ftemplateid,* FROM iclisttemplate WHERE fid = 32 |
4、增加序时簿关联表连接关系
1 2 3 4 5 6 | --select * from ICTableRelation where ftypeid = 61 INSERT INTO dbo.ICTableRelation(FTypeID,FTableName,FTableNameAlias, FFieldName,FTableName11,FTableNameAlias11,FFieldName11,FLogic,FBillID,FFieldID,FMode,FIndex,FCondition,FLeftParentheses,FRightParentheses,FLogicOperator,FISConst,FConstType,FSubFilter) SELECT ftypeid,ftablename,FTableNameAlias,FFieldName, 'vw_rtstock' , 'kc' , 'fitemid' ,flogic,fbillid,ffieldid,fmode,findex, '' , '' , '' , '=' ,0,0, '' FROM dbo.ICTableRelation WHERE ftypeid = 61 AND finterid = 16 |
5、增加序时簿显示字段
1 2 3 4 5 6 7 8 9 10 11 | --SELECT * FROM ICChatBillTitle WHERE ftypeid = 61 insert ICChatBillTitle (FInterID, FTypeID, FColCaption, FHeadSecond, FColName, FTableName, FColType, FColWidth, FVisible, FItemClassID, FVisForQuest,FReturnDataType,FCountPriceType, FCtlIndex, FName, FTableAlias, FAction, FNeedCount, FIsPrimary,FLogicAction, FStatistical, FMergeable,FVisForOrder, FColCaption_CHT, FColCaption_EN,FControl, FMode,FControlType, FPrecisionField, FAlign, FEditable, FFormat, FFormatType) Select 500001, 61, '即时库存$' , '' , 'kc' , 'vw_rtstock' , 2, 1000, 3, -1, 0, 0, 1, 5, 'kc' , 'kc' , '' , 1, 0, '' , 1, 0,1, '即时库存$' , 'stockQty $' , 0, 0, 5, '' , 0, 0, '' , 0 |
6、 重新打开K3,销售订单序时簿过滤器显示隐藏列中勾选显示即时库存。
7、最终成品:
四、 功能表字段释义参考
1. ICTransactionType:该表反映了供需链所有单据的总体情况。
ICTransactionType
FbrNo
FID 单据事务类型内部ID
FROB 红蓝字标记 :1表示该单据区分红 蓝字 ,0表示没有红蓝字之分
Fname 单据名称
Ftype 单据类别
FtempalteID 单据模版ID (与 ICTemplate,ICTemplateEntry 表中的FID对应
FvchTempalteID (未用)
FheadTable 单据表头对应的数据库表名
FentryTable 单据表体对应的数据库表名
FcheckPro (未用)
FformWidth 单据录入时的缺省宽度
FformHeight 单据录入时的缺省高度
FfixCols 单据的固定列数目
2. ICListTemplate:该表反映了供需链所有序时簿的总体情况。
ICListTemplate
FID 内码(主键)
Fname 序时簿名称
FTemplateID 模版ID
FLogicStr 菜单的隐含/权限验证SS:1 区分发票/单据审核(已经取消)H: 菜单的隐含Fmodule,FmoduleDetail:验权(与t_Objecttype对应)
FBillTemplateID 单据模版对应ID
FmenuID 菜单模板,与ICListtoolbar 表中的FID对应
Ffilter 缺省过滤条件
FSourceType 1-序时簿模板,2-交叉分析报表
FgoupID 模板属于哪个业务系统
FneedStatistic 模板在交叉分析报表中是否显示
FneedCount 是否有合计行
FBillCls 单据类型(200-入库单 201-出库单 202-调拨单 204-盘盈/盘亏单)
FMasterTable 主表别名(优化需要)
原文链接:https://blog.csdn.net/hzfw2008/article/details/77460804
本人的需求是在,委外加工入库上增加勾稽期间,勾稽期间栏位FYearPeriod已经存在ICStockBill表上,
只在ICChatBillTitle表插入数据即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通