K3 BOS开发百问百答 下载本文

客户化开发技术资料——K/3 BOS开发百问百答

【问题5】为什么在BOS单据下推到外购入库单时无法选择红字单据,只能是蓝字单据呢?BOS单据下推生成老单的时候,怎样把BOS单据的单据号显示在老单上呢?

【解答】 1. 2.

BOS单据下推到老单没有处理红兰字单据,默认就是蓝字单据,目前下推没有处理红字单据。 BOS单据下推生成老单的时候,使用钩稽就可以把BOS单据的单据号显示在老单上。

【问题6】如何在单据中做一个可以选择,又可以随意录入的字段?客户要在单据上加入一个“送货地点”,送货地点有一部分是固定的,还有一部分是只用一次,所以客户需要当是固定送货地点时的就进行选择,对于选不到的就直接在单据上打字(也就是不录入BOS基础资料中)。

【解答】

在单据上增加一个文本类型的字段(送货地点),通过插件在菜单上增加一菜单项(选择送货地点),并在插件中实现如下功能: 1、判断客户的送货地点类别,

2、如果是固定送货点,则菜单项可用,点菜单项选择“送货地点”基础资料,返回值填入字段中(只返回名称即可)

3、如果是一次性送货点,则菜单项不可用,可手工在单据上输入送货地点

当然上面的还可以更细化,比如固定送货点时,“送货地点”只能选择,不能录入等等。

【问题7】如何在把BOS单据的税率携带到下游老单据?BOS新做的单据税率是基础资料属性来做的,但是K/3的老单据的税率不是基础资料属性,所以BOS单据下推生成老单据的时候怎么样携带税率下去呢。 【解答】

可以将BOS的单据税率用小数类型描述,在基础资料值更新事件中,自动将基础资料的税率带到单据税率中,然后就可以关联到K/3来单据中。

【问题8】客户的车间管理的单据与我们K310.2的差异很大,无法使用K3的车间来满足客户需求。从派工单,到工序汇报,到最后的计时计件工资,都有差异,比如派工单,K3的表头是客户单据的表体,而K3的表体是客户单据的表头。但单据流是基本一致的。请问这样的开发用BOS是否可行?还是单独写程序比较好?哪个综合起来效果最佳?另外,分录是否可以把字段竖着表示?把行变成列,把列变成行? 【解答】

K/3 BOS 的单据为主表-明细表的一对多结构,如你的单据可以设计成这种结构即可用BOS实现,如为特殊结构单据,如无法变通,只能自行开发了。“分录是否可以把字段竖着表示”不能行变成列,但如果分录为单条纪录,可以用常用字段库中的字段或自定义字段实现。

第21页

客户化开发技术资料——K/3 BOS开发百问百答

【问题9】K310.2 委外加工生产任务单-录入界面中,我们的系统中是只能实现录入一个物料进行委外加工,现在客户要求录入多条物料在一个界面内且能实现在原有界面上的所有操作。目前我用BOS新建一个表单做到的情况是可以录入多条物料,但BOM代码数据抓不到,单据能保存。实现不了确认单据后,单据状态由计划状态变为下达状态。请问应该怎么做。 【解答】

通过K3BOS的开发平台可以实现大部分通用的功能,比如新增、修改、删除、审核、单据流转等等,但如果涉及到特殊业务的话,必须通过插件实现。

【问题10】在工业单据上定义了“审核日期”字段,需要在审核后将系统日期填充到“审核日期”字段。我想通过工业单据插件来实现,但是不知道在哪个事件中执行? 【解答】

如果是v102版本,可以在t_ThirdPartyComponent表中,增加一条记录FTypeID=2,FTypeDetailID=200001,FIndex=Max(FIndex),FComponentSrv=插件名称(中间层)插件实现HookInvoke(Long,KFO.Dictionary)接口,接口参数的详细文档,请联系基础项目组陈跃申请!以前版本没有审核接口,考虑通过触发器实现,增加update触发器,根据审核标志进行处理

【问题11】K3/10.2中调用不了Billtransfer,10.2以前版本中更新表ictransactiontype 中字段fcheckpro 成“ReDevClient:RevDev***.cls***”就可以调用 10.2版本是否需要修改其他地方? 【解答】

K/3V10.2插件注册方式发生变化:为了支持多二次开发的结构,单据二次开发记录现在在t_ThirdPartyComponent表里维护。

字段名称 FTypeID FTypeDetailID 类型 INT INT 长度 4 4 说明 用于区分事件类型(0、表示单据,1、表示序时簿,2、表示其它通用业务) 对应单据、序时簿上的具体ID,在单据上使用时,该事件ID对应单据的TranType,在序时簿上使用时,对应序时簿的FID,对于FTypeID=2的类型,FTypeDetailID表示只有中间层的二次开发类型,比如审核 对于一个FTypeDetailID,可以有多个二次开发操作,中间用FIndex来决定执行顺序,(标记为负数的会在ictransactiontype中记录的二次开发之前执行,ictransactiontype中的FIndex默认为0)。非空 二次开发组件名称(ComName.clsName) 中间层二次开发组件 二次开发组件说明 FIndex INT 4 FComponentName VARCHAR 200 FCompenentSrv FDescription VARCHAR 200 VARCHAR 255

