【第22期】 金蝶云·星空-BOS平台 | 产品应用典型/热门问答精选原创
金蝶云社区-Dave身份
Dave
178人赞赏了该文章 1068次浏览 未经作者许可,禁止转载编辑于2024年01月08日 10:34:52

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

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


【第22期】


1、Python服务插件如何获取到单据体FENTRYID

问题描述:

image.png

需要如何改写才能获取到单据体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逻辑写了如下代码)

image.png


解决方案

您可以尝试一下以下代码!

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

image.png

5、举例:等级为C时,工作流条件按如下设置

image.png



问题来源

单据明细行的价格比较大小,作为工作流程分支条件 (kingdee.com)


4、 添加了一个比例数量字段,目的为了换算分子分母为小数点形式,怎么处理这个问题呢

问题描述:

image.png


解决方案

比例数量字段是用来记录分子占分母的比例吗?需要转换成小数=分子/分母?

bos可配置表体实体服务规则:

image.png



问题来源

添加了一个比例数量字段,目的为了换算分子分母为小数点形式,怎么处理这个问题呢 (kingdee.com)



5、子系统如何调整顺序?比如采购管理和销售管理换一下顺序

问题描述:

子系统如何调整顺序?比如采购管理和销售管理换一下顺序


解决方案

可以修改的。在BOS平台中修改排序

1> 主菜单, 在进BOS平台中,弹出的窗口中进行修改, 如下图所示:

上传图片


2> 二级菜单,如下图所示

上传图片

上传图片


问题来源

子系统如何调整顺序?比如采购管理和销售管理换一下顺序 (kingdee.com)



6、我想做一个保存检验,比如采购订单的单据编号不包含CGDD,如果包含不让保存,这个条件应该怎么写?

问题描述:

image.png


解决方案

image.png


问题来源

我想做一个保存检验,比如采购订单的单据编号不包含CGDD,如果包含不让保存,这个条件应该怎么写?求大佬帮助 (kingdee.com)



7、如何设置单据体的行高呢或者根据内容自适应行高?

问题描述:

如何设置单据体的行高呢或者根据内容自适应行高?

解决方案

可以参考一下https://vip.kingdee.com/link/s/l0oXh

image.png


问题来源

如何设置单据体的行高呢或者根据内容自适应行高? (kingdee.com)



8、显示隐藏列勾选了却没有在列表中显示出来

问题描述:

这个问题应该是BOS方面的,我不太确定.如图

image.png


解决方案

看了下,是有数据的,你检查下你的过滤界面是否有勾选“显示子项费用项目明细”

或者说勾选的复选框是不是灰色的 ,能不能正常勾选

如果不能勾选的话,你要检查下会计政策了 ,是否有勾选“存货核算按照费用项目明细核算”


image.png


image.png


image.png




问题来源

显示隐藏列勾选了却没有在列表中显示出来 (kingdee.com)



9、新增了一个自定义字段,但是再其他单据找不到

问题描述:

image.png


image.png

image.png

想在这里添加这个字段,但是没有,我记得有一个引入,是要在哪里设置去了


解决方案

先要在物料字段上引用下,然后才能在属性字段选到

image.png

问题来源

新增了一个自定义字段,但是再其他单据找不到 (kingdee.com)


10、为什么单据中能找到该字段,数据模型中却找不到

问题描述:

image.png

image.png

解决方案

注意看:后面还有二个表,这个字段在物料控制拆分表,应该在后缀有_C的这个表中

image.png



问题来源

为什么单据中能找到该字段,数据模型中却找不到 (kingdee.com)


11、想通过BusinessDataServiceHelper.load方法读取单据体的数据,直接输入单据体标识会报错

问题描述:



解决方案



问题来源




12、在新增物料时默认勾选允许委外,应该怎么在BOS设计器中怎么设置?

问题描述:

image.png

image.png


解决方案

image.png


问题来源

如果我想在新增物料时默认勾选允许委外,应该怎么在BOS设计器中怎么设置? (kingdee.com)



13、二开报表插件:过滤条件中的多选辅助资料filter.FilterParameter.CustomFi取值的内容是什么呢?

问题描述:


过滤条件中,我添加的是多选的辅助资料,filter.FilterParameter.CustomFilter["F_VESS_Filter"].ToString()取的是它的编码名称吗还是其他的格式内容?代码中如何对这个自定义的过滤条件判断为空? 我用

IsNullOrEmptyOrWhiteSpace()判断好像没什么效果

image.png

解决方案

多选辅助资料和多选基础资料一样,取到的都是数据包的集合,不能直接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、套打应该不是说所有单据类型只能用一个模板吧

问题描述:

image.png


解决方案

不同单据类型可以用同一个套打模板,也可以不同单据类型使用不同模板,在高级中设置即可。

这里设置后就不用打印时选择模板,系统会自动选择适合的模板打印,注意设置多个模板时一般要配合参数使用,套打高级设置页签【高级套打首条件预览打印】勾选以后,如果【高级】里面配置了多个套打模板,则当匹配到第一个满足条件的套打模板后,就不再继续遍历后面的套打模板(无论后面的条件是否满足)。如果没有勾选参数,则会将所有符合条件的都打印出来。

image.png



问题来源

套打应该不是说所有单据类型只能用一个模板吧 (kingdee.com)



15、单据新增页签能否实现明细行序号多条数据固定名称

问题描述:

单据新增页签单据体能否实现明细行序号多条数据固定名称,不会存在新增行的情况下,想要固定3列,这3列中的名称固定后是否可以

image.png

解决方案

可以实现的。

1.在python表达式中可以获取到单据体的序号:

https://vip.kingdee.com/link/s/lqUkW


2.基于序号的不同,给字段赋予不同的值:

https://vip.kingdee.com/link/s/lqU9J


注:可以使用表达式测试工具试验和学习一下。实体要选单据体,如果选单据头,并且表达式中有单据体字段,则此字段返回的是个行集合。


问题来源

单据新增页签能否实现明细行序号多条数据固定名称 (kingdee.com)



16、如何在配置套打模板时,实现文本和字段属性是贴在一起的

问题描述:

如何在配置套打模板时,实现文本和字段属性是贴在一起的,如下图

是不是文本和字段属性放一个单元格,手动对齐。

image.png


解决方案

在字段前面加前缀就行了。

image.png


问题来源

如何在配置套打模板时,实现文本和字段属性是贴在一起的 (kingdee.com)




查看往期精选:

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


赞 178