个人博客 用于记载日常收集的一些技术文章 ...
K3 功能 : 【视图】 a_ICClassLink 下推关系 K3 功能 : 【视图】 a_ICClassLink 下推关系 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【视图】 删除

if exists (select * from sys.views where object_id = OBJECT_ID(N'dbo.a_ICClassLink'))
drop view dbo.a_ICClassLink
go


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【视图】 a_ICClassLink 下推关系

create view dbo.a_ICClassLink
as
select FSourClassTypeID,FDestClassTypeID
,FIsUsed
,FSourBillFID,FSourBillFEntryID,FSourBillFBillNo
,FSRCIDKey,FSRCEntryIDKey,FSRCBillNoKey,FSRCClassIDKey
,FCondition
,FROB,FFieldName
,FUsePage,FDefaultPage
,FAllowCopy,FAllowCheck,FAllowForceCheck,FFlowControl

,FSourTranTypeID,FDestTranTypeID
,FSourTypeID,FDestTypeID
,FselectListID,FMustselected,FSystemReserved,FRemark
,FSourBillShowIndex
,FDeCondition
,FDeHCondition,FDeBCondition
,FObjectName,FObjectType,FObjectID
,FISUserDefine
,FUseSpec,FSrcDestPage,FSrcPage,FToRed
,FLookUpConditionUp,FLookUpConditionDown
,FDefault,FUnControl
--,FParaValue

from ICClassLink


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

select * from ICClassType -- 单据类型

select * from a_ICClassLink where FSourClassTypeID = -1
select * from a_ICClassLink where FSourClassTypeID = 210000001
*/
go
郭少锋 编辑 2023-09-05 17:57:30 创建 2023-09-05 16:54:45 K3 功能
服务 : 阿里云 服务 : 阿里云 阿里云服务器 39.99.225.55 administrator 1Star@2019*0731*** 郭少锋 编辑 2023-09-05 17:40:13 创建 2023-09-05 10:45:42 服务 服务 : 服务费 服务 : 服务费 230905 KIS 旗舰版 无电商 年服务费 4100 【总部收 65%】 返 34%

先确认商机在哪家公司,再在【系统管理】界面交钱,再返款
郭少锋 编辑 2023-09-05 17:38:56 创建 2023-09-05 17:02:26 服务
K3 功能 : 【存储过程】 a_Select 查询数据 K3 功能 : 【存储过程】 a_Select 查询数据 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【存储过程】 删除

if EXISTS (select * from sys.objects where object_id = OBJECT_ID(N'dbo.a_Select') AND type in (N'P', N'PC'))
drop procedure dbo.a_Select
go


------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【存储过程】 a_Select 查询数据


create procedure dbo.a_Select

@Table varchar(max) -- set @Table = 'ICClassTableInfo'
,@Field varchar(max) = '' -- set @Field = 'FClassTypeID,FPage,FCaption_CHS,FCaption_CHT,FCaption_EN,FKey,FFieldName,FTableName'
,@where varchar(max) = '' -- set @where = 'FClassTypeID = 210000001'
,@Order varchar(max) = '' -- set @Order = 'FPage,FTabIndex'
as
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

if @where !='' set @where = ' where '+ @where
if @Order !='' set @Order = ' order by '+ @Order

declare @Sql varchar(max) set @Sql = ''
-------------------------------------------------------------------------------------------------------------------------
if @Field = '' or @Field = '*' begin

select @Sql = 'select * from '+ @Table + @where + @Order

end else begin

declare @Find varchar(200) set @Find = ','

declare @Start int set @Start = 1
declare @end int set @end = 1
declare @Result varchar(50)

while 1 = 1
begin
set @Field = REPLACE(REPLACE(@Field,' ',''),char(10)+char(13),'')
set @end = CHARINDEX( @Find ,@Field ,@Start ); -- 找到 , 的位置

if @end = 0
set @end = LEN(@Field) + 1;

if @Start >= @end
break;

set @Result = SUBSTRING(@Field,@Start,@end-@Start) -- 截取文字
set @Start = @end + DATALENGTH(@Find)

-------------------------------------------------------------------------------------------------------------------------
select @Sql += '+'' ,''''''+ convert(varchar(max),'+ @Result +') +'''''' '+ @Result +'''
'
end

select @Sql = 'select '+ @Field +' ,''
insert '+ @Table +' ( '+ @Field +' ) select '+ stuff(@Sql,1,4,'') +' Txt
from '+ @Table +'
'+ @where +'
'+ @Order
end

