SQL更新-金蝶kis专业版的-计量单位

SQL更新金蝶kis专业版-计量单位
-------------------------------------------------------------
001-更新计量单位的基本计量单位标志

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

-------------------------------------------------------------
002-更新物料的计量单位

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

-------------------------------------------------------------
003-更新会计科目的计量单位

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

-------------------------------------------------------------
004-更新凭证列表中的计量单位

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

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

SQL语句:
------------------------

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

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

--说明:适合使用了[单个]---[计量单位]的账套,如果使用的计量单位比较多,更新的时候容易出现错误

--该操作前提条件:

 

--1.执行前必须做金蝶账套的备份

--2.操作人员必须熟悉金蝶软件

--3.操作人员必须熟悉sql数据库

--4.必须在所有凭证处于未记账的状态下执行

--5.sql语句的执行条件,请自行根据实际情况进行调整

 

 

 

--说明:执行后,请自行检测是否对金蝶软件操作有不良影响,我方不对这些sql语句的正确性负责

 

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

  --基础档案-07.计量单位

    select  *  from   t_MeasureUnit  

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

    select  t_MeasureUnit.FMeasureUnitID  As   单位内码 , t_MeasureUnit.FUnitGroupID  As   单位组别 , t_MeasureUnit.FNumber  As   单位代码 , t_MeasureUnit.FAuxClass  As   未知1 , t_MeasureUnit.FName  As   单位名称 , t_MeasureUnit.FConversation  As   未知3 , t_MeasureUnit.FCoefficient  As   系数 , t_MeasureUnit.FPrecision  As   未知5 , t_MeasureUnit.FBrNo  As   公司代码 , t_MeasureUnit.FItemID  As   单位内码二 , t_MeasureUnit.FParentID  As   上级内码 , t_MeasureUnit.FDeleted  As   是否禁用 , t_MeasureUnit.FShortNumber  As   单位简码 , t_MeasureUnit.FOperDate  As   操作日期 , t_MeasureUnit.FScale  As   修正值 , t_MeasureUnit.FStandard  As   基本单位 , t_MeasureUnit.FControl  As   未知2 , t_MeasureUnit.FModifyTime  As   未知4 , t_MeasureUnit.FSystemType  As   系统标示 , t_MeasureUnit.UUID  As   未知6

    from    t_MeasureUnit     

    --where   FName = '吨'

  --基础档案-06.计量单位组

    select  *  from   t_UnitGroup  

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

    select  t_UnitGroup.FUnitGroupID  As   单位组内码 , t_UnitGroup.FName  As   单位组名称 , t_UnitGroup.FDefaultUnitID  As   默认单位内码 

    from    t_UnitGroup   

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

    --基础档案-06.计量单位组连接计量单位

    select   T1.FUnitGroupID  As   单位组_组内码 , T1.FName  As   单位组_组名称 , T1.FDefaultUnitID  As   单位组_基本单位内码 

           , T2.FUnitGroupID  As   单位_组内码   , T2.FMeasureUnitID as 单位_单位内码 , T2.FNumber as 单位_单位代码  , T2.FName as 单位_单位名称 , T2.FStandard as 单位_是否基本单位1是0否

    from    t_UnitGroup  as T1

    left join  t_MeasureUnit as T2 on  T1.FUnitGroupID =   T2.FUnitGroupID  

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

    --更新计量单位的名称

    update   t_MeasureUnit

    set      FNumber = 'TON'

          ,  FName = '吨' 

    where   FMeasureUnitID = 202
    ------------------------------------------------------------

    --根据计量单位代码,更新计量单位的名称

 

    --比如---套

    update   t_MeasureUnit

    set      FName = '套' 

    where    FNumber = 'TAO'   

    --比如---台

    update   t_MeasureUnit

    set      FName = '台' 

    where    FNumber = 'TAI'       

    --比如---块

    update   t_MeasureUnit

    set      FName = '块' 

    where    FNumber = 'KUAI'   

     --比如---只

    update   t_MeasureUnit

    set      FName = '只' 

    where    FNumber = 'ZHI'      

      --比如---件

    update   t_MeasureUnit

    set      FName = '件' 

    where    FNumber = 'pcs'    

    --比如---栋

    update   t_MeasureUnit

    set      FName = '栋' 

    where    FNumber = 'DONG'      

     --比如---辆

    update   t_MeasureUnit

    set      FName = '辆' 

    where    FNumber = 'LIANG'   

    --比如---批

    update   t_MeasureUnit

    set      FName = '批' 

    where    FNumber = 'PI'        

    --比如---一批

    update   t_MeasureUnit

    set      FName = '一批' 

    where    FNumber = 'YIPI'            

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

    --比如---米

    update   t_MeasureUnit

    set      FName = '米' 

    where    FNumber = 'M'       

    --比如---分米

    update   t_MeasureUnit

    set      FName = '分米' 

    where    FNumber = 'DM'         

     --比如---厘米

    update   t_MeasureUnit

    set      FName = '厘米' 

    where    FNumber = 'CM' 

      --比如---毫米

    update   t_MeasureUnit

    set      FName = '毫米' 

    where    FNumber = 'MM'    

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

    --比如---平方米

    update   t_MeasureUnit

    set      FName = '平方米' 

    where    FNumber = 'SQM'       

    --比如---平方分米

    update   t_MeasureUnit

    set      FName = '平方分米' 

    where    FNumber = 'SQDM'         

     --比如---平方厘米

    update   t_MeasureUnit

    set      FName = '平方厘米' 

    where    FNumber = 'SQCM'                

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

    --比如---立方米

    update   t_MeasureUnit

    set      FName = '立方米' 

    where    FNumber = 'CUM'   

    --比如---立方分米

    update   t_MeasureUnit

    set      FName = '立方分米' 

    where    FNumber = 'CUDM'   

    --比如---立方厘米

    update   t_MeasureUnit

    set      FName = '立方厘米' 

    where    FNumber = 'CUCM'   

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

    --比如---吨

    update   t_MeasureUnit

    set      FName = '吨' 

    where    FNumber = 'TON'

    --比如---千克

    update   t_MeasureUnit

    set      FName = '公斤(千克)' 

    where    FNumber = 'KG'   

 

    --比如---克

    update   t_MeasureUnit

    set      FName = '克' 

    where    FNumber = 'G'   

 

 

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

    --1>.更新[计量单位]表----[是否默认]字段 

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

    --第1步,更新[mdf计量组]中----[是否默认]的字段为[0](即取消所有的默认标志)

    update  t_MeasureUnit

    set     FStandard = 0 

    where   t_MeasureUnit.FUnitGroupID in  (

               select  DISTINCT  T1.FUnitGroupID  As   单位组_组内码 

               from    t_UnitGroup  as T1  left join  t_MeasureUnit as T2 on  T1.FUnitGroupID =   T2.FUnitGroupID 

               where   T1.FName = 'mdf计量组'                  --[变量1]

         )

    --第2步,更新[mdf计量组]中----[是否默认]的字段为[1](重新设置,默认标志),比如将[mdf计量组]中的[吨]为该组的默认单位  

    update  t_MeasureUnit

    set     FStandard = 1   

    where   t_MeasureUnit.FMeasureUnitID  in  (

               select  DISTINCT  T2.FMeasureUnitID as 单位_单位内码 

               from    t_UnitGroup  as T1  left join  t_MeasureUnit as T2 on  T1.FUnitGroupID =   T2.FUnitGroupID 

               where   T1.FName = 'mdf计量组'                 --[变量1]

                 and   T2.FName = '吨'                        --[变量2]

         )         

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

    --2>.更新[计量单位组]表----[默认单位内码]字段 ,

    --将mdf计量组中,默认单位pcs更新为吨 

    update  t_UnitGroup

    set     FDefaultUnitID = (   

               select  DISTINCT  T2.FMeasureUnitID as 单位_单位内码 

               from    t_UnitGroup  as T1  left join  t_MeasureUnit as T2 on  T1.FUnitGroupID =   T2.FUnitGroupID 

               where   T1.FName = 'mdf计量组'                 --[变量1]

                 and   T2.FName = '吨'                        --[变量2]

          )   

 

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

 --基础档案-04.产品表

    select  *   from    t_ICItem

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

    select  t_ICItem.FItemID  As   产品内码 , t_ICItem.FName  As   产品名称 , t_ICItem.FHelpCode  As   助记码 , t_ICItem.FDeleted  As   是否禁用 , t_ICItem.FShortNumber  As   产品简码 , t_ICItem.FNumber  As   产品代码 , t_ICItem.FModifyTime  As   未知3 , t_ICItem.FParentID  As   产品类代码 , t_ICItem.FBrNo  As   公司代码 , t_ICItem.FTopID  As   最高级 , t_ICItem.FRP  As   收付标志 , t_ICItem.FOmortize  As   未知4 , t_ICItem.FOmortizeScale  As   未知5 , t_ICItem.FForSale  As   是否销售1 , t_ICItem.FStaCost  As   未知9 , t_ICItem.FOrderPrice  As   订货单价 , t_ICItem.FOrderMethod  As   订货方法 , t_ICItem.FPriceFixingType  As   未知7 , t_ICItem.FSalePriceFixingType  As   未知8 , t_ICItem.FPerWastage  As   未知6 , t_ICItem.FARAcctID  As   应收科目 , t_ICItem.FPlanPriceMethod  As   计划方法 , t_ICItem.FPlanClass  As   计划类型 , t_ICItem.FModel  As   规格型号 , t_ICItem.FAlias  As   别名 , t_ICItem.FApproveNo  As   批准文号 , t_ICItem.FAuxClassID  As   辅助属性类别 , t_ICItem.FDefaultLoc  As   缺省库房 , t_ICItem.FEquipmentNum  As   设备编码 , t_ICItem.FErpClsID  As   产品属性 , t_ICItem.FFullName  As   全名 , t_ICItem.FHighLimit  As   最高存量 , t_ICItem.FIsEquipment  As   是否设备 , t_ICItem.FIsSparePart  As   是否备件 , t_ICItem.FLowLimit  As   最低存量 , t_ICItem.FOrderUnitID  As   采购计量单位 , t_ICItem.FPreDeadLine  As   未知91 , t_ICItem.FProductUnitID  As   生产计量单位 , t_ICItem.FQtyDecimal  As   数量精度 , t_ICItem.FSaleUnitID  As   销售计量单位 , t_ICItem.FSecCoefficient  As   辅助计量单位换算率 , t_ICItem.FSecUnitDecimal  As   未知92 , t_ICItem.FSecInv  As   安全库存 , t_ICItem.FSecUnitID  As   辅助计量单位 , t_ICItem.FSerialClassID  As   未知93 , t_ICItem.FSource  As   来源 , t_ICItem.FSPID  As   缺省仓位 , t_ICItem.FStoreUnitID  As   库存计量单位 , t_ICItem.FTypeID  As   产品分类 , t_ICItem.FUnitGroupID  As   单位组内码 , t_ICItem.FUnitID  As   单位内码 , t_ICItem.FUseState  As   使用状态 , t_ICItem.FABCCls  As   ABC类别 , t_ICItem.FAcctID  As   存货科目 , t_ICItem.FAdminAcctID  As   代管物资科目 , t_ICItem.FAPAcctID  As   应付科目 , t_ICItem.FBatchManager  As   是否采用业务批次管理 , t_ICItem.FBatchQty  As   订货批量 , t_ICItem.FBeforeExpire  As   失效提前期_天 , t_ICItem.FBookPlan  As   是否需要进行订补货计划的运算 , t_ICItem.FCheckCycle  As   盘点周期 , t_ICItem.FCheckCycUnit  As   盘点周期单位 , t_ICItem.FClass  As   产品类别 , t_ICItem.FCostAcctID  As   成本科目 , t_ICItem.FCostDiffRate  As   成本差异科目 , t_ICItem.FCostProject  As   成本项目 , t_ICItem.FDaysPer  As   每周月第_天 , t_ICItem.FDepartment  As   部门 , t_ICItem.FGoodSpec  As   税目代码内码 , t_ICItem.FISKFPeriod  As   是否进行保质期管理 , t_ICItem.FIsSale  As   是否销售2 , t_ICItem.FIsSnManage  As   未知2 , t_ICItem.FIsSpecialTax  As   是否农林计税 , t_ICItem.FKFPeriod  As   保质期_天 , t_ICItem.FLastCheckDate  As   上次盘点日期 , t_ICItem.FNote  As   备注 , t_ICItem.FOIHighLimit  As   外购超收比例_ , t_ICItem.FOILowLimit  As   外购欠收比例_ , t_ICItem.FOrderRector  As   采购负责人内码 , t_ICItem.FPlanPrice  As   计划单价 , t_ICItem.FPOHghPrcMnyType  As   采购最高价币别 , t_ICItem.FPOHighPrice  As   采购最高价 , t_ICItem.FPriceDecimal  As   单价精度 , t_ICItem.FProfitRate  As   毛利率 , t_ICItem.FSaleAcctID  As   销售科目 , t_ICItem.FSalePrice  As   销售单价 , t_ICItem.FSaleTaxAcctID  As   税金科目 , t_ICItem.FSOHighLimit  As   销售超交比例_ , t_ICItem.FSOLowLimit  As   销售欠交比例_ , t_ICItem.FSOLowPrc  As   销售最低价 , t_ICItem.FSOLowPrcMnyType  As   销售最低价币别 , t_ICItem.FStockPrice  As   未知98 , t_ICItem.FStockTime  As   是否需要库龄管理 , t_ICItem.FTaxRate  As   税率_ , t_ICItem.FTrack  As   计价方法 , t_ICItem.FWWHghPrc  As   委外加工最高价 , t_ICItem.FWWHghPrcMnyType  As   委外加工最高价币别 , t_ICItem.FCBBmStandardID  As   分配标准内码 , t_ICItem.FBatChangeEconomy  As   变动提前期批量 , t_ICItem.FBatchAppendQty  As   批量增量 , t_ICItem.FBatFixEconomy  As   固定经济批量 , t_ICItem.FCUUnitID  As   常用计量单位 , t_ICItem.FDailyConsume  As   日消耗量 , t_ICItem.FDefaultRoutingID  As   默认工艺路线 , t_ICItem.FDefaultWorkTypeID  As   默认生产类型 , t_ICItem.FFixLeadTime  As   固定提前期 , t_ICItem.FInHighLimit  As   完工超收比例_ , t_ICItem.FInLowLimit  As   完工欠收比例_ , t_ICItem.FLeadTime  As   提前期 , t_ICItem.FLowestBomCode  As   低层码 , t_ICItem.FMRPCon  As   MRP计算是否合并需求 , t_ICItem.FOrderInterVal  As   订货间隔期_天 , t_ICItem.FOrderPoint  As   再订货点 , t_ICItem.FOrderTrategy  As   订货策略 , t_ICItem.FPlanner  As   计划员 , t_ICItem.FPlanPoint  As   计划时界_天 , t_ICItem.FPlanTrategy  As   计划策略 , t_ICItem.FProductPrincipal  As   生产负责人 , t_ICItem.FPutInteger  As   投料自动取整 , t_ICItem.FQtyMax  As   最大订货量 , t_ICItem.FQtyMin  As   最小订货量 , t_ICItem.FRequirePoint  As   需求时界_天 , t_ICItem.FTotalTQQ  As   累计提前期 , t_ICItem.FMRPOrder  As   MRP计算是否产生采购申请 ,  t_ICItem.FChartNumber  As   图号 , t_ICItem.FCubicMeasure  As   长度单位 , t_ICItem.FGrossWeight  As   毛重 , t_ICItem.FHeight  As   高度 , t_ICItem.FIsKeyItem  As   是否关键件 , t_ICItem.FLength  As   长度 , t_ICItem.FMaund  As   重量单位 , t_ICItem.FNetWeight  As   净重 , t_ICItem.FSize  As   体积 , t_ICItem.FVersion  As   版本号 , t_ICItem.FWidth  As   宽度 , t_ICItem.FChgFeeRate  As   变动制造费用分配率 , t_ICItem.FOutMachFee  As   单位委外加工费 , t_ICItem.FPieceRate  As   单位计件工资 , t_ICItem.FStandardCost  As   单位标准成本 , t_ICItem.FStandardManHour  As   单位标准工时_小时 , t_ICItem.FStdFixFeeRate  As   单位标准固定制造费用金额 , t_ICItem.FStdPayRate  As   标准工资率 , t_ICItem.FIdentifier  As   检验员 , t_ICItem.FInspectionLevel  As   检验方式 , t_ICItem.FInspectionProject  As   检验方案 , t_ICItem.FIsListControl  As   未知1 , t_ICItem.FOtherChkMde  As   其他检验方式 , t_ICItem.FProChkMde  As   产品检验方式 , t_ICItem.FSOChkMde  As   发货检验方式 , t_ICItem.FStkChkAlrm  As   库存周期检验预警提前期_天 , t_ICItem.FStkChkMde  As   库存检验方式 , t_ICItem.FStkChkPrd  As   库存检验周期_天 , t_ICItem.FWthDrwChkMde  As   退货检验方式 , t_ICItem.FWWChkMde  As   委外加工检验方式

    from    t_ICItem

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

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

    --1>.更新[物料表]的[计量单位组]参数,

    --比如,将[指定物料]的----[默认计量单位组],改为:[mdf计量组]

    update  t_ICItem

    set     FUnitGroupID = ( 

               select   FUnitGroupID  As   单位组_组内码 

               from     t_UnitGroup

               where    FName = 'mdf计量组'

           )

    where   FNumber = '[物料代码]'

      and   FName  = '[物料名称]' 

 

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

    --2>.更新[物料表]的[默认计量单位]参数,

    --比如,将[指定物料]的----[默认计量单位],改为:[mdf计量组]中的[默认单位]   

     update  t_ICItem

     set     FUnitID = (  

                select   FDefaultUnitID  As   单位组_基本单位内码 

                from     t_UnitGroup

                where    FName = 'mdf计量组'

            )  

    where   FNumber = '[物料代码]'

      and   FName  = '[物料名称]'             

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

 --基础档案-会计科目    

    select *   from t_Account              --会计科目档案   

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

    select  T1.FNumber as T1科目代码 , T1.FName as  T1科目名称 , T1.FUnitGroupID as T1计量单位组内码 , T1.FMeasureUnitID as T1计量单位内码 

         ,  T2.FUnitGroupID as T2计量单位组内码   , T2.FName as T2计量单位组名称

         ,  T3.FMeasureUnitID as T3计量单位内码   , T3.FNumber as T3计量单位代码 ,  T3.FName as T3计量单位名称    

    from t_Account  as T1 

    left join t_UnitGroup   as T2 on  T1.FUnitGroupID   = T2.FUnitGroupID

    left join t_MeasureUnit as T3 on  T1.FMeasureUnitID = T3.FMeasureUnitID    

    where T1.FUnitGroupID <> 0  or  T1.FMeasureUnitID <> 0

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

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

    --1>.更新[会计科目]的[计量单位组]参数,

    --比如,改为:[mdf计量组]

    update  t_Account

    set     FUnitGroupID = ( 

               select   FUnitGroupID  As   单位组_组内码 

               from     t_UnitGroup

               where    FName = 'mdf计量组'                                --[变量1]

           )

    where   FUnitGroupID = '181'                                           --变量2:该参数必填[原计量组----内码]

      and   FNumber = '[科目代码]'

      and   FName  = '[科目名称]' 

 

    ---更新会计科目的指定[缺省单位]

     update  t_Account

     set     FMeasureUnitID = (  

                select  DISTINCT  T2.FMeasureUnitID as 单位_单位内码 

                from    t_UnitGroup  as T1  left join  t_MeasureUnit as T2 on  T1.FUnitGroupID =   T2.FUnitGroupID 

                where   T1.FName = 'mdf计量组'                             --[变量1]

                 and   T2.FName = '吨'                                     --[变量2] 

           )  

     where   FMeasureUnitID ='182'                                         --变量3:该参数必填[原计量单位----内码]

       and   FNumber = '[科目代码]'

       and   FName  = '[科目名称]'    

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

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