第22页

客户化开发技术资料——K/3 BOS开发百问百答

三、单据定义篇

【问题1】在单据头要设置一个对应物料的销售出库单编号,要由系统自动填写,是不是可以用单据推啊?还有更好的方法吗?客户要求在单据体下面设置运费,整单折扣和总金额(总金额=运费+合计金额*整单折扣),合计金额就是单据体中的合计金额,但是在单据体中不能出现运费项,其中整单折扣是在客户资料有的,由系统自动填写.我们想的是在单据体中先把运费加进去,等保存时就把运费项给隐藏,其中总金额的计算可以用值更新事件做,如何把单据头里的运费和单据体里的运费关联起来?

【解答】

1. 2.

对应物料的销售出库单号应该在选单时由系统填写,可以在单据头设置源单类型、源单编号两个字段,那么在设计流程时,使用勾稽或强制勾稽两种选单关系时,系统将自动填写对应的单据号。 目前还没有在BOS封装的事件中提供单据头和单据体之间进行计算的功能,另外也没有提供合适的将单据体金额字段进行汇总并填写到指定字段的功能(这两个功能都将在V10.3开发阶段完成!),因此,你说的这个功能需要通过插件才能完成。

【问题2】我做的项目中,80%的表单可以通过BOS完成,但有一些表单和报表完全开发,这些表单和报表如何发布到主控台?现在表单上需要加载图形,BOS什么时候能够支持图形? 【解答】

BOS有直接发布到主控台的功能。

近期还没有支持图形的功能规划。在表单上支持图形的计划已列入V10.3预研范围,计划会在V10.3中

第23页

客户化开发技术资料——K/3 BOS开发百问百答 提供预览、缩放、拖动、打印、权限控制等功能。

【问题3】能否对BOS基础资料做过滤,即:在调出基础资料序时簿时,过滤出我需要的基础资料。 【解答】

1、在ICClasstypeentry的FFilter字段增加过虑条件 2、在ICClassTableInfo的FFilter中填写条件。

下例能完成只显示“01”组的物料,FFilter的值应是“x2.FNumber like '01.%'”

SELECT t1.FItemID FROM t_Item t1 with(index (uk_Item2)) LEFT JOIN t_ICItem x2 ON t1.FItemID = x2.FItemID WHERE FItemClassID = 4 AND t1.FDetail=1 AND (x2.FNumber like '01.%') AND t1.FDeleteD=0 ORDER BY t1.FNumber

【问题4】有关多级审核的问题

1. 在对一张单据进行“多级审核流程”配置时,在对每一级审核进行配置时,业务审核

级次、业务审核人、业务审核日期都只能是一样的,这就导致在单据序时薄测试时,启动多级审核后,多级审核中只能有其中某一级的审核人和审核日期有数据,其余审核人和审核日期字段都不能在相应级别审核完毕后记录数据。

2. 在设置多级审核流程后,如果在某一级驳回审核,填写的驳回意见不能看到。 3. 设置多级审核流程后,在单据运行时,“审核”并没有像原有K/3系统中其它单据审核

一样出现在上方菜单下的按钮上,而只能在菜单中启动多级审核。

4. 在多级审核级别之间进行“流转配置”时,只能在中间级别之间进行跳转,如共有5

级审核,想要在某一条件下4级审核完毕后就结束,无法实现,只能在1-5级之间跳转。

5. “流转配置”时,只能增加一次流转配置,即级别之间只能进行一次“添加关系”,

且添加上的关系不能删除。

6. 在设置“流转配置”的“跳转条件”时,字段列表中只有单据的单据头字段,而没有

单据体字段。

7. 最不方便使用的是在单据定义时,一旦添加上字段之后便不能删除,否则便会将单据

上的所有字段全部删除。新增的单据、多级审核流程、单据转换流程保存后也不能删除。在多级审核流程中进行流转配置时添加上的关系不能删除。

8. 在进行“单据转换流程”定义时,不能由源单的单据体下推生成目的单的单据头。

【解答】 1.

答复:每一级审核都已经记录了审核人、审核日期、审核意见,在单据上“多级审核”页可以很清楚的看到。单据序时簿则暂时没有提供查看各级审核人、审核日期、审核意见的功能;这个和多级审核配置中的业务审核人、业务审核日期字段是无关的,业务审核人只在做业务审核的时候才会同时记录,多级审核中有且只有一个级次能作为业务审核级次,所以也只需要一个字段作为业务审核人字段; 2. 3. 4. 5. 6.

答复:已经记录了驳回意见,但暂时没有提供驳回意见的查看。驳回意见会以消息的方式发送出去; 答复:SP2中会进一步简化、优化多级审核,本点在列;

答复:9.30补丁中会增加一种属性,提供给插件判断流程是否已经跳转到结束,让插件有依据进行自动审核等操作,自动结束多级审核流程;

答复:在关闭“启用多级审核”选项并保存后,可以自由添加、删除跳转关系; 答复:暂时没有提供单据体字段;

第24页