在金蝶云·星空-BOS平台应用中,你需要了解的典型/热门问答都在这里!
本帖不定期持续更新,欢迎小伙伴们收藏本帖,以便随时查看、扩充知识哟
【第22期】
1、Python服务插件如何获取到单据体FENTRYID
问题描述:
需要如何改写才能获取到单据体FENTRYID,希望实现的效果是类似于单据在列表/表单提交时,使用SQL更新单据体的字段
解决方案:
billObj是单据头的数据包,也是整个单据的数据包,要获取单据体的数据要再加一级循环。
for billObj in e.DataEntitys: en=billObj["单据体ORM实体标识"]; for r in en: entryId=r["Id"]; #这个就是单据体的FENTRYID
问题来源:
Python服务插件如何获取到单据体FENTRYID (kingdee.com)
2、单据明细行的价格比较大小,作为工作流程分支条件
问题描述:
不管我在列表选择数据后执行菜单按钮操作 还是在表单直接执行菜单按钮操作都提示 "在NoneType类型的非序列上的迭代”,请老师指导一下,Python服务插件要怎么写(社区有类似的例子。我试过了也是报这个错。所以我才按.net逻辑写了如下代码)
解决方案:
您可以尝试一下以下代码!
SelectedRows = e.SelectedRows;if SelectedRows is None: e.Cancel = True; return# 这里打印一下看下数据结构raise NameError(JsonUtil.Serialize(SelectedRows ));
问题来源:
Python服务插件,提示”在NoneType类型的非序列上的迭代” (kingdee.com)
3、单据明细行的价格比较大小,作为工作流程分支条件
问题描述:
销售订单上有2个基础资料属性的小数字段,分别为“A价格”字段,“B价格”字段;需要用来与销售订单单价作比较,作为工作流分支条件:1、当 【A价格<订单单价<B价格】时,走分支1的审批流程;2、当 【订单单价<A价格】时,走分支2的审批流程;
解决方案:
1、正常是在单据体配置一个文本字段,命名为“等级”:通过值更新设定这个文本的值;
【A价格<订单单价<B价格】:设等级值为A
【订单单价<A价格】时:设等级值为B
有几条分支就设几个对应的值。
2、同时,新增单据头文本,命名为“等级集合”,将单据体文本的值汇总至单据头文本集合
单据头文本集合:有多种情况,比如=A 或=B 或=AB
3、根据单据头文本集合的值,设置流程的条件;
4、单据效果如下:如果所有行都是A,则等级集合为A。如行既有A又有B,则等级集合=AB
5、举例:等级为C时,工作流条件按如下设置
问题来源:
单据明细行的价格比较大小,作为工作流程分支条件 (kingdee.com)
4、 添加了一个比例数量字段,目的为了换算分子分母为小数点形式,怎么处理这个问题呢
问题描述:
解决方案:
比例数量字段是用来记录分子占分母的比例吗?需要转换成小数=分子/分母?
bos可配置表体实体服务规则:
问题来源:
添加了一个比例数量字段,目的为了换算分子分母为小数点形式,怎么处理这个问题呢 (kingdee.com)
5、子系统如何调整顺序?比如采购管理和销售管理换一下顺序
问题描述:
子系统如何调整顺序?比如采购管理和销售管理换一下顺序
解决方案:
可以修改的。在BOS平台中修改排序
1> 主菜单, 在进BOS平台中,弹出的窗口中进行修改, 如下图所示:
2> 二级菜单,如下图所示
问题来源:
子系统如何调整顺序?比如采购管理和销售管理换一下顺序 (kingdee.com)
6、我想做一个保存检验,比如采购订单的单据编号不包含CGDD,如果包含不让保存,这个条件应该怎么写?
问题描述:
解决方案:
问题来源:
我想做一个保存检验,比如采购订单的单据编号不包含CGDD,如果包含不让保存,这个条件应该怎么写?求大佬帮助 (kingdee.com)
7、如何设置单据体的行高呢或者根据内容自适应行高?
问题描述:
如何设置单据体的行高呢或者根据内容自适应行高?
解决方案:
可以参考一下https://vip.kingdee.com/link/s/l0oXh
问题来源:
如何设置单据体的行高呢或者根据内容自适应行高? (kingdee.com)
8、显示隐藏列勾选了却没有在列表中显示出来
问题描述:
这个问题应该是BOS方面的,我不太确定.如图
解决方案:
看了下,是有数据的,你检查下你的过滤界面是否有勾选“显示子项费用项目明细”
或者说勾选的复选框是不是灰色的 ,能不能正常勾选
如果不能勾选的话,你要检查下会计政策了 ,是否有勾选“存货核算按照费用项目明细核算”
问题来源:
显示隐藏列勾选了却没有在列表中显示出来 (kingdee.com)
9、新增了一个自定义字段,但是再其他单据找不到
问题描述:
想在这里添加这个字段,但是没有,我记得有一个引入,是要在哪里设置去了
解决方案:
先要在物料字段上引用下,然后才能在属性字段选到
问题来源:
新增了一个自定义字段,但是再其他单据找不到 (kingdee.com)
10、为什么单据中能找到该字段,数据模型中却找不到
问题描述:
解决方案:
注意看:后面还有二个表,这个字段在物料控制拆分表,应该在后缀有_C的这个表中
问题来源:
为什么单据中能找到该字段,数据模型中却找不到 (kingdee.com)
11、想通过BusinessDataServiceHelper.load方法读取单据体的数据,直接输入单据体标识会报错
问题描述:
解决方案:
问题来源:
12、在新增物料时默认勾选允许委外,应该怎么在BOS设计器中怎么设置?
问题描述:
解决方案:
问题来源:
如果我想在新增物料时默认勾选允许委外,应该怎么在BOS设计器中怎么设置? (kingdee.com)
13、二开报表插件:过滤条件中的多选辅助资料filter.FilterParameter.CustomFi取值的内容是什么呢?
问题描述:
过滤条件中,我添加的是多选的辅助资料,filter.FilterParameter.CustomFilter["F_VESS_Filter"].ToString()取的是它的编码名称吗还是其他的格式内容?代码中如何对这个自定义的过滤条件判断为空? 我用
IsNullOrEmptyOrWhiteSpace()判断好像没什么效果
解决方案:
多选辅助资料和多选基础资料一样,取到的都是数据包的集合,不能直接ToString来使用!
var xms=filter.FilterParameter.CustomFilter["F_VESS_Filter"] as DynamicObjectCollection;
if(xms==null && xms.Count<=0)//这个就是判断为空情况
{
}
else//不为空,取值的话,要通过循环来取数
{
foreach(var obj in xms)
{
var objID=obj["F_VESS_Filter_Id"];//这个是辅助资料ID
var xmObj=obj["F_VESS_Filter"] as DynamicObject;//这个是单个辅助资料的数据包
//辅助资料编码,标识是FNumber或者Number,要看下,如果Number报错,那就是FNumber
var xmName=xmObj["DataValue"];//辅助资料名称
}
}
问题来源:
二开报表插件:过滤条件中的多选辅助资料filter.FilterParameter.CustomFi取值的内容是什么呢? (kingdee.com)
14、套打应该不是说所有单据类型只能用一个模板吧
问题描述:
解决方案:
不同单据类型可以用同一个套打模板,也可以不同单据类型使用不同模板,在高级中设置即可。
这里设置后就不用打印时选择模板,系统会自动选择适合的模板打印,注意设置多个模板时一般要配合参数使用,套打高级设置页签【高级套打首条件预览打印】勾选以后,如果【高级】里面配置了多个套打模板,则当匹配到第一个满足条件的套打模板后,就不再继续遍历后面的套打模板(无论后面的条件是否满足)。如果没有勾选参数,则会将所有符合条件的都打印出来。
问题来源:
套打应该不是说所有单据类型只能用一个模板吧 (kingdee.com)
15、单据新增页签能否实现明细行序号多条数据固定名称
问题描述:
单据新增页签单据体能否实现明细行序号多条数据固定名称,不会存在新增行的情况下,想要固定3列,这3列中的名称固定后是否可以
解决方案:
可以实现的。
1.在python表达式中可以获取到单据体的序号:
https://vip.kingdee.com/link/s/lqUkW
2.基于序号的不同,给字段赋予不同的值:
https://vip.kingdee.com/link/s/lqU9J
注:可以使用表达式测试工具试验和学习一下。实体要选单据体,如果选单据头,并且表达式中有单据体字段,则此字段返回的是个行集合。
问题来源:
单据新增页签能否实现明细行序号多条数据固定名称 (kingdee.com)
16、如何在配置套打模板时,实现文本和字段属性是贴在一起的
问题描述:
如何在配置套打模板时,实现文本和字段属性是贴在一起的,如下图
是不是文本和字段属性放一个单元格,手动对齐。
解决方案:
在字段前面加前缀就行了。
问题来源:
如何在配置套打模板时,实现文本和字段属性是贴在一起的 (kingdee.com)
查看往期精选:
【汇总】 金蝶云·星空-BOS平台 | 产品应用典型/热门问答精选 (kingdee.com)
推荐阅读