exec( @Sql)

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

exec a_Select @Table = 'ICClassTableInfo'
,@Field = 'FClassTypeID,FPage,FCaption_CHS,FCaption_CHT,FCaption_EN,FKey,FFieldName'
,@where = 'FClassTypeID = 210000001'
,@Order = 'FPage,FTabIndex'

exec a_Select @Table = 'ICClassTableInfo'
,@Field = '*'
,@where = 'FClassTypeID = 210000001'
,@Order = 'FPage,FTabIndex'

exec a_Select 't_User','*','FName=''Administrator'''

exec a_Select 't_User','*',@Order = 'FName'

exec a_Select 't_User',@Order='FName'
exec a_Select 't_User',@Order='FName',@where='FName LIKE''%a%'''

*/
go
郭少锋 创建 2023-09-05 17:38:23 K3 功能
K3 功能 : K3 文本拆分成 数据表 K3 功能 : K3 文本拆分成 数据表 Select * From dbo.fn_SplitStringToTable('UserId VARCHAR(50)|UserName VARCHAR(50)', '|') --【拆分成 数据表】
/*
FSequence FValue FPosition FLength
1 UserId VARCHAR(50) 1 18
2 UserName VARCHAR(50) 20 20
*/
郭少锋 编辑 2023-09-05 16:11:28 创建 2023-09-05 15:00:54 K3 功能
SQL : Sql 取得 数据表字段 SQL : Sql 取得 数据表字段 Select * From t_User

SELECT name FROM syscolumns WHERE id = OBJECT_ID('t_User') --【取得 数据表字段】
郭少锋 编辑 2023-09-05 16:10:58 创建 2023-09-05 15:02:15 SQL
K3 功能 : K3 添加字段 K3 功能 : K3 添加字段 exec p_AlterTableAddColumns @TableName='t_CloudPassport',@Fields='FLicUserName VARCHAR(50)',@Delimeter='|' --【如果字段不存在,添加字段】 郭少锋 编辑 2023-09-05 16:10:21 创建 2023-09-05 15:02:35 K3 功能 K3 功能 : 【视图】 a_AccessControl 用户权限 K3 功能 : 【视图】 a_AccessControl 用户权限 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【视图】 删除

if exists (select * from sys.views where object_id = OBJECT_ID(N'dbo.a_AccessControl'))
drop view dbo.a_AccessControl
go


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【视图】 a_AccessControl 用户权限

create view dbo.a_AccessControl
as
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
select
a3.FGroupUserId
,a1.FUserID
,a4.FName FUserName

,isnull( a7.FGroupID ,'' ) FGroupID
,isnull( a7.FSubSys ,'' ) FSubSys
,isnull( a7.FAccess ,'' ) FAccess

,a1.FObjectType ,a8.FName FObjectTypeName
,a1.FObjectID ,a5.FName FObjectName

,a2.FIndex ,a2.FName ,a2.FDescription

,a1.FAccessType
,a1.FAccessMask FAccessMaskCtl
,a2.FAccessMask FAccessMaskType
,a2.FAccessUse

from t_AccessControl a1
join t_ObjectAccessType a2 on a2.FObjectType = a1.FObjectType and a2.FObjectID = a1.FObjectID
and a2.FAccessUse <> 262144
and a2.FAccessMask <> 262144
and ( a1.FAccessMask & a2.FAccessMask = a2.FAccessMask )

join ( select (case when FGroupID = 0 then FUserID else FGroupID end) FGroupID ,FUserID FGroupUserId from t_Group ) a3 on a3.FGroupID = a1.FUserID

join t_User a4 on a4.FUserID = a1.FUserID
join t_ObjectType a5 on a5.FObjectType = a1.FObjectType and a5.FObjectID = a1.FObjectID
join t_ObjectType a8 on a8.FObjectType = a1.FObjectType and a8.FObjectID = 0

left join t_ObjectAccess a6 on a6.FObjectType = a1.FObjectType and a6.FObjectID = a1.FObjectID and a6.FIndex = a2.FIndex
left join t_GroupAccessType a7 on a7.FGroupID = a6.FGroupID


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

select * from a_AccessControl -- 用户权限

where FGroupUserId = 16398
and FObjectType = 18
and FObjectID = 210001202

order by FUserId,FObjectType,FObjectID,FIndex ,FSubSys,FObjectTypeName,FObjectName,FName,FDescription
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

