个人博客 用于记载日常收集的一些技术文章 ...
K3 功能 : 用户管理 K3 功能 : 用户管理 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【用户管理】清空密码

update t_User set FSID = ') F ", ,P T #8 *P!D &D 80!N &@ <0 C ''< : !M &4 )0 ' where FUserID > 16397 -- 新建用户



--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【用户管理】


select * from t_UserType --【用户类别】
select * from t_User where FUserID < 16383 order by FUserID --【用户组 】
select * from t_User where FUserID > 16383 order by FUserID --【用户 】

select * from t_Group order by FGroupID,FUserID --【用户组.用户】


select * from t_User where FUserID < 16383 order by FName --【用户组】
select * from t_User where FUserID > 16383 order by FName --【用户 】




--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【用户权限】

select * from t_GroupAccess where FUserID = 16399 --【用户】【模块权限】
select * from t_AccessControl where FUserID = 16399 order by FUserID,FObjectType,FObjectID --【用户】【单据权限】

/*
delete from t_GroupAccess where FUserID = 16399 --【删除】【模块权限】
delete from t_AccessControl where FUserID = 16399 --【删除】【单据权限】
*/
郭少锋 编辑 2023-09-06 23:23:12 创建 2023-09-06 22:31:26 K3 功能
K3 功能 : 用户设置 K3 功能 : 用户设置 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 用户设置

select * from t_User where FName like '%少锋%' -- 16398 郭少锋
select * from t_UserProfile where FUserID=16398

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 用户设置:其他

select * from T_User_ExtInfo
select * from t_User_ExtInfo_Xuntong
select * from t_userAddInfo
select * from t_UserDefineMail
select * from t_UserDefineRpt
select * from t_UserDelRoleFunc

select * from t_UserDict
select * from t_UserItemClassRight

select * from t_UserMainField
select * from t_UserPrivilege

select * from t_UserRoleInfo

select * from t_UserSuspendWorkFieldList
select * from t_UserSuspendWorkTab
select * from t_UserSuspendWorkTypeMain
郭少锋 编辑 2023-09-06 22:29:03 创建 2023-09-06 22:23:39 K3 功能
K3 功能 : 主控台编辑 K3 功能 : 主控台编辑 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 主控台编辑

select * from t_UserTopClass

select * from t_UserSubSystem
select * from t_UserSubFunc
select * from t_UserDetailFunc
select * from t_UserDataFlowProfile

select * from t_DataFlowTimeStamp

exec a_Select 'a_DataFlow' ,@Where = 'FTopName like ''%%'' and FSubName like ''%%'' and FSubFuncName like ''%%'' and FTopClassID > 0 '
,@Order = 'FTopVisible desc,FTopIndex,FTopClassID,FSubIndex,FFuncIndex,FDetailIndex '

/*
delete t_UserTopClass
delete t_UserSubSystem
delete t_UserSubFunc
delete t_UserDetailFunc

update t_DataFlowTimeStamp set FName = FName -- 更新主控台
*/
郭少锋 编辑 2023-09-06 22:27:33 创建 2023-09-06 22:22:44 K3 功能
K3 功能 : 系统设置 K3 功能 : 系统设置 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 系统设置

select * from t_SystemProfile WHERE FCategory='IC' and FKey IN ('SetFilterFieldListByColIndex','FilterWildcardCharAsCommonChar')
郭少锋 创建 2023-09-06 22:25:53 K3 功能
K3 功能 : 单据设置 K3 功能 : 单据设置 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 序时簿设置

select * from ICClassUserProfile where FUserID = 16398 and FSection like 'List210000001'


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 单据体设置

-- delete from ICClassUserProfile where FSection like '%BillSet%' -- 删除 单据体设置

select * from ICClassUserProfile where FUserID = 16398 and FSection like 'BillSet2100016%'
delete from ICClassUserProfile where FUserID = 16398 and FSection like 'BillSet2100016%'

select * from ICClassUserProfile where FSection='BillSet210001202' and FValue like '%FBase10%'

exec aSelect 'ICClassTableInfo' ,@Field = 'FID,FClassTypeID,FPage,FKey,FCaption_CHS,FFieldName,FTableName,FListIndex,FTabIndex '
,@where = 'FCaption_CHS like ''%款式%'' '
,@order = 'FClassTypeID,FPage,FTabIndex'
郭少锋 创建 2023-09-06 22:24:29 K3 功能
K3 功能 : 过滤方案 K3 功能 : 过滤方案 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 过滤方案

