三、K3 WISE 开发插件《K3 WISE开发手册》

时间:2024-03-17 18:57:19

1.VB插件工程的命名、命名空间和生成的DLL命名要一致,否则导致注册不成功!

2.主控台的查询分析工具,添加sql直接报表,代码用到临时表,提示“在对应所需名称或序数的集合中未找到项目”

解决:在代码开头加上:set nocount on

3.如何用MRP计算一个无销售订单的BOM表产生的采购需求?

  问题补充:通过BOM表,利用BOM表的采购件来推出采购需求,生成采购申请单,推出采购订单进行采购,然后做外购入库

解决:做一张该BOM表的产品预测单--MRP运算--采购需求--采购申请--采购订单---外购入库,

做完流程后,关闭采购申请--关闭采购需求--关闭产品预测单。用产品预测单来提取采购件的采购需求。

4.存货核算--凭证生成,生成外购入库凭证时,提示取凭证模板失败 “当前默认凭证模板设置不正确,凭证字不存在!”

解决:模板设置里,分【实际成本法部分】和【计划成本法部分】,里面都有外购入库部分,都要设置模板

5.启用批号管理后,使用一段时间,又要取消批号,应该怎么做?

把 库存清空 取消批次 (用其他出库 全部出了)

然后 后台修改 取消批次
========================
select fbatchmanager,fnumber from t_icitem where fnumber = \'OP.19.0002-000\'--批次管理
update t_icitem set fbatchmanager= 1 where fnumber = \'OP.19.0002-000\'
===============================

然后再重新 其他入库

6.在生产领料单的套打上添加即时库存的操作

1.客户端工具包--辅助工具--单据自定义--打开--增加分录列--输入分录列的名称
2.选择分录表身--属性--选中刚才的分录列--在高级项目栏上选择[来源方式]=通过公式得到--在第一行的空白栏上选上实存数量这个字段。

7.工业单据添加工具栏按钮,是否可行?

解答:网络上提供的方法,验证添加按钮是可行的,按钮点击激发事件RetEvents,也能激发点击事件,

但是,传入参数Para对象,识别不了是哪个按钮激发的事件。结论:不可行,建议使用自定义菜单插件。

8、BOS新单二次开发调用存储过程

strSQL = "exec Proc_K3_ProductionOrdersByCustomer " & strCustomer  

Set rs = m_BillInterface.K3Lib.GetData(strSQL)

9、常引用的dll文件

1.K3ClassEvents.dll  对应   K3ClassEvents

2.Kfo10.dll 对应  Kingdee Foundation Objects 1.0

3.K3BillTransfer.dll  对应 K3BillTransfer

4.在VB中引入ADODB类型

解决方式如下:

在菜单project--refrences里,选中microsoft   activex     data   object   2.5library!

dim   conn   as   new   ADODB.Connection 
dim   rs   as   new   ADODB.RecordSet 

10、出入库单据

外购入库
产品入库
委外加工入库单
虚仓入库
其他入库
盘盈入库
调拨单
受托加工材料入库单

销售出库
生产领料单
虚仓出库
委外加工出库单
其他出库单
调拨单
盘亏毁损
受托加工领料

11、在K3wise里面做仓存管理的初始数据录入,输入代码时,弹出金蝶提示

”系统在调用函数FILLItemDetailbyF7()时发生错误,错误原因:下标越界 错误来源:K3ICInitialCtl;“

解决:单位表丢失了0记录导致的。

insert into t_UnitGroup
(FUnitGroupID,FName,FDefaultUnitID)
select FUnitGroupID,FName,FDefaultUnitID 
from AIS20121023172833.dbo.t_UnitGroup where FUnitGroupID=0

insert into t_measureunit
(FMeasureUnitID,FUnitGroupID,FNumber,FAuxClass,FName,
FCoefficient,FBrNo,FItemID,FParentID,FDeleted,
FShortNumber,FOperDate,FScale,FStandard,FControl,
FSystemType,FConversation,FPrecision,FNameEN,FNameEnPlu)

select FMeasureUnitID,FUnitGroupID,FNumber,FAuxClass,FName,
FCoefficient,FBrNo,FItemID,FParentID,FDeleted,
FShortNumber,FOperDate,FScale,FStandard,FControl,
FSystemType,FConversation,FPrecision,FNameEN,FNameEnPlu
from AIS20121023172833.dbo.t_measureunit
where fmeasureunitid=0

 12、销售订单计算公式

数量、不含税单价

基本单位数量

FQty = FAuxQty * t_measureunit.FCoefficient

基本单位单价

FPrice = FAuxPrice /  t_measureunit.FCoefficient

FAuxQty 数量(显示单位是kg,就是千克数量;显示单位是吨,就是吨数量)

FAuxPrice 单价(显示单位是kg,就是千克单价;显示单位是吨,就是吨单价)

 

(含税)单位折扣额 = (含税)折扣额 /  数量   

FUniDiscount = FTaxAmount / FQty

 

销项税额 =(含税)销售额 /(1+税率)* 税率 - (含税)折扣额  /(1+税率)* 税率

FTaxAmt = FAllAmount / (1 + 0.17) * 0.17 - FTaxAmount / (1 + 0.17) * 0.17

销项税额 =(不含税)销售额 *  税率  - (不含税)折扣额  * 税率

FTaxAmt = FAmount * 0.17  - FTaxAmount / (1 + 0.17) * 0.17

 

不含税金额 = 不含税单价 * 数量 - 折扣额 / (1 + FCess / 100)

 FAmount = FAuxPrice * FQty - FTaxAmount  / ( 1 + 0.17 )

 

含税单价= 不含税单机 * (1+税率/ 100)

FAuxTaxPrice = FAuxPrice * (1+ FCess / 100)

 FTaxPrice = FPrice * (1+ FCess / 100)

 

价税合计 = 含税单价 * 数量 - (含税)折扣额

FAllAmount = FAuxPrice * FQty - FTaxAmount

价税合计(本位币) = 价税合计 * 汇率

FAllStdAmount = FAllAmount   * SEOrder.FExchangeRate                                                                   

 

(含税)折后单价 或 实际含税单价 = (含税)单价 - 折扣额

FAuxPriceDiscount = FTaxPrice - FTaxAmount

FPriceDiscount = FTaxPrice - FTaxAmount