select distinct FGroupUserId,FObjectType,FObjectID,FIndex ,FSubSys,FObjectTypeName,FObjectName,FName,FDescription
from a_AccessControl

where FGroupUserId = 16398 and FObjectType = 18 and FObjectID = 210001202 and FDescription = 'NoAmount'

16398 郭少锋
16400 刘桂香
16403 马文琴

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


select * from t_User order by FUserID
select * from t_Group order by FUserID

select (case when FGroupID = 0 then FUserID else FGroupID end) FUserID from t_Group where FUserID = 16398



select * from t_AccessControl where FObjectID like '210001202%' -- a
select * from t_ObjectType where FObjectID like '21000%' -- o a.FObjectType = o.FObjectType and a.FObjectID = o.FObjectID

select * from t_ObjectType where FObjectID = 0 and FObjectType = 18

select * from t_ObjectAccess where FObjectID like '210001202%' -- y1 a.FObjectType = y1.FObjectType and a.FObjectID = y1.FObjectID

-- t3 not ( t3.fobjecttype=3 and t3.fobjectid=20 )

select * from t_ObjectAccessType where FObjectID like '210001202%' -- t4 t3.FObjectType = t4.FObjectType and t3.FObjectID = t4.FObjectID and t4.FAccessUse <> 262144 and t4.FAccessMask <> 262144 and ( t3.FAccessMask & t4.FAccessMask = t4.FAccessMask )
select * from t_GroupAccessType where FGroupID in ( 15 ,16 ) -- w2 t3.fgroupid=w2.fgroupid



select * from t_AccessControl where FObjectID like '210001202%' -- a
select * from t_ObjectAccessType where FObjectID like '210001202%' and FAccessUse <> 262144 and FAccessMask <> 262144 and ( 2129920 & FAccessMask = FAccessMask )


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 源代码


select distinct w2.FSubSys as FSubSys,t3.FTypeName,t4.FName as FItemName,t4.FDescription as FDescription,t3.FUserName,t3.FObjectType,t3.FObjectID,t4.FIndex
from (

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
select t1.FObjectType,t1.FObjectID,t1.FAccessMask,t1.FName as FTypeName,t2.FUserID,t2.FName as FUserName,t1.fgroupid
from (

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
select a.*,o.FName as FName,y1.fgroupid
from t_AccessControl a
,t_ObjectType o
,( select DISTINCT fobjecttype , fobjectid,fgroupid from t_objectaccess ) y1

where a.fObjectType=o.FObjectType and a.FObjectID=o.FObjectID and a.fobjecttype=y1.fobjecttype and a.fobjectid=y1.fobjectid and a.fobjectid = 210001202
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

) t1
,( select FUserID,FName from t_user where (FUserID>16394 or (FUserID>9 and fuserid <16384 )) and fuserid in(16398 )
) t2

where t1.FUserID=t2.FUserID

Union
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
select t1.FObjectType,t1.FObjectID,t1.FAccessMask,t1.FName as FTypeName,t2.FUserID,t2.FName as FUserName,t1.fgroupid
from (

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
select a.*,o.FName as FName,y1.fgroupid
from t_AccessControl a
,t_ObjectType o
,( select DISTINCT fobjecttype , fobjectid,fgroupid from t_objectaccess ) y1

where a.fObjectType=o.FObjectType and a.FObjectID=o.FObjectID and a.fobjecttype=y1.fobjecttype and a.fobjectid=y1.fobjectid and a.fobjectid = 210001202
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

) t1
,( select g.FUserID,FGroupID,FName from t_group g,t_user u where g.fuserid=u.fuserid and u.fuserid in(16398) and u.FUserID>16394
) t2

where t1.FUserID=t2.FGroupID
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

) t3
,t_ObjectAccessType t4
,t_GroupAccessType w2

where t3.FObjectType = t4.FObjectType
and t3.FObjectID = t4.FObjectID
and t3.fgroupid = w2.fgroupid

and (t3.FAccessMask & t4.FAccessMask = t4.FAccessMask )

and not ( t3.fobjecttype = 3 and t3.fobjectid = 20 )
and t4.FAccessUse <> 262144
and t4.FAccessMask <> 262144

order by w2.FSubSys,t3.FObjectType,t3.FObjectID,t4.FIndex,t3.FTypeName,t4.FName,t4.FDescription


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/
go
郭少锋 编辑 2023-09-05 16:09:41 创建 2023-09-05 16:02:58 K3 功能
K3 功能 : 【视图】 a_ObjectAccess 功能权限 K3 功能 : 【视图】 a_ObjectAccess 功能权限 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【视图】 删除