select * from ICClassProfile where FUserID = 16398 and FTranType = 210001202

select * from ICClassProfileEntry where FSchemeID in (
select FSchemeID from ICClassProfile where FUserID = 16398 and FTranType = 210001202
)
and FKey = 'ColHide'


------------------------------------------------------------------------------------------------------------------
select * from ICClassProfileEntry where FSchemeID = 10387

select * from ICClassProfileEntry where FSchemeID >= 999999978

/*
delete FROM ICClassProfileEntry where FSchemeID In (
SELECT FSchemeID FROM ICClassProfile where FUserID = 16399 AND FTranType = 210001201
)

SELECT MAX(FSchemeID) AS MAXID from ICClassProfile where FSchemeID<999999978

INSERT INTO ICClassProfile(FSchemeID,FSchemeName,FUserID,FTranType,FSysName,FStatus,FIsShare) VALUES(10387,'全部字段',16398,210000003,'',0,0)

INSERT INTO ICSchemeSharing(FUserID,FSchemeID,FTranType,FIsDel) Values(0,10387,210000003,0)

INSERT INTO ICClassProfileEntry(FSchemeID,FType,FKey,FValue) VALUES(10387,0,'AdvancedFieldList','||0##<&0##<&')
INSERT INTO ICClassProfileEntry(FSchemeID,FType,FKey,FValue) VALUES(10387,0,'AdvancedFilterStr','')
INSERT INTO ICClassProfileEntry(FSchemeID,FType,FKey,FValue) VALUES(10387,0,'ColAlign','a_StockBill.FVoucherId=0|a_StockBill.FPrintCount=0|t_User1.FName=0|a_StockBill.FMultiCheckStatus=0|t_User.FName=0|a_StockBill.FDate=0|a_StockBill.FBillNo=0|a_CompanyEntry.FName=0|t_SubMessage.FName=0|a_StockBillEntry.FSrcBillNo=0|a_StockBillEntry.FSrcIndex=0|ICClassType1.FName_CHS=0|t_Item_3001.FNumber._0011_FBaseProperty2=0|t_Item_3001.FName=0|a_StockBill.FOrderNoCust=0|t_Item_3001.F_108._0049_FBaseProperty8=0|t_Emp.FNumber._0040_FBaseProperty3=0|t_Emp.FName=0|t_Department.FNumber._0041_FBaseProperty4=0|t_Department.FName=0|t_Stock.FName=0|t_ICItem.FNumber=0|t_ICItem.FName._0002_FBaseProperty=0|t_ICItem.FModel._0003_FBaseProperty1=0|t_AuxItem.FName=0|t_Measureunit.FName=0|a_StockBillEntry.FQtySale=0|a_StockBillEntry.FPriceSale=0|a_StockBillEntry.FAmountSale=0|t_Measureunit1.FName=0|a_StockBillEntry.FQtyBase=0|a_StockBillEntry.FPriceBase=0|a_StockBillEntry.FPriceCost=0|a_StockBillEntry.FAmountCost=0|a_StockBill.FExplanation=0|a_StockBillEntry.FNoteCust=0|a_StockBillEntry.FNote=0|')
INSERT INTO ICClassProfileEntry(FSchemeID,FType,FKey,FValue) VALUES(10387,0,'ColHide','a_StockBill.FVoucherId=-1|a_StockBill.FPrintCount=0|t_User1.FName=-1|a_StockBill.FMultiCheckStatus=0|t_User.FName=-1|a_StockBill.FDate=-1|a_StockBill.FBillNo=-1|a_CompanyEntry.FName=-1|t_SubMessage.FName=-1|a_StockBillEntry.FSrcBillNo=-1|a_StockBillEntry.FSrcIndex=-1|ICClassType1.FName_CHS=-1|t_Item_3001.FNumber._0011_FBaseProperty2=-1|t_Item_3001.FName=-1|a_StockBill.FOrderNoCust=-1|t_Item_3001.F_108._0049_FBaseProperty8=-1|t_Emp.FNumber._0040_FBaseProperty3=-1|t_Emp.FName=-1|t_Department.FNumber._0041_FBaseProperty4=-1|t_Department.FName=-1|t_Stock.FName=-1|t_ICItem.FNumber=-1|t_ICItem.FName._0002_FBaseProperty=-1|t_ICItem.FModel._0003_FBaseProperty1=-1|t_AuxItem.FName=-1|t_Measureunit.FName=-1|a_StockBillEntry.FQtySale=-1|a_StockBillEntry.FPriceSale=-1|a_StockBillEntry.FAmountSale=-1|t_Measureunit1.FName=-1|a_StockBillEntry.FQtyBase=-1|a_StockBillEntry.FPriceBase=-1|a_StockBillEntry.FPriceCost=-1|a_StockBillEntry.FAmountCost=-1|a_StockBill.FExplanation=-1|a_StockBillEntry.FNoteCust=-1|a_StockBillEntry.FNote=-1|')
INSERT INTO ICClassProfileEntry(FSchemeID,FType,FKey,FValue) VALUES(10387,0,'ColIndex','a_StockBill.FVoucherId=1|a_StockBill.FPrintCount=2|t_User1.FName=3|a_StockBill.FMultiCheckStatus=4|t_User.FName=5|a_StockBill.FDate=6|a_StockBill.FBillNo=7|a_CompanyEntry.FName=8|t_SubMessage.FName=9|a_StockBillEntry.FSrcBillNo=10|a_StockBillEntry.FSrcIndex=11|ICClassType1.FName_CHS=12|t_Item_3001.FNumber._0011_FBaseProperty2=13|t_Item_3001.FName=14|a_StockBill.FOrderNoCust=15|t_Item_3001.F_108._0049_FBaseProperty8=16|t_Emp.FNumber._0040_FBaseProperty3=17|t_Emp.FName=18|t_Department.FNumber._0041_FBaseProperty4=19|t_Department.FName=20|t_Stock.FName=21|t_ICItem.FNumber=22|t_ICItem.FName._0002_FBaseProperty=23|t_ICItem.FModel._0003_FBaseProperty1=24|t_AuxItem.FName=25|t_Measureunit.FName=26|a_StockBillEntry.FQtySale=27|a_StockBillEntry.FPriceSale=28|a_StockBillEntry.FAmountSale=29|t_Measureunit1.FName=30|a_StockBillEntry.FQtyBase=31|a_StockBillEntry.FPriceBase=32|a_StockBillEntry.FPriceCost=33|a_StockBillEntry.FAmountCost=34|a_StockBill.FExplanation=35|a_StockBillEntry.FNoteCust=36|a_StockBillEntry.FNote=37|')
INSERT INTO ICClassProfileEntry(FSchemeID,FType,FKey,FValue) VALUES(10387,0,'ColWidth','a_StockBill.FVoucherId=737|a_StockBill.FPrintCount=737|t_User1.FName=567|a_StockBill.FMultiCheckStatus=1077|t_User.FName=567|a_StockBill.FDate=737|a_StockBill.FBillNo=737|a_CompanyEntry.FName=737|t_SubMessage.FName=737|a_StockBillEntry.FSrcBillNo=737|a_StockBillEntry.FSrcIndex=737|ICClassType1.FName_CHS=737|t_Item_3001.FNumber._0011_FBaseProperty2=737|t_Item_3001.FName=737|a_StockBill.FOrderNoCust=737|t_Item_3001.F_108._0049_FBaseProperty8=737|t_Emp.FNumber._0040_FBaseProperty3=907|t_Emp.FName=567|t_Department.FNumber._0041_FBaseProperty4=737|t_Department.FName=340|t_Stock.FName=737|t_ICItem.FNumber=737|t_ICItem.FName._0002_FBaseProperty=737|t_ICItem.FModel._0003_FBaseProperty1=737|t_AuxItem.FName=737|t_Measureunit.FName=737|a_StockBillEntry.FQtySale=737|a_StockBillEntry.FPriceSale=737|a_StockBillEntry.FAmountSale=737|t_Measureunit1.FName=737|a_StockBillEntry.FQtyBase=1077|a_StockBillEntry.FPriceBase=1077|a_StockBillEntry.FPriceCost=1247|a_StockBillEntry.FAmountCost=737|a_StockBill.FExplanation=340|a_StockBillEntry.FNoteCust=737|a_StockBillEntry.FNote=737|')
INSERT INTO ICClassProfileEntry(FSchemeID,FType,FKey,FValue) VALUES(10387,0,'OrderBy','')
INSERT INTO ICClassProfileEntry(FSchemeID,FType,FKey,FValue) VALUES(10387,0,'Relation','')
INSERT INTO ICClassProfileEntry(FSchemeID,FType,FKey,FValue) VALUES(10387,0,'RelationExt','FVoucherID=0|FCheckId=0|FMultiCheckStatus=0|')
INSERT INTO ICClassProfileEntry(FSchemeID,FType,FKey,FValue) VALUES(10387,0,'RelationFormula','')
INSERT INTO ICClassProfileEntry(FSchemeID,FType,FKey,FValue) VALUES(10387,0,'SelPage',',1*,2,')
INSERT INTO ICClassProfileEntry(FSchemeID,FType,FKey,FValue) VALUES(10387,0,'TransferWildcard','0')

*/
郭少锋 创建 2023-09-06 22:23:10 K3 功能
K3 功能 : 【函数】dbo.a_BillNo 生成编号 K3 功能 : 【函数】dbo.a_BillNo 生成编号 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【函数】 删除

