K3 BOS应用开发百问百答(V1.0) 下载本文

K/3 BOS应用开发百问百答

【摘要】标准序时簿过滤条件对话框(和K3老单据一样)

版本:K310.2SP1

问题描述:请问BOS单据的序时簿过滤条件对话框中是否可以像标准K3单据那样,有默认的“本期”,“红蓝字”等过滤条件?

【解答】

可以在数据库里写执行如下代码实现:(下面例子是添加审核的过滤条件)

Update icclasstableinfo set flock=-1,fconditionext=1000000 where fclasstypeid=300000000 and fkey='Fchecker'

说明:fconditionext=1000000对应的内容为ICClassCondition表中FID=1000000内容,察看该条记录的FDataSource_CHS简体中文信息为:”全部;None~已审核;isnull(@Field,0)>0~未审核;isnull(@Field,0)<=0”。

全部:对应得解析条件为None,说明该过滤条件不起作用

已审核:对应得isnull(@Field,0)>0,通过判断Fchecker字段的值是否大于0,来判断其是否审核; 未审核:对应得isnull(@Field,0)<=0,通过判断Fchecker字段的值是否小于等于0,来判断其未审核。 P.S:如果现有的扩展过滤条件不满足条件需要增加,请不要紧接着系统定义的Fid开始扩展,以免被系统升级时清除,可像单据类型一样从200000000开始。

【摘要】如何再次添加新插件?

版本:K310.2及以后版本

问题描述:我想在投料变更单的菜单上加入一个菜单项,需要插入一个插件,但投料变更单上已经有一个插件了,我想了解一下怎样才可以再插入一个插件呢?

【解答】

点插件管理中的按钮,可以通过浏览来选择自定义插件,并选择多个插件对象,BOS允许多个插件同时存在。

【摘要】下拉框里不能录入半角逗号

版本:K310.2SP1

问题描述:在BOS单据中添加了一个下拉框控件,使用手工录入值列表,如果录入的值中包含半角“,”,则点击确定的时候,会报错“无效的过程调用或参数”,请问如何才能录入逗号且不会报错?谢谢

【解答】

不允许输入半角逗号。

【摘要】单据分录数达到3000条,单据保存会不会出错?

版本:K310.2SP2

问题描述:因为业务需要,可能一张单据的分录数达到2000-3000条,这样的BOS开发的单据,保存时是否有问题?参考:10.0的设备管理中,录入50-60条分录,保存时就会有问题出现。

第8页

K/3 BOS应用开发百问百答

【解答】

你提到那个问题是10.0的bug,目前K3BOS单据最大行数设定是2000行。如确实有需求可放开相应限制。但单据体字段过多,性能会受到一些影响,建议最好不要超过这个限制。

【摘要】Bos单据是否支持上传下载功能?

版本:K310.2SP2

问题描述:BOS开发的单据是否支持K3分销系统的上传下载功能?

【解答】

Bos单据不支持k3分销系统的上传下载功能。

【摘要】文本字段录入完毕回车不跳转

版本:K310.2SP1+SP2

问题描述:在Bos单据的表体中加入一备注字段,后再加入一文本字段,发现备注字段敲回车不跳转,后面的文本字段输入完毕回车也不跳转。

【解答】

这是产品Bug,V10.3已处理。

【摘要】不能实现记录选择。

版本:K310.2SP1+PT0704

问题描述:新做的BOS单据(配置单)在与源单(销售订单)进行选单的时候,出现在销售定单中选择某一条记录或者某几条记录的时候,会将销售订单所有的记录都选过来,不能实现记录选择。

【解答】

应该是你勾选了[选单时关联整单]选项导致的,不选上就按分录返回。

【摘要】如何删除空行。

版本:K310.2SP2

问题描述:客户在输入信息回车后,系统光标会自动跳到下一行,即新增一行保存时,系统提示“XXX”字段不运行为空。需要手工删除一行,比较麻烦。我想通过插件,在点击保存时,判断:如果有空行,就删除该行;但不知道删除单据体一行的插件语句如何调用?

【解答】

