【第33期】 金蝶云·星空-BOS平台 | 产品应用典型/热门问答精选原创
金蝶云社区-Dave身份
Dave
47人赞赏了该文章 362次浏览 未经作者许可,禁止转载编辑于2024年12月04日 15:03:46
summary-icon摘要由AI智能服务提供

本文汇总了金蝶云·星空-BOS平台中的典型/热门问答,包括审批流启动条件中Python语句的解释、退回标题和内容的修改方法、移动许可配置、列表数量字段格式化、字段联动设置、附件携带到下游单据的方法、表单发布权限控制、邮件发送成功判断、DataChanged事件中清空字段的方法、单据转换选单条件策略设置、退料申请单下推接口报错处理、审批意见报错解决、工作流检验单通知设置、BOS虚浮显示设置、审批人设置以及单据转换费用项目取值等问题。

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

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


【第33期】


1、审批流的启动条件中python语句 前面一段没看懂

问题描述:

有没有懂python语句的老师,这是费用报销单的启用条件,C12是费用项目分组编码,想知道申请公司编码and 之前的是什么意思?>1  >0  ==0 分别是什么意思

image.png

解决方案

len(set(map(lambda x:x.FEXPID.FGROUP['Number'],FEntity)))>1

这一段表达式是取报销明细的费用项目的分组编码,去重后数量要大于1,即最少有两个不同费用项目的分组编码;

len(map(lambda x:x.FEXPID.FGROUP['Number']='C12',FEntity)))>0

这一段表达式是判断报销明细的费用项目的分组编码是否存在等于C12的;

((len(set(map(lambda x:x.FEXPID.FGROUP['Number'],FEntity)))>1 and len(map(lambda x:x.FEXPID.FGROUP['Number']='C12',FEntity)))>0) or  len(map(lambda x:x.FEXPID.FGROUP['Number']='C12',FEntity)))=0)

这一段连起来就是判断报销明细的费用项目的分组编码有等于C12的并且最少有两个或以上不同的费用项目的分组编码,或者报销明细的费用项目的分组编码没有等于C12;

后面的表达式是前面条件加上:申请人公司的编码不能等于MG04并且付款公司的编码不能等于MG13并且单据类型的编码为YGBXFK或RCFYFK并且付款金额大于5万。


len(map(lambda x:x.FEXPID.FGROUP['Number']='C12',FEntity)))>0

①len:计数; ②filter:过滤;③ lambda:遍历;④ x:x. 固定写法;⑤ FExpID:费用项目字段的标识;⑥ FExpID.FGROUP['Number']:费用项目.费用分组的编码 ;⑦ FEntity:费用报销单的明细单据体的标识

语句大意:先使用lambda函数对FEntity单据体做遍历操作,再使用filter函数,按照FEXPID.FGROUP['Number']='C12'作为条件,将满足条件的明细行过滤出来,最后len函数对满足条件的明细行做计数统计,得到的数值与0做比较返回true或者false。


问题来源

审批流的启动条件中python语句 前面一段没看懂


2、退回的标题和内容如何修改

问题描述:

image.png

解决方案

流程设计中心里面修改这个人的节点 标题和内容

image.png


问题来源

退回的标题和内容如何修改


3、 申请的临时许可里包含移动bos,但是调试新建的移动表单仍提示没有许可,需要怎么配置

问题描述:

image.png

解决方案

提示该用户没有移动许可,你在注册用户列表选中用户点编辑,将移动许可分配给该用户即可,记得分配后重新下载许可文件并引入。

image.png

image.png



问题来源

申请的临时许可里包含移动bos,但是调试新建的移动表单仍提示没有许可,需要怎么配置


4、单位精度设置为6位(东西小,不可避免),计算出结果后,想要在列表上显示四舍五入的两位小数数量

问题描述:

单位精度设置为6位(东西小,不可避免,如塑料件,一斤10000只),计算出结果后,想要在列表上显示四舍五入的两位小数数量,方便看,实际计算还是按照6位来算,有没有办法

解决方案

在列表中格式化数量字段,设置保留两位小数,请参考:列表数量字段格式化(不显示千分位分隔符)

image.png

若不尾零,保留2位小数,格式化字符串可设置为0.##


问题来源

单位精度设置为6位(东西小,不可避免),计算出结果后,想要在列表上显示四舍五入的两位小数数量


5、是否可以设置个字段维护信息后自动更新下方结算方式字段,值更新之类的方法能实现吗?

问题描述:

image.png

解决方案


设置单据头字段与明细字段联动可以参考下我这个文章设置

问题来源

是否可以设置个字段维护信息后自动更新下方结算方式字段,值更新之类的方法能实现吗?


6、单据头加附件(文件服务)字段,上传的附件可以携带到下游单据吗?

问题描述:

单据头加附件(文件服务)字段,上传的附件可以携带到下游单据吗?

解决方案

2个单据上都加一下这他字段,做单据转换

image.png

问题来源

单据头加附件(文件服务)字段,上传的附件可以携带到下游单据吗?


7、BOS怎么设置核算“材料费用分配结果(核算组织内分配)“表单为前台可见?如何进入图一界面?

问题描述:

图1为教程,图2为我实操的界面。image.png

image.png


解决方案

参考:bos配置.发布.发布到主控台.发布对象

Image_20241107090107.png


另:发布对象如果加入权限控制,需要进入系统'授权'后才能可见

问题来源

BOS怎么设置核算“材料费用分配结果(核算组织内分配)“表单为前台可见?如何进入图一界面?


8、请教下 MailUtils.Sendmail 如何判断是否发送成功

问题描述:

