SQL对比-金蝶云星空-不同账套的凭证号

SQL-对比金蝶云星空不同账套的凭证号
--------------------------------------------------------------
001-凭证号对比

高清图片查看方法:点击图片---右键---在新标签页中打开图片(或全屏看图) 


--------------------------------------------------------------

 

 --********************************************************************************************************************************************

 -----------------------------------------------------

 --当前数据库---查询凭证

        select      (CONVERT(varchar(10), t_gl_voucher.FYear) + '-' + REPLICATE('0',2-len(t_gl_voucher.FPeriod)) + CONVERT(varchar(10), t_gl_voucher.FPeriod)   + '-' +   t_bd_vouchergroup_l.FName    + '-' + REPLICATE('0',5-len(t_gl_voucher.FVOUCHERGROUPNO)) +  CONVERT(varchar(10) , t_gl_voucher.FVOUCHERGROUPNO) ) as 金蝶cloud凭证索引 

                  ,  t_gl_voucher.FYEAR as 年度  ,  t_gl_voucher.FPERIOD as 期间  ,  t_bd_vouchergroup_l.FNAME  ,  t_gl_voucher.FVOUCHERGROUPNO as 凭证号 

        from         t_gl_voucher  left outer join t_bd_vouchergroup_l on t_gl_voucher.FVOUCHERGROUPID = t_bd_vouchergroup_l.FVCHGROUPID 

                                    left outer join T_ORG_ORGANIZATIONS_L on t_gl_voucher.FACCTORGID = T_ORG_ORGANIZATIONS_L.FORGID

        where

                     t_gl_voucher.FYEAR   = 2020   and   t_gl_voucher.FPERIOD  = 3    and   T_ORG_ORGANIZATIONS_L.FNAME = '56_响水县灌江控股集团'            --常用条件:1.组织名称/ 2.年度

        order by

                     (CONVERT(varchar(10), t_gl_voucher.FYear) + '-' + REPLICATE('0',2-len(t_gl_voucher.FPeriod)) + CONVERT(varchar(10), t_gl_voucher.FPeriod)   + '-' +   t_bd_vouchergroup_l.FName    + '-' + REPLICATE('0',5-len(t_gl_voucher.FVOUCHERGROUPNO)) +  CONVERT(varchar(10) , t_gl_voucher.FVOUCHERGROUPNO) )  

  -----------------------------------------------------

  --*********************************************************************************************************************************************  

  --指定数据库1---查询凭证

  --注意:如果是没有启用多组织的数据中心,可以去掉关于组织的内容

    drop view  DF_迁移交付_数据库1_凭证列表

    create view DF_迁移交付_数据库1_凭证列表 as

     (

        select        D1_T03.FNAME as 迁移交付_数据库1_组织名称

                  ,  ( CONVERT(varchar(200), D1_T03.FNAME) + '-' +  CONVERT(varchar(10), D1_T01.FYear) + '-' + REPLICATE('0',2-len(D1_T01.FPeriod)) + CONVERT(varchar(10), D1_T01.FPeriod)   + '-' +   D1_T02.FName    + '-' + REPLICATE('0',5-len(D1_T01.FVOUCHERGROUPNO)) +  CONVERT(varchar(10) , D1_T01.FVOUCHERGROUPNO) ) as 迁移交付_数据库1_金蝶cloud_组织凭证索引 

                  ,  ( CONVERT(varchar(10), D1_T01.FYear) + '-' + REPLICATE('0',2-len(D1_T01.FPeriod)) + CONVERT(varchar(10), D1_T01.FPeriod)   + '-' +   D1_T02.FName    + '-' + REPLICATE('0',5-len(D1_T01.FVOUCHERGROUPNO)) +  CONVERT(varchar(10) , D1_T01.FVOUCHERGROUPNO) ) as 迁移交付_数据库1_金蝶cloud_单独凭证索引 

      ,  D1_T01.FYEAR as  迁移交付_数据库1_年度  ,  D1_T01.FPERIOD as 迁移交付_数据库1_期间  ,  D1_T02.FNAME 迁移交付_数据库1_凭证字 ,  D1_T01.FVOUCHERGROUPNO as 迁移交付_数据库1_凭证号 

        from         [AIS20220226120723]..t_gl_voucher as D1_T01                                                   --变量1--迁移交付_数据库1

        left outer join  [AIS20220226120723]..t_bd_vouchergroup_l    as D1_T02                                     --变量1--迁移交付_数据库1

        on D1_T01.FVOUCHERGROUPID = D1_T02.FVCHGROUPID 

        left outer join [AIS20220226120723]..T_ORG_ORGANIZATIONS_L   as D1_T03                                     --变量1--迁移交付_数据库1

        on D1_T01.FACCTORGID = D1_T03.FORGID

        where   D1_T01.FYEAR   <= 2021     and   D1_T03.FNAME = '56_响水县灌江控股集团'                            --变量2--常用条件:1.组织名称/ 2.年度(如果用户更改过组织名称,对比时则必须加该条件,即每个组织创建一次)

     )

     select * from  DF_迁移交付_数据库1_凭证列表 order by  迁移交付_数据库1_金蝶cloud_组织凭证索引    

  -----------------------------------------------------

  --***********************************************************************************************************************************************  

  --指定数据库2---查询凭证

  --注意:如果是没有启用多组织的数据中心,可以去掉关于组织的内容

    drop view  DF_当前在用_数据库2_凭证列表

    create view DF_当前在用_数据库2_凭证列表 as

     ( 

        select       D1_T03.FNAME as 当前在用_数据库2_组织名称

                  ,  ( CONVERT(varchar(200), D1_T03.FNAME) + '-' +  CONVERT(varchar(10), D1_T01.FYear) + '-' + REPLICATE('0',2-len(D1_T01.FPeriod)) + CONVERT(varchar(10), D1_T01.FPeriod)   + '-' +   D1_T02.FName    + '-' + REPLICATE('0',5-len(D1_T01.FVOUCHERGROUPNO)) +  CONVERT(varchar(10) , D1_T01.FVOUCHERGROUPNO) ) as 当前在用_数据库2_金蝶cloud_组织凭证索引 

                  ,  ( CONVERT(varchar(10), D1_T01.FYear) + '-' + REPLICATE('0',2-len(D1_T01.FPeriod)) + CONVERT(varchar(10), D1_T01.FPeriod)   + '-' +   D1_T02.FName    + '-' + REPLICATE('0',5-len(D1_T01.FVOUCHERGROUPNO)) +  CONVERT(varchar(10) , D1_T01.FVOUCHERGROUPNO) ) as 当前在用_数据库2_金蝶cloud_单独凭证索引 

                  ,  D1_T01.FYEAR as  当前在用_数据库2_年度  ,  D1_T01.FPERIOD as  当前在用_数据库2_期间  ,  D1_T02.FNAME  当前在用_数据库2_凭证字 ,  D1_T01.FVOUCHERGROUPNO as   当前在用_数据库2_凭证号 

        from         [AIS20220302082218]..t_gl_voucher as D1_T01                                                   --变量1--数据库2

        left outer join  [AIS20220302082218]..t_bd_vouchergroup_l    as D1_T02                                     --变量1--数据库2

        on D1_T01.FVOUCHERGROUPID = D1_T02.FVCHGROUPID 

        left outer join [AIS20220302082218]..T_ORG_ORGANIZATIONS_L   as D1_T03                                     --变量1--数据库2

        on D1_T01.FACCTORGID = D1_T03.FORGID

        where   D1_T01.FYEAR   <= 2021     and   D1_T03.FNAME = '56_响水县灌江控股集团'                            --变量2--常用条件:1.组织名称/ 2.年度(如果用户更改过组织名称,对比时则必须加该条件,即每个组织创建一次)

      )  

    select * from  DF_当前在用_数据库2_凭证列表 order by   当前在用_数据库2_金蝶cloud_组织凭证索引    

   -----------------------------------------------------

   --************************************************************************************************************************************************

   --两个数据库做全连接,判断是否增加或删除过凭证

   --***************************************************

   --用户   <没有>  修改过组织名称,对比凭证时,使用的sql语句

   --如果   <没有>  修改过组织名称,则  可以   <批量 >一次性的对比多个组织的凭证数据,凭证列表的视图,只要创建一次就可以了

    select     T01.*   , T02.*

    from       DF_迁移交付_数据库1_凭证列表 as T01  Full Outer Join  DF_当前在用_数据库2_凭证列表 as T02  on  T01.迁移交付_数据库1_金蝶cloud_组织凭证索引 = T02.当前在用_数据库2_金蝶cloud_组织凭证索引

    order by  T01.迁移交付_数据库1_金蝶cloud_组织凭证索引 , T02.当前在用_数据库2_金蝶cloud_组织凭证索引

  -----------------------------------------------------

  --***************************************************

  --用户   <已经>  修改过组织名称,对比凭证时,使用的sql语句

  --如果   <已经>  修改过组织名称,则  只能   <一个一个>组织的凭证进行核对,且          凭证列表视图  每个组织,都创建一次   

    select     T01.*   , T02.*

    from       DF_迁移交付_数据库1_凭证列表 as T01  Full Outer Join  DF_当前在用_数据库2_凭证列表 as T02  on  T01.迁移交付_数据库1_金蝶cloud_单独凭证索引 = T02.当前在用_数据库2_金蝶cloud_单独凭证索引

    where       T01.迁移交付_数据库1_金蝶cloud_单独凭证索引 is null  or  T02.当前在用_数据库2_金蝶cloud_单独凭证索引  is null

    order by   T01.迁移交付_数据库1_金蝶cloud_单独凭证索引 , T02.当前在用_数据库2_金蝶cloud_单独凭证索引

--------------------------------------------------------------

001用友凭证导入金蝶.jpg
--------------------------------------------------------------