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

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

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


【第24期】


1、 怎么根据源单编号更新下游单据字段数据

问题描述:

就是一开始应收单没有加仓库字段,销售出库单已经下推了应收单,现在想要根据源单在后台更新应收单仓库(单据转换只对后面的生效)有没有通用代码,目前有好几个这种情况image.png

解决方案

参考:旧数据可通过sql脚本批量修复:

--复制以下脚本放数据库执行即可(仓库字段 改成 应收单新增仓库字段.字段名)

update t3 set t3.仓库字段 = t1.fstockid

from T_SAL_OUTSTOCKENTRY t1

inner join t_AR_receivableEntry_LK t2 on t1.FENTRYID=t2.FSID and t1.FID=t2.FSBILLID and t2.FSTABLENAME='T_SAL_OUTSTOCKENTRY'

inner join t_AR_receivableEntry t3 on t3.FENTRYID=t2.FENTRYID

where t3.仓库字段=0


image.png


问题来源

怎么根据源单编号更新下游单据字段数据 (kingdee.com)


2、  单据体首行过滤插件

问题描述:

求一个快速实现单据体首行过滤!

解决方案

表单插件注册脚本

#实现单据体首行过滤 


#by wanghl 2015-11-6


clr.AddReference('System')


clr.AddReference('Kingdee.BOS.Core')


from Kingdee.BOS.Core.DynamicForm.PlugIn import *


from Kingdee.BOS.Core.Metadata.EntityElement import *


from System import *




#方法覆写


def CreateControl(e):


        if isinstance(e.ControlAppearance, EntryEntityAppearance):


                e.Control.Put("showFilterRow", True);


问题来源

单据体首行过滤插件 (kingdee.com)



3、 多类别基础资料可以直接在BOS中怎么设置过滤条件吗?

问题描述:

多类别基础资料列表中包含了多个基础资料,需要在多类别基础资料中添加过滤条件,请问一下这样的条件在BOS中对应的过滤中可以直接设置吗?

解决方案

可在其“多类别基础资料列表”字段属性里配置,打开“可选基础资料”,里边就有每个基础资料的过滤条件配置。如下图仅能选某个客户代码

image.png

问题来源

多类别基础资料可以直接在BOS中怎么设置过滤条件吗? (kingdee.com)



4、 提示所有节点必须有连入线,但是我看不到哪个节点没有连入线

问题描述:

image.png

解决方案

你这个线是自己画的还是节点里面指定的

要去节点里面指定才行,自己画的没用

image.png


问题来源

https://vip.kingdee.com/questions/550614749767873792



5、 如何设置转换规则,可以合并分录行下推,多行分录推成一行

问题描述:

想把多张单据中明细信息两个重量字段,多行合并下推成一行,谢谢image.png

解决方案

单据转换里面 单据体按照一定的条件进行合并。条件可以自己定义字段

image.png

问题来源

如何设置转换规则,可以合并分录行下推,多行分录推成一行 (kingdee.com)



6、这个源单编号显示不全怎么办

问题描述:

image.png

解决方案

是不是超过字段显示长度了呀,超过长度就会显示截断,显示不全。

编辑于 2024年02月27日 11:14:25

追问

image.png

这个该怎么设置呢


追答

50个字符你那个长度看着是超了,需要扩展字段长度,在数据库里面执行下SQL语句即可,然后BOS里面把编辑长度改大。参考官方帖子,亲测有用:https://vip.kingdee.com/article/350568262637010176?productLineId=1&isKnowledge=2

问题来源

这个源单编号显示不全怎么办 (kingdee.com)



7、 新增字段如何关联基础资料

问题描述:

在组装拆卸单中新增了一个物料分组的字段,如何设置让该字段自动关联物料的分组设置

如下图,录入物料之后不会自动带出分组信息

image.png

如何社渚才能让它自动填充物料的分组信息?

解决方案

bos里面去物料字段设置值更新,目标字段就是单据里面的字段,已引用的源字段就是物料里面的字段

image.png

image.png

编辑于 2024年02月26日 16:43:49

追问

已引用源字段没有物料分组的选项

追答

image.png

能选到呀,你物料分组字段是文本吗?要用基础资料,然后绑定物料分组资料

image.png

问题来源

新增字段如何关联基础资料 (kingdee.com)



8、 页签下的菜单集合,如何在审核中状态也可以点击

问题描述:

页签下的菜单集合,如何在审核中状态也可以点击(因为审批流过程中要填写这个)

BOS菜单集合可用是勾选上的

image.png

image.png


解决方案

试下bos配置单据状态.菜单控制

仅供参考:

image.png


问题来源

页签下的菜单集合,如何在审核中状态也可以点击 (kingdee.com)



9、  请问物料盘点作业表套打如何做到图片标红的效果?

问题描述:

image.png

解决方案

image.png

问题来源

请问物料盘点作业表套打如何做到图片标红的效果? (kingdee.com)



10、 用元数据创建包后台创建单据(分录行如何新增两条,默认只添加一条)

问题描述:

  1. image.png

  2. image.png

  3. image.png

  4. image.png

  5. 5

解决方案

给你个代码,你看一下

 //明细信息

             for (int i = 0; i < ds.Tables[0].Rows.Count; i++)

             {

                 billView.Model.CreateNewEntryRow("FEntity");


                 dynamicFormView.SetItemValueByID("FColXSY", ds.Tables[0].Rows[i]["FSALEERID"], i);//销售员

                 dynamicFormView.SetItemValueByID("FColKH", ds.Tables[0].Rows[i]["客户"], i);//客户

                 dynamicFormView.UpdateValue("FColDJBH", i, ds.Tables[0].Rows[i]["单据编号"]);//单据编号

               


                

             }