想增加一个判断,如果不成功,则每隔30秒尝试10次


var result=MailUtils.Sendmail(emailInfo)

似乎 不行

解决方案

换一种写法试试, 用SendMailServiceHelper.Send  可以将返回值获取到 进行判断,会有是否成功的标记,自己可以打断点看res中是否有需要获取的错误信息

图片.png


问题来源

请教下 MailUtils.Sendmail 如何判断是否发送成功


9、DataChanged()事件中监听基础资料字段A,同时想要清空该字段

问题描述:

DataChanged()事件中监听基础资料字段A,当满足某种条件时,想要清空该基础资料字段A,但是发现使用this.View.Model.SetValue()方法无法清空该字段,是因为无法清空正在被监听的字段吗?是否有其他方法修改值?

e03f9d38-e762-4728-8fdd-97d06f5075b0.jpeg

解决方案

首先,你这样处理,容易发生死循环,你得用一个全局变量来判断,当你代码主动SetValue时,就不再执行DataChanged里面的代码了!


其次,你这个代码有一个重大错误,物料是基础资料字段,基础资料字段赋值,不能直接用SetValue方法,可以参我这篇文章的讲解:【Python插件入门】第4篇:单据表单插件

image.png


最后,你这种需求,如果是想实现:校验录入的基础资料是否符合条件,如果不符合就不允许录入成功!

可以使用BeforeUpdateValue事件更合适,可以参考:二开案例.表单插件.BeforeUpdateValue

问题来源

DataChanged()事件中监听基础资料字段A,同时想要清空该字段


10、 单据转换里设置选单条件策略时选不到工作流程节点字段

问题描述:

单据启用了工作流,想设置只要一审通过就可以下推下游单据。但是在选单策略这里选不到审批节点信息

image.png

解决方案

表单增加个字段,建议你在第一个节点后,就把这个值刷新成True,然后通过这个字段如果为True了,就可以下推下游单据了。

编辑于 2024年11月11日 10:12:44

追问

不能直接取单据‘多级审核:一级审核人’这个值嘛?image.png


问题来源

单据转换里设置选单条件策略时选不到工作流程节点字段


11、调用退料申请单标准下推接口时报错

问题描述:

在星空中已经存在退料申请单,申请退料数量为1,现在调用退料申请单的下推接口,将申请数量改为10,报错提示,想问下可以在哪里设置控制吗

image.png

解决方案

在反写规则的超额判断中

image.png




问题来源

调用退料申请单标准下推接口时报错


12、审批意见填写后提交报错:将截断字符串或二进制数据

问题描述:

审批意见:螺钉只是增大倒角为C2,与原有螺钉区别不大,会有混料风险,请评估更明显的外观区别;待ECN时,再修改客户承认书、CP、全检作业指导书。

审批意见里字符串长度不到255,为什么还会报错?

img_v3_02gk_7c610d4d-f339-4658-9037-ba3fd4e49cag.jpg

解决方案

看下数据库实际是多少。只修改BOS是没用的。

编辑于 2024年11月14日 10:33:32

追问

数据库的也改了img_v3_02gk_7424ab8a-f612-49e5-9373-949496e6eb2g.jpg


问题来源

审批意见填写后提交报错:将截断字符串或二进制数据


13、工作流检验单如何根据检核结果合格、不合格通知对应的人(高级条件中无对应字段)

问题描述:

检验单的检验结果在单据体,并且在高级条件中并没有这个字段,请问如何根据合格、不合格推送对应的审核人呢?假如一批产品,可以同时存在合格、不合格并推送给对应的审核人吗?请问该如何操作呢?

解决方案

工作流条件可以用单据体字段来设置条件(lambda表达式),如果你想在同时存在合格与不合格的情况下分别推送给相关人审核,则可以设置两个审核节点,在连续条件上分别设置为:

合格的表达式:len(filter(lambda x:(x.FMaterialID != null and x.FInspectResult=='1', FEntity))>0

不合格的表达式:len(filter(lambda x:(x.FMaterialID != null and x.FInspectResult=='2', FEntity))>0

请参考条件设置方法:工作流启动条件使用物料的存货类别作为判断依据

问题来源

工作流检验单如何根据检核结果合格、不合格通知对应的人(高级条件中无对应字段)


14、规格型号字数太长,BOS里面可以设置虚浮显示吗

问题描述:

规格型号字数太长,BOS里面可以设置虚浮显示吗,想要和第二张图一样的

上传图片

上传图片


解决方案

在BOS中规则型号字段勾选上【列表单元格支持提示】

image.png



问题来源

规格型号字数太长,BOS里面可以设置虚浮显示吗


15、 设置审批人为发起人的部门经理,通过汇报关系设置好。当发起人为部门经理时流程挂起

问题描述:

image.png

image.png

通过汇报关系设置的审批人,员工提交时流程可以正常执行,没问题。

但是当发起人为部门经理时,这个流程就走不通,当发起人为部门经理时,这种情况怎么解决?部门经理发起=部门经理审批

解决方案

image.png

可以新增两个方案条件以发起人岗位进行区分

问题来源

设置审批人为发起人的部门经理,通过汇报关系设置好。当发起人为部门经理时流程挂起


16、单据转换 费用项目取值样品费

问题描述:

用费用编码 也行,求表达式

上传图片

上传图片


解决方案

两种方式均可实现,一种是在字段映射关系中设置自定义公式,设置为样品费的ID;另一种是在表单服务策略中赋值,也是设置为样品费的ID。

image.png

image.png


问题来源

单据转换 费用项目取值样品费



查看往期精选:

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





图标赞 47
47人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!