K - 3开发积累 联系客服

发布时间 : 星期五 文章K - 3开发积累更新完毕开始阅读d3a77c3067ec102de3bd8905

1. 删除已发布的功能

Delete from t_DataFlowDetailFunc where fSubfuncid in (select FSubFuncID from t_DataFlowSubFunc where fFuncName='子功能名称') Delete t_DataFlowSubFunc where fFuncName='子功能名称' Update t_DataFlowTimeStamp set FName=FName

2. 计算公式

Select * from icTemplate where fID = ‘s01’ 修改其中的fAction

其中的 fDefaultCtrl为1时不能改,为0时可以修改公式。

3. 在基础资料中增加列

3.1增加相应的表结构如(物料、客户等),增加自己列(fOperCode) 3.2往表 ItemPropDesc 中增加相应数据

3.3在t_IcItemCustom中增加相应列(t_Item) 3.4更新t_IcItemCustom中数据,如: Update

t_ICItemCustom Set

fOperCode = b.fOperCode From

t_ICItemCustom a , t_Item b where

a.fItemID = b.fItemID

3.5执行

exec SP_CREATE_ICItem_VIEW exec SP_CREATE_ICItem_TRIGGER

--Select * from t_ItemClass

--客户

Alter Table t_Organization Add fOperCode varchar(30) INSERT INTO t_ItemPropDesc

(FItemClassID,FPropID,FName,FName_en,FName_cht,FSQLColumnName,FDataType,FPrecision,FScale,FActualType,FActualSize,FBehavior,FSearch,FSrcTable,FSrcField,FDisplayField,FDefaultValue,FPageName,FPageName_en,FPageName_cht,FComCall,FIsShownList,FViewMask) VALUES (

1, 102, '业务系统代码', '业务系统代码', '业务系统代码', 'fOperCode', 200, 30, 0, 200, 30, NULL, 0, NULL, NULL, NULL, NULL, '1.基本资料', '1. Basic Data', '1.基本資料', NULL, 0, 0 )

--部门

Alter Table t_Department Add fOperCode varchar(30) INSERT INTO t_ItemPropDesc

(FItemClassID,FPropID,FName,FName_en,FName_cht,FSQLColumnName,FDataType,FPrecision,FScale,FActualType,FActualSize,FBehavior,FSearch,FSrcTable,FSrcField,FDisplayField,FDefaultValue,FPageName,FPageName_en,FPageName_cht,FComCall,FIsShownList,FViewMask) VALUES (

2, 102, '业务系统代码', '业务系统代码', '业务系统代码', 'fOperCode', 200, 30, 0, 200, 30, NULL, 0, NULL, NULL, NULL, NULL, '1.基本资料', '1. Basic Data', '1.基本資料', NULL, 0, 0 )

--职员

Alter Table t_Emp Add fOperCode varchar(30) INSERT INTO t_ItemPropDesc

(FItemClassID,FPropID,FName,FName_en,FName_cht,FSQLColumnName,FDataType,FPrecision,FScale,FActualType,FActualSize,FBehavior,FSearch,FSrcTable,FSrcField,FDisplayField,FDefaultValue,FPageName,FPageName_en,FPageName_cht,FComCall,FIsShownList,FViewMask) VALUES (

3, 102, '业务系统代码', '业务系统代码', '业务系统代码', 'fOperCode', 200, 30, 0, 200, 30, NULL, 0, NULL, NULL, NULL, NULL, '1.基本资料', '1. Basic Data', '1.基本資料', NULL, 0, 0 )

--物料

Alter Table t_Item Add fOperCode varchar(30) INSERT INTO t_ItemPropDesc

(FItemClassID,FPropID,FName,FName_en,FName_cht,FSQLColumnName,FDataType,FPrecision,FScale,FActualType,FActualSize,FBehavior,FSearch,FSrcTable,FSrcField,FDisplayField,FDefaultValue,FPageName,FPageName_en,FPageName_cht,FComCall,FIsShownList,FViewMask) VALUES (

4, 102, '业务系统代码', '业务系统代码', '业务系统代码', 'fOperCode', 200, 30, 0, 200, 30, NULL, 0, NULL, NULL, NULL, NULL, '1.基本资料', '1. Basic Data', '1.基本資料', NULL, 0, 0 )

exec SP_CREATE_ICItem_VIEW

exec SP_CREATE_ICItem_TRIGGER

4. 客户希望在销售订单的审核事件中加入一些控制条件,由于是老单据,在插件中抓不到审核事件,请高手指教!

审核需要在中间层插件去做。做一个中间层Dll,如MidSample.dll,有一个类如clsMid.cls。在这个类中加入下面的代码:

Public Function HookInvoke(ByVal pEventID As Long, Para As KFO.Dictionary) As Boolean On Error GoTo e

If pEventID = 200003 Then '200004取自t_ThirdPartyComponent表FtypedetailID字段 '增加自己的代码

If Para(\审核 2反审核 If Para(\销售订单

If (CanCheck = False) Then ‘CanCheck可以是自己判断审核条件的函数 Para(\可以自定义 Para(\审核判断组件\ Para(\提示:不能审核\ HookInvoke = False Exit Function Else

HookInvoke = True Exit Function End If End If End If End If

HookInvoke = True Exit Function e:

HookInvoke = False End Function

这个类要在t_ThirdPartyComponent中注册,注册的SQL如下: insert t_ThirdPartyComponent

(FTypeID,FTypeDetailID,FIndex,FComponentName,FComponentSrv,FDescription) values ( 2,200003,-2,'', ‘MidSample.clsMid','')

5. 辅助属性

Select * from t_ItemClass where fType in (3, 4)

Select FAuxClassID from t_IcItem where FAuxClassID > 0

6. 老单插件

SQL

--有关老单的插件注册

--FTypeDetailID为单据类型21是销售出库单

--有关fTypeDetailID 在ICTransactionType表中查询

Delete FROM t_ThirdPartyComponent WHERE (FTypeDetailID = 21) insert t_ThirdPartyComponent

(FTypeID,FTypeDetailID,FIndex,FComponentName,FComponentSrv,FDescription) values ( 0,21,-2,'K3Serial.CSerialInput','K3MSerial.WriteData','单据序列号客户端组件')

insert t_ThirdPartyComponent

(FTypeID,FTypeDetailID,FIndex,FComponentName,FComponentSrv,FDescription) values

( 0,21,-1,'SettlePlugInForICBill.RetailSettles','POSORMapping.RetailBillWSvr','销售出库单多种结算方式') insert t_ThirdPartyComponent

(FTypeID,FTypeDetailID,FIndex,FComponentName,FComponentSrv,FDescription) values ( 0,21,-3,'OutPlus.clsOut','','南通港口销售出库单插件(提取装卸作业单相关成本)')

insert t_ThirdPartyComponent

(FTypeID,FTypeDetailID,FIndex,FComponentName,FComponentSrv,FDescription) values ( 0,21,0,' ',' ',' ') Go

Code

1. 插件引用

位置: D:\\Kingdee\\项目\\保华集团\\Ord\\Components\\Client a) K3BBI.tlb

b) K3BillTransfer.dll c) KFO10.dll