ZFRAME AI ENGINE
AI PROMPT for WORKING WITH ZFRAME
کار کردن و شناخت زی فریم
CREATE TABLE [dbo].[SYS_ACE](
[Sys_ACE_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[ACE_NUMBER] [int] NULL,
[Sys_ACE_Name] [nvarchar](50) NULL,
[Sys_ACE_Caption] [nvarchar](50) NULL,
[Sort_Order] [int] NULL,
[Description] [nvarchar](4000) NULL,
[SQL_Formula] [nvarchar](4000) NULL,
[Version_Number] [int] NOT NULL,
[Sys_System_ID] [int] NULL,
 CONSTRAINT [PK_SYS_ACE] PRIMARY KEY CLUSTERED
(
[Sys_ACE_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_ACE_Parameter]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_ACE_Parameter](
[Sys_ACE_Parameter_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[SYS_ACE_ID] [numeric](18, 0) NULL,
[Parameter_Name] [nvarchar](50) NULL,
[Sort_Order] [int] NULL,
[Parameter_Description] [nvarchar](4000) NULL,
[Parameter_OUT_Formula] [nvarchar](4000) NULL,
 CONSTRAINT [PK_Sys_ACE_Parameter] PRIMARY KEY CLUSTERED
(
[Sys_ACE_Parameter_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Application_Log]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Application_Log](
[Sys_Application_Log_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_Object_ID] [int] NULL,
[DateValue] [nchar](10) NULL,
[TimeValue] [nchar](10) NULL,
[Sys_User_ID] [int] NULL,
[ActionID] [int] NULL,
[RecordID] [numeric](18, 0) NULL,
[Sys_Connection_Log_ID] [numeric](18, 0) NULL,
[Data] [ntext] NULL,
 CONSTRAINT [PK_Sys_Application_Log] PRIMARY KEY CLUSTERED
(
[Sys_Application_Log_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[SYS_APPLICATION_MESSAGE_LANGUAGES]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[SYS_APPLICATION_MESSAGE_LANGUAGES](
[SYS_APPLICATION_MESSAGE_LANGUAGE_ID] [int] IDENTITY(1,1) NOT NULL,
[SYS_APPLICATION_MESSAGE_ID] [int] NULL,
[SYS_LANGUAGE_ID] [int] NULL,
[MESSAGE_DESCRIPTION] [nvarchar](255) NULL,
[SYS_HELP_ID] [int] NULL,
[Create_User_ID] [numeric](18, 0) NULL,
[Create_Date] [nchar](10) NULL,
[Update_User_ID] [numeric](18, 0) NULL,
[Update_Date] [nchar](10) NULL,
 CONSTRAINT [PK_SYS_APPLICATION_MESSAGE_LANGUAGES] PRIMARY KEY CLUSTERED
(
[SYS_APPLICATION_MESSAGE_LANGUAGE_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[SYS_APPLICATION_MESSAGES]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[SYS_APPLICATION_MESSAGES](
[SYS_APPLICATION_MESSAGE_ID] [int] IDENTITY(1,1) NOT NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[MESSAGE_TYPE_ID] [int] NULL,
[MESSAGE_CODE] [nvarchar](50) NULL,
[MESSAGE_DESCRIPTION] [nvarchar](255) NULL,
[SYS_HELP_ID] [int] NULL,
[SYS_SYSTEM_ID] [int] NULL,
[SYS_OBIECT_ID] [int] NULL,
[REMARKS] [nvarchar](4000) NULL,
[IS_ACTIVE] [bit] NULL,
[Create_User_ID] [numeric](18, 0) NULL,
[Create_Date] [nchar](10) NULL,
[Update_User_ID] [numeric](18, 0) NULL,
[Update_Date] [nchar](10) NULL,
[REC_VERSION] [int] NULL,
 CONSTRAINT [PK_SYS_APPLICATION_MESSAGES] PRIMARY KEY CLUSTERED
(
[SYS_APPLICATION_MESSAGE_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Application_Word]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Application_Word](
[Sys_Application_Word_ID] [int] NOT NULL,
[Word] [nvarchar](4000) NULL,
[Text] [nvarchar](4000) NULL,
 CONSTRAINT [PK_Sys_Application_Word] PRIMARY KEY CLUSTERED
(
[Sys_Application_Word_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Channel]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Channel](
[Sys_Channel_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_System_ID] [int] NOT NULL,
[Channel_Name] [nvarchar](50) NOT NULL,
[Description] [nvarchar](4000) NULL,
[Active] [char](1) NOT NULL,
[CreateDate] [char](20) NOT NULL,
 CONSTRAINT [PK_Sys_Channel] PRIMARY KEY CLUSTERED
(
[Sys_Channel_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Channel_Element]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Channel_Element](
[Sys_Channel_Element_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_Channel_ID] [int] NOT NULL,
[Sys_Element_Type_ID] [int] NOT NULL,
[Sys_Protocol_ID] [int] NOT NULL,
[Element_Name] [nvarchar](50) NOT NULL,
[Active] [char](1) NOT NULL,
[Config] [nvarchar](4000) NOT NULL,
[PacketSeparateChar] [nchar](10) NULL,
[PacketHeader] [nvarchar](100) NULL,
[PacketFooter] [nvarchar](100) NULL,
[PacketDataLen] [int] NULL,
[ElementSeparateChar] [nchar](10) NULL,
[Authentication] [char](1) NOT NULL,
 CONSTRAINT [PK_Sys_Channel_Element] PRIMARY KEY CLUSTERED
(
[Sys_Channel_Element_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[SYS_COLUMN]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[SYS_COLUMN](
[SYS_COLUMN_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[SYS_TABLE_ID] [numeric](18, 0) NULL,
[SYS_SYSTEM_ID] [numeric](18, 0) NULL,
[DATABASE_NAME] [nvarchar](50) NULL,
[SCHEMA_NAME] [nvarchar](250) NULL,
[TABLE_NAME] [nvarchar](250) NULL,
[COLUMN_NAME] [nvarchar](250) NULL,
[COLUMN_TITLE] [nvarchar](400) NULL,
[DATA_TYPE] [nvarchar](50) NULL,
[DESCRIPTION] [nvarchar](50) NULL,
[TITLE] [nvarchar](50) NULL,
[COUNT_OF_CONTROL] [int] NULL,
[IS_INDEX] [bit] NULL,
[IS_PK] [bit] NULL,
[ORDINAL_POSITION] [int] NULL,
 CONSTRAINT [PK_SYS_COLUMN] PRIMARY KEY CLUSTERED
(
[SYS_COLUMN_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[SYS_COMPONENT]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[SYS_COMPONENT](
[Sys_Component_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[COMPONENT_NAME] [nvarchar](50) NULL,
[COMPONENT_DESCRIPTION] [nvarchar](100) NULL,
[CODE] [ntext] NULL,
 CONSTRAINT [PK_Sys_Component] PRIMARY KEY CLUSTERED
(
[Sys_Component_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[Sys_Concurrency](
[Sys_Object_ID] [int] NOT NULL,
[RecordID] [numeric](18, 0) NOT NULL,
[Sys_User_ID] [int] NOT NULL,
[QueryModeID] [int] NOT NULL,
[Lock] [bit] NOT NULL,
[LockDateTime] [char](25) NOT NULL,
[SessionID] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_Sys_Concurrency_1] PRIMARY KEY CLUSTERED
(
[Sys_Object_ID] ASC,
[RecordID] ASC,
[Sys_User_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Connection_Log]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Connection_Log](
[Sys_Connection_Log_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_User_ID] [int] NULL,
[UserName] [nvarchar](20) NULL,
[UserPass] [nvarchar](50) NULL,
[Connection_Date] [nvarchar](10) NULL,
[Connection_Time] [nvarchar](10) NULL,
[IP_Address] [nvarchar](50) NULL,
[Mac_Address] [nvarchar](50) NULL,
[ExitDate] [nchar](10) NULL,
[ExitTime] [nchar](10) NULL,
 CONSTRAINT [PK_Connection_Log] PRIMARY KEY CLUSTERED
(
[Sys_Connection_Log_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Control_Type]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Control_Type](
[Sys_Control_Type_ID] [int] NOT NULL,
[Control_Type_Name] [nvarchar](50) NULL,
[Abbreviation] [nvarchar](3) NULL,
[Data] [bit] NULL,
[ControlTag] [nvarchar](4000) NULL,
[ChildTag] [nvarchar](4000) NULL,
[IsFullRow] [int] NULL,
 CONSTRAINT [PK_LT_Control_Type] PRIMARY KEY CLUSTERED
(
[Sys_Control_Type_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_CRUD_Type]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_CRUD_Type](
[Sys_CRUD_Type_ID] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_Sys_CRUD_Type] PRIMARY KEY CLUSTERED
(
[Sys_CRUD_Type_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Data_Type]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Data_Type](
[Sys_Data_Type_ID] [smallint] NOT NULL,
[Name] [nchar](10) NULL,
 CONSTRAINT [PK_Sys_Data_Type] PRIMARY KEY CLUSTERED
(
[Sys_Data_Type_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_DataBase_Type]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_DataBase_Type](
[Sys_DataBase_Type_ID] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[Active] [bit] NOT NULL,
[ConnectionTemplate] [nvarchar](50) NOT NULL,
[Driver] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_Sys_DataBase_Type] PRIMARY KEY CLUSTERED
(
[Sys_DataBase_Type_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Default_Value]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Default_Value](
[Sys_Default_Value_ID] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_Sys_Session] PRIMARY KEY CLUSTERED
(
[Sys_Default_Value_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Design_Pattern]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Design_Pattern](
[Sys_Design_Pattern_ID] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_Design_Pattern] PRIMARY KEY CLUSTERED
(
[Sys_Design_Pattern_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Dev_Query]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Dev_Query](
[Sys_Dev_Query_ID] [int] IDENTITY(1,1) NOT NULL,
[Query_Code] [nvarchar](1000) NULL,
[Name] [nvarchar](100) NULL,
[Value] [nvarchar](100) NULL,
 CONSTRAINT [PK_Dev_Query] PRIMARY KEY CLUSTERED
(
[Sys_Dev_Query_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Dic]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Dic](
[Sys_Dic_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_Language_ID] [int] NULL,
[Sys_Dic_Object_Type_ID] [int] NULL,
[Sys_ID] [numeric](18, 0) NULL,
[Text] [nvarchar](4000) NULL,
[Manual] [int] NULL,
 CONSTRAINT [PK_Sys_Dic] PRIMARY KEY CLUSTERED
(
[Sys_Dic_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Dic_Object_Type]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Dic_Object_Type](
[Sys_Dic_Object_Type_ID] [int] NOT NULL,
[Name] [nvarchar](50) NULL,
 CONSTRAINT [PK_Sys_Dic_Object_Type] PRIMARY KEY CLUSTERED
(
[Sys_Dic_Object_Type_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Element_Relation]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Element_Relation](
[Sys_Element_Relation_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[FSys_Channel_Element_ID] [int] NULL,
[TSys_Channel_Element_ID] [int] NULL,
 CONSTRAINT [PK_Sys_Element_Relation] PRIMARY KEY CLUSTERED
(
[Sys_Element_Relation_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Element_Structure]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Element_Structure](
[Sys_Element_Structure_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_Channel_Element_ID] [int] NOT NULL,
[SequenceNumber] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[Sys_Data_Type_ID] [smallint] NOT NULL,
[StartIndex] [int] NULL,
[EndIndex] [int] NULL,
[ISOutput] [char](1) NOT NULL,
 CONSTRAINT [PK_Sys_Element_Structure] PRIMARY KEY CLUSTERED
(
[Sys_Element_Structure_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Element_Type]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Element_Type](
[Sys_Element_Type_ID] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_Sys_Element_Type] PRIMARY KEY CLUSTERED
(
[Sys_Element_Type_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Error_Log]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Error_Log](
[Sys_Error_Log_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_User_ID] [numeric](18, 0) NULL,
[LOG_Date] [nchar](10) NULL,
[LOG_Time] [nchar](10) NULL,
[ExptionError] [ntext] NULL,
[Trace_log] [ntext] NULL,
[Module_Name] [nvarchar](100) NULL,
[Chain_Name] [nvarchar](1000) NULL,
 CONSTRAINT [PK_Sys_Error_Log] PRIMARY KEY CLUSTERED
(
[Sys_Error_Log_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Execute_Model]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Execute_Model](
[Sys_Execute_Model_ID] [int] NOT NULL,
[Execute_Model_Title] [nvarchar](50) NULL,
 CONSTRAINT [PK_Execute_Model] PRIMARY KEY CLUSTERED
(
[Sys_Execute_Model_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Grid]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Grid](
[Sys_Grid_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_System_ID] [int] NULL,
[Grid_Number] [nvarchar](50) NULL,
[Grid_Name] [nvarchar](50) NULL,
[Grid_Title] [nvarchar](250) NULL,
[PaginationQuery] [int] NULL,
[Grid_DataSource] [nvarchar](4000) NULL,
[Grid_Style_Code] [nvarchar](4000) NULL,
[Record_Count_Query] [nvarchar](4000) NULL,
[SelectionTextButton] [nvarchar](50) NULL,
[Grid_Session_Name] [nvarchar](50) NULL,
[GridRuleID] [int] NULL,
[Description] [nvarchar](4000) NULL,
[CssClass] [nvarchar](50) NULL,
[Authentication] [int] NULL,
[ShowSelectCheck] [int] NULL,
[SYS_OBJECT_ID] [numeric](18, 0) NULL,
 CONSTRAINT [PK_Sys_Grid] PRIMARY KEY CLUSTERED
(
[Sys_Grid_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Grid_Access]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Grid_Access](
[Sys_Grid_Access_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_Grid_ID] [int] NULL,
[Sys_UserGroup_ID] [int] NULL,
 CONSTRAINT [PK_Sys_Grid_Access] PRIMARY KEY CLUSTERED
(
[Sys_Grid_Access_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Grid_Profile]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Grid_Profile](
[Sys_Grid_Profile_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_User_ID] [int] NULL,
[GridName] [nvarchar](400) NULL,
[GridSetting] [nvarchar](4000) NULL,
 CONSTRAINT [PK_Sys_Grid_Profile] PRIMARY KEY CLUSTERED
(
[Sys_Grid_Profile_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Http_Code]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Http_Code](
[Sys_HTTP_Code_ID] [int] IDENTITY(1,1) NOT NULL,
[Http_Code] [int] NULL,
[Description] [nvarchar](50) NULL,
 CONSTRAINT [PK_Sys_Http_Code] PRIMARY KEY CLUSTERED
(
[Sys_HTTP_Code_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Import_Date]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Import_Date](
[Sys_Import_Data_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_Object_ID] [int] NULL,
[File_Name] [nvarchar](400) NULL,
[SheetCount] [int] NULL,
[Create_Date] [nchar](10) NULL,
[IS_Active] [bit] NULL,
[Description] [nvarchar](400) NULL,
 CONSTRAINT [PK_Sys_Import_Date] PRIMARY KEY CLUSTERED
(
[Sys_Import_Data_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Import_Sheet]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Import_Sheet](
[Sys_import_Sheet_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_Import_Data_ID] [numeric](18, 0) NULL,
[Sheet_Number] [int] NULL,
[Column_Count] [int] NULL,
[Active_Header] [bit] NULL,
[Can_Update] [bit] NULL,
[KeyColumn] [int] NULL,
[Insert_Query] [nvarchar](4000) NULL,
[Update_Query] [nvarchar](4000) NULL,
[CheckExistQuery] [nvarchar](4000) NULL,
 CONSTRAINT [PK_Sys_Import_Sheet] PRIMARY KEY CLUSTERED
(
[Sys_import_Sheet_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Import_Sheet_Cell]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Import_Sheet_Cell](
[Sys_Import_Sheet_Cell_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_Import_Sheet_ID] [numeric](18, 0) NULL,
[Cell_Number] [int] NULL,
[Cell_Title] [nvarchar](50) NULL,
[Parameter_Name] [nvarchar](50) NULL,
[Sys_Data_Type_ID] [int] NULL,
 CONSTRAINT [PK_Sys_Import_Sheet_Cell] PRIMARY KEY CLUSTERED
(
[Sys_Import_Sheet_Cell_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Language]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Language](
[Sys_Language_ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NULL,
[Caption] [nvarchar](50) NULL,
[LTR] [int] NULL,
[Active] [int] NULL,
[Tag] [char](5) NULL,
 CONSTRAINT [PK_Sys_Language] PRIMARY KEY CLUSTERED
(
[Sys_Language_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Notification]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Notification](
[Sys_Notification_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_System_ID] [int] NULL,
[Sys_Object_ID] [int] NULL,
[Name] [nvarchar](50) NULL,
[LoadQuery] [nvarchar](4000) NULL,
[Caption] [nvarchar](1000) NULL,
[Active] [int] NULL,
[Interval] [int] NULL,
[UrlAddress] [nvarchar](1000) NULL,
[ImageAddress] [nvarchar](50) NULL,
 CONSTRAINT [PK_Sys_Notification] PRIMARY KEY CLUSTERED
(
[Sys_Notification_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Notification_Group]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Notification_Group](
[Sys_Notification_Group_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_UserGroup_ID] [int] NULL,
[Sys_Notification_ID] [int] NULL,
 CONSTRAINT [PK_Sys_Notification_Group] PRIMARY KEY CLUSTERED
(
[Sys_Notification_Group_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Object]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Object](
[Sys_Object_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_System_ID] [int] NOT NULL,
[Sys_Object_Name] [nvarchar](250) NULL,
[Sys_Object_Caption] [nvarchar](250) NULL,
[Record_Source] [nvarchar](max) NULL,
[Grid_Source] [nvarchar](max) NULL,
[Sys_Design_Pattern_ID] [int] NULL,
[Validator] [bit] NULL,
[Alternative_Sys_Object_ID] [int] NULL,
[DataBaseObjectName] [nvarchar](100) NULL,
[RuleID] [int] NULL,
[ReportRuleID] [int] NULL,
[ShowMode] [int] NULL,
[Authentication] [bit] NULL,
[UpdateMode] [int] NULL,
[LTR] [int] NULL,
[GridSelectText] [nvarchar](50) NULL,
[ConcurrencyMode] [int] NULL,
[CacheKey] [nvarchar](50) NULL,
[GridSessionName] [nvarchar](50) NULL,
[CSSClass] [nvarchar](50) NULL,
[HEADER_TAG] [nvarchar](4000) NULL,
[GRID_LOAD_MODE] [int] NULL,
[GRID_SELECT_COUNT] [nvarchar](4000) NULL,
[OBJECT_GUID] [nvarchar](1000) NULL,
[SYS_PACKAGE_ID] [int] NULL,
[NEW_ACTION] [int] NULL,
 CONSTRAINT [PK_Sys_Object] PRIMARY KEY CLUSTERED
(
[Sys_Object_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Object_Child]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Object_Child](
[Sys_Object_Child_ID] [int] IDENTITY(1,1) NOT NULL,
[Parent_Sys_Object_ID] [int] NOT NULL,
[Child_Sys_Object_ID] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[Child_Data_Sourse] [nvarchar](max) NOT NULL,
[Caption] [nvarchar](50) NOT NULL,
[Active] [bit] NOT NULL,
[KeyName] [nvarchar](50) NULL,
[IS_SINGLE_RECORD] [bit] NULL,
 CONSTRAINT [PK_Sys_Object_Child] PRIMARY KEY CLUSTERED
(
[Sys_Object_Child_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Object_Control]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Object_Control](
[Sys_Object_Control_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_Object_ID] [int] NOT NULL,
[Active] [bit] NOT NULL,
[Control_Name] [nvarchar](150) NULL,
[Control_Caption] [nvarchar](150) NULL,
[DataBase_Key] [nvarchar](150) NULL,
[Sys_Control_Type_ID] [int] NULL,
[Data_Length] [smallint] NULL,
[Min_Value] [smallint] NULL,
[Max_Value] [smallint] NULL,
[Control_DataSource] [nvarchar](max) NULL,
[Control_Location_X] [int] NULL,
[Control_Location_Y] [int] NULL,
[Control_Height] [int] NULL,
[Control_Width] [int] NULL,
[Sequence_Number] [int] NULL,
[InputValue] [nvarchar](2) NULL,
[DataBaseValue] [nvarchar](2) NULL,
[RequiredFieldText] [nvarchar](200) NULL,
[RequiredFieldRegular] [nvarchar](100) NULL,
[CssClass] [nvarchar](50) NULL,
[ValidatorCssClass] [nvarchar](50) NULL,
[Tag] [nvarchar](4000) NULL,
[FindFormID] [int] NULL,
[FillQuery] [nvarchar](max) NULL,
[UpdateQuery] [nvarchar](max) NULL,
[DeleteQuery] [nvarchar](max) NULL,
[Sys_Default_Value_ID] [int] NULL,
[Sys_Data_Type_ID] [smallint] NULL,
[TextMode] [nvarchar](50) NULL,
[JavaScriptAction] [nvarchar](4000) NULL,
[CacheKey] [nvarchar](50) NULL,
[ReadOnly] [bit] NULL,
[Attributes1] [nvarchar](100) NULL,
[Attributes2] [nvarchar](100) NULL,
[Attributes3] [nvarchar](100) NULL,
[Disable] [bit] NULL,
[ToolTip] [nvarchar](400) NULL,
[Related_Control_Id] [nvarchar](200) NULL,
[HTML_ELEMENTS] [nvarchar](1000) NULL,
[CSS_ELEMENTS] [nvarchar](1000) NULL,
[FindFormguid] [nvarchar](200) NULL,
 CONSTRAINT [PK_Sys_Object_Control] PRIMARY KEY CLUSTERED
(
[Sys_Object_Control_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Object_Control_Lookup]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Object_Control_Lookup](
[Sys_Object_Control_Lookup_ID] [bigint] IDENTITY(1,1) NOT NULL,
[Sys_Object_Control_ID] [int] NOT NULL,
[Child_Sys_Object_Control_ID] [int] NOT NULL,
[Query] [nvarchar](max) NOT NULL,
 CONSTRAINT [PK_Sys_Object_Control_Lookup] PRIMARY KEY CLUSTERED
(
[Sys_Object_Control_Lookup_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[SYS_OBJECT_CONTROL_VALIDATION_SETUP]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[SYS_OBJECT_CONTROL_VALIDATION_SETUP](
[SYS_OBJECT_CONTROL_VALIDATION_SETUP_ID] [int] IDENTITY(1,1) NOT NULL,
[SYS_OBJECT_CONTROL_ID] [int] NULL,
[SYS_OBJECT_ID] [int] NULL,
[DATA_SERVICE_ORDER] [int] NULL,
[VALIDATION_REQUIRED] [int] NULL,
[ALLOW_NULL] [bit] NULL,
[ERROR_APPLICATION_MESSAGE_ID] [int] NULL,
[VALIDATE_TYPE_ID] [int] NULL,
[MINIMUM_VALUE] [int] NULL,
[MAXIMUM_VALUE] [int] NULL,
[BE_GREATER_THAN] [int] NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[SYS_OBJECT_SETUP_ID] [int] NULL,
 CONSTRAINT [PK_SYS_OBJECT_CONTROL_VALIDATION_SETUP] PRIMARY KEY CLUSTERED
(
[SYS_OBJECT_CONTROL_VALIDATION_SETUP_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Object_Query]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Object_Query](
[Sys_Object_Query_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_Object_ID] [int] NOT NULL,
[Sys_CRUD_Type_ID] [int] NOT NULL,
[Query] [nvarchar](max) NOT NULL,
[QueryIndex] [int] NOT NULL,
[ExecuteMessage] [nvarchar](400) NULL,
[ExecuteErrorMessage] [nvarchar](400) NULL,
[BeforExecuteMessage] [nvarchar](400) NULL,
[CacheKey] [nvarchar](50) NULL,
[SYS_EXECUTE_MODEL_ID] [int] NULL,
[RECORD_ID_INDEX] [int] NULL,
[MESSAGE_ID_INDEX] [int] NULL,
[MESSAGE_TEXT_INDEX] [int] NULL,
 CONSTRAINT [PK_Sys_Object_Query] PRIMARY KEY CLUSTERED
(
[Sys_Object_Query_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Object_Rule]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Object_Rule](
[Sys_Object_Rule_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_Object_ID] [int] NOT NULL,
[Rule_Name] [nvarchar](1000) NULL,
[Columns_Name] [nvarchar](300) NULL,
[Operator] [nvarchar](20) NULL,
[Value] [nvarchar](4000) NULL,
[Sys_Object_Control_ID] [int] NULL,
[Property_Name] [nvarchar](300) NULL,
[Setvalue] [nvarchar](4000) NULL,
[Sort_Order] [int] NULL,
[Active] [bit] NULL,
[Parent_ID] [int] NULL,
 CONSTRAINT [PK_Sys_Object_Rule] PRIMARY KEY CLUSTERED
(
[Sys_Object_Rule_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Object_Rule_Control]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Object_Rule_Control](
[Sys_Object_Rule_Control_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_Object_ID] [int] NOT NULL,
[RNew] [bit] NOT NULL,
[RSave] [bit] NOT NULL,
[RDelete] [bit] NOT NULL,
[RSearch] [bit] NOT NULL,
[RPrint] [bit] NOT NULL,
[RFirest] [bit] NOT NULL,
[RBack] [bit] NOT NULL,
[RNext] [bit] NOT NULL,
CREATE TABLE [dbo].[Sys_Process_State](
[Sys_Process_State_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_Process_ID] [int] NOT NULL,
[Sys_Object_ID] [int] NULL,
[StateName] [nvarchar](50) NOT NULL,
[StateIndex] [int] NULL,
[Description] [nvarchar](50) NOT NULL,
[LimitDay] [int] NOT NULL,
[Active] [bit] NOT NULL,
[GridSourceQueryInThisState] [nvarchar](max) NULL,
 CONSTRAINT [PK_Sys_Process_State] PRIMARY KEY CLUSTERED
(
[Sys_Process_State_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Process_State_UG]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Process_State_UG](
[Sys_Process_State_UG_ID] [bigint] IDENTITY(1,1) NOT NULL,
[Sys_UserGroup_ID] [int] NOT NULL,
[Sys_Process_State_ID] [int] NOT NULL,
 CONSTRAINT [PK_Sys_Process_State_UserGroup] PRIMARY KEY CLUSTERED
(
[Sys_Process_State_UG_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Process_Transition]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Process_Transition](
[Sys_Process_Transition_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[From_Sys_Process_State_ID] [int] NOT NULL,
[To_Sys_Process_State_ID] [int] NOT NULL,
[TransitionName] [nvarchar](50) NOT NULL,
[Description] [nvarchar](1000) NOT NULL,
[Transition_Condition] [nvarchar](max) NOT NULL,
[TransitionQuery] [nvarchar](max) NULL,
 CONSTRAINT [PK_Sys_Process_Transition] PRIMARY KEY CLUSTERED
(
[Sys_Process_Transition_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Process_Transition_L]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Process_Transition_L](
[Sys_Process_Transition_L_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_Process_Transition_ID] [numeric](18, 0) NOT NULL,
[Date] [nchar](10) NOT NULL,
[Time] [nchar](10) NOT NULL,
[From_Sys_Object_ID] [int] NOT NULL,
[Form_Sys_Object_KeyID] [numeric](18, 0) NOT NULL,
[To_Sys_Object_ID] [int] NULL,
[To_Sys_Object_KeyID] [numeric](18, 0) NULL,
[Sys_Application_Log_ID] [numeric](18, 0) NOT NULL,
[Active] [bit] NOT NULL,
[TraceCode] [numeric](18, 0) NOT NULL,
[ChangeCount] [int] NULL,
 CONSTRAINT [PK_Sys_Process_Transition_Log] PRIMARY KEY CLUSTERED
(
[Sys_Process_Transition_L_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Process_Transition_LC]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Process_Transition_LC](
[Sys_Process_Transition_LC_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_Process_Transition_L_ID] [numeric](18, 0) NOT NULL,
[Sys_Application_Log_ID] [numeric](18, 0) NOT NULL,
 CONSTRAINT [PK_Sys_Process_Transition_Log_Change] PRIMARY KEY CLUSTERED
(
[Sys_Process_Transition_LC_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Protocol]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Protocol](
[Sys_Protocol_ID] [int] NOT NULL,
[Protocol_Name] [nvarchar](50) NOT NULL,
[Config_Model] [nvarchar](4000) NULL,
 CONSTRAINT [PK_Sys_Protocol] PRIMARY KEY CLUSTERED
(
[Sys_Protocol_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Proxy_Server]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Proxy_Server](
[Sys_Proxy_Server_ID] [int] IDENTITY(1,1) NOT NULL,
[Proxy_Server_ID] [int] NULL,
[Proxy_Server_Url] [nvarchar](1000) NULL,
[Description] [nvarchar](4000) NULL,
[IS_Active] [int] NULL,
 CONSTRAINT [PK_Sys_Proxy_Server] PRIMARY KEY CLUSTERED
(
[Sys_Proxy_Server_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Report_DataSet]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Report_DataSet](
[Sys_Report_DataSet_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_Object_ID] [int] NOT NULL,
[DatasetName] [nvarchar](1000) NOT NULL,
[LoadQuery] [nvarchar](max) NOT NULL,
[IndexNumber] [int] NOT NULL,
 CONSTRAINT [PK_Sys_Report_DataSet] PRIMARY KEY CLUSTERED
(
[Sys_Report_DataSet_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Report_DataSet_Object]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Report_DataSet_Object](
[Sys_Report_DataSet_Object_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_Report_DataSet_ID] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[Type_Value] [nvarchar](50) NOT NULL,
[IndexNumber] [int] NOT NULL,
 CONSTRAINT [PK_Sys_Report_DataSet_Object] PRIMARY KEY CLUSTERED
(
[Sys_Report_DataSet_Object_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Report_File]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Report_File](
[Sys_Report_File_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_Object_ID] [numeric](18, 0) NULL,
[Report_File] [ntext] NULL,
[Version_No] [int] NULL,
 CONSTRAINT [PK_Sys_Report_File] PRIMARY KEY CLUSTERED
(
[Sys_Report_File_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_REST_Function]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_REST_Function](
[Sys_REST_Function_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_System_ID] [int] NULL,
[FunctionName] [nvarchar](255) NULL,
[BaseUrl] [nvarchar](400) NULL,
[Authentication] [bit] NULL,
[Function_RuleID] [int] NULL,
[Function_Query] [nvarchar](4000) NULL,
[Call_Method] [int] NULL,
[Function_Description] [nvarchar](4000) NULL,
[OTTAction] [bit] NULL,
[Default_output] [nvarchar](4000) NULL,
[Error_output] [nvarchar](4000) NULL,
[Http_Sucess_Code] [int] NULL,
[Http_Error_Code] [int] NULL,
[Sys_Execute_Model_ID] [int] NULL,
[FunctionVersion] [nvarchar](50) NULL,
[USE_IN_WORKFLOW] [int] NULL,
[Description] [nvarchar](4000) NULL,
 CONSTRAINT [PK_Sys_REST_Function] PRIMARY KEY CLUSTERED
(
[Sys_REST_Function_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_REST_Function_Param]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_REST_Function_Param](
[Sys_REST_Function_Param_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_REST_Function_ID] [int] NULL,
[IndexNumber] [int] NULL,
[ParamName] [nvarchar](150) NULL,
[NotNull] [int] NULL,
[DataType] [nvarchar](50) NULL,
 CONSTRAINT [PK_Sys_REST_Function_Param] PRIMARY KEY CLUSTERED
(
[Sys_REST_Function_Param_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_rest_output]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_rest_output](
[sys_rest_output_id] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[sys_rest_function_id] [numeric](18, 0) NULL,
[parent_id] [numeric](18, 0) NULL,
[schema_name] [nvarchar](50) NULL,
[query] [nvarchar](4000) NULL,
[sortorder] [int] NULL,
[is_active] [int] NULL,
[check_access] [int] NULL,
[Can_rollback] [int] NULL,
 CONSTRAINT [pk_sys_rest_output] PRIMARY KEY CLUSTERED
(
[sys_rest_output_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_rest_output_p]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_rest_output_p](
[sys_rest_output_p_id] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[sys_rest_output_id] [numeric](18, 0) NULL,
[sys_rest_function_id] [numeric](18, 0) NULL,
[param_name] [nvarchar](200) NULL,
 CONSTRAINT [pk_sys_rest_output_p] PRIMARY KEY CLUSTERED
(
[sys_rest_output_p_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_rest_output_pga]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_rest_output_pga](
[sys_rest_output_pga_id] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[sys_rest_output_p_id] [numeric](18, 0) NULL,
[sys_user_group_id] [numeric](18, 0) NULL,
 CONSTRAINT [pk_sys_rest_output_pga] PRIMARY KEY CLUSTERED
(
[sys_rest_output_pga_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_rest_output_qp]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_rest_output_qp](
[sys_rest_output_qp_id] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[sys_rest_output_id] [numeric](18, 0) NULL,
[parameter_name] [nvarchar](50) NULL,
[parameter_type_id] [int] NULL,
[ref_parameter_value] [nvarchar](50) NULL,
 CONSTRAINT [pk_sys_rest_output_qp] PRIMARY KEY CLUSTERED
(
[sys_rest_output_qp_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Server_Config]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Server_Config](
[Sys_Server_Config_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Key_Name] [nvarchar](500) NULL,
[Key_Value] [nvarchar](4000) NULL,
[IS_Active] [int] NULL,
 CONSTRAINT [PK_Sys_Server_Config] PRIMARY KEY CLUSTERED
(
[Sys_Server_Config_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Service_Relation]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Service_Relation](
[Sys_Service_Relation_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_Object_Service_ID] [int] NOT NULL,
[Sys_WS_Function_Parameter_ID] [int] NOT NULL,
[Sys_Object_Control_ID] [int] NOT NULL,
[ProcessFunction] [nvarchar](4000) NULL,
 CONSTRAINT [PK_Sys_Service_Relation] PRIMARY KEY CLUSTERED
(
[Sys_Service_Relation_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Source_Code]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Source_Code](
[Sys_Source_Code_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_Object_ID] [int] NULL,
[Code] [ntext] NULL,
[Source_Code_Type_ID] [int] NULL,
[Rule_ID] [int] NULL,
[Description] [nvarchar](400) NULL,
[CompileError] [ntext] NULL,
[CreateDate] [nvarchar](50) NULL,
[Active] [int] NULL,
[ClassName] [nvarchar](50) NULL,
[PackageName] [nvarchar](50) NULL,
 CONSTRAINT [PK_Sys_Source_Code] PRIMARY KEY CLUSTERED
(
[Sys_Source_Code_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_Structure_Relation]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_Structure_Relation](
[Sys_Structure_Relation_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[FSys_Element_Structure_ID] [numeric](18, 0) NOT NULL,
[TSys_Element_Structure_ID] [numeric](18, 0) NOT NULL,
[ProcessFunction] [nvarchar](max) NULL,
[FunctionType] [int] NULL,
 CONSTRAINT [PK_Sys_Structure_Relation] PRIMARY KEY CLUSTERED
(
[Sys_Structure_Relation_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_System]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_System](
[Sys_System_ID] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[Title] [nvarchar](50) NOT NULL,
[Sys_DataBase_Type_ID] [int] NOT NULL,
[DataBaseConnectionString] [nvarchar](4000) NOT NULL,
[DataBaseUserName] [nvarchar](50) NOT NULL,
[DataBasePassword] [nvarchar](50) NOT NULL,
[DataBaseServerAddress] [nvarchar](50) NOT NULL,
[DataBaseSchemaName] [nvarchar](50) NOT NULL,
[DataBasePort] [int] NOT NULL,
[ApplicationUrl] [nvarchar](4000) NOT NULL,
[JDBCCnn] [nvarchar](4000) NULL,
[LTR] [int] NULL,
[SortOrder] [int] NULL,
[is_Active] [int] NULL,
[Connection_pool_count] [int] NULL,
 CONSTRAINT [PK_Sys_System] PRIMARY KEY CLUSTERED
(
[Sys_System_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[SYS_TABLE]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[SYS_TABLE](
[SYS_TABLE_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[SYS_SYSTEM_ID] [numeric](18, 0) NULL,
[DATABASE_NAME] [nvarchar](50) NULL,
[SCHEMA_NAME] [nvarchar](50) NULL,
[TABLE_NAME] [nvarchar](250) NULL,
[IS_ACTIVE_LOG] [bit] NULL,
[IS_LOOKUP] [bit] NULL,
[IS_ENUM] [bit] NULL,
[DESCRIPTION] [nvarchar](4000) NULL,
 CONSTRAINT [PK_SYS_TABLE] PRIMARY KEY CLUSTERED
(
[SYS_TABLE_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_WebService]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_WebService](
[Sys_WebService_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_System_ID] [int] NOT NULL,
[UrlAddress] [nvarchar](1000) NOT NULL,
[ActionUrl] [nvarchar](4000) NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[NameSpace] [nvarchar](400) NULL,
[EnvelopePrefix] [nvarchar](50) NULL,
 CONSTRAINT [PK_Sys_WebService] PRIMARY KEY CLUSTERED
(
[Sys_WebService_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_WebService_Function]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_WebService_Function](
[Sys_WebService_Function_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_WebService_ID] [int] NULL,
[FunctionName] [nvarchar](50) NULL,
[OutputType] [nvarchar](50) NULL,
[FunctionIndex] [int] NULL,
 CONSTRAINT [PK_Sys_WebService_Function] PRIMARY KEY CLUSTERED
(
[Sys_WebService_Function_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_WorkFlow]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_WorkFlow](
[Sys_Workflow_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_System_ID] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[NavigateAddress] [nvarchar](400) NOT NULL,
[FormName] [nvarchar](50) NOT NULL,
[Active] [bit] NOT NULL,
[Parent_ID] [int] NULL,
[IndexNumber] [int] NOT NULL,
[KeyNumber] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_Sys_WorkFlow] PRIMARY KEY CLUSTERED
(
[Sys_Workflow_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_WorkflowForm]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_WorkflowForm](
[Sys_WorkflowForm_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_Workflow_ID] [int] NOT NULL,
[Sys_Object_ID] [int] NOT NULL,
[IndexNumber] [int] NOT NULL,
[ShowButton] [bit] NOT NULL,
[PanelID] [nvarchar](250) NOT NULL,
[Active] [bit] NOT NULL,
[KeyNumber] [nvarchar](250) NOT NULL,
 CONSTRAINT [PK_WorkflowForm] PRIMARY KEY CLUSTERED
(
[Sys_WorkflowForm_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[Sys_WS_Function_Parameter]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Sys_WS_Function_Parameter](
[Sys_WS_Function_Parameter_ID] [int] IDENTITY(1,1) NOT NULL,
[Sys_WebService_Function_ID] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[TypeName] [nvarchar](50) NOT NULL,
[IndexNumber] [int] NOT NULL,
 CONSTRAINT [PK_Sys_WS_Function_Parameter] PRIMARY KEY CLUSTERED
(
[Sys_WS_Function_Parameter_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[TEMP_ERROR]    Script Date: 8/29/2024 2:57:09 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TEMP_ERROR](
[Sys_Error_Log_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[Sys_User_ID] [numeric](18, 0) NULL,
[LOG_Date] [nchar](10) NULL,
[LOG_Time] [nchar](10) NULL,
[ExptionError] [ntext] NULL,
[Trace_log] [ntext] NULL,
[Module_Name] [nvarchar](100) NULL,
[Chain_Name] [nvarchar](1000) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ین سند دربرگیرندهی توصیف معماری مورداستفاده در طراحی و پیادهسازی زی فریم میباشد . هدف اصلی این سند، ثبت و مستندسازی مجموعه تصمیمهای کلیدی اتخاذشده در خصوص چگونگی ساختاردهی، انتخابهای فنی و ملاحظات تحقق نیازمندیهای کارکردی و غیرکارکردی در این پلت فرم توسعه نرم افزار میباشد.
هدف
اهداف اصلی از تهیه سند توصیف معماری پروژه زیر ساخت زی فریم  عبارتاند از:
• بیان اهداف و نیازمندیهای معماری
• ثبت تصمیمهای مهم معماری
• ارائه مکانیسمهای معماری در نظر گرفتهشده
• نمایش نماهای مختلف معماری برای توصیف بهتر سامانهها
دامنه کاربرد
محدودهی این سند، زی فریم  و تمامی اجزای آن است. این سند در مراحل آتی بهعنوان مرجعی برای طراحی، پیادهسازی و استقرار پروژه  های مبتنی بر تکنولوژی زی فریم  مورداستفاده قرار میگیرد.
زی فریم چیست
در زبان فارسی زی به معنی زندگی کردن و فریم همان چهار چوب میباشد  زی فریم (چهارچوب زندگی) بستری برای تولید نرم افزار میباشد
سامانه نرم افزاری زیفریم (ZFrame) اين امکان را برای کاربر فراهم میآورد تا به سرعت و به سادگی يک سامانه رايانهای کوچک تا بزرگ برای فرآيندهای کسب و کار مورد نیاز طراحی و توليد نمايد، این  سامانه یک نرمافزار بومی است که دارای قابليتهای يک سامانه SPL ( Software Product Line ) میباشد.
زیفریم (ZFrame) رويکردی است سيستماتيک به منظور هرچه کارا نمودن گردش کارهای يک سازمان به نحوی که برخوردار از قابليت انطباقپذيری نسبت به تغييرات پيرامونی باشد.
برای تولید یک نرم افزار سازمانی راهکارهای فراوانی در دنیای امروز وجود دارد برای مثال یک تیم توسعه نرم افزار می تواند از ابزارهای تولید نرم افزار ماکروسافت مانند C#، VB .NET، Microsoft SharePoint ، JAVA، SPRING و خیلی دیگر از ابزارها وتکنولوژیها بهره بگیرند، اما زمانی که ابعاد پروژهه بزرگ میباشد مشکلات متعددی دست به دامان تیم توسعه خواهد شد، استفاده از یک فریمورک برای استانداردسازی و تسهیل در توسعه نرم افزار و خرید زمان می تواند کمک حال یک شرکت باشد.
1. در زی فریم میتوان منو ، فرم ، سرویس ، فرآیند و چرخه کار را تعریف نمود
2. زی فریم مجموعه ای از تکنولوژی ها می باشد که در تولید و توسعه نرم افزار، سرعت ، قدرت ، امنیت و یکپارچگی را با  کمترین میزان کد نویسی محیا میسازد
نیازمندیهای یک تیم نرم افزاری
نیازمندیهای یک تیم نرم افزاری برای تولید یک نرم افزار شامل از موارد زیر میباشد
1. انجام امور به صورت گروهی
2. مستند سازی فرآیند ها، ثبت نیاز مندی ها و موارد کاربرد
3. طراحی بانک اطلاعاتی
4. طراحی فرم
5. طراحی سرویس (REST)
6. طراحی گزارش
7. توسعه و پیاده سازی ماژول های اختصاصی
8. مانیتور کردن رفتار سیستم برای بهینه سازی
9. لاگ گرفتن (کارکردی و غیر کارکردی)
10. امنیت، اهراز هویت و مدیریت دسترسی به فرم ها، سرویس ها و گزارشات
11. نصب و استقرار
در زی فریم تمامی موارد ذکر شده در فوق قابل انجام میباشد.
دست آورد ها و هدف از تولید این زیر ساخت
1. توليد سامانههای دامنه محور با کمترين زمان و هزينه
2. رهايی از مشکلات فنی و تمرکز بر استخراج معماری فرآيندها
3. کاهش ريسک پذيرش تغييرات نيازمندیها
4. ايجاد امکان مشارکت کارشناسان فناوری اطلاعات سازمانها در اعمال تغييرات و پشتيبانی
5. تسهيل در اعمال استانداردهای نرمافزاری به صورت متمرکز
6. ارتقا کيفیت محصول نهايی و کسب رضايت مشتری
7. سرعت و صحت انجام فرآيندهای کسب و کار
8. فائق آمدن بر مشكلات فرآيندی سازمانها
9. توليد سامانههای قابل انعطاف و سازگار با فرآيند بهبود فرآيندهای کسب و کار
اجزاء زی فریم در نگاه کلان
1. فریم ورک نرم افزاری. یک فریمورک مجموعهای از کتابخانههای برنامهنویسی و احتمالا مجموعهای از قوانین برای برنامهنویسی است. سامانه زی دارای فریم ورکی برای انجام امور خود میباشد که در اختیار استفاده کنندگان قرار داده شده است
2. میان افزار (زی مانند میان افزاری در برنامه های تحت وب عمل میکند و حجم وسیعی از نیازمندی های این نوع سامانه ها را مرتفع می نمایید)
3. محیط توسعه (زی فریم به منظور سهولت توسعه دهنده گان، محیطی برای توسعه در اختیار آنان قرار میدهد که جدا از محیط اجرایی می باشد، همچنین قابلیت اجرا در محیط های توسعه مانند NetBeans  Intellij برای توسعه دهنگان وجود دارد)
4. مدیریت تیم توسعه (ابزار ها و رویکرد های مدیریت تیم،Team Work   در این سامانه موجود می باشد)
اجزای اصلی سامانه زی فریم  با نگاه جزئی
1. موتور فرمساز
2. موتور گزارشساز
3. موتور مدیریت فرآیندها
4. موتور اعتبارسنجی دادهها
5. موتور کنترل دسترسی
6. موتور مدیریت لایه دسترسی به بانک اطلاعاتی
7. موتور مدیریت ثبت رویدادها
8. موتور جستجو
9. موتور توسعه روکش فرمها
10. موتور یکپارچهسازی با سایر سامانههای نرمافزاری
11. موتور اجرایی
12. کنترلهای پیشرفته
13. مدیریت پیغام و خطا
14. سرویس پشتیبانی از راه دور
15. سرویس توسعه کد
16. سرویس تنظیمات سامانه
17. سرویس پشتیبانی و توسعه داده
18. کتاب خانه های نرم افزاری برای سفارشی سازی برنامه
قابلیت های زی فریم دیک نگاه
1. قابلیت دیباگ کردن کد های برنامه  (java – JavaScript – SQL – PLSQL)
2. تولید کد کلاس های پایه برای فرم ها، سرویس ها و همچنین مدل های داده
3. مدیریت حاظه و اطلاعات تکراری بر اساس تعاریف توسعه دهنده
4. قابلیت توصیف ارتباطات بین موجودیت ها در نرم افزار
5. مدیریت پارا مترهای امنیتی نرم افزاری در تمامی سطوح (منو /فرم / رکورد / سرویس )
6. قابلیت کامپایل کردن کد های نوشته شده و اضافه نمودن به سامانه در حال اجرا Just-in-time Compilation
7. تولیدکننده فرم و قالب های گرافیکی با بیشترین پیچیدگی
8. قابلیت توسعه توانمندی ها توسط کاربر (مانند ساخت کنترل جدید و یا ادغام نمودن سامانه با دیگر فریم ورک ها)
9. قابلیت تولید و توسعه سرویس های تحت وب (REST Service)
10. گزارش ساز پویا
11. قابلیت اتصال به تمامیESB  ها
زی فریم برای اجرایی شدن و کارکردن نیاز چهار بخش دارد
1. بانک اطلاعاتی MSSQL Server برای مدیریت  تیم،پروژه ها ، برنامه نویسان  نیازمندی اولیه برای زی فریم میباشد و در محصول نهایی مورد استفاده قرار نخواهد گرفت .
2. محیط توسعه نرم افزار که به آن (زد آی دی ای- ZIDE) میگوییم ، این محیط یک برنامه تحت ویندوز میباشد و برنامه نویسان با استفاده از این ابزار می توانند برنامه مورد نظر را توسعه دهند.
3. بانک اطلاعاتی ، در این بانک اطلاعاتی دو نوع اسکیما خواهیم داشت که بر اساس سلیقه میتوان جداول موجود در این دو اسکیما را با هم ادغام نمود ، زی فریم از پنج نوع بانک اطلاعاتی پشتیبانی میکند ، از قبیل MSSQL ، Oracle ، IBM DB2 ، MySQL ، PostgreSQL
a. اسکیمای مربوط به کسب و کار
b. اسکیمای مربوط به زی ساخت زی فریم که به آن (متادیتا نیز میگوییم Metadata)
4. محیط اجرایی ، شامل برنامه خروجی میباشد که تحت اپلیکیشن سرور های جاوا بارگزاری میشود و محیطی است که در آن کاربر خروجی نهایی که برنامه مورد نظر میباشد را مشاهده میکند.و قابلیت اجرا در سیستم عامل های ویندوز و لینوکس را دارد.
یدگاه پیاده سازی برای نرم افزار های تولید شده
زی فریم از بخش های متفاوتی تشکیل شده است و همچنین بعضی از قسمت ها در چندین زبان برنامه نویس و محیط های متفاوت تولید شده است که این امکان را به بهربردار بدهد که به سادگی بتواند در تکنولوژی های متفاوت قدم بردارد و سرویس مطلوب را به مشتربان خود ارائه دهد، برای مثال لایه تولید سرویس برای زی فریم با زبان جاوا توسعه داده شده است و همچنین برای شرکت ها و ارگان های که نیازمند تراکنش های بالا و تعاملات بیشماری هستند این لایه توسط زبان برنامه نویسی گولنگ (GO)  نیز پیاده سازی شده است .
موتور اجرای زی فریم برای تولید برنامه های  single page application  به توسعه دهندگان چارچوبی مجزا نیز ارائه میدهد و همچنین برای برنامه نویسانی که از تکنولوژی های همچون Angular  و React  استفاده می کنند کد های را استخراج می کند که در لایه واسط سرویس و لایه UI  قابل بهر برداری میباشد،که در شکل زیر به آن می پردازیم .
دیدگاه پیاده سازی زی فریم
مدل کارکرد زی فریم براین شکل میباشد که برنامه نویس و یا طراح مدل های مورد نیاز خود را که شامل فرم و یا سرویس و … میباشد را یا استفاده از ای دی ای تولید میکنید و ساختار  در داخل بانک اطلاعاتی ذخیره میشود و سپس موتور اجرای زی فریم بر اساس ساختار های تعریف شده، موارد مورد نیاز را میسازد و در اختیار کاربر نهایی قرار میدهد. حال برای این که بتوانیم بهتر به این قسمت بپردازیم جداول موجود در متادیتا را بررسی میکنیم
 شماره نام جدول نیازمندی
1 Sys_Accessibility_Level1 مدیریت دسترسی گروه های کاری به فرم ها
2 Sys_Accessibility_Level2 مدیریت دسترسی گروه های کاری به کنترل ها
3 Sys_Application_Log مدیریت لاگ کارکرد سامانه (ثبت لاگ کسب و کار)
4 Sys_Application_Word دیکشنری کلامات ، کنترل ها و فرم ها و تمامی اجراء نرم افزار
5 Sys_Channel مدیریت کانال
6 Sys_Channel_Element المان های کانال های تبادل داده
7 Sys_Concurrency مدیریت همزمانی دسترسی به منابع (فرم ها )
8 Sys_Connection_Log ثبت وقایع ورود و خروج کاربران
9 Sys_Control_Type انواع کنترل های مجود در زی فریم
10 Sys_CRUD_Type انواع کوئری های موجود در زی فریم
11 Sys_Data_Type انواع اقلام اطلاعاتی
12 Sys_DataBase_Type انواع بانک های اطلاعاتی قابل پشتیبانی توسط زی فریم
13 Sys_Default_Value مقادیر پیش فرض
14 Sys_Design_Pattern اونواع الگو های طراحی فرم ها
15 Sys_Dev_Query کوئری های مورد استفاده توسط برنامه نویسان
16 Sys_Dic دیکشنری کلمات
17 Sys_Dic_Object_Type موجودیت های مربوط به دیکشنری
18 Sys_Element_Relation نوع روابط المان ها در چنل های ارتباطی
19 Sys_Element_Structure نوع ساختار المان ها در چنل های ارتباطی
20 Sys_Element_Type انواع المان های
21 Sys_Grid_Profile پروفایل ساختار گرید در فرم ها توسط کاربر استفاده کننده
22 Sys_Language انواع زبان های تحت پوشش برای نرم افزار
23 Sys_Notification اطلاعت مربوط به اعلان ها و خبر های رخ داده شده در سیستم
24 Sys_Notification_Group دسته بندی رخداد ها
25 Sys_Object لیست فرم های موجود در سامانه به همراه خصوصیات آن ها
26 Sys_Object_Child فرم های وابسته به فرمها
27 Sys_Object_Control کنترل های موجود در فرم ها به همراه خصوصیات کنترل
28 Sys_Object_Control_Lookup رخداد های مربوط به تغییرات کنترل ها
29 Sys_Object_Query کوئری های مربوط به فرم ها (جدید ، ویرایش ، حذف ، چک کردن  قواعد )
30 Sys_Object_Rule روابط بین اطلاعات فرم ها و کنترل ها
31 Sys_Object_Rule_Control روابط بین اطلاعات فرم ها و کنترل ها
32 Sys_Object_Script اسکریپت های مربوط به فرم ها کدهای جاوا اسکریپت
33 Sys_Object_Service سرویس های خارجی مورد استفاده در فرم ها SOAP
34 Sys_Object_Template قالب سرویس های مورد استفاده در فرم ها
35 Sys_Package پکیج های مورد استفاده هنگام توسعه نرم افزار
36 Sys_Process تعریف فرایند
37 Sys_Process_State تعریف مراحل فرایند
38 Sys_Process_State_UG تعریف روابط موجود در فرآیند
39 Sys_Process_Transition تعریف تراکنش ها و ارتباطات در فؤایند
40 Sys_Process_Transition_L لاگ در فرآیند
41 Sys_Process_Transition_LC لاگ در فرآیند
42 Sys_Protocol پروتکل های ارتباطی بین نرم افزار ها
43 Sys_Proxy_Server تعریف پرکسی برای کال کردن سرویس ها
44 Sys_Report_DataSet   ساختار های اطلاعاتی گزارشات
45 Sys_Report_DataSet_Object موجودیت ها در ساختار گزارش
46 Sys_REST_Access مدل دسترسی به سرویس های رست
47 Sys_REST_Function لیست سرویس های رست
48 Sys_REST_Function_Param پارامتر های موجود در سرویس های رست
49 Sys_rest_output ساختار خروجی سرویس
50 Sys_rest_output_p ساختار پارامتر های خروجی
51 Sys_rest_output_pga تعرف دسترسی به پارامتر های خروجی سرویس
52 Sys_rest_output_qp قالب ساختار خروجی سرویس
53 Sys_Server_Config اطلاعات مربوط به پیکره بندی سیستم
54 Sys_Service_Relation روابط بین سرویس ها
55 Sys_Source_Code سورس کد سرویس ها و فرم هت
56 Sys_Structure_Relation ساختار ارتباطات
57 Sys_System لیست زیر سیستم های موجود در پروژه
58 Sys_User لیست کاربران
59 Sys_UserGroup لیست گروه های کاری
60 Sys_UserGroupList لیست ارتباط کاربر و گروه کاری
61 Sys_WebService لیست وب سرویس ها
62 Sys_WebService_Function لیست تواع موجود در وب سرویس
63 Sys_WorkFlow گردش کار ها
64 Sys_WorkflowForm فرم های موجود در گردش کار ها و منو های نرم افزار
65 Sys_WorkflowUserGroup گروه های کاری مربوط به گردش کار ها
66 Sys_WS_Function_Parameter پارامتر های مجود در وب سرویس ها
کل ساختار و نیازمند های یک پروژه در داخل جداول فوق ذخیره میگردد برای سهولت کار ZIDE ابزاری است که خودش این جداول را میسازد و با استفاده از ساختاری که دارد به توسعه دهنده کمک میکند به سادگی هر چه تمام تر نرم افزار مورد نظر خود را تولید کند(در صورت که کاربر تجربه کافی داشته باشد بدون نیاز به ای دی ای هم میتواند برنامه خود را تغییر داده  و یا رفع ایراد نماید) .
یکی از اهداف آینده تولید یک ای دی ای IDE تحت وب میباشد که توسعه دهندگان بدون نیاز به سیستم عامل ویندوز و حتی پیکره بندی به سادگی بتوانند از این زیر ساخت استفاده نمایند .
زبان برنامه نویسی C#
راهکارا ارتباط با بانک های اطلاعاتی ADO.NET
فریم ورک دات نت ورژن 4.5
بانک های اطلاعاتی قابل پشتیبانی
1. MSSQL Server
2. MYSQL
3. Oracle
4. IBM DB2
5. PostgreSQL
دیدگاه پیاده سازی Engine
محیط اجرای برای پروژه Engine
1. NetBeans
2. Intellij idea
3. Eclipse
ابزار هاو رهکار های ساخت پروژه
1. Maven
2. دستی با استفاده از فایل های JAR  موجود در پروژه
تکنولوژی پایه مورد استفاده در Engine
1. Servlet
2. Web socket
سازگاری با دیگر پلت فرم ها
• spring framework
• angular framework
• react framework
• VUE framework
خروجی لایه وب
لایه وب بهعنوان واسط کاربری اصلی سامانه است و وظیفه تعامل با کاربران سامانه را به عهده دارد و می بایست تمامی این لایه توسط زی فریم تولید و مدیریت شود ، این موارد مربوط به برنامه خروجی میباشد
گامهای اولیه در انتخاب کامپوننتهای چارچوب زی فریم سمت لایه واسط کاربری:
1- مطرح نمودن نیازهای مشترک
2- ابتدا مشخص نمایید از چه فریم ورکی در سمت Front-end استفاده مینمایید و درنهایت چگونه قرار است با Backend ارتباط برقرار کند؛ و مشخص نمایید قرار است کامپوننتهای شما چهکاری انجام دهند.
3- میزان دانش درون شرکتی(به سادگی با زی فریم میتوان آن را ارتقا داد ).
4- چقدر زمان نیاز است که فرد توسعهدهنده آن را صرف یادگیری کند؟ یا اینکه با توجه به زمانبندی پروژه چقدر زمان نیاز یادگیری آن نیاز است.
5- متنباز بودن (زی فریم کد های منبع را در اختیار توسعه دهنگان قرار میدهد و قابل سفارشی شدن هستند )
6- Extensible
درصورتیکه ورژن جدیدی از کامپوننت انتشار یافت قابلیت توسعه کدهای شما نیز وجود داشته باشد
7- Composable
بتوان کامپوننت موردنظر را با کامپوننت دیگری ترکیب کرده و کامپوننت جدیدی ساخت و استفاده نمود.
8- Styleable
قابلیت استفاده از هر نوع Style در آن وجود داشته باشد و بتوان آن را با تم برنامه موردنظر هماهنگ ساخت و همچنین قابلیت راستچین شدن (RTL Support) نیز داشته باشد.
زی فریم میتواند جواب گویی تمامی موارد فوق باشد و به شکل مطلوبی نیازمندی های فوق را برطرف سازد.
در زی فریم تمامی کنترل های فوق موجود میباشد و همچنین قابلیت سفارشی سازی کنترل های نیز موجود میباشد ،در زی فریم قابلیت کارکرد با لایه سرویس توسط لایه میانی که مبتنی بر جاوا اسکریپت توسعه داده شده است امکان پذیر میباشد و همچنین این قابلیت نیز وجود دارد که رخداد های مربوط به پست POST  شدن فرم نیز مدیریت گردد .
امنیت
در ادامه این بخش، به دلیل اینکه راهکارهای پیشنهادی برای امنیت باید مبتنی بر ( ارتباطات شبکه، دیوار آتش، تنظیمات شبکه) باشد تا راهکار پیشنهادی کامل و جهانشمول باشد در ابتدا، معماری امنیتی از دیدگاه سطح بالا یعنی محیط کل پروژه و سازوکارهای امنیتی که باید در آنها لحاظ شود، موردبررسی قرارگرفته است،  در نهایت در قسمت آخر کلیه امکانات امنیتی که سامانه در اختیار کاربر قرار میدهد به تفکیک بیان میشد. درنهایت در قسمت بعد به بررسی ریز تکنولوژیهای به کاربر رفته در قسمت امنیت نرمافزار پرداخته میشود.
یکی از مهمترین مسائل موجود در طراحی سرویسهای REST API در برنامههای مبتنی بر وب مبحث احراز هویت (Authentication) و مجوز یا سطح دسترسی (Authorization) است که در ادامه فریمورکهای متفاوت را جهت پیادهسازی آن موردبررسی قرار دهیم.
تعاریف
• احراز هویت (Authentication)
چه کسی یا کسانی قرار است از این سرویس استفاده کنند. شامل چک کردن کلمه کاربری و کلمه عبور و یا چک کردن اینکه توکن معتبر است یا خیر و به این معنا نیست که شخص استفادهکننده قرار است به کدام قسمت سرویس دسترسی داشته باشد.
• مجوز یا سطح دسترسی (Authorization)
بعد از اینکه هویت شخص استفادهکننده مورد تأیید قرار گرفت حال باید مشخص شود که این شخص قرار است به کدام قسمت سرویس موردنظر دسترسی داشته باشد.
• Token
بخشی است که مجوز برخی عملیات بر روی یک سرویس را صادر میکند.
• REST API
مخفف Representational State Transfer بوده و یک معماری وبسرویس است که در برنامههای شبکهای بین دو سیستم (client-server) توسط پروتکلهای (HTTP, FTP, SMTP,…) مورداستفاده قرار میگیرد.
استفاده از این معماری کارایی، سادگی، انعطافپذیری، امکان مشاهده و نظارت، قابلیت حمل و قابلیت اطمینان را به ما میدهد. لازم به ذکر است که برخلاف وبسرویسهای بر پایه SOAP، هیچ استاندارد رسمی برای وبسرویسهای REST وجود ندارد به دلیل اینکه REST یک معماری است درحالیکه SOAP یک پروتکل وبسرویس است.
زی فریم سرویس های REST  را تولید می کند و همچنین می تواند از آنها استفاده نمایید و از سرویس های SOAP  فقط می تواند استفاده کند و اگر کاربر بخواهد سرویس را با این ساختار ایجاد کند میبایست از ابزار های دیگری استفاده نماید.
بررسی نیازهای برنامه
چه تهدیدهای امنیتی برای سرویسهای REST وجود دارد؟
• Injection Attacks
حملاتی نظیر Cross-site Scripting، SQL Injection میتواند منجر به آسیبرسانی به سرویسهای REST گردد که باید جهت جلوگیری از این اتفاق چارهای اندیشید
تمامی کوئری های که از طریق زی فریم اجرا میشوند مبتنی بر Prepared Statements  و Callable Statement  اجرا میشوند در نتیجه برای SQL Injection راهی نمیماند که هکر بتواند نفوذ کند.
• DOS (Denial of Service) Attacks
این حمله زمانی اتفاق میافتد که حملهکننده درخواستهای بسیار زیاد و متعددی به سمت سرور ارسال کند.
برای جلوگیری از این کار از WAF باید استفاده شود البته زی فریم قابلیت تعریف تعداد سرویس پاسخ گو به هر آدرس را دارد.
• Broken Authentication
زمانی اتفاق میافتد که حملهکننده کنترل بخش Authentication سرویسهای مربوطه را به دست گیرد.
• Sensitive Data Exposure
رمزگذاری نکردن دادههای حساس مثل session Token و غیره، منجر به این حمله میگردد.
در زی فریم امکان رمز نگاری وجود دارد JWS
• Broken Access Control
زمانی اتفاق میافتد که حملهکننده کنترل بخش Authorization سرویسهای مربوطه را به دست گیرد یا اینکه بهخوبی سطوح دسترسی کاربران تعریفنشده باشد.
• Parameter Tampering
حملاتی که از طریق دستکاری پارامترهای ارسالی از سمت کلاینت به سرور رخ میدهد،
• Man in The Middle Attack (MITM)
حملهکننده یک کانکشن جدید بین دو سیستمی که قرار است باهم ارتباط برقرار کنند میسازد و از این طریق شروع به رمزگشایی و استراق سمع مینماید.
چه انتظاراتی از یک فریم ورک امنیتی داریم؟
– کدام تکنولوژی همه نیازهای برنامه را فراهم میکند؟
– کدام تکنولوژی سرعت یادگیری بهتری دارد؟
– قابلیت دسترسی به منابع و مستندات در کدامیک بهتر است؟
– راحتی انطباق با برنامه شما و آیندهنگری کدام تکنولوژی بهتر است؟
– هزینه صدور مجوز برای کدام کمتر است (Licensing)؟
زی فریم برای پاسخ گویی به این سوالات دو روش را در اختیار کاربران قرار میدهد، مکانیزم کارکرد Stateful و  stateless که هر دو روش را میتوانید پیاده سازی نمایید ، برای پردازش سرویس ها می توان از توکن استفاده نمود نمونه سمپل کد برای این مدل وجود دارد و همچنین برای سرعت بیشتر در تعاملات بین کاربران و سرور از بانک های اطلاعاتی همچون Radis نیز می توان استفاده نمود .
در پردازش های سرویس ها و همچنین خواست ها از سمت فرم ها از CSFR Token  نیز استفاده میشود .
نمای موارد کاربردی
در این نما از توصیف معماری، مجموعهای از نیازمندیهای تأثیرگذار بر معماری انتخابشده است. شاخصهایی که در انتخاب نیازمندیهای تأثیرگذار بر معماری موردتوجه قرارگرفتهاند، عبارتاند از:
• نیازمندیهایی که به مخاطرات فنی مرتبط هستند
• نیازمندیهایی که یک ویژگی منحصربهفرد را دربرمیگیرند بهگونهای که هیچیک از مسئولیتهای مؤلفههای موجود در معماری آن را پوشش نمیدهد
• نیازمندیهایی که یک ویژگی کیفیت سرویس (QoS) خاص و متمایز را پوشش میدهند
نیازمندیهایی که کارفرما در پروژههای گذشته (سیستمهای کنونی) رضایتی نسبت به آنها ندارد
کاربران زی فریم به چندین دسته تقسیم میشوند
1. طراحان نرم افزار
2. برنامه نویسان
3. مسئولان نصب و استقرار
4. استفاده کنندگان نهایی از محصول
در نتیجه زی فریم میبایست برای هرکدام از گروه های کاری فوق راهکار های را برای بهینه ترکردن فرایند های موجود در هر بخش داشته باشد
طراحان سیستم :
طرحان باید بتوانند نیازمندی ها و چرخه فرایند تولید محصول را نظارت کنند ، در این را ستا در زی فریم راهکار های برای تعریف پروژه ، تعریف زیر سیستم های مد نظر و همچنین اختصاس دادن هرکدام از این بخش  ها به تیم های دیگر در نظر گرفته شده است.
برنامه نویسان :
توسعه نرم افزار
برنامه نویسان می با توجه به دسترسی های که از سمت مدیر پروژه به آنها داده میشوند می توانند جداول ، فرم ها ، سرویس ها ، گزارشات ، چرخه های گردش کار ، روال های بانک اطلاعاتی ، توابع جاوا اسکریپت ، کلاس های جاوا و …..  دیگر موارد مورد نیاز خود را در محیط زی فریم توسعه دهند . زی فریم از تمامی تغییرات اعمال شده نسخه برداری میکند و این قابلیت وجود دارد که سیستم در هر جزء به ورژن مورد نظر به روز شود ، قابلیتی همچون (git) البته کلاس ها و کد های تولید شده در زی فریم قابلیت اتصال به گیت را دارند و همچنین از تمامی بخش ها توسعه دهندگان میتوانند خروجی بگیرند و در مکان های که مایل هستند ذخیره کنند و یا این که در دیگر پروژه ها به کار ببرند.
مانیتورینگ
از دیگر امکاناتی که زی فریم در اختیار توسعه دهندگان میگذارد مانیتورینگ کار کردی و غیر کارکردی محصول میباشد برای مثال زمان اجرا و نحوه اجرای Query  های موجود ، زمان اجرا و کارکرد سرویس ها ، زمان اجرا و کارکرد فرم ها می تواند بسیار برای توسعه دهنده مفید باشد.
مدیریت خطا ها
یکی دیگر از توانمندی های این زیر ساخت ثبت و نگهداری خطا های رخداده در سیستم به همراه علت آن میباشد، برای مثال کاربر Query را اشتباه نوشته باشد و یا کد جاوا اسکریپ خطای داشته باشد و یا کد های سفارشی شده کاربر در برنامه خطایی داشته باشد زی فریم آنها را اعلام میکند و همچن در لاگ خود ذخیره مینماید .
مسئولان نصب و استقرار
نصب و استقرار پروژه های مبتنی بر زی فریم به سادگی انجام میپذیرد، پروژه های زی فریمی در دو بخش هستند
1. بانک اطلاعاتی
2. فایل های پروژه در اپلیکیشن سرور که به آن workspace  میگوییم
مسئول نصب و استقرار فقط می بایست بانک اطلاعاتی MetaData را به روز نگه دارد (مبتنی بر تغییرات اعمال شده در پروژه )  و همچنین فایل های موجود در محیط کاری را ، پروژه های زی فریم قابل بارگزاری در محیط های همچون docker  نیز میباشند و کاربر به سادگی میتواند آنها را به روز نمایید.
استفاده کنندگان نهایی از محصول
استفاده کنندگان نهایی از محصول می توانند با استفاده از کامپیوتر های شخصی ، تبلت و موبایل از برنامه های تولید شده با زی فریم استفاده نمایند فقط می بایست از مرورگر های Mozilla  ,Chrome , Edge استفاده نمایند .
البته برنامه های بومی تحت موبایل را نیز میبتوان به سرویس های زی فریم مربوط کرد و برنامه نوشته شده با هر تکنولوژی می تواند سرویس های بک اند را از زی فریم بگیرد .
سامانه زی فریم چند دامنه و حوزه تقسیم میگردد. هر دامنه شامل ماژولهای مختص آن حوزه هست.
 این دامنهها عبارتاند از:
• دامنه تولید
• دامنه واسط کاربری
• دامنه سرویسهای کسبوکار
• دامنه ارتباطات داخلی
• دامنه ارتباطات خارجی
دامنه تولید
در این دامنه کاربر باید در دو حیط کار کند
• محیط توسعه نرم افزار
• محیط فضای اجرای نرم افزار
در محیط فضای اجرایی نرم افزار فایل های اصلی پروژه ائم از صفحه لاگین ، صفحه اصلی و برخی از صفحات و فایل های جاوا اسکریپت و همچنین فایل های قالب گرافیکی (CSS) وجود دارند که توسعه دهنگان میتوانند این فایل ها را مطابق سلیقه و کاربرد خود سفارشی کنند ، و همچنن این توانایی و جود دارد که کلاس ها و  قواعد پایه ای را که توسعه داده اند در داخل پروژه جایگذاری نمایند و در زمان راه اندازی سیستم همراه با دیگر بخش های سامانه کامپایل شود و مورد استفاده قرار گیرد.
تکته قابل توجه در این بخش فایل پیکره بندی پروژه میباشد که در مسیر اصلی پروژه قرار دارد و بر اساس نیاز قابل تغییر میباشد ، موارد تکمیلی در این قسمت در سند نصب و راه اندازی وجود دارد.
محیط دیگری که برنامه نویسان از آن استفاده میکنند محیط توسعه خود زی فریم میباشد و نیازمند های اصلی را ائم از
1. تعریف پروژه
2. تعریف زیر سیستم
3. تعریف جدول
4. تعریف فرم
a. تعریف ساختار
b. تعریف نقش و قواعد اصلی
c. مدیریت و تعریف Query  ها
d. فرم های وابسته
e. قالب گرافیکی اختصاصی
f. خروجی برای پلت فرم های مو بایل
g. قواعد پیچیده مربوط به داده ها و کنترل ها
h. سرویس های خارجی وابسته
i. کد های جاوا اسکریپت
j. امنیت و دسترسی به فرم
k. کلاس های پایه ای جاوا برای سفارشی سازی رفتار فرم
5. تعریف سرویس
6. تعریف گزارش
7. تعریف گردش کار
8. تعاریف امنیتی ، اهراز حویت و دسترسی
9. مانیتورینگ
10. پشتیبان گیری
11. دیکشنری های زبان نرم افزار
12. مدیریت پکیج های نرم افزار (برای دسته بندی)
در قسمت زد ای دی ای  (ZIDE)  کاربر می تواند مدیریت کند
دامنه واسط کاربری
خرروجی نرم افزار برنامه اجرایی مباشد که کاربر نهایی از ان استفاده میکند در این بخش کاربر باسیتی منو ها و قسمت های را که برای آن در نظرگرفته شده است را بعد از لاگین در سیستم مشاهده کند و بعد از انتخاب گزنه های مورد نظر فرم مربوطه را مشاهد کند در هر فرم رفتار های مربوط به آن فرم وجود دارد
تصویر 8 برخی از رفتار های پیشفرض در فرما موجود در زی فریم
کاربر با استفاده از این فرامین میبایست به مقاصد خود در هر فرم برسد .
دامنه سرویسهای کسبوکار
فرم ها و سرویس ها کسب و کار بستگی به پروژه ای دارد که با زی فریم تولید میشود تا به امروز نرم افزار های زیادی با زی فریم تولید شده اند سامانه های حسابداری ، مالی ، خدمات نگهداری و پشتیبانی ، سامانه های خدمات مالی اجتماعی و سازمانی ، سامانه های بانکی و غیر شرط اصلی این است که تمامی سرویس ها مورد نظر کار فرما بایستی توسط این فریم ورک برای مجری قایل پیاده سازی باشد.
بستر های که پیشنهاد میشود از زی فریم اسفاده شود سامانه های در دسته بندی سیستم های ERP  میباشد.
دامنه ارتباطات داخلی
مکانیزم استفاده از سرویس ها و فرم های موجود در سامانه  به این صورت است که کاربر میبتواند از داخل فرم سرویس  های مربوطه را به دو روش REST API و همچنین به صورت مستقیم بارگذاری نماید .
و یا اگر کاربر توسعه دهنده توانای تولید نرم افزار با زبان برنامه نویسی جا وارا دارد سیستم آدرس های اجرای و همچنین راه کارهای ادغام را در اختیار توسعه دهنده قرار میدهد .
دامنه ارتباطات خارجی
مکانیزم به کارگیری سرویس های بیرون از سیستم به دو صورت در دسترس می باشد
استفاده از پروکسی های موجود در زی فریم که همچون یک ESB  با سرویس های خارجی برخورد میکنند و آنها را در اختیار استفاده کنندگان زی فریم قرار میدهد.
روش دیگیری که وجود دارد این است که شما میتوانید به صورت کاملا دستی خودتان  شروع به پیاده سازی دسترسی به سرویس های خارجی نمایید و آن سرویس را در اختیار داشته باشید زی فریم به هیچ عنوان مشکلی در این نوع پیاده سازی ندارد.
مدل کارکرد زی فریم
برای توصیف هر چه بهتره کارای زی فریم به مدل کارکرد آن میپردازیم
فرض کنید که یک برنامه با زی فریم تولید شده و بار گذاری شده است حال کاربر نهایی که استفاده کننده سیستم میباشد باید در قدم اول داخل سیستم لاگین کند ، در صورتی که کاربر بدون هیچ گونه مشکی لاگی میکند اولین چیزی که مشاهده میکند میز کار خود میباشد که شامل درختواره منو ها میباشد ، این درختواره بر اساس نوع دسترس کاربر به ورک فلو و جریان کاری او ساخته شده است این اطلاعات در جداول زیر موجود میباشد.
1. Sys_WorkFlow
2. Sys_WorkflowForm
3. Sys_WorkflowUserGroup
این اطلاعات می تواند توسط توسعه دهنده در برنامه با استفاده از ای دی ای تعریف شود وبا توسط مدیر سیستم با استفاده از فرم های ساخته شده برای مدیریت دسترسی کاربر مانند شکل زیر
تصویر 9 فرم مدیریت دسترسی کاربر به فرم ها
تصویر 10 مدیریت دسترسی در برنامه
حال اگر کاربر بر روی یک فرم کلیک کند اطلاعات مربوط به فرم میبتواند از چندین طریق محیا گردد و در اختیار کاربر قرار گیرد ، که شامل موارد زیر میباشد
1. از طریق خود زی فریم به صورت پیشفرض اطلاعات از جداول مربوطه بارگذاری شده و در داخل فرم نمایش داده میشود
2. از طریق صدا کردن سرویس های پایه ای که در دیگر اپلیکیشن ها نوشته شده است و در یافت اطلاعات از آن سرویس ها و نمایش اطلاعات در داخل فرم ، در صورتی ما این کار را انجام میدهیم که وظایف بارگذاری اطلاعات و تامین داده را برنامه ای دیگر بر عهده داشته باشد ، در نتیجه در زی فریم این قابلیت وجود دارد که بتوان اطلاعات را از سرویس های خارجی دریافت نمود و در داخل فرم نمایش داد و مدیریت کرد.
روش اول بسیار ساده میباشد و با استفاده از ابزار های که در این فریم ورک وجود دارد به سادگی قابل اجرا میباشد
اما روش دوم نیازمند برنامه نویسی سمت سرو میباشد، زی فریم برای انجام این کار به هر فرم یک رول و یا یک شاخص مجرا میدهد ما میتوانیم برای هر فرم ویا سرویس چنین شاخصی را تعریف کنیم  سپس بر اساس شاخص تعریف شده زی فریم سورس کدی را اختیار ما قرار میدهد که باید آن را ویرایش کنیم و بر اساس نیازمندی های خود توسعه دهیم
کدهای زیر نمونه ای از کلاس پایه یک فرم و یک سرویس سفارش شده میباشند که با استفاده از این کلاس های پایه ای میتوان عملکرد فرم ها و سرویس ها سفارشی نمود .
CREATE TABLE [dbo].[ACC_FUNCTION_LIST_ITEM](
[ACC_FUNCTION_LIST_ITEM_ID] [numeric](18, 0) NOT NULL,
[ENUM_FUNCTION_ARIA_ID] [numeric](18, 0) NULL,
[FUNCTION_NAME] [nvarchar](50) NULL,
[FUNCTION_TITLE] [nvarchar](400) NULL,
[OFFSET_GENERAL_LEDGER_ACCOUNT_ID] [numeric](18, 0) NULL,
 CONSTRAINT [PK_ACC_FUNCTION_LIST_ITEM] PRIMARY KEY CLUSTERED
(
[ACC_FUNCTION_LIST_ITEM_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[BILL_OF_MATERIAL_PRODUCT_STRUCTURE_DETAIL]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[BILL_OF_MATERIAL_PRODUCT_STRUCTURE_DETAIL](
[BILL_OF_MATERIAL_PRODUCT_STRUCTURE_DETAIL_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[BILL_OF_MATERIAL_PRODUCT_STRUCTURE_MASTER_ID] [numeric](18, 0) NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[PARENT_INVENTORY_PART_MASTER_CMN_ID] [numeric](18, 0) NULL,
[ITEM_NUMBER] [smallint] NULL,
[INVENTORY_PART_MASTER_CMN_ID] [numeric](18, 0) NULL,
[QUANTITY_PER] [decimal](18, 0) NULL,
[DELIVER_TO_OPR_SEQNO] [smallint] NULL,
[KIT_LEAD_TIME_OFFSET] [numeric](18, 0) NULL,
[MAIN_INVENTORY_STORE_ID] [numeric](18, 0) NULL,
[VENDOR_TYPE_ID] [numeric](18, 0) NULL,
[EFF_START_DATE] [nchar](10) NULL,
[EFF_CLOSE_DATE] [nchar](10) NULL,
[LT_INVENTORY_UNIT_OF_MEASURE_ID] [numeric](18, 0) NULL,
[REFRENCE_DESIGNATION] [nvarchar](50) NULL,
[EDIT_REV_CODE] [nvarchar](50) NULL,
[MAP_ITEM_NUMBER] [numeric](18, 0) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
[CHECKSUM] [bigint] NULL,
 CONSTRAINT [PK__BILL_OF___28E96C2EB84082FF] PRIMARY KEY CLUSTERED
(
[BILL_OF_MATERIAL_PRODUCT_STRUCTURE_DETAIL_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[BILL_OF_MATERIAL_PRODUCT_STRUCTURE_MASTER]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[BILL_OF_MATERIAL_PRODUCT_STRUCTURE_MASTER](
[BILL_OF_MATERIAL_PRODUCT_STRUCTURE_MASTER_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[PARENT_INVENTORY_PART_MASTER_CMN_ID] [numeric](18, 0) NULL,
[EFF_START_SER_NO] [nvarchar](50) NULL,
[EFF_CLOSE_SER_NO] [nvarchar](50) NULL,
[NOTE] [nvarchar](50) NULL,
[LT_INVENTORY_UNIT_OF_MEASURE_ID] [numeric](18, 0) NULL,
[GUID] [uniqueidentifier] NULL,
[EDIT_REV_CODE] [nvarchar](50) NULL,
[ENUM_SOURCE_CODE_ID] [numeric](18, 0) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
[CHECKSUM] [bigint] NULL,
 CONSTRAINT [PK__BILL_OF___5AC7DF30041C2F0B] PRIMARY KEY CLUSTERED
(
[BILL_OF_MATERIAL_PRODUCT_STRUCTURE_MASTER_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[BINDING_INVENTORY_TAGS]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[BINDING_INVENTORY_TAGS](
[BINDING_INVENTORY_TAGS_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[INVENTORY_PART_MASTER_CMN_ID] [numeric](18, 0) NULL,
[INVENTORY_PART_GROUP] [numeric](18, 0) NULL,
[INVENTORY_LOCATION_LOT_ID] [numeric](18, 0) NULL,
[INVENTORY_STORE_ID] [numeric](18, 0) NULL,
[INVENTORY_TAGS_ID] [numeric](18, 0) NULL,
[USER_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BINDING_INVENTORY_TAGS_TYPE] [int] NULL,
 CONSTRAINT [PK_BINDING_CMN_FROM_TAGS] PRIMARY KEY CLUSTERED
(
[BINDING_INVENTORY_TAGS_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[CROSS_DOCUMENT_TEMPLATE_SOURCE_CODE]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[CROSS_DOCUMENT_TEMPLATE_SOURCE_CODE](
[CROSS_DOCUMENT_TEMPLATE_SOURCE_CODE_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[INVENTORY_DOCUMENT_TEMPLATE_ID] [numeric](18, 0) NULL,
[ENUM_SOURCE_CODE_ID] [numeric](18, 0) NULL,
 CONSTRAINT [PK_INVENTORY_DOCUMENT_TEMPLATE_SOURCE_CODE] PRIMARY KEY CLUSTERED
(
[CROSS_DOCUMENT_TEMPLATE_SOURCE_CODE_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[CROSS_DOCUMENT_TEMPLATE_STORE]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[CROSS_DOCUMENT_TEMPLATE_STORE](
[CROSS_DOCUMENT_TEMPLATE_STORE_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[INVENTORY_DOCUMENT_TEMPLATE_ID] [numeric](18, 0) NULL,
[INVENTORY_STORE_ID] [numeric](18, 0) NULL,
[IS_OFFSET] [bit] NULL,
 CONSTRAINT [PK_CROSS_DOCUMENT_TEMPLATE_STORE] PRIMARY KEY CLUSTERED
(
[CROSS_DOCUMENT_TEMPLATE_STORE_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[ENUM_ABC_CODE](
[ENUM_ABC_CODE_ID] [numeric](18, 0) NOT NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[LT_SQ_ID] [numeric](18, 0) NULL,
[ABC_CODE] [nvarchar](50) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
 CONSTRAINT [PK_ENUM_ABC_CODE] PRIMARY KEY CLUSTERED
(
[ENUM_ABC_CODE_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[ENUM_ACCORDING_TO]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ENUM_ACCORDING_TO](
[ENUM_ACCORDING_TO_ID] [numeric](18, 0) NOT NULL,
[ACCORDING_TO_CODE] [nvarchar](50) NULL,
[ACCORDING_TO_TITLE] [nvarchar](50) NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[LT_SQ_ID] [numeric](18, 0) NULL,
[ABC_CODE] [nvarchar](50) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
 CONSTRAINT [ENUM_ACCORDING_TO_ID] PRIMARY KEY CLUSTERED
(
[ENUM_ACCORDING_TO_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[ENUM_ADJUSTMENT_TYPE]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ENUM_ADJUSTMENT_TYPE](
[ENUM_ADJUSTMENT_TYPE_ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[ADJUSTMENT_TYPE_CODE] [nvarchar](50) NULL,
[ADJUSTMENT_TYPE_TITLE] [nvarchar](50) NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[LT_SQ_ID] [numeric](18, 0) NULL,
[ABC_CODE] [nvarchar](50) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
 CONSTRAINT [ENUM_ADJUSTMENT_TYPE_ID] PRIMARY KEY CLUSTERED
(
[ENUM_ADJUSTMENT_TYPE_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[ENUM_APPROVAL_STATUS]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ENUM_APPROVAL_STATUS](
[ENUM_APPROVAL_STATUS_ID] [numeric](18, 0) NOT NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[LT_SQ_ID] [numeric](18, 0) NULL,
[APPROVAL_STATUS_CODE] [nvarchar](50) NULL,
[APPROVAL_STATUS_TITLE] [nvarchar](50) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
 CONSTRAINT [PK_ENUM_APPROVAL_STATUS] PRIMARY KEY CLUSTERED
(
[ENUM_APPROVAL_STATUS_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[ENUM_AVL_RATING_CODE]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ENUM_AVL_RATING_CODE](
[ENUM_AVL_RATING_CODE_ID] [numeric](18, 0) NOT NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[LT_SQ_ID] [numeric](18, 0) NULL,
[AVL_RATING_CODE] [nvarchar](50) NULL,
[AVL_RATING_TITLE] [nvarchar](50) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
 CONSTRAINT [PK_AVL_RATING_CODE] PRIMARY KEY CLUSTERED
(
[ENUM_AVL_RATING_CODE_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[ENUM_BETWEEN_STATUS]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ENUM_BETWEEN_STATUS](
[ENUM_BETWEEN_STATUS_ID] [numeric](18, 0) NOT NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[LT_SQ_ID] [numeric](18, 0) NULL,
[ENUM_BETWEEN_STATUS_CODE] [nvarchar](50) NULL,
[ENUM_BETWEEN_STATUS_TITLE] [nvarchar](50) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
 CONSTRAINT [PK_ENUM_BETWEEN_STATUS] PRIMARY KEY CLUSTERED
(
[ENUM_BETWEEN_STATUS_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[ENUM_CONFLICT_BY]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ENUM_CONFLICT_BY](
[ENUM_CONFLICT_BY_ID] [numeric](18, 0) NOT NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[LT_SQ_ID] [numeric](18, 0) NULL,
[CONFLICT_BY_CODE] [nvarchar](50) NULL,
[CONFLICT_BY_TITLE] [nvarchar](50) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
 CONSTRAINT [PK_ENUM_CONFLICT_BY] PRIMARY KEY CLUSTERED
(
[ENUM_CONFLICT_BY_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[ENUM_COSTBASE_CODE]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ENUM_COSTBASE_CODE](
[ENUM_COSTBASE_CODE_ID] [numeric](18, 0) NOT NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[LT_SQ_ID] [numeric](18, 0) NULL,
[COSTBASE_FA] [nvarchar](50) NULL,
[COSTBASE_EN] [nvarchar](50) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
 CONSTRAINT [PK_ENUM_COSTBASE_CODE] PRIMARY KEY CLUSTERED
(
[ENUM_COSTBASE_CODE_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[ENUM_COSTMETHOD_CODE]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ENUM_COSTMETHOD_CODE](
[ENUM_COSTMETHOD_CODE_ID] [numeric](18, 0) NOT NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[LT_SQ_ID] [numeric](18, 0) NULL,
[COSTMETHOD_FA] [nvarchar](100) NULL,
[COSTMETHOD_EN] [nvarchar](100) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
 CONSTRAINT [PK_ENUM_COSTMETHOD_CODE] PRIMARY KEY CLUSTERED
(
[ENUM_COSTMETHOD_CODE_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[ENUM_COUNTING_NUMBER]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ENUM_COUNTING_NUMBER](
[ENUM_COUNTING_NUMBER_ID] [numeric](18, 0) NOT NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[LT_SQ_ID] [numeric](18, 0) NULL,
[COUNTING_NUMBER_CODE] [nvarchar](50) NULL,
[COUNTING_NUMBER_TITLE] [nvarchar](50) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
 CONSTRAINT [PK_ENUM_COUNTING_NUMBER] PRIMARY KEY CLUSTERED
(
[ENUM_COUNTING_NUMBER_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/***** Object:  Table [dbo].[ENUM_EXTERNAL_USAGE]    Script Date: 8/29/2024 3:19:55 PM *****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ENUM_EXTERNAL_USAGE](
[ENUM_EXTERNAL_USAGE_ID] [numeric](18, 0) NOT NULL,
[SYNC_ID] [uniqueidentifier] NULL,
[LT_SQ_ID] [numeric](18, 0) NULL,
[EXTERNAL_USAGE_CODE] [nvarchar](50) NULL,
[EXTERNAL_USAGE_TITLE] [nvarchar](50) NULL,
[PARTITION_ID] [numeric](18, 0) NULL,
[COMPANY_ID] [numeric](18, 0) NULL,
[BRANCH_ID] [numeric](18, 0) NULL,
[CREATE_USER_ID] [numeric](18, 0) NULL,
[UPDATE_USER_ID] [numeric](18, 0) NULL,
[VALIDITY_USER_ID] [numeric](18, 0) NULL,
[CREATE_DATE] [nchar](10) NULL,
[UPDATE_DATE] [nchar](10) NULL,
[VALIDITY_DATE] [nchar](10) NULL,
[IS_ACTIVE] [bit] NULL,
[IS_DELETED] [bit] NULL,
[IS_COMMITED] [bit] NULL,
[IS_POSTED] [bit] NULL,
[REMARKS] [nvarchar](400) NULL,
[REC_VERSION] [int] NULL,
 CONSTRAINT [PK_ENUM_EXTERNAL_USAGE] PRIMARY KEY CLUSTERED
(
[ENUM_EXTERNAL_USAGE_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
شماره نام جدول نیازمندی
1 Sys_Accessibility_Level1 مدیریت دسترسی گروه های کاری به فرم ها
2 Sys_Accessibility_Level2 مدیریت دسترسی گروه های کاری به کنترل ها
3 Sys_Application_Log مدیریت لاگ کارکرد سامانه (ثبت لاگ کسب و کار)
4 Sys_Application_Word دیکشنری کلامات ، کنترل ها و فرم ها و تمامی اجراء نرم افزار
5 Sys_Channel مدیریت کانال
6 Sys_Channel_Element المان های کانال های تبادل داده
7 Sys_Concurrency مدیریت همزمانی دسترسی به منابع (فرم ها )
8 Sys_Connection_Log ثبت وقایع ورود و خروج کاربران
9 Sys_Control_Type انواع کنترل های مجود در زی فریم
10 Sys_CRUD_Type انواع کوئری های موجود در زی فریم
11 Sys_Data_Type انواع اقلام اطلاعاتی
12 Sys_DataBase_Type انواع بانک های اطلاعاتی قابل پشتیبانی توسط زی فریم
13 Sys_Default_Value مقادیر پیش فرض
14 Sys_Design_Pattern اونواع الگو های طراحی فرم ها
15 Sys_Dev_Query کوئری های مورد استفاده توسط برنامه نویسان
16 Sys_Dic دیکشنری کلمات
17 Sys_Dic_Object_Type موجودیت های مربوط به دیکشنری
18 Sys_Element_Relation نوع روابط المان ها در چنل های ارتباطی
19 Sys_Element_Structure نوع ساختار المان ها در چنل های ارتباطی
20 Sys_Element_Type انواع المان های
21 Sys_Grid_Profile پروفایل ساختار گرید در فرم ها توسط کاربر استفاده کننده
22 Sys_Language انواع زبان های تحت پوشش برای نرم افزار
23 Sys_Notification اطلاعت مربوط به اعلان ها و خبر های رخ داده شده در سیستم
24 Sys_Notification_Group دسته بندی رخداد ها
25 Sys_Object لیست فرم های موجود در سامانه به همراه خصوصیات آن ها
26 Sys_Object_Child فرم های وابسته به فرمها
27 Sys_Object_Control کنترل های موجود در فرم ها به همراه خصوصیات کنترل
28 Sys_Object_Control_Lookup رخداد های مربوط به تغییرات کنترل ها
29 Sys_Object_Query کوئری های مربوط به فرم ها (جدید ، ویرایش ، حذف ، چک کردن  قواعد )
30 Sys_Object_Rule روابط بین اطلاعات فرم ها و کنترل ها
31 Sys_Object_Rule_Control روابط بین اطلاعات فرم ها و کنترل ها
32 Sys_Object_Script اسکریپت های مربوط به فرم ها کدهای جاوا اسکریپت
33 Sys_Object_Service سرویس های خارجی مورد استفاده در فرم ها SOAP
34 Sys_Object_Template قالب سرویس های مورد استفاده در فرم ها
35 Sys_Package پکیج های مورد استفاده هنگام توسعه نرم افزار
36 Sys_Process تعریف فرایند
37 Sys_Process_State تعریف مراحل فرایند
38 Sys_Process_State_UG تعریف روابط موجود در فرآیند
39 Sys_Process_Transition تعریف تراکنش ها و ارتباطات در فؤایند
40 Sys_Process_Transition_L لاگ در فرآیند
41 Sys_Process_Transition_LC لاگ در فرآیند
42 Sys_Protocol پروتکل های ارتباطی بین نرم افزار ها
43 Sys_Proxy_Server تعریف پرکسی برای کال کردن سرویس ها
44 Sys_Report_DataSet   ساختار های اطلاعاتی گزارشات
45 Sys_Report_DataSet_Object موجودیت ها در ساختار گزارش
46 Sys_REST_Access مدل دسترسی به سرویس های رست
47 Sys_REST_Function لیست سرویس های رست
48 Sys_REST_Function_Param پارامتر های موجود در سرویس های رست
49 Sys_rest_output ساختار خروجی سرویس
50 Sys_rest_output_p ساختار پارامتر های خروجی
51 Sys_rest_output_pga تعرف دسترسی به پارامتر های خروجی سرویس
52 Sys_rest_output_qp قالب ساختار خروجی سرویس
53 Sys_Server_Config اطلاعات مربوط به پیکره بندی سیستم
54 Sys_Service_Relation روابط بین سرویس ها
55 Sys_Source_Code سورس کد سرویس ها و فرم هت
56 Sys_Structure_Relation ساختار ارتباطات
57 Sys_System لیست زیر سیستم های موجود در پروژه
58 Sys_User لیست کاربران
59 Sys_UserGroup لیست گروه های کاری
60 Sys_UserGroupList لیست ارتباط کاربر و گروه کاری
61 Sys_WebService لیست وب سرویس ها
62 Sys_WebService_Function لیست تواع موجود در وب سرویس
63 Sys_WorkFlow گردش کار ها
64 Sys_WorkflowForm فرم های موجود در گردش کار ها و منو های نرم افزار
65 Sys_WorkflowUserGroup گروه های کاری مربوط به گردش کار ها
66 Sys_WS_Function_Parameter پارامتر های مجود در وب سرویس ها
best tracker