--Creation Begin
— @Table Name? varchar(255),
— @Primary Key? varchar(255),
— @Name Column? varchar(255)
declare
@Table Name? varchar(255),
@Primary Key? varchar(255),
@Name Column? varchar(255)
select @Table Name? = 'CommandRun'
select @Primary Key? = 'xxxxx'
select @Name Column? = 'yyyyy'
declare @iRet int
declare @TC_Class varchar(24), @TCT_Table varchar(255)
— Verification of the class existing and class creation if not exists
--
declare @Human Name? varchar(255)
--Root class creation
select @TC_Class = 'CommandRun'
select @Human Name? = 'Указатель команды'
if not exists (select * from Class where Name=@TC_Class)
begin
exec
Obj Create Class? @TC_Class, @
Human Name?, 'Doc', 0, 0, 0, 0, 0, 0
end
— Creation of the table folder
declare @Table_Folder int,@
Folder Name? varchar(255),@tmp varchar(255)
select @Table_Folder = (select UDN from Roots where Root Name?='Seller')
select @Folder Name? = 'Команды ОМ
if not exists (select * from Roots where Root Name?='CommandRun')
begin
exec
Doc Create Enlisted? @Table_Folder, @
Folder Name?, 'Enlisted', @Table_Folder output
insert into Roots (UDN,
Root Name?, Comment) values (@Table_Folder, 'CommandRun', @
Folder Name?)
end
— Verification of the class table existing
if exists (select * from sysobjects where xtype='U' and name='TCT_CommandRun') drop table TCT_CommandRun
create table TCT_CommandRun
(
Pr Key? varchar(255) not NULL,
status int not NULL,
UDN int not NULL
)
GO
if exists (select * from sysobjects where xtype='U' and name='Synch') drop table Synch
create table Synch
(
UDN int null,
spid int null,
name varchar(128) null
)
GO
- - Privilledge installation
exec
Ins Privilege? 'edit_CommandRun','Редакция указателя команды','Команды ОС’
exec
Ins Privilege? 'view_CommandRun','Просмотр указателя команды','Команды ОС’
exec
Ins Privilege? 'Run_CommandRun_','Выполнить команду','Команды ОС’
exec
Ins Privilege? 'Run_CommandRun','Выполнить команду','Команды ОС’
exec
Ins Privilege? 'CommandRun_Block_','
Блокировать / разр.выполнение? команды','Команды ОC’
exec
Ins Privilege? 'CommandRun_Unblock_','
Разблокировать / запр.выполнение? команды','Команды ОC’
exec
Ins Privilege? 'CommandRun_Block','
Блокировать / разр.выполнение? команды','Команды ОC’
exec
Ins Privilege? 'CommandRun_Unblock','
Разблокировать / запр.выполнение? команды','Команды ОC’
GO
if exists(select * from sysobjects where name='DocCreateCommandRun')
drop procedure
Doc Create Command Run?
GO
create PROCEDURE
Doc Create Command Run?
--as it to use:
— exec @UDN =
— Doc Create TC Client? @Doc Name?, @No, @Pr Key?, 'CommandRun', @Table_Folder, @fld
@name varchar(128),
@no varchar(128),
@
Pr Key? varchar(255), --File name to run
@class varchar(24),
@fld integer,
@UDN integer output
AS
declare @ret int, @tmp varchar(128), @newUDN int
exec
Get Schema? -99999, @class
if @ret>0 goto clo
update Detailed set String Value?=@name
where
Value Id?='Name' and UDN=-99999 and u=@@spid
update Detailed set
String Value?=@no
where
Value Id?='No' and UDN=-99999 and u=@@spid
update Detailed set
String Value?=@
Pr Key?where
Value Id?='PrKey' and UDN=-99999 and u=@@spid
exec
Put Down? -99999, @fld, @UDN output
if @ret>0 goto clo
select @newUDN = @UDN
return @newUDN
clo:
GO
declare @udn int
exec Doc Create Numerator? 'Нумератор команды', 'CommandRun','CommandRun',@udn