请选择 进入手机版 | 继续访问电脑版
风雨十年,感恩同行

[共享] 创建金蝶K3 16.0全功能软注册20站点中的科目余额表视图及判断科目挂了哪些核算项目

[复制链接]
发表于 2019-2-11 10:17:56 | 显示全部楼层 |阅读模式
创建金蝶科目余额表视图df_v_t_Balance_1

--**************************************************************************
--**************************************************************************
-----创建自定义科目余额表视图(含会计科目+核算项目+科目余额表)
--连接关系表-1.科目余额表+会计科目表-1.2.2增加每个月的科目余额表的索引码
--索引码用根据 :年+月+科目编码(或内码)组成
--注意,如果客户的基础档案中,没有自定义的项目也要手工给他建立几个项目档案(可以留着备用),否则该视图不能建立
--*****************************************************************************
--1.1前提条件:需要先执行--将核算项目分别创建为独立的视图--方便以后查询和创建连接关系
--1.2首先执行的sql脚本名称:  <01-为金蝶各项目分别创建为独立的视图方便-建立连接关系>
--2.根据实际使用的核算项目,调整连接关系和字段内容
-------------------------------------------
001判断哪些会计科目挂了核算项目
1.jpg


--判断会计科目挂了哪些核算项目
--1>.先对会计科目和核算项目横表做连接,查询出所有挂了,所有(含金蝶自带的项目信息)核算项目的科目
-------------------------------------------
002判断自定义的项目被会计科目调用了
2.jpg
1>.判断哪些自定义的核算项目,

     被会计科目调用了,
     自定义的核算项目,一般是以3打头的
--------
1>.不等于0的说明,这些自定义的项目
      被会计科目调用了
2>.根据直接结果,可以在
     自定义的余额表视图(df_v_t_Balance_1)
     将 <等于0>的自定义项目,注释掉
-------------------------------------------
003根据第2步的结果调整自定义的df_v_t_Balance_1视图
4.jpg


将自定义的余额表视图
df_v_t_Balance_1中,
将没有被会计科目调用的自定义项目取消掉
-------------------------------------------
--判断会计科目挂了哪些核算项目
--1>.先对会计科目和核算项目横表做连接,查询出所有挂了,所有(含金蝶自带的项目信息)核算项目的科目
    select     t_Account.FAccountID  As   科目内码 , t_Account.FNumber  As   科目代码 , t_Account.FName  As   科目名称 , t_Account.FFullName  As   科目全名 , t_Account.FLevel  As   科目级次 , t_Account.FDetail  As   明细科目_1是_0否 , t_Account.FParentID  As   顶级_即1级科目内码 , t_Account.FRootID  As   上级科目内码 , t_Account.FGroupID  As   科目类别内码 , t_Account.FDC  As   借贷方向_1借_负1贷 , t_Account.FHelperCode  As   助记码 , t_Account.FCurrencyID  As   币别内码_0核算所有_1不核算 ,  t_Account.FDetailID  As   核算项目内码 ,  t_Account.FDelete  As   是否禁用  
            ,  T_ItemDetail.*
    from       t_Account  left outer join T_ItemDetail on  t_Account.FDetailID = T_ItemDetail.FDetailID
    where      t_Account.FDetailID <> 0
--****************************************************************************************************************************************
--判断哪些核算项目,给会计科目调用
--2>.通过对自定义的项目列做sum汇总,判断哪些自定义的核算项目(3打头的字段)被会计科目调用了
    select     sum(T_ItemDetail.F3001) AS F3001
            ,  sum(T_ItemDetail.F3002) AS F3002  
            ,  sum(T_ItemDetail.F3003) AS F3003
            ,  sum(T_ItemDetail.F3004) AS F3004
            ,  sum(T_ItemDetail.F3005) AS F3005
            ,  sum(T_ItemDetail.F3006) AS F3006
            ,  sum(T_ItemDetail.F3007) AS F3007
            ,  sum(T_ItemDetail.F3008) AS F3008
            ,  sum(T_ItemDetail.F3009) AS F3009
            ,  sum(T_ItemDetail.F3010) AS F3010
            ,  sum(T_ItemDetail.F3011) AS F3011
            ,  sum(T_ItemDetail.F3012) AS F3012
            --,  sum(T_ItemDetail.F3013) AS F3013
            --,  sum(T_ItemDetail.F3014) AS F3014
            --,  sum(T_ItemDetail.F3015) AS F3015
    from       t_Account  left outer join T_ItemDetail on  t_Account.FDetailID = T_ItemDetail.FDetailID
    where      t_Account.FDetailID <> 0      --核算项目情况(不等于0说明挂了项目)