if exists ( select * from sys.objects where object_id = object_id(N'dbo.a_BillNo') and type in (N'FN', N'if', N'TF', N'FS', N'FT') )
drop function dbo.a_BillNo
go


------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【函数】 dbo.a_BillNo( 'No.','0',4,123 ) 生成编号:No.0123

create function dbo.a_BillNo
(
@Start varchar(20) -- 前缀
,@replace varchar(10) -- 补齐文字

,@len int -- 长度
,@Num int -- 数字
)
returns varchar(max)
as
begin
-----------------------------------------------------------------------
declare @txt varchar(50) = cast(@num as varchar);

if len(@num) > @len begin
set @len = 0
end
else begin
set @len = @len - len(@num)
end;

return @Start + replicate( @replace,@len ) + @txt

end

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/* 调用:

select dbo.a_BillNo( 'No.','x',4 ,12 ) --【生成编号】No.xx12

select dbo.a_BillNo( 'No.','0',4 ,12 ) --【生成编号】No.0012
select dbo.a_BillNo( 'No.','0',4 ,123456 ) --【生成编号】No.123456
*/
go
郭少锋 编辑 2023-09-06 18:07:49 创建 2023-09-05 17:19:08 K3 功能
K3 功能 : 【函数】dbo.a_Space 生成空格 K3 功能 : 【函数】dbo.a_Space 生成空格 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【函数】 删除

