【第17期】 金蝶云·星空-BOS平台 | 产品应用典型/热门问答精选原创
金蝶云社区-Dave身份
Dave
105人赞赏了该文章 2323次浏览 未经作者许可,禁止转载编辑于2023年11月13日 17:45:27

在金蝶云·星空-BOS平台应用中,你需要了解的典型/热门问答都在这里!

本帖不定期持续更新,欢迎小伙伴们收藏本帖,以便随时查看、扩充知识哟



【第17期】

1、新建表单保存校验唯一性失败

问题描述:

bos新建了一张表单,表头设置一个基础资料字段,并引用物料编码。


物料编码做保存唯一性校验,设置后,重新录入2个相同物料编码保存都可保存,请教一下哪里有问题?

image.png

image.png

image.png


解决方案

image.png

这个勾选去掉;

这个勾选是只判断你打开的单据界面内的数据,而不是你新建这个表单的所有数据;


问题来源

新建表单保存校验唯一性失败 (kingdee.com)


2、套打合计行不生效是什么原因

问题描述:

image.png


解决方案

需要合计的字段没有选择

image.png


问题来源

套打合计行不生效是什么原因 (kingdee.com)



3、订单上的数量和单价没有必录选项那怎么设置星号呢?

问题描述:

订单上的数量和单价没有必录选项那怎么设置星号必录标识


解决方案

数字金额字段没有必录勾选,一般会设置实体服务规则进行校验提示;

如果想要单据上体现红点;可以给单据体新增一个实体服务规则,字段必录;记得勾选新增、行选择等;如下图

参考官方文档常见问题2中的小红点显示:单据体中必录管控的常见问题

image.png


问题来源

订单上的数量和单价没有必录选项那怎么设置星号呢? (kingdee.com)


4、移动bos,如何设置没输入值前浅浅的显示默认值Type Qty,当点击这个字段要输入时默认值消失并且输入的字体颜色为黑色

问题描述:

image.png


解决方案

您看看你移动的是不是也是这样设置的

image.png

1688450377118.png


问题来源

移动bos,如何设置没输入值前浅浅的显示默认值Type Qty,当点击这个字段要输入时默认值消失并且输入的字体颜色为黑色 (kingdee.com)


5、辅助资料字段下推无法携带到下游单据

问题描述:

采购订单的单据头增加了一个 单选辅助资料 属性字段“价格核实”,收料通知单也增加相同的 单选辅助资料 属性字段,在单据转换中,没法找到这个字段做映射,如何把上游单据的字段值,下推时带到下游单据对应字段中?

image.png


解决方案

image.png

这里要选中扩展的这个,取消启用后,再搜需要映射的字段


问题来源

辅助资料字段下推无法携带到下游单据 (kingdee.com)


6、预设的枚举项,枚举项名称能改吗?

问题描述:

预设的枚举项,枚举项名称能改吗?改了不会影响其他的东西吧


解决方案

可以修改枚举项名称,但是不可以修改枚举项值,否则可能会识别不到报错

image.png

问题来源

预设的枚举项,枚举项名称能改吗? (kingdee.com)


7、前端的字段和bos里的字段名称不一样是怎么实现的用插件改名称吗

问题描述:

前端的字段和bos里的字段名称不一样是怎么实现的用插件改名称吗


解决方案

可以插件代码在不同情况下设置同一个字段显示为不同的名称的,例如如下设置表体字段名的方式(即修改字段的标题):

image.png



问题来源

前端的字段和bos里的字段名称不一样是怎么实现的用插件改名称吗 (kingdee.com)


8、生产领料单不显示已经领料的序列号

问题描述:

生产领料单领料时,如何设置在选择序列号时,看不到已经领料的序列号,如果一个批次已经领完,那么要实现批号也选择不到(在选择批号的界面直接看不到,序列号也是如此)


解决方案

1、批号暂时没有这个功能,不过如果对应的批号已经被领完,那即使库存应该不存在对应的数据,通过库存查询返回应该无法录入对应的批号的,界面手动录入批号则没办法控制,因为批号主档中并没有地方记录该批次的状态;