if exists ( select * from sys.views where object_id = OBJECT_ID(N'dbo.a_ObjectAccess') )
drop view dbo.a_ObjectAccess
go


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【视图】 a_ObjectAccess 功能权限


create view dbo.a_ObjectAccess
as
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
select a1.FGroupID

,isnull(a2.FSubSys,'') FGroupName
,isnull(a2.FAccess,'') FAccess

,a1.FObjectType
,isnull(a3.FName,'') FObjectTypeName

,a1.FObjectID
,isnull(a4.FName,'') FObjectName

,a1.FIndex
,isnull(CONVERT(varchar(50),a5.FName ) ,'') FAccessName
,isnull(CONVERT(varchar(50),a5.FAccessMask) ,'') FAccessMask

from t_ObjectAccess a1
left join t_GroupAccessType a2 on a1.FGroupID = a2.FGroupID
left join t_ObjectType a3 on a1.FObjectType = a3.FObjectType AND a3.FObjectID = 0
left join t_ObjectType a4 on a1.FObjectType = a4.FObjectType AND a1.FObjectID = a4.FObjectID
left join t_ObjectAccessType a5 on a1.FObjectType = a5.FObjectType AND a1.FObjectID = a5.FObjectID AND a1.FIndex = a5.FIndex

/*
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
select * from a_ObjectAccess where FAccess LIKE '%管理权%' AND FObjectTypeName LIKE '%%' AND FObjectName LIKE '%%'

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

select * from t_ObjectAccess --【模块名称.权限名称】
select * from t_GroupAccessType --【模块名称】
select * from t_ObjectType where FObjectID = 0 --【权限名称】
select * from t_ObjectType --【权限名称】
select * from t_ObjectAccessType --【功能名称】

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/
go
郭少锋 编辑 2023-09-05 16:09:14 创建 2023-09-05 16:00:44 K3 功能
K3 功能 : 【视图】 a_DataFlow 主控台列表 K3 功能 : 【视图】 a_DataFlow 主控台列表 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【视图】 删除

if exists (select * from sys.views where object_id = OBJECT_ID(N'dbo.a_DataFlow'))
drop view dbo.a_DataFlow
go


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--【视图】 a_DataFlow 主控台列表

create view dbo.a_DataFlow
as
select
isnull(a1.FToolTips ,'') FTopTips

,isnull(a1.FTopClassID ,'') FTopClassID
,isnull(a1.FTopClassName,'') FTopName

,isnull(a2.FSubSysID ,'') FSubSysID
,isnull(a2.FName ,'') FSubName

,isnull(a3.FSubFuncID ,'') FSubFuncID
,isnull(a3.FFuncName ,'') FSubFuncName

,isnull(a4.FDetailFuncID,'') FDetailFuncID
,isnull(a4.FFuncName ,'') FDetFuncName

,isnull(a1.FIndex ,'') FTopIndex
,isnull(a2.FIndex ,'') FSubIndex
,isnull(a3.FIndex ,'') FFuncIndex
,isnull(a4.FIndex ,'') FDetailIndex

,isnull(a1.FVisible ,'') FTopVisible
,isnull(a2.FVisible ,'') FSubVisible
,isnull(a3.FVisible ,'') FFuncVisible
,isnull(a4.FVisible ,'') FDetailVisible

from t_DataFlowTopClass a1
left join t_DataFlowSubSystem a2 on a2.FTopClassID = a1.FTopClassID
left join t_DataFlowSubFunc a3 on a3.FSubSysID = a2.FSubSysID
left join t_DataFlowDetailFunc a4 on a4.FSubFuncID = a3.FSubFuncID

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

select * from t_DataFlowTopClass ORDER BY FIndex --【供应链】
select * from t_DataFlowSubSystem where FTopClassID = 20 ORDER BY FSubSysID --【销售管理】
select * from t_DataFlowSubFunc where FSubSysID = 23 ORDER BY FSubSysID --【销售订单】
select * from t_DataFlowDetailFunc where FSubFuncID = 2302 ORDER BY FDetailFuncID --【销售订单 - 新增】

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
select * from a_DataFlow where FTopName = '供应链' AND FSubName = '销售管理' AND FSubFuncName = '销售订单'

*/
go
郭少锋 编辑 2023-09-05 16:08:56 创建 2023-09-05 16:06:37 K3 功能