--凭证分录表

    select * from t_VoucherEntry

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

    --凭证

    select  t_Voucher.FYear  As   会计年度 , t_Voucher.FPeriod  As   会计期间 , t_Voucher.FDate  As   凭证日期 , t_VoucherGroup.FName  As   凭证字名称 , t_Voucher.FNumber  As   凭证号 , t_VoucherEntry.FEntryID  As   分录号 , t_VoucherEntry.FExplanation  As   摘要 , t_Account.FNumber  As   科目代码 , t_Account.FFullName  As   科目全名 , t_VoucherEntry.FDC  As   借贷方向 , t_VoucherEntry.FAmount  As   本位币金额 , t_Currency.FNumber  As   币别代码 , t_Currency.FName  As   币别名称 , t_VoucherEntry.FExchangeRate  As   汇率_凭证分录表 , t_user.FName  As   用户名称 , t_Voucher.FChecked  As   是否审核 , t_Voucher.FPosted  As   是否过账 , t_Voucher.FReference  As   参考信息 , t_Voucher.FDebitTotal  As   借方金额合计 , t_Voucher.FCreditTotal  As   贷方金额合计 , t_Voucher.FPreparerID  As   制单人 , t_Voucher.FSerialNum  As   凭证序号 , t_VoucherEntry.FDetailID  As   核算项目使用状况内码_凭证分录表 , t_VoucherEntry.FAmountFor  As   原币金额 , t_VoucherEntry.FAccountID2  As   对方科目 , t_Account.FName  As   科目名称 

           ,t_VoucherEntry.FQuantity as 数量 , t_VoucherEntry.FUnitPrice as 单价 ,  t_VoucherEntry.FMeasureUnitID as 凭证分录_计量单位内码 , t_MeasureUnit.FMeasureUnitID  as  计量单位_计量单位内码 ,  t_MeasureUnit.FNumber  As   单位代码 , t_MeasureUnit.FName  As   单位名称

    from    t_Voucher  

    left outer join   t_VoucherEntry on t_Voucher.FVoucherID = t_VoucherEntry.FVoucherID  

    left outer join   t_VoucherGroup on t_Voucher.FGroupID = t_VoucherGroup.FGroupID  

    left outer join   t_user on t_Voucher.FPreparerID = t_user.FUserID  

    left outer join   t_Account on t_VoucherEntry.FAccountID = t_Account.FAccountID  

    left outer join   t_Currency on t_VoucherEntry.FCurrencyID = t_Currency.FCurrencyID

    left outer join   t_MeasureUnit  on t_VoucherEntry.FMeasureUnitID = t_MeasureUnit.FMeasureUnitID

    where  t_VoucherEntry.FMeasureUnitID <> 0

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

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

     ---更新凭证分录中的计量单位

     update  t_VoucherEntry

     set     t_VoucherEntry.FMeasureUnitID = (

                select  DISTINCT  T2.FMeasureUnitID as 单位_单位内码 

                from    t_UnitGroup  as T1  left join  t_MeasureUnit as T2 on  T1.FUnitGroupID =   T2.FUnitGroupID 

                where   T1.FName = 'mdf计量组'                             --[变量1]---[计量单位]------档案的名称

                 and   T2.FName = '吨'                                     --[变量2]---[计量单位组]----档案的名称

             )                                                            

     where   t_VoucherEntry.FMeasureUnitID ='182'                          --变量3:凭证分录的计量单位原内码

 

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


001用友凭证导入金蝶.jpg

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