【第23期】 金蝶云·星空-BOS平台 | 产品应用典型/热门问答精选

在金蝶云·星空-BOS平台应用中,你需要了解的典型/热门问答都在这里!
本帖不定期持续更新,欢迎小伙伴们收藏本帖,以便随时查看、扩充知识哟
【第23期】
1、发货通知单新增一个合计整单数量
问题描述:
我需要在发货通知单表头加字段(合计整单数量)加条件排除套装产品数量目前我的思路是在发货通知数量设置值更新事件,但是这个条件好像设置的有问题.

这里设置不为父项就说明不是套装.可是还是会触发值更新呀.而且我想要的是明细的和,我这个设置的好像只能是修改了一个发货通知数量,整单合计数量=修改的这个发货通知数量,而不是等于子项明细之和.

解决方案:
实体服务设置在单据头的实体服务规则里面:
用这个试试(当产品类型为套装时取发货通知数量,否则取0,最后合计到单据头字段):
合计整单数量 = sum(map(lambda x: (发货通知数量 if x.产品类型 <> null and x.产品类型 <> '套装父项' else 0),明细标识))
问题来源:
2、 销售价目表自己新增了个字段 价目表审核后 新增明细分录无法填写
问题描述:

解决方案:
编辑于 2024年01月12日 15:37:11

物料编码和价格在已审核的情况下是锁定的 但在分录新增行的时候还是允许填
经过测试,可以在状态列表取消勾选你新增的文本字段,这样就可以新增行维护文本字段值了
问题来源:
销售价目表自己新增了个字段 价目表审核后 新增明细分录无法填写 (kingdee.com)
3、想把编码的前几位提取出来,赋值到其他字段
问题描述:
获取物料编码的前几位赋值到基础资料(物料分组),FNumber [0,5]这么获取不到值,请大佬指教
解决方案:
物料分组是基础资料,基础资料赋值通过公式赋值的话,要使用内码赋值,单纯的使用编码是不行的。
可以使用 GETPKVALUE来获取物料分组内码,参考这个公式试试:
物料分组字段=GETPKVALUE('物料分组字段标识', 物料分组编码)
参考这个:BOS设计器的公式
问题来源:
想把编码的前几位提取出来,赋值到其他字段 (kingdee.com)
4、套打动态字段怎么设置如果这个字段为空,则取另一个字段
问题描述:
在规格型号栏,如果客户物料名称(FMapName)为空,则取英文规格型号(F_PAYY_BaseProperty3),显示我表达式有误

解决方案:
FMaterialid.FSpecification if FMapName<>null else F_PAYY_BaseProperty3
问题来源:
套打动态字段怎么设置如果这个字段为空,则取另一个字段 (kingdee.com)
5、怎么获取到行数
问题描述:
我怎么获取到相关对象的行数
在BOS平台上看是分成动态表单-平台页签框架和基础资料-相关对象
我怎么在平台页签框架做插件获取到相关对象的行数
解决方案:
单据体获取行数:this.View.Model.GetEntryRowCount("FSaleOrderEntry");
问题来源:
6、 新做单据,用单据列表打开后,打开同一张单据状态都是修改,不是第一张是修改,后面单据是查看,请问在哪里控制
问题描述:

解决方案:
参照这个

给加一下就可以了 。
问题来源:
新做单据,用单据列表打开后,打开同一张单据状态都是修改,不是第一张是修改,后面单据是查看,请问在哪里控制 (kingdee.com)
7、 生产订单有一个字段想带给生产领料单
问题描述:
我要在生产领料单上建一个字段,是订单中的一个字段,要如何设置,单据转化规则没法设置,因为领料单不是订单直接下推过来的
解决方案:
生产订单自定义字段携带至生产领料单,由于生产订单下推生产领料单调用的是生产用料清单至生产领料单的单据转换,因此需要先将生产订单的字段映射至生产用料清单后,再设置单据转换携带至生产领料单去实现。
请参考:生产订单添加字段携带至生产领料单
问题来源:
生产订单有一个字段想带给生产领料单 (kingdee.com)
8、订单上是否可以直接上传并显示图片,不用附件,如何设置?
问题描述:
订单上是否可以直接上传并显示图片,不用附件,如何设置?
解决方案:
用这个

问题来源:
订单上是否可以直接上传并显示图片,不用附件,如何设置? (kingdee.com)
9、怎么给单据加新的字段
问题描述:
我想在直接调拨单的基本信息里加上一个"借用客户"的字段,用于选择借用的客户是谁。该如何设置?
解决方案:

进入BOS平台,将【基础资料】拖入到单据头,名称、标题修改为【借用客户】,基础资料类型选择【客户】,退出保存
问题来源:
10、销售出库单,如何对实发数量进行有条件的求和
问题描述:
销售出库单中,对产品类型为子项和标准的物料的实发数量进行求和,要怎么做?
解决方案:
可设置实体服务规则按条件汇总到表头字段,请参考下:
求和遍历 进阶案例
【业务场景】求和汇总费用报销单费用项目.名称=业务招待费的明细行的费用金额。
【语句1】FExpAmountSum=sum(map(lambda x:x.FExpenseAmount if FExpID<>null and FExpID.FName=='业务招待费’ else 0 , FEntity)
语句大意:先使用lambda函数对FEntity单据体做遍历操作,再使用map函数,按照FExpID<>null and FExpID.FName==‘业务招待费'作为条件,将满足条件的FExpenseAmount字段从明细行映射挑选出来(若不满足条件, FExpenseAmount字段则为0),组成一个新的集合;最后使用sum函数对集合里面的元素做相加统计,得到的数值赋值给FExpAmountSum字段。
【语句2】FExpAmountSum=sum(map(lambda(x:x.FExpenseAmount ,filter(lambda(y:y.FExpID<>null and y.FExpID.FName=='业务招待费'), FEntity))))>0
语句大意:先使用lambda函数对FEntity单据体做遍历操作,再使用filter函数,按照FExpID<>null and FExpID.FName==‘业务招待费'作为条件,将满足条件的明细行过滤出来;再使用lambda函数对这部分明细行做遍历操作;再使用map函数,将 FExpenseAmount字段从明细行映射挑选出来,组成一个新
【第23期】 金蝶云·星空-BOS平台 | 产品应用典型/热门问答精选
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。






