金蝶k3工业单据(老单据)的中间层插件为何无法起作用?

工业单据(老单据)中间层插件和客户端插件一样需要手工在t_ThirdPartyComponent中插入一条记录

但是区分两种情况

对于单据保存前/保存后(BeginSave/EndSave)这样的事件t_ThirdPartyComponent表的各个字段含义如下:

FTypeID

0

FTypeDetailID

单据类型ID号,具体的值可以参考下面的SQL:

SELECT FID FROM ICTransactionType WHERE FName =’外购入库’

FIndex

插件组件的执行顺序号,当有多个插件时,按照该字段值的大小顺序执行,并且区分客户端/中间层的顺序,一般根据FTypeDetailID过滤后取已有的最大值+10即可

FComponentName

客户端插件的组件名,例如“project1.class1” 一般为空串

FComponentSrv

中间层插件的组件名,例如“K3MidClass.clsUpdate”,注意该组件需要同时实现BeginSave,EndSave接口,否则会提示错误

FDescription

对于插件的简要说明

对于单据审核前/审核后这样的事件t_ThirdPartyComponent表的各个字段含义如下:

FTypeID

2表示中间层插件

FTypeDetailID

插件事件ID号,具体的值如下:

FFunctionName

FFunctionID

审核前

200001

审核反写

200002

审核退出前

200003

生成凭证结束反写

100000

生成凭证结束反写

100001

序时簿复制前

300001

序时簿复制后

300002

删除单据前

300003

删除单据后

300004

作废/反作废单据前

300005

作废/反作废单据后

300006

关闭/反关闭单据前

300007

关闭/反关闭单据后

300008

单据关联反写前

300009

单据关联反写后

300010

单据合并前

300011

单据合并后

300012

单据拆分前

300013

单据拆分后

300014

 

FIndex

插件组件的执行顺序号,当有多个插件时,按照该字段值的大小顺序执行,并且区分客户端/中间层的顺序,一般根据FTypeDetailID过滤后取已有最大值+10即可

FComponentName

客户端插件的组件名,例如“project1.class1” 一般为空串

FComponentSrv

中间层插件的组件名,例如“K3MidClass.clsUpdate”,注意该组件需要实现HookInvoke接口,在该接口内部根据事件类型ID来区分事件,并根据传入的数据的值来区分当前单据类型

FDescription

对于插件的简要说明

posted @ 2019-10-11 13:00  唐尧  阅读(918)  评论(0编辑  收藏  举报