2、序列号本身就有控制的,如果该序列号已经被领完,那序列号对应的库存状态就是出库的,生产领料单序列号单据体录入设置中应该已经有控制不允许使用出库状态的序列号的,因此选择序列号或者手动录入序列号都没办法录入到已经领完的序列号的。

image.png


问题来源

生产领料单不显示已经领料的序列号 (kingdee.com)


9、 如何实现自定义单据(继承销售出库单)在应收结账时,检查是否有未审核的单据V7.3

问题描述:

咨询:

   自定义了一个单据,继承的销售出库单。

实际业务是在应收模块。

想在应收结账时,检查 自定义的单据是否 有未审核的单据。

如何实现?

如插件开发,是否有可参考的案例?

谢谢


解决方案

这个是变通的解决方法,请参考下:

https://vip.kingdee.com/article/408300293571235584?channel_level=%E9%87%91%E8%9D%B6%E4%BA%91%E7%A4%BE%E5%8C%BA%7C%E6%90%9C%E7%B4%A2%7C%E7%BB%BC%E5%90%88&productLineId=1
也可以参考下结帐类插件:

https://vip.kingdee.com/article/13850?channel_level=%E9%87%91%E8%9D%B6%E4%BA%91%E7%A4%BE%E5%8C%BA%7C%E6%90%9C%E7%B4%A2%7C%E7%BB%BC%E5%90%88&productLineId=1&isKnowledge=2


问题来源

如何实现自定义单据(继承销售出库单)在应收结账时,检查是否有未审核的单据V7.3 (kingdee.com)


10、基础资料 复制时报错

问题描述:

image.png


解决方案

复制的是被分配组织下的基础资料,被分配组织是不能创建的;改为复制创建组织下的基础资料就可以了


问题来源

基础资料 复制时报错 (kingdee.com)



11、过滤条件框中公共过滤有几个账表在用?

问题描述:


单据序列号查询这个简单账表的过滤窗口业务对象(报表)是BOS_CommonFilter,也就是公共过滤,我发现公共过滤的显示隐藏列是空的,自己新增字段配置后可以显示原单据序列号查询的信息以及新增的字段也能取到,所以就有了两个问题

1.在公共过滤的显示隐藏列增加字段后,会不会影响过滤窗口业务对象(报表)也是BOS_CommonFilter的其他账表

2.怎样新增一个过滤框自己配置,或者复制过滤框修改,这样就不会和第一个问题冲突了

感谢老师解答

上传图片

上传图片




解决方案

BOS_CommonFilter是新建报表时,默认的过滤界面,可以自己新建公共过滤界面,然后在自己的报表中修改对应的过滤窗口业务对象的。通常都是新建的,除非开发的报表可以共用相同的过滤界面,这个时候可以节约工作量,新建一个同一的公共过滤界面。

image.png


问题来源

过滤条件框中公共过滤有几个账表在用? (kingdee.com)


12、获取基础资料的编码

问题描述:

image.png

e.DataEntitys[i]["CONTACTUNIT"]   CONTACTUNIT是某个基础资料  里面保存了 名称 编码如何取值编号

解决方案

((DynamicObject)e.DataEntitys[i]["CONTACTUNIT"])["Number"]


问题来源

获取基础资料的编码 (kingdee.com)


13、分组汇总打印,序号怎么从1到大显示,而不是显示改组最后一行的序号

问题描述:

image.png

按物料、批号进行分组汇总打印,想让序号从1到大,而不是显示分组最后一行的序号

解决方案

https://vip.kingdee.com/questions/16056/answers/21275?productLineId=1&isKnowledge=2

参考一下这个


问题来源

分组汇总打印,序号怎么从1到大显示,而不是显示改组最后一行的序号 (kingdee.com)


14、在bos上加了一个插件,右击启动开发环境可以生效,但是在客户端没反应

问题描述:

image.png


解决方案

开发环境可以用是因为你插件的dll在开发环境的bin目录中,如果要在生产环境实现那就需要吧dll放到生产环境bin目录中,这个过程是必须要重启iis的,因为你搭建的开发环境是配置好了热更新服务,但是生产环境一般配置这个玩意不行,跟你代码中的hotupdate没有关系


问题来源

