金蝶钉钉插件增加审批单据配置步骤

2022年10月8日之后,更新的金蝶钉钉插件已不限制金蝶审批单据的数量。金蝶哪些单据、单据的哪些字段需要发送钉钉审批都可以通过配置实时增加和调整。

增加钉钉审批单据步骤:

  1. 金蝶单据表头添加字段:钉钉审批实例ID[字段标识Fprocess_instance_id],钉钉审批人[字段标识FDingApprover],发送钉钉审批复选框[字段标识FSendToDing](可选,如不需要按单据控制是否发送钉钉审批可不添加)
  2. 创建并配置钉钉段审批表单
  3. 创建并配置金蝶和钉钉字段映射
  4. 注册金蝶钉钉审批的表单插件
  5. 添加单据“刷新”按钮,隐藏单据列表的【提交】和【审批】按钮。
  6. 关联查询下增加“查看钉钉审批进度”按钮(标识:tbGetProcessDit)可以在金蝶系统随时查看钉钉审批进度。
  7. 增加钉钉审批人和抄送人字段。(如需在金蝶单据上指定钉钉审批人和抄送人可添加字段,不添加按照钉钉默认流程审批)

 

分步详细说明

一、金蝶单据头添加字段

参考下图添加单据字段。

二、 创建并配置钉钉表单

金蝶系统中需要在钉钉上审批的单据,在钉钉管理后台同步新建一个“流程表单”,字段内容为金蝶上需要发送到钉钉审批的字段。

钉钉管理后台地址:https://oa.dingtalk.com/index.htm

创建“流程表单”

 

设计表单,添加审批过程中需要看到金蝶系统的字段,最后发布表单

 

创建完成后记录表单的processCode,可在旧版界面的地址栏找到,如下图。

 

三、 配置金蝶和钉钉字段映射

首先创建存储流程信息和表单映射的两个数据库表。

1. 创建审批流程表。在数据库中执行以下代码。

文末有完整的sql文件下载,仅需执行一次!

