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 FTemplateID,* FROM IClisttemplate
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 |
字段格式(當前處理了日期類型,數字類型)和單據模板上的格式相同 |
感謝 林德劍 提供