在bos上加了一个插件,右击启动开发环境可以生效,但是在客户端没反应 (kingdee.com)


15、实体服务规则设置 赋值

问题描述:

在单据头的实体服务规则中 设置 明细行的费用项目包含上述编码 中的一个 给单据头某个字段赋值 (规则如下) 表达式测试的时候一切正常  到客户端去操作时  没有效果(字段赋值不上)

len(filter(lambda x: x.FEXPID.FNumber in ('6601.12.01','6601.12.02','6601.12.03','6601.12.04','6601.12.05','6601.12.06'), FEntity))>0


解决方案

需要变通实现,参考我在这个问题下面给的方法:

判断表体明细行数值字段是否≥0


问题来源

实体服务规则设置 赋值 (kingdee.com)


16、如何配置某张单据,必须保存后才能提交审核

问题描述:

如何配置某张单据,必须保存后才能提交审核


解决方案

参考下这个,提交操作的校验规则

NO`SJCC5USED4A{I6@9DM)1.png


问题来源

如何配置某张单据,必须保存后才能提交审核 (kingdee.com)


17、采购申请单新增岗位信息字段,想要实现选择申请人之后,岗位信息只能选到该申请人的岗位,岗位信息的过滤条件如何设置呢?

问题描述:

采购申请单新增岗位信息字段,想要实现选择申请人之后,岗位信息只能选到该申请人的岗位,岗位信息的过滤条件如何设置呢?
过滤条件如下设置后选择了申请人,岗位信息却没有任何岗位可选,请教下是什么原因呀?
FPOSTID in (select t1.FPOSTID from T_BD_STAFF t1 inner join T_ORG_POST t2 on t1.FPOSTID = t2.FPOSTID where t1.FEMPINFOID = GetValue(FApplicantId))


解决方案

where条件错了 改成

FPOSTID in (select t1.FPOSTID from T_BD_STAFF t1 inner join T_ORG_POST t2 on t1.FPOSTID = t2.FPOSTID 

where t1.FSTAFFID = GetValue(FApplicantId)


问题来源

采购申请单新增岗位信息字段,想要实现选择申请人之后,岗位信息只能选到该申请人的岗位,岗位信息的过滤条件如何设置呢? (kingdee.com)


18、 注册的python插件在审核前赋值

问题描述:

目的是在审核操作中,审核前为备注字段赋值,一开始做了个测试按钮,测试都没问题,加到审核字段就不行了。求大佬给指点迷津393b454114456b13a44839338ad9818.png

import clr
clr.AddReference('mscorlib')
clr.AddReference('Kingdee.BOS'
clr.AddReference('Kingdee.BOS.Core'
from Kingdee.BOS.Core import * 
from Kingdee.BOS.Core.Bill import * 
from Kingdee.BOS.Core.Bill.PlugIn import *
from System import *
def BarItemClick(e):
    this.View.Model.DataObject;
    if e.BarItemKey=="WLBP_tbButton":  
        userName = this.Context.UserName;
        count=this.View.Model.GetEntryRowCount("FEntity");#获取单据体行数
        for i in range(0,count):
            this.View.Model.SetValue("F_RQWJ_MARK","历史单据",i);
        msg = ("{0},您好{1}").format(userName,count);
        this.View.ShowMessage(msg);


解决方案

你这跟是表单插件吧?你最开始判断了 e.BarItemKey=="WLBP_tbButton":  ,这个是你测试按钮的标识,你换到审核按钮上的话就要把这个地方换成审核按钮的标识啊

编辑于 2023年07月18日 14:00:41

追问

这个已经修改成Audit了哥

追答

Audit是审核操作,你要去菜单里面找到审核按钮的标识啊,换成审核按钮的标识image.png


问题来源

注册的python插件在审核前赋值 (kingdee.com)


19、设置自定义文本字段等于单据编号字段,不能生效

问题描述:


image.png

image.png

解决方案

把单据新增后就生成单号先勾上,然后在保存按钮点击事件中增加计算:备注=单据编码,或者在某个必然修改的字段上增加值更新时计算。image.png


问题来源

设置自定义文本字段等于单据编号字段,不能生效 (kingdee.com)


20、配置字段关联生成时锁定,报错,请问是哪里配置有问题

问题描述:

image.png

image.png

解决方案

是否有源单

判断单据有源单:ISDRAW() 或者 ISDRAW()==true 或者 ISDRAW()==True 或者 ISDRAW()==1

判断单据无源单:ISDRAW()==false 或者 ISDRAW()==False 或者 ISDRAW()==0

注意不可缺少(),注意不能使用isdraw/IsDraw,注意不能使用TRUE/FALSE

或者可以变通的用单据体的源单类型或者源单编号字段结合遍历语句判断是有有源单

是否已下推

判断单据已经下推:ISPUSH ()或者ISPUSH ()==true或者ISPUSH ()==True或者ISPUSH ()==1

判断单据未下推:ISPUSH ()==false或者ISPUSH ()==False或者ISPUSH ()==0

注意不可缺少(),注意不能使用ispush/IsPush,注意不能使用TRUE/FALSE

或者可以变通的取下游单据反写的字段作为条件


问题来源

配置字段关联生成时锁定,报错,请问是哪里配置有问题 (kingdee.com)


21、审批人按用户、角色、任岗员工、岗位、部门等设置都有什么优缺点,推荐一些适用的场景或给一些建议

问题描述:

审批人按用户、角色、任岗员工、部门设置等都有什么优缺点,推荐一些适用的场景或给一些建议。如果按照用户,加多个人,这几个人都会收到审批通知吗?如果按照岗位设置,一个岗位设有多个员工,这些人都会收到审批通知,那是不是一个人审批了单据就审核通过了,流程就进行到下一步了,还是要都审批完才行,或者这两种都可以实现,分别如何设置呢?初学者,麻烦给些这方面的资料、

image.png

解决方案

用户:如果企业参与审批的人不多,且相对固定,肯定是按用户设置比较方便。

角色:如果企业参与审批的人较多,且在一开始规划用户权限的时候,用户角色和审批的角色基本一致,那可以用角色来设置。比如说一开始就规划了采购员角色、采购经理角色,用户角色及审批权限都按照这个来,那可以用角色来审批,但实际上一般差异是比较大的,因为规划用户角色的时候不会特意考虑审批需求,所以这种一般不用。

工作流角色/工作流角色组:这个比上一点好一些,在标准角色基础上,额外定制一套工作流角色,有人参与审批的时候,将这个人加入到对应的工作流角色就可以。如果企业审批的人较多,且经常变动,可以考虑用这种方式。

岗位/部门:这个和前面几个也是类似的,通常是针对某个节点,非常明确由这个岗位/部门的人来审批,且相关的基础资料设置也都能对应的时候,则可以使用这个。

岗位汇报关系:这个比较类似传统OA,定义一套岗位汇报关系,然后可以设置由上级来审批,随着汇报关系的变动,审批人也跟着变动,缺点是汇报关系设置比较繁琐。


总之,以上设置方法没有一个绝对合适的选项,关键还是看企业现有工作流审批矩阵是怎么走的,相关角色/部门/岗位的规划和审批流是否一致等,还是要通过实际情况来分析。另外,关于你说的多人审批,如果直接设置多人参与的话,确实所有参与者都会收到消息,且任意一个人审批后这个节点就可以通过,如果想要设置其他的方式,例如多个人都审批后才能通过,那就要另外配置了,例如配置工作流会签:工作流会签_BOS平台 (kingdee.com)


问题来源

审批人按用户、角色、任岗员工、岗位、部门等设置都有什么优缺点,推荐一些适用的场景或给一些建议 (kingdee.com)


22、在销售订单明细里加入了一个自定义的内容,但是下拉菜单里怎样能加入自定义的内容

问题描述:

问题如标题,内容如图,想在下拉菜单里加入自定义的内容

image.png


解决方案

问题如标题,内容如图,想在下拉菜单里加入自定义的内容


问题来源

在销售订单明细里加入了一个自定义的内容,但是下拉菜单里怎样能加入自定义的内容 (kingdee.com)


查看往期精选:

【汇总】 金蝶云·星空-BOS平台 | 产品应用典型/热门问答精选 (kingdee.com)

赞 105