CREATE TABLE [dbo].[GoldLink_PROCESSCODE](
[FPROCESSCODE] [nvarchar](50) NOT NULL,
[FBillName] [nvarchar](20) NULL,
[FTableName] [nvarchar](50) NULL,
[FormID] [nvarchar](50) NULL,
[FForbidStatus] [bit] NULL CONSTRAINT [DF_GoldLink_PROCESSCODE_FForbidStatus] DEFAULT ((0)),
[Fdate] [datetime] NULL CONSTRAINT [DF_GoldLink_PROCESSCODE_Fdate] DEFAULT (getdate()),
[FBillField] [nvarchar](1000) NULL,
[FBillEntryField] [nvarchar](1000) NULL,
CONSTRAINT [PK_GoldLink_PROCESSCODE] PRIMARY KEY CLUSTERED
(
[FPROCESSCODE] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

 

2. 创建储存钉钉和金蝶表单值对应表。

文末有完整的sql文件下载,仅需执行一次!

CREATE TABLE [dbo].[GoldLink_Form_Values](
[FTableName] [nvarchar](50) NOT NULL,
[FEntrName] [nvarchar](30) NULL CONSTRAINT [DF_GoldLink_Form_Values_FisEntry] DEFAULT ((0)),
[FDingFieldName] [nvarchar](50) NOT NULL,
[FField] [nvarchar](50) NULL,
[FPropertyName] [nvarchar](30) NULL,
[FDefault] [nvarchar](1000) NULL,
[FDefaultType] [INT] NULL,
[FValueType] [nvarchar](10) NULL,
[FAddStrLeft] [nvarchar](50) NULL,
[FFormatString] [nvarchar](20) NULL,
[FAddStrRight] [nvarchar](50) NULL,
[FForbidStatus] [bit] NULL CONSTRAINT [DF_GoldLink_Form_Values_FForbidStatus] DEFAULT ((0)),
[FisSysField] [bit] NULL CONSTRAINT [DF_GoldLink_Form_Values_FisSysField] DEFAULT ((0))
) ON [PRIMARY]

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @VALUE=N'表名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'GoldLink_Form_Values', @level2type=N'COLUMN',@level2name=N'FTableName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @VALUE=N'是否是明细' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'GoldLink_Form_Values', @level2type=N'COLUMN',@level2name=N'FEntrName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @VALUE=N'钉钉字段名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'GoldLink_Form_Values', @level2type=N'COLUMN',@level2name=N'FDingFieldName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @VALUE=N'字段标识' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'GoldLink_Form_Values', @level2type=N'COLUMN',@level2name=N'FField'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @VALUE=N'字段属性名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'GoldLink_Form_Values', @level2type=N'COLUMN',@level2name=N'FPropertyName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @VALUE=N'默认值' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'GoldLink_Form_Values', @level2type=N'COLUMN',@level2name=N'FDefault'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @VALUE=N'默认值赋值方式,0为空为null,1强制' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'GoldLink_Form_Values', @level2type=N'COLUMN',@level2name=N'FDefaultType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @VALUE=N'字段类型,string datetime,int,float' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'GoldLink_Form_Values', @level2type=N'COLUMN',@level2name=N'FValueType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @VALUE=N'格式化字符串' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'GoldLink_Form_Values', @level2type=N'COLUMN',@level2name=N'FFormatString'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @VALUE=N'是否系统字段' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'GoldLink_Form_Values', @level2type=N'COLUMN',@level2name=N'FisSysField'
GO

创建表之后可以配置金蝶和钉钉字段映射值了

以下示例代码启用销售订单钉钉审批,其中的FPROCESSCODE列是以上钉钉创建表单所记录的processCode。

INSERT [dbo].[GoldLink_PROCESSCODE]
([FPROCESSCODE], [FBillName], [FTableName], [FormID], [FForbidStatus], [Fdate], [FBillField], [FBillEntryField]) VALUES
(N'PROC-38CF9D10-56CB-4182-AAD0-2D320F8E7666', N'销售订单', N'T_SAL_ORDER', N'SAL_SaleOrder', 0, GETDATE(), NULL, NULL)

 

以下示例代码创建销售订单和钉钉字段的映射关系

------------------------------------------------------------------/****** 销售订单 ******/
SET @BillHeadName='T_SAL_ORDER';
SET @BillEntryName='FSaleOrderEntry';
DELETE [dbo].GoldLink_Form_Values WHERE FTableName=@BillHeadName
INSERT [dbo].GoldLink_Form_Values
([FTableName], [FEntrName], [FDingFieldName], [FField], [FPropertyName], [FDefault], [FDefaultType], [FValueType], [FAddStrLeft], [FFormatString], [FAddStrRight], [FForbidStatus], [FisSysField])
VALUES
(@BillHeadName, NULL, N'userid_list', N'FCreatorId', @UserPhoneValue, NULL, NULL, NULL, NULL, NULL, NULL, 0, @Sys)
,(@BillHeadName, NULL, N'DeptId', N'FSaleDeptId', N'FDDeptId', @DefDeptId, 0, NULL, NULL, NULL, NULL, 0, @Sys)
,(@BillHeadName, NULL, N'AttachmentFileServerURL', NULL, NULL, @AttachmentFileServerURL, NULL, NULL, NULL, NULL, NULL, 0, @Sys)
,(@BillHeadName, NULL, N'AttachmentWeb', NULL, NULL, @AttachmentWeb, 0, NULL, NULL, NULL, NULL, 0, @Sys)
,(@BillHeadName, NULL, N'单据类型', N'FBillTypeID', N'Name', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, NULL, N'单据编号', N'FBillNo', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, NULL, N'日期', N'FDate', NULL, NULL, NULL, N'DateTime', NULL, N'D', NULL, 0, 0)
,(@BillHeadName, NULL, N'备注', N'FNote', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, NULL, N'订单金额', N'FBillAllAmount', NULL, NULL, NULL, N'double', NULL, N'0.00', NULL, 0, 0)
,(@BillHeadName, NULL, N'销售组织', N'FSaleOrgId', N'Name', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, NULL, N'客户', N'FCustId', N'Name', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, NULL, N'销售部门', N'FSaleDeptId', N'Name', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, NULL, N'销售员', N'FSalerId', N'Name', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, NULL, N'销售组', N'FSaleGroupId', N'Description', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, NULL, N'交货方式', N'FHeadDeliveryWay', N'FDataValue', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, NULL, N'收款条件', N'FRecConditionId', N'Name', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, NULL, N'应收日期', N'F_GOLD_Date', NULL, NULL, NULL, N'DateTime', NULL, N'D', NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'序号', N'Seq', NULL, NULL, NULL, N'double', NULL, N'0', NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'库存组织', N'StockOrgId', N'Name', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'客户名称', N'FMRPNO01', N'Name', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'物料编码', N'MaterialId', N'Number', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'物料名称', N'MaterialId', N'Name', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'规格型号', N'MaterialId', N'Specification', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'单价', N'Price', NULL, NULL, NULL, N'double', NULL, N'0.000000', NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'含税单价', N'TaxPrice', NULL, NULL, NULL, N'double', NULL, N'0.000000', NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'税率', N'TaxRate', NULL, NULL, NULL, N'double', NULL, N'0', N'%', 0, 0)
,(@BillHeadName, @BillEntryName, N'销售数量', N'Qty', NULL, NULL, NULL, N'double', NULL, N'0.00', NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'单位', N'UnitId', N'Name', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'价税合计', N'AllAmount', NULL, NULL, NULL, N'double', NULL, N'0.00', NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'要货日期', N'DeliveryDate', NULL, NULL, NULL, N'DateTime', NULL, N'D', NULL, 0, 0)
,(@BillHeadName, @BillEntryName, N'备注', N'Note', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0)
四、 注册金蝶钉钉审批的表单插件

以上工作都完成后,在需要启用审批的金蝶表单上,注册和启用金数连接器钉钉审批插件。

插件文件参考下图,选择金蝶安装目录下bin目录下的“GoldLink_DingApprove.dll”

 

五、添加单据“刷新”和“查看钉钉审批进度”按钮,隐藏单据列表的【提交】和【审批】按钮

最后为了用户操作方便考虑,可以完成以下几步操作:

  1. 启用插件的上增加“刷新”按钮,方便用户刷新订单审批状态。
  2. 增加“查看钉钉审批进度”按钮(标识:tbGetProcessDit)可以在金蝶系统随时查看钉钉审批进度。
  3. 列表上隐藏“提交”和“审批”按钮。因为列表上的这两个按钮暂时未受插件控制。

六、关联查询下增加“查看钉钉审批进度”按钮

参考上一节添加按钮。标识:tbGetProcessDit,可以在金蝶系统随时查看钉钉审批进度。

七、 增加钉钉审批人和抄送人字段。(本节字段都为可选字段,按需添加,不添加不影响流程执行)

如需在金蝶单据上指定钉钉流程的审批人和流程抄送人,则可在金蝶单据添加相应的字段。

如不添加则按照钉钉默认流程审批。添加字段后留空不填审批流程仍旧按照钉钉预设流程流转。

添加字段:

  1. 钉钉审批人,指定钉钉审批流程节点的审批人,多选后按选择顺序审批:类型多选基础资料;标识、字段名、实体属性都为:FApprovers;基础资料类型:员工,引用属性:移动电话(需完善员工属性中的移动电话)
  2. 钉钉抄送人,指定流程信息的抄送人,多选后群发(流程抄送人必须和审批人都有值才有效,不指定审批人单独指定抄送人无效):类型多选基础资料;标识、字段名、实体属性都为:FCcList;基础资料类型:员工,引用属性:移动电话
  3. 开始时抄送,指定流程发起时即抄送流程消息(默认选项,不指定即为发起时抄送):类型复选框;标识、字段名、实体属性都为:FccPositionS
  4. 结束时抄送,指定流程发起时即抄送流程消息:类型复选框;标识、字段名、实体属性都为:FccPositionF

 

至此金蝶钉钉审批插件全部配置完成。

文中提及的代码和完整的映射配置模板文件请联系我们下载。

密码保护区域

此区域内容受密码保护,查阅请联系我们(info@zjgkd.cn)

1 条评论

  • littlepaper 2024年1月15日 回复

    请问密码是多少

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

本站提供金蝶、钉钉等开发实施相关技术文章的发布和转载。如有侵权,联系立删(info@zjgkd.cn) 。
Powered by WordPress · 苏ICP备13058196号-11