if exists ( select * from sys.objects where object_id = object_id(N'dbo.a_Space') and type in (N'FN', N'if', N'TF', N'FS', N'FT') )
drop function dbo.a_Space
go


------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【函数】dbo.a_Space( 'xxx','10cn' ) 生成空格

create function dbo.a_Space
(
@Txt varchar(max)
,@Count varchar(max)
)
returns varchar(max)
as
begin
---------------------------------------------------------------------------------------------------------------------------------------------
declare @Count1 int set @Count1 = convert( int,dbo.a_NumTxt(@Count))

declare @Count2 int set @Count2 = @Count1 * ( case when dbo.a_EnTxt(@Count) = 'cn'then 2 else 1 end )
declare @Space varchar(max)

set @Space = SPACE(
case when dataLength( @Txt ) > @Count2
then 0
else @Count2 - dataLength( @Txt )
end )
---------------------------------------------------------------------------------------------------------------------------------------------
return isnull(@Space,'')
end

/*
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

select dbo.a_Space( '金额(本位币)','15' ) --【补齐空格】 3空格
select dbo.a_Space( '金额(本位币)','15en' ) --【补齐空格】 3空格
select dbo.a_Space( '金额(本位币)','8cn' ) --【补齐空格】 4空格

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

declare @Count int set @Count = 10
declare @Txt varchar(1000) set @Txt = '销售发票(专用)1:,'

select dataLength(@Txt) 个数_全角2半角1
,len(@Txt) 个数_不区分半角
,dataLength(@Txt) - len(@Txt) 中文个数
,len(@Txt)*2 - dataLength(@Txt) 非中文个数
,@Count
,@Count*2 - dataLength(@Txt)

个数_全角2半角1 个数_不区分半角 中文个数 非中文个数
17 11 6 5

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/
go
郭少锋 编辑 2023-09-06 18:04:25 创建 2023-09-05 23:13:00 K3 功能
K3 功能 : 【函数】 dbo.a_SignTxt 提取符号 K3 功能 : 【函数】 dbo.a_SignTxt 提取符号 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【函数】 删除

if exists ( select * from sys.objects where object_id = object_id(N'dbo.a_SignTxt') and type in (N'FN', N'if', N'TF', N'FS', N'FT') )
drop function dbo.a_SignTxt
go


------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【函数】 dbo.a_SignTxt( 'xxx' ) 提取符号

create function dbo.a_SignTxt
(
@Txt varchar(max)
)
returns varchar(max)
as
begin
---------------------------------------------------------------------------------------------------------------------------------------------
declare @Word nchar(1) ,@Cn varchar(max) set @Cn = ''

while len(@Txt) > 0
begin
set @Word = LEFT( @Txt ,1 )

if ( UNICODE( @Word ) BETWEEN 33 and 47 ) -- ! " # $ % & ' ( ) * + , - . /
OR ( UNICODE( @Word ) BETWEEN 58 and 64 ) -- : ; < = > ? @
OR ( UNICODE( @Word ) BETWEEN 91 and 96 ) -- [ \ ] ^ _ `
OR ( UNICODE( @Word ) BETWEEN 123 and 126 ) -- { | } ~

OR ( UNICODE( @Word ) BETWEEN 65281 and 65295 ) -- ! " # $ % & ' ( ) * + , - . /
OR ( UNICODE( @Word ) BETWEEN 65306 and 65312 ) -- : ; < = > ? @
OR ( UNICODE( @Word ) BETWEEN 65339 and 65344 ) --[ \ ] ^ _ `
OR ( UNICODE( @Word ) BETWEEN 65371 and 65374 ) --{ | } ~
begin
set @Cn = @Cn + @Word
end

set @Txt = RIGHT( @Txt ,len(@Txt)-1 )
end
---------------------------------------------------------------------------------------------------------------------------------------------
return @Cn
end

/*
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

select dbo.a_SignTxt( '金额B(+本23位.币-3,)$as2#0.6BCD' ) -- 提取符号:(+.-,)$#.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/
go
郭少锋 创建 2023-09-06 18:03:07 K3 功能
K3 功能 : 【函数】 dbo.a_CnTxt 提取中文 K3 功能 : 【函数】 dbo.a_CnTxt 提取中文 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【函数】 删除

if exists ( select * from sys.objects where object_id = object_id(N'dbo.a_CnTxt') and type in (N'FN', N'if', N'TF', N'FS', N'FT') )
drop function dbo.a_CnTxt
go


------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【函数】 dbo.a_CnTxt( 'xxx' ) 提取中文

create function dbo.a_CnTxt
(
@Txt varchar(max)
)
returns varchar(max)
as
begin
---------------------------------------------------------------------------------------------------------------------------------------------
declare @Word nchar(1) ,@Cn varchar(max) set @Cn = ''

while len(@Txt) > 0
begin
set @Word = LEFT( @Txt ,1 )

if ( UNICODE( @Word ) BETWEEN 11904 and 12245 )
OR ( UNICODE( @Word ) BETWEEN 13312 and 40938 )
OR ( UNICODE( @Word ) BETWEEN 59413 and 59492 )
OR ( UNICODE( @Word ) BETWEEN 57424 and 57838 )
OR ( UNICODE( @Word ) BETWEEN 63744 and 64046 )
OR ( UNICODE( @Word ) BETWEEN 64047 and 64109 ) begin

set @Cn = @Cn + @Word
end

set @Txt = RIGHT( @Txt ,len(@Txt)-1 )
end
---------------------------------------------------------------------------------------------------------------------------------------------
return @Cn
end

/*
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

select dbo.a_CnTxt( '金额B(+本23位.币-3,)$as2#0.6BCD' ) -- 提取中文:金额本位币

------------------------------------------------------------------------------------------------------------------
-- 查看 UNICODE 对应的文字

declare @Int int set @Int = 1
declare @Int2 int set @Int2 = @Int + 5000

while @Int < @Int2
begin
PRINT convert( varchar(100),@Int ) + char(9) + isnull( nchar(@Int),'')

set @Int += 1
end

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/
go
郭少锋 创建 2023-09-06 18:00:23 K3 功能