判断会计科目挂了哪些核算项目
      select *   from t_Account              --会计科目档案
      select *   from t_ItemClass            --项目分类档案
      select *   from t_ItemDetailV          --核算项目纵表
      select *   from t_ItemDetail           --核算项目横表      
---------------------------------------------------------
---判断会计科目挂了哪些核算项目----方法1
--核算项目使用详情-纵表:查询会计科目所挂的项目信息-01(T_ItemPropDesc
    drop view df_v_Account_item_01
    create view df_v_Account_item_01 as
         (
            SELECT   t_Account.FAccountID as 科目内码,t_Account.FNumber as 科目代码,t_Account.FName as 科目名称
                  ,  t_ItemClass.FItemClassID  as 项目大类内码
                  ,  t_ItemClass.FNumber as 项目大类编码  ,  t_ItemClass.FName as 项目大类名称
                  ,( case when t_ItemClass.FItemClassID < 3001 then   t_ItemClass.FSQLTableName  else  'df_v_item_' + CONVERT(VARCHAR(4), t_ItemClass.FItemClassID)   end )  as 项目sql表名
                  ,  CASE t_ItemDetailV.FItemID WHEN -1 THEN 1 ELSE 0 END FBalChecked  
            FROM t_Account inner join t_ItemDetailV on t_Account.FDetailID = t_ItemDetailV.FDetailID
                      inner join t_ItemClass   on t_ItemDetailV.FItemClassID = t_ItemClass.FItemClassID
            where t_ItemDetailV.FItemID IN(-1,-2)
          )
    select * from df_v_Account_item_01
--核算项目使用详情-纵表:查询会计科目所挂的项目信息-01(T_ItemPropDesc
    drop view df_v_Account_item_02
    create view df_v_Account_item_02 as
         (
            SELECT    *
                  ,( '  ,  ' +  项目sql表名 + '.' + 'FNumber'  + '  as  '  +   项目大类名称   +  '代码'   +  '  ,  '  +   项目sql表名 + '.' + 'FName'    + '  as  '  +   项目大类名称   +  '名称'    ) as 显示字段
                  ,( ' left outer join (select * from  ' +  项目sql表名 +  ' where FItemID <> 0 )  as  ' +  项目sql表名 +  '  on  T_ItemDetail.F' +     CONVERT(VARCHAR(4), 项目大类内码)   + '  =  ' + 项目sql表名  +  '.FItemID'  )  as  连接语句            
            FROM  df_v_Account_item_01
          )
    select * from df_v_Account_item_02
   
    --判断哪些核算项目被会计科目调用了
    drop view df_v_Account_item_11
    create view df_v_Account_item_11 as  ( select  distinct  项目大类内码 , 项目大类编码 , 项目大类名称 , 项目sql表名 , 显示字段  ,  连接语句   from df_v_Account_item_02 )
    select * from df_v_Account_item_11  order by 项目大类内码

    --判断哪些会计科目被项目调用了
    drop view df_v_Account_item_12
    create view df_v_Account_item_12 as  ( select  distinct  科目内码 , 科目代码 , 科目名称  from df_v_Account_item_02 )
    select * from df_v_Account_item_12
              
   
      
---------------------------------------------------------
--判断会计科目挂了哪些核算项目----方法2-1
--1>.先对会计科目和核算项目横表做连接,查询出所有挂了,所有(含金蝶自带的项目信息)核算项目的科目
    select     t_Account.FAccountID  As   科目内码 , t_Account.FNumber  As   科目代码 , t_Account.FName  As   科目名称 , t_Account.FFullName  As   科目全名 , t_Account.FLevel  As   科目级次 , t_Account.FDetail  As   明细科目_1是_0否 , t_Account.FParentID  As   顶级_即1级科目内码 , t_Account.FRootID  As   上级科目内码 , t_Account.FGroupID  As   科目类别内码 , t_Account.FDC  As   借贷方向_1借_负1贷 , t_Account.FHelperCode  As   助记码 , t_Account.FCurrencyID  As   币别内码_0核算所有_1不核算 ,  t_Account.FDetailID  As   核算项目内码 ,  t_Account.FDelete  As   是否禁用  
            ,  T_ItemDetail.*
    from       t_Account  left outer join T_ItemDetail on  t_Account.FDetailID = T_ItemDetail.FDetailID
    where      t_Account.FDetailID <> 0
---------------------------------------------------------   
--判断会计科目挂了哪些核算项目----方法2-2
--核算项目使用详情-横表:查询会计科目所挂的项目信息-02(T_ItemDetail
SELECT t_Account.FAccountID as 科目内码,t_Account.FNumber as 科目代码,t_Account.FName as 科目名称,
       T_ItemDetail.F1 as 客户核算,T_ItemDetail.F2 as 部门核算,T_ItemDetail.F3 as 职员核算, T_ItemDetail.F4 as 商品核算, T_ItemDetail.F5 as 仓库核算,  T_ItemDetail.F8 as 供应商核算, T_ItemDetail.F9 as 现金流量核算, T_ItemDetail.F10 as 分支机构核算, T_ItemDetail.F14 as 工作中心核算,
       T_ItemDetail.F3001 as 自定义01核算,T_ItemDetail.F3002 as 自定义02核算,T_ItemDetail.F3003 as 自定义03核算, T_ItemDetail.F3004 as 自定义04核算
FROM t_Account inner join T_ItemDetail on t_Account.FDetailID = T_ItemDetail.FDetailID
where T_ItemDetail.F1 = '-1' or T_ItemDetail.F2 = '-1' or T_ItemDetail.F3 = '-1' or T_ItemDetail.F4 = '-1' or T_ItemDetail.F5 = '-1' or T_ItemDetail.F8 = '-1' or T_ItemDetail.F9 = '-1' or T_ItemDetail.F10 = '-1' or T_ItemDetail.F14 = '-1'
       or T_ItemDetail.F3001 = '-1'  or T_ItemDetail.F3002 = '-1'  or T_ItemDetail.F3003 = '-1'   or T_ItemDetail.F3004 = '-1'
order by t_Account.FNumber
---------------------------------------------------------
--判断哪些核算项目,给会计科目调用----方法2-3
--2>.通过对自定义的项目列做sum汇总,判断哪些自定义的核算项目(3打头的字段)被会计科目调用了
    select     sum(T_ItemDetail.F3001) AS F3001
            ,  sum(T_ItemDetail.F3002) AS F3002  
            ,  sum(T_ItemDetail.F3003) AS F3003
            ,  sum(T_ItemDetail.F3004) AS F3004
            ,  sum(T_ItemDetail.F3005) AS F3005
            ,  sum(T_ItemDetail.F3006) AS F3006
            ,  sum(T_ItemDetail.F3007) AS F3007
            ,  sum(T_ItemDetail.F3008) AS F3008
            ,  sum(T_ItemDetail.F3009) AS F3009
            --,  sum(T_ItemDetail.F3010) AS F3010
            --,  sum(T_ItemDetail.F3011) AS F3011
            --,  sum(T_ItemDetail.F3012) AS F3012
            --,  sum(T_ItemDetail.F3013) AS F3013
            --,  sum(T_ItemDetail.F3014) AS F3014
            --,  sum(T_ItemDetail.F3015) AS F3015
    from       t_Account  left outer join T_ItemDetail on  t_Account.FDetailID = T_ItemDetail.FDetailID
    where      t_Account.FDetailID <> 0      --核算项目情况(不等于0说明挂了项目)




--*****************************************************
    select *   from t_ItemClass  order by FItemClassID           --项目分类档案
    select  t_Organization.FNumber as 客户代码     , t_Organization.FName as 客户名称      , * from t_Organization                             --客户--------1
    select  t_Department.FNumber   as 部门代码     , t_Department.FName   as 部门名称      , * from t_Department                               --部门--------2
    select  t_Emp.FNumber          as 职员代码     , t_Emp.FName          as 职员名称      , * from t_Emp                                     --职员--------3
    select  t_ICItem.FNumber       as 产品代码     , t_ICItem.FName       as 产品名称      , t_ICItem.FModel as 规格型号  ,*  from t_ICItem    --物料--------4
    select  t_Stock.FNumber        as 仓库代码     , t_Stock.FName        as 仓库名称      , * from t_Stock                                   --仓库--------5
    select  t_Supplier.FNumber     as 供应商代码   , t_Supplier.FName     as 供应商名称    , * from t_Supplier                                 --供应商------8
    select  t_SonCompany.FNumber   as 分支机构代码 , t_SonCompany.FName   as 分支机构名称  , * from t_SonCompany                               --分支机构---10
    select  t_WorkCenter.FNumber   as 工作中心代码 , t_WorkCenter.FName   as 工作中心名称  , * from t_WorkCenter                               --工作中心---14
    select  cbCostObj.FNumber      as 成本对象代码 , cbCostObj.FName      as 成本对象名称  , * from cbCostObj                                  --成本对象---2001
    select  cbService.FNumber      as 劳务代码     , cbService.FName      as 劳务名称      , * from cbService                                 --劳务-------2002
    select  cbCostItem.FNumber     as 成本项目代码 , cbCostItem.FName     as 成本项目名称  , * from cbCostItem                                 --成本项目---2003
    select  cbExpense.FNumber      as 要素费用代码 , cbExpense.FName      as 要素费用名称  , * from cbExpense                                  --要素费用---2004
    select  t_Fee.FNumber          as 费用代码     , t_Fee.FName          as 费用名称      , * from t_Fee                                     --费用-------2014
    select  t_scPlanItem.FNumber   as 计划项目代码 , t_scPlanItem.FName   as 计划项目名称  , * from t_scPlanItem                               --计划项目---2021
    select  cbCostObjGroup.FNumber as 成本对象组代码   , cbCostObjGroup.FName as 成本对象组名称     , * from cbCostObjGroup                   --成本对象组-2023
    select  t_BK_Acnt.FNumber      as 银行账号代码 , t_BK_Acnt.FName      as 银行账号名称  , * from t_BK_Acnt                                  --银行账号---2024
    select  t_BASE_Area.FNumber    as 国别地区代码 , t_BASE_Area.FName    as 国别地区名称  , * from t_BASE_Area                                --国别地区---2026
    select  t_BASE_CityPort.FNumber as 城市港口代码, t_BASE_CityPort.FName as 城市港口名称 , * from t_BASE_CityPort                            --城市港口---2027
    select  t_BASE_HSCode.FNumber  as HS编码代码   , t_BASE_HSCode.FName  as HS编码名称    , * from t_BASE_HSCode                              --HS编码-----2028
    select  T_BASE_InsuranceType.FNumber  as 保险险种代码 , T_BASE_InsuranceType.FName  as 保险险种名称  , * from T_BASE_InsuranceType         --保险险种---2029
    select  t_BASE_CostCenter.FNumber     as 成本中心代码 , t_BASE_CostCenter.FName     as 成本中心名称  , * from t_BASE_CostCenter            --成本中心---2030
    select  t_Base_BudgetItem.FNumber     as 要素项目代码 , t_Base_BudgetItem.FName     as 要素项目名称  , * from t_Base_BudgetItem            --要素项目---2035
    select  t_Base_FinInstitution.FNumber as 金融机构代码 , t_Base_FinInstitution.FName as 金融机构名称  , * from t_Base_FinInstitution        --金融机构---2036
    select  t_Base_ProjectItem.FNumber    as 工程项目代码 , t_Base_ProjectItem.FName    as 工程项目名称  , * from t_Base_ProjectItem           --工程项目---2039
    select  t_Base_RespCenter.FNumber     as 工程项目代码 , t_Base_RespCenter.FName     as 工程项目名称  , * from t_Base_RespCenter            --责任中心---2040
    select  t_Base_SpecialProject.FNumber as 专项代码     , t_Base_SpecialProject.FName as 专项名称      , * from t_Base_SpecialProject        --专项---2041




金蝶K3 16.0全功能软注册20站点,下载包为网盘地址,含安装文件软注册文件数据库及应用教程
金蝶K3 16.0全功能软注册20站点软注册文件及安装文件和数据库.rar (367 Bytes, 下载次数: 42)

您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

帖子推荐:
客服咨询

QQ:592439202

服务时间 9:00-22:00

金蝶用友易助管家婆深度服务
 
QQ在线咨询
售前咨询热线
592439202
售后服务热线
243998158
快速回复 返回顶部 返回列表