SQL更新-金蝶k3-科目属性(计量单位)

SQL更新金蝶k3-科目属性(计量单位)
照片名称:02.01.更新数量核算科目的单位
高清图片查看方法:点击图片---右键---在新标签页中打开图片(或全屏看图)


------------------------------------------------
--金蝶k3--<会计科目>--<计量单位>属性的修改
--比如:将<某些科目>---<计量单位>--更新为<指定的计量单位>
--1.1>.查询指定科目的<计量单位>
     select   t_Account.FNumber as 科目代码 , t_Account.FName as 科目名称 , t_Account.FFullName as 科目全称 , t_Account.FQuantities AS 是否数量辅助核算 , t_Account.FUnitGroupID as 计量单位组内码 , t_Account.FMeasureUnitID as 计量单位内码 
            , t_UnitGroup.FName  As   计量单位组别名称 , t_MeasureUnit.FNumber  As   计量单位代码 , t_MeasureUnit.FName  As   计量单位名称 
     from     t_Account  left outer join t_UnitGroup   on t_Account.FUnitGroupID   =  t_UnitGroup.FUnitGroupID   
                         left outer join t_MeasureUnit on t_Account.FMeasureUnitID =  t_MeasureUnit.FMeasureUnitID
     --where   t_Account.FNumber >='201' and t_Account.FNumber <='273'
     order by t_Account.FNumber
--1.2>.查询<所有计量单位>
     select     t_UnitGroup.FUnitGroupID  As   [计量单位组别ID*]    , t_UnitGroup.FName  As   [计量单位组别名称]  
              , t_MeasureUnit.FMeasureUnitID  As   [计量单位内码*]  , t_MeasureUnit.FNumber  As   计量单位代码 , t_MeasureUnit.FName  As   计量单位名称
     from       t_MeasureUnit  left outer join t_UnitGroup on  t_MeasureUnit.FUnitGroupID = t_UnitGroup.FUnitGroupID
     where      t_MeasureUnit.FMeasureUnitID <> 0 
--****************************************************************************************************
更新计量单位>   
--2.0>.--取消数量核算   
     update  t_Account
     set     t_Account.FQuantities = 0                                  --变量1:是否数量核算属性(0--不核算/1--挂上数量核算)
             , t_Account.FUnitGroupID = 0                              --变量2:计量单位组内码(0--不核算/千万不要填错)
             , t_Account.FMeasureUnitID = 0                          --变量3:计量单位内码  (0--不核算/千万不要填错)
     where   t_Account.FNumber >='128.01'                       --变量4:科目代码范围(128.01)
--****************************************************************************************************
--更新计量单位方案一>   
--注意事项:必须要清楚,对应<计量单位组的内码>和<计量单位的内码>,如果不清楚,请通过1.2>步骤,进行查询  
--2.1.1--举例1:>.更新指定科目的的<计量单位> = <数量组>(单位=个)   
     update  t_Account
     set     t_Account.FQuantities = 1                                  --变量1:是否数量核算属性(0--不核算/1--挂上数量核算)
             , t_Account.FUnitGroupID = 297                          --变量2:计量单位组内码(0--不核算/千万不要填错)
             , t_Account.FMeasureUnitID = 298                      --变量3:计量单位内码  (0--不核算/千万不要填错)
     where   t_Account.FNumber ='128.01'                         --变量4:科目代码范围(128.02)
--2.1.2--举例2:>.更新指定科目的的<计量单位> = <数量组>(单位=组)   
     update  t_Account
     set     t_Account.FQuantities = 1                                  --变量1:是否数量核算属性(0--不核算/1--挂上数量核算)
             , t_Account.FUnitGroupID = 297                          --变量2:计量单位组内码(0--不核算/千万不要填错)
             , t_Account.FMeasureUnitID = 307                      --变量3:计量单位内码  (0--不核算/千万不要填错)
     where   t_Account.FNumber ='128.02'                         --变量4:科目代码范围(128)
--****************************************************************************************************
--****************************************************************************************************
--建议采用方案二更新,更容易理解
--更新计量单位方案二>   
--注意事项:必须要清楚,对应<计量单位组的名称>和<计量单位的名称>,如果不清楚,请通过1.2>步骤,进行查询  
--2.2.1--举例1:>.更新指定科目的的<计量单位> = <数量组>(单位=个)   
     update  t_Account
     set     t_Account.FQuantities = 1                                                                     --变量1:是否数量核算属性(0--不核算/1--挂上数量核算)
            ,  t_Account.FUnitGroupID =   (select FUnitGroupID   from t_UnitGroup   where FName = '数量')    --变量2:计量单位组名称<数量>
            ,  t_Account.FMeasureUnitID = (select FMeasureUnitID from t_MeasureUnit where FName = '个')  --变量3:计量单位名称<个>
     where   t_Account.FNumber ='128.01'                                                             --变量4:科目代码范围(128.01)
--2.2.2--举例2:>.更新指定科目的的<计量单位> = <数量组>(单位=只)   
     update  t_Account
     set     t_Account.FQuantities = 1                                                                     --变量1:是否数量核算属性(0--不核算/1--挂上数量核算)
            ,  t_Account.FUnitGroupID =   (select FUnitGroupID   from t_UnitGroup   where FName = '数量')    --变量2:计量单位组名称<数量>
            ,  t_Account.FMeasureUnitID = (select FMeasureUnitID from t_MeasureUnit where FName = '只')  --变量3:计量单位名称<只>
     where   t_Account.FNumber ='128.02'                                                            --变量4:科目代码范围(128.02)
     
-------------------------------------