zoukankan      html  css  js  c++  java
  • 金蝶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。

    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表插入数据即可。

  • 相关阅读:
    本题要求两个给定正整数的最大公约数和最小公倍数。
    习题4-6 水仙花数 (20 分)
    习题4-5 换硬币 (20 分)
    习题4-4 特殊a串数列求和 (20 分)
    练习4-11 统计素数并求和 (20 分)
    一分钟玩转 Spring IoC
    vue 项目如何使用animate.css
    web前端自定义函数工具库
    React Context 理解和使用
    jQuery的链式编程风格
  • 原文地址:https://www.cnblogs.com/alannxu/p/14651465.html
Copyright © 2011-2022 走看看