简介
金数逻辑校验器(GDLogic)是一款程序逻辑校验和字段携带工具。
能实现金蝶表单界面,根据源字段,经过逻辑计算赋值到目标字段,计算逻辑可灵活配置。
详细介绍参考下文。
本文说明金数逻辑校验器(GDLogic)配置步骤。
一、 安装插件
在要需要使用逻辑校验的单据上添加逻辑校验器插件。
插件文件可在文末下载。
二、添加表单上要监控的字段
如果还没创建监控字段表先创建监控字段表,创建监控字段表sql语句。可在文末下载完整文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[GoldLogic_Fields]( [FormID] [nvarchar](50) NULL, [FField] [nvarchar](50) NULL, [FBillHeadName] [nvarchar](50) NULL, [FEntrName] [nvarchar](50) NULL, [GetFieldName] [nvarchar](50) NULL, [GetPropertyName] [nvarchar](50) NULL, [FBillName] [nvarchar](50) NULL, [FForbidStatus] [bit] NULL CONSTRAINT [DF_GoldLogic_Fields_FForbidStatus] DEFAULT ((0)), [Fdate] [datetime] NULL CONSTRAINT [DF_GoldLogic_Fields_Fdate] DEFAULT (getdate()) ) ON [PRIMARY] GO |
添加示例代码,可根据需要自行修改。
1 2 3 4 5 6 7 8 9 | INSERT [dbo].[GoldLogic_Fields] ([FormID], [FField], [FBillHeadName], [FEntrName], [GetFieldName], [GetPropertyName], [FBillName], [FForbidStatus], [Fdate]) VALUES (N'PUR_Requisition', N'FMaterialId', NULL, N'FEntity', N'MaterialId', N'ID', N'采购申请单', 0, GETDATE()) GO INSERT [dbo].[GoldLogic_Fields] ([FormID], [FField], [FBillHeadName], [FEntrName], [GetFieldName], [GetPropertyName], [FBillName], [FForbidStatus], [Fdate]) VALUES (N'PUR_PurchaseOrder', N'FMaterialId', NULL, N'FPOOrderEntry', N'MaterialId', N'ID', N'采购订单', 0, GETDATE()) GO INSERT [dbo].[GoldLogic_Fields] ([FormID], [FField], [FBillHeadName], [FEntrName], [GetFieldName], [GetPropertyName], [FBillName], [FForbidStatus], [Fdate]) VALUES (N'SAL_OUTSTOCK', N'FMaterialId', NULL, N'FEntity', N'MaterialId', N'', N'销售出库单', 0, GETDATE()) |
GoldLogic_Fields表字段说明
[FormID]:识别表单的FormID
,[FField]:要监控改动的字段名,此字段修改会触发更新事件
,[FBillHeadName]:如果字段是表头,表头名称
,[FEntrName]:表体字段名称
,[GetFieldName]:获取字段值,用于逻辑计算
,[GetPropertyName]
,[FBillName]
三、添加值更新计算逻辑
如果还没创建值更新字段表先创建表,sql语句如下。可在文末下载完整文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[GoldLogic_FieldUpdateLogic]( [Ftype] [nvarchar](10) NULL, [FormID] [nvarchar](50) NULL, [FField] [nvarchar](50) NULL, [FTargetField] [nvarchar](50) NULL, [FLogic] [nvarchar](1000) NULL, [FNullOrEmptyClean] [bit] NULL CONSTRAINT [DF_GoldLogic_FieldUpdateLogic_FNullOrEmptyClean] DEFAULT ((1)), [FForbidStatus] [bit] NULL CONSTRAINT [DF_GoldLogic_FieldUpdateLogic_FForbidStatus] DEFAULT ((0)), [Fdate] [datetime] NULL CONSTRAINT [DF_GoldLogic_FieldUpdateLogic_Fdate] DEFAULT (getdate()) ) ON [PRIMARY] |
值更新示例代码。
1 2 3 4 5 6 7 8 9 10 11 | INSERT [dbo].[GoldLogic_FieldUpdateLogic] ([Ftype], [FormID], [FField], [FTargetField], [FLogic], [FNullOrEmptyClean], [FForbidStatus], [Fdate]) VALUES (NULL, N'PUR_Requisition', N'FMaterialId', N'FLastOutDate', N'select top 1 o.fdate from T_SAL_OUTSTOCK o left join T_SAL_OUTSTOCKENTRY oe on o.FID=oe.FID where FBILLTYPEID=''ad0779a4685a43a08f08d2e42d7bf3e9'' and FDOCUMENTSTATUS=''C'' and FCANCELSTATUS =''A'' and FSTOCKORGID={0} and -1<>{1} and FMATERIALID={2} order by Fdate desc', 1, 0, CAST(N'2022-11-17 19:36:16.487' AS DateTime)) GO |
[GoldLogic_FieldUpdateLogic]表字段说明:
[FormID],窗体
,[FField],
,[FTargetField]
,[FLogic]
,[FNullOrEmptyClean]
,[FForbidStatus]
,[Fdate]
完整插件文件和SQL语句可联系我们下载。
源代码下载
3 条评论
能否提供学习研究。谢谢~
解锁密码见邮件。
你好,在金蝶社区看到你们的帖子,特来学习研究,求一个密码,万分感谢!
phunix@qq.com