编辑于 2024年02月23日 12:22:59

金蝶云社区-sunshuangsuo
sunshuangsuo

0人赞同了该回答

大哥,你要在第一行下面写增加行 addrow 然后在setvalue

编辑于 2024年02月23日 09:23:04

追问

逻辑我明白,怎么在此基础上新增行呢

追答

s.Model.CreateNewEntryRow(field.EntityKey);

                    rowIndex++;

                    this.Model.SetEntryCurrentRowIndex(field.EntityKey, rowIndex - 1);

                }

                        if (this.Model.GetEntryRowCount(field.EntityKey) <=rowIndex|| !this.Model.GetValue(field, rowIndex-1).IsNullOrEmptyOrWhiteSpace())

                        {

                            this.Model.CreateNewEntryRow(field.EntityKey);

                            this.Model.SetEntryCurrentRowIndex(field.EntityKey, rowIndex - 1);

                        }

                                

                                // 设置基础资料字段值

                                this.Model.SetItemValueByNumber("FExpenseItemID", dataRow[0].ToString(), rowIndex-1);

                                // 设置普通字段值

                                this.Model.SetItemValueByNumber("FEntryCostDeptID", dataRow[1].ToString(), rowIndex-1);

                                this.Model.SetValue("FOrgAmount", dataRow[2], rowIndex-1);

                                this.Model.SetValue("FCheckedOrgAmount", dataRow[2], rowIndex-1);

                                rowIndex++;

                }


            this.View.UpdateView();


问题来源

用元数据创建包后台创建单据(分录行如何新增两条,默认只添加一条) (kingdee.com)



11、 审批流能否设置某张单据,只有一种单据类型走审批流,其它单据类型不走审批流?

问题描述:

比如一张单据,我只有一种单据类型需要走审批流程,其它单据不用走,能否实现?我流程配置了走审批流的单据类型,但其它单据类型提交时报错没有符合的流程。

解决方案

想要不报错的话可以把条件不符合发起策略改为进行传统审批,就是有审核权限的用户点提交审核就通过了。

image.png

问题来源

审批流能否设置某张单据,只有一种单据类型走审批流,其它单据类型不走审批流? (kingdee.com)



12、 存储在数据库中附件编码数据怎么反序列回去得到文件然后获取这个文件

问题描述:

我看到数据库中存储的是这样的FATTCHMENT这个字段里面,我应该怎样操作得到对应的文件

image.png

image.png

解决方案

这个是文件的字节数据,在数据库中是十六进制的方式存储的。

要获取的话,就把这个数据查询出来,然后转换成Byte[]数组,然后写入文件路径,就可以生成文件了。

参考如下代码:

image.png


问题来源

存储在数据库中附件编码数据怎么反序列回去得到文件然后获取这个文件 (kingdee.com)



13、  数组分组对应的FormId怎么获取。

问题描述:

有一个自定义基础资料(费用项目)里面的一个字段(一级科目名字)是分组字段类型,怎么获取它对应的FormId,我想拿到formid通过webapi的单据查询接口 去获取对应的名字。我看到物料的物料分组的formid是SAL_MATERIALGROUP,但是不知道他是怎么来的



解决方案

系统中的数据分组是统一的数据模型,只是所属分组类型不同,数据库也是根据不同的分组类型存储到不同的数据库表中。

可以参考下图的JSON参数格式,调用接口时:表单FormId可以使用数据分组(BOS_FORMGROUP)

FGroupId:所属分组ID,可理解为分组类型,同一类型是固定值,用于区别物料分组、客户分组、部门分组等。

根据FGroupId可以过滤出不同类型的分组。


那物料分组为什么可以用SAL_MATERIALGROUP呢??

其实是系统为了使用方便,单独建立了一个基础资料,然后这个基础资料的表绑定的物料分组信息表而已。

如果你想用这种方法,也可以依葫芦画瓢来实现!


例如,下图是调用保存接口创建分组的一个示例:

image.png

问题来源

数组分组对应的FormId怎么获取。 (kingdee.com)



14、 检验单套打按检验项目类别分组,并把分组单列一行吗?

问题描述:

表格-分组管理可以搞定列合并,如下图:

image.png

解决方案

1人赞同了该回答

image.png

image.png

想要实现这个横向的吗,那你把ECU检验等放到组别里面去,然后套打按照组别和检验项目去分组展示,就可以做到。

问题来源

检验单套打按检验项目类别分组,并把分组单列一行吗? (kingdee.com)



15、 销售出库单,设置值更新,给销售部门赋值,报错怎么解决

问题描述:

image.png

解决方案

FSaleDeptId = GETPKVALUE ('FSaleDeptId','编码') 可以用 GETPKVALUE 这个函数,根据编码来获取内码id进行赋值,内码不好查,编码是可以直接查询

问题来源

销售出库单,设置值更新,给销售部门赋值,报错怎么解决 (kingdee.com)



16、 在销售订单套打中增加一个员工手机号码

问题描述:

如下图想在套打模版中增加一个数据源,通过员工编码关联出员工的手机号码,这里怎么添加?image.png

解决方案

数据源像我这样绑定
image.png

编辑于 2024年02月19日 11:40:50

追问

数据源里面没有员工手机号码字段,怎么添加进来?方便的话私聊一下

追答

那就在单据上加个字段,加个基础资料属性字段引用出来,然后套打数据源取这个字段的值
image.png

问题来源

在销售订单套打中增加一个员工手机号码 (kingdee.com)





查看往期精选:

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



赞 77