可以不写代码,设置该单据体的[关键字段],保存前将清除最后一行空白行。

【摘要】没有找到符合条件的记录。

版本:K310.2SP2

问题描述:我在采购请购单与采购订单建立一中间的流转单,发现中间单无法正常的下推到采购订单,出现如下错误,"没有找到符合条件的记录".

第9页

K/3 BOS应用开发百问百答

【解答】

这是sp2的一个Bug,请下载补丁PT003011。

【摘要】BOS套打

版本:K310.2SP2

问题描述:在表头所有项目打印出后,为防止更改,在每个项目后加入"#",且该"#",尾随打印内容体现,目前在套打模板中定义后,"#"显示按固定位置,如果该项值很少的话,项目值和"#"之间有很大距离,无法实现管理要求,这个问题怎么解决??

【解答】

特殊需求,已制作补丁包PT003682。

【摘要】数量精度和单价精度

版本:K310.2SP2+10.3+10.2SP1 问题描述:在单据体中加上“数量”字段,用decimal的后面的小数点位太多位了;用integer的“数量”,怎么不可以指定到“单位”上去,请问大家有什么好办法吗;

【解答】

数量和单价的精度是跟着物料的[数量精度]和[价格精度]走的,如果客户只存在整数物料精度,可以通过[基础资料]-[公共资料]-[核算项目管理]-[004-物料修改]设置物料精度的缺省值为0。

【摘要】计算公式如何定义?

版本:K310.2SP2+10.3+10.2SP1

问题描述:在BOS单据设计的时候,进行单据体内单元格计算时,如设数量、单价、金额,正常应该在“金额”栏设置公式等于“数量”乘于“单价”,但这样设“金额”栏无法计算。

【解答】

如果要实现在修改数量列和单价列更新金额,须在“数量”列和“单价”列的[值更新事件]分别增加一条计算公式:金额=数量*单价。

【摘要】批次过滤

版本:K310.2SP2+10.3+10.2SP1

问题描述:关于批次号分别按输入的物料、仓库、仓位的过滤批次的范例代码。

【解答】

环境说明: 物料:字段名称FItemID 仓库:字段名称FDCStockID 仓位:字段名称FDCSPID

第10页

K/3 BOS应用开发百问百答 批次号:字段名称FBatchNo

1、 录入仓库后,依据仓库的仓库组过滤仓位。

update ICClasstableinfo set FFilter='FSPGroupID = (SELECT FSPGroupID FROM t_Stock WHERE FItemID = GetFldValue(FDCStockID,1))' where FKey='FDCSPID' and FClassTypeID=300000000

2、 根据输入的物料、仓库、仓位过滤过率批次号时。

update ICClassTableinfo set FFilter='(FItemID=GetFldValue(FItemID,1) and FStockID=GetFldValue(FDCStockID,1) and FStockplaceID=GetFldValue(FDCSPID,1))' where FKey='FBatchNo' and FClassTypeID=300000000

3、 更新BOS单据缓存

UPdate ICClasstype set fid=fid

【摘要】应收应付系统合同是否能超额执行 版本:K310.1

问题描述:应收应付系统合同是否能超额执行?

【解答】

10.1应收应付的合同的反写由应收应付自行控制,且并为提供相应参数控制。10.2应收应付合同该由BOS实现,且提供了[合同是否允许超额执行]的系统参数选项。

【摘要】基础资料录入代码时不马上显示相关的列表

版本:K310.2SP2+K310.3 问题描述:BOS单据引用基础资料时,能否有设置,使在录入代码时不马上显示相关的列表,而是在回车之后才判断是否存在代码,因为客户的某个基础资料太大了,输入一个字母要等N长时间才能够反映。

【解答】

可以在单据录入界面选项中选择禁止下拉列表自动显示。

【摘要】在插件中以新增、修改和查看方式打开另一单据 版本:K/3BOS所有版本

问题描述:在插件中以新增、修改和查看方式打开另一单据

【解答】

'********************************************

'功能:显示BOS单据,显示的方式为新增、修改和浏览 '参数:lClassTypeID—显示BOS单据的ID '

'********************************************

第11页