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。
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)
SELECT flisttemplateid,* FROM ictransactiontype WHERE fname LIKE '%銷售訂單%'
3、 按序時簿模版內碼獲取模版代碼(本例銷售訂單序時簿為61)
SELECT ftemplateid,* FROM iclisttemplate WHERE fid = 32
4、增加序時簿關聯表連接關系
--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、增加序時簿顯示字段
--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表插入數據即可。