本文汇总了金蝶云·星空-BOS平台中的典型/热门问答,包括审批流启动条件中Python语句的解释、退回标题和内容的修改方法、移动许可配置、列表数量字段格式化、字段联动设置、附件携带到下游单据的方法、表单发布权限控制、邮件发送成功判断、DataChanged事件中清空字段的方法、单据转换选单条件策略设置、退料申请单下推接口报错处理、审批意见报错解决、工作流检验单通知设置、BOS虚浮显示设置、审批人设置以及单据转换费用项目取值等问题。
在金蝶云·星空-BOS平台应用中,你需要了解的典型/热门问答都在这里!
本帖不定期持续更新,欢迎小伙伴们收藏本帖,以便随时查看、扩充知识哟
【第33期】
1、审批流的启动条件中python语句 前面一段没看懂
问题描述:
有没有懂python语句的老师,这是费用报销单的启用条件,C12是费用项目分组编码,想知道申请公司编码and 之前的是什么意思?>1 >0 ==0 分别是什么意思
解决方案:
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。
问题来源:
2、退回的标题和内容如何修改
问题描述:
解决方案:
流程设计中心里面修改这个人的节点 标题和内容
问题来源:
3、 申请的临时许可里包含移动bos,但是调试新建的移动表单仍提示没有许可,需要怎么配置
问题描述:
解决方案:
提示该用户没有移动许可,你在注册用户列表选中用户点编辑,将移动许可分配给该用户即可,记得分配后重新下载许可文件并引入。
问题来源:
申请的临时许可里包含移动bos,但是调试新建的移动表单仍提示没有许可,需要怎么配置
4、单位精度设置为6位(东西小,不可避免),计算出结果后,想要在列表上显示四舍五入的两位小数数量
问题描述:
单位精度设置为6位(东西小,不可避免,如塑料件,一斤10000只),计算出结果后,想要在列表上显示四舍五入的两位小数数量,方便看,实际计算还是按照6位来算,有没有办法
解决方案:
在列表中格式化数量字段,设置保留两位小数,请参考:列表数量字段格式化(不显示千分位分隔符)
若不尾零,保留2位小数,格式化字符串可设置为0.##
问题来源:
单位精度设置为6位(东西小,不可避免),计算出结果后,想要在列表上显示四舍五入的两位小数数量
5、是否可以设置个字段维护信息后自动更新下方结算方式字段,值更新之类的方法能实现吗?
问题描述:
解决方案:
设置单据头字段与明细字段联动可以参考下我这个文章设置
问题来源:
是否可以设置个字段维护信息后自动更新下方结算方式字段,值更新之类的方法能实现吗?
6、单据头加附件(文件服务)字段,上传的附件可以携带到下游单据吗?
问题描述:
单据头加附件(文件服务)字段,上传的附件可以携带到下游单据吗?
解决方案:
2个单据上都加一下这他字段,做单据转换
问题来源:
单据头加附件(文件服务)字段,上传的附件可以携带到下游单据吗?
7、BOS怎么设置核算“材料费用分配结果(核算组织内分配)“表单为前台可见?如何进入图一界面?
问题描述:
图1为教程,图2为我实操的界面。
解决方案:
参考:bos配置.发布.发布到主控台.发布对象
另:发布对象如果加入权限控制,需要进入系统'授权'后才能可见
问题来源:
BOS怎么设置核算“材料费用分配结果(核算组织内分配)“表单为前台可见?如何进入图一界面?
8、请教下 MailUtils.Sendmail 如何判断是否发送成功
问题描述:
想增加一个判断,如果不成功,则每隔30秒尝试10次
var result=MailUtils.Sendmail(emailInfo)
似乎 不行
解决方案:
换一种写法试试, 用SendMailServiceHelper.Send 可以将返回值获取到 进行判断,会有是否成功的标记,自己可以打断点看res中是否有需要获取的错误信息
问题来源:
请教下 MailUtils.Sendmail 如何判断是否发送成功
9、DataChanged()事件中监听基础资料字段A,同时想要清空该字段
问题描述:
DataChanged()事件中监听基础资料字段A,当满足某种条件时,想要清空该基础资料字段A,但是发现使用this.View.Model.SetValue()方法无法清空该字段,是因为无法清空正在被监听的字段吗?是否有其他方法修改值?
解决方案:
首先,你这样处理,容易发生死循环,你得用一个全局变量来判断,当你代码主动SetValue时,就不再执行DataChanged里面的代码了!
其次,你这个代码有一个重大错误,物料是基础资料字段,基础资料字段赋值,不能直接用SetValue方法,可以参我这篇文章的讲解:【Python插件入门】第4篇:单据表单插件
最后,你这种需求,如果是想实现:校验录入的基础资料是否符合条件,如果不符合就不允许录入成功!
可以使用BeforeUpdateValue事件更合适,可以参考:二开案例.表单插件.BeforeUpdateValue
问题来源:
DataChanged()事件中监听基础资料字段A,同时想要清空该字段
10、 单据转换里设置选单条件策略时选不到工作流程节点字段
问题描述:
单据启用了工作流,想设置只要一审通过就可以下推下游单据。但是在选单策略这里选不到审批节点信息
解决方案:
编辑于 2024年11月11日 10:12:44
不能直接取单据‘多级审核:一级审核人’这个值嘛?
问题来源:
11、调用退料申请单标准下推接口时报错
问题描述:
在星空中已经存在退料申请单,申请退料数量为1,现在调用退料申请单的下推接口,将申请数量改为10,报错提示,想问下可以在哪里设置控制吗
解决方案:
在反写规则的超额判断中
问题来源:
12、审批意见填写后提交报错:将截断字符串或二进制数据
问题描述:
审批意见:螺钉只是增大倒角为C2,与原有螺钉区别不大,会有混料风险,请评估更明显的外观区别;待ECN时,再修改客户承认书、CP、全检作业指导书。
审批意见里字符串长度不到255,为什么还会报错?
解决方案:
编辑于 2024年11月14日 10:33:32
数据库的也改了
问题来源:
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中规则型号字段勾选上【列表单元格支持提示】
问题来源:
15、 设置审批人为发起人的部门经理,通过汇报关系设置好。当发起人为部门经理时流程挂起
问题描述:
通过汇报关系设置的审批人,员工提交时流程可以正常执行,没问题。
但是当发起人为部门经理时,这个流程就走不通,当发起人为部门经理时,这种情况怎么解决?部门经理发起=部门经理审批
解决方案:
可以新增两个方案条件以发起人岗位进行区分
问题来源:
设置审批人为发起人的部门经理,通过汇报关系设置好。当发起人为部门经理时流程挂起
16、单据转换 费用项目取值样品费
问题描述:
用费用编码 也行,求表达式
解决方案:
两种方式均可实现,一种是在字段映射关系中设置自定义公式,设置为样品费的ID;另一种是在表单服务策略中赋值,也是设置为样品费的ID。
问题来源:
查看往期精选:
【汇总】 金蝶云·星空-BOS平台 | 产品应用典型/热门问答精选 (kingdee.com)
推荐阅读