K3序时簿增加显示即时库存
一、 步骤
1、 创建视图,按物料合计库存。
2、 获取目标序时簿typeid
3、 修改序时簿关联关系表ICTableRelation,追加与即时库存关联关系
4、 修改序时簿字段表ICChatBillTitle,追加显示即时库存字段。
5、 序时簿过滤器中显示隐藏列中勾选显示库存字段。
二、 关联功能表介绍
序号 |
表名 |
表功能 |
1 |
ictransactiontype |
单据业务类型表 |
2 |
iclisttemplate |
序时簿模版表 |
3 |
ICTableRelation |
序时簿所有表之间的连接关系 |
4 |
ICChatBillTitle |
序时簿显示字段表 |
三、 分步骤实现:
1、 创建库存合计视图xn_jskc。
CREATE VIEW [dbo].[xn_jskc]
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
SELECT flisttemplateid,* FROM ictransactiontype
WHERE fname LIKE '%销售订单%'
按序时簿模版内码获取模版代码,61
SELECT ftemplateid,* FROM iclisttemplate WHERE fid = 32
3、 增加序时簿关联表连接关系
--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,'xn_jskc','kc',
'fitemid',flogic,fbillid,ffieldid,fmode,findex,'','','','=',0,0,''
FROM dbo.ICTableRelation WHERE ftypeid = 61 AND finterid = 16
4、 增加序时簿显示字段
--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', 'xn_jskc', 2, 1000, 3, -1, 0,
0, 1, 5, 'kc', 'kc', '', 1, 0, '', 1, 0,1, '即使库存$', 'stockQty $',
0, 0, 5, '', 0, 0, '', 0
5、 序时簿过滤器显示隐藏列中勾选显示。
四、 功能表字段释义参考
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
|
主表别名(优化需要)
|
3. ICChatbilltitle:该表反映了供需链所有序时簿显示字段的所有情况。
ICChatBillTitle |
|
FInterID |
内码 (<1000,自定义字段>1000) (900-999为多级审核字段),在k/3V10.2 由于在单据和序时簿上增加审核日期,现在将900-999分为两段,900-949为多级审核人、950-949为多级审核日期。 |
FTypeID |
模版ID,对应ICListTemplate的FTemplateID |
FColCaption |
列标题(支持双层表头) |
FHeadSecond |
|
FColName
|
字段别名,rs字段和界面的对应
|
FTableName |
取数的表 |
FName |
取数字段
|
FTableAlias |
取数的表别名 |
FCtlIndex
|
过滤条件中的显示格式控制,与类型相关 |
FColType
|
数据类型, 主要用来控制显示格式0:日期; 1:字符串,2:数量;3:ID;4:单价;5:折扣率;6:金额;7:,8:,9:汇率10-利率;11-税额;12—只有关联标志使用,用于特殊处理(v10.2进行了关联标志的优化以后,可以不需要了);40—本位币金额
|
FColWidth
|
列宽,一般都是 1000 |
FVisible
|
是否显示,如id字段需要隐藏
|
FVisForQuest
|
过滤条件中是否可见
|
FVisForOrder
|
过滤界面排序是否可见。 |
FItemClassID
|
过滤条件中F7时的选择
|
FReturnDataType |
过滤条件中f7返回类型: 0,内码;1,编码;2,名称
|
FStatistical |
改字段在交叉分析报表中是否可见 |
FAction |
特殊取数 |
FControl |
需要特殊处理的字段1-凭证;2-Action; 4-数量;5-金额 |
FIsPrimary |
1-内码;2-分录号;3-FTranType |
FNeedCount
|
改字段是否统计
|
FMergeble
|
是否融合
|
FFormat |
字段格式(当前处理了日期类型,数字类型)和单据模板上的格式相同 |
感谢 林德剑 提供