【第31期】 金蝶云·星空-BOS平台 | 产品应用典型/热门问答精选原创
金蝶云社区-Dave身份
Dave
88人赞赏了该文章 255次浏览 未经作者许可,禁止转载编辑于2024年10月08日 07:22:07
summary-icon摘要由AI智能服务提供

本文是关于金蝶云·星空-BOS平台应用的常见问题及解决方案合集,涉及子单据头使用、PLM物料和BOM审批推送、销售订单流转条件、文本赋值给基础资料、单位字段关联、轻分析功能使用、收款单联系人设置、报表开发去重、采购价目表字段编辑及上下游单据关联等10个具体问题及其详细的解决方案,为平台使用者提供了实用的指导和帮助。

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

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


【第31期】


1、子单据头如何使用

问题描述:

如何让分录页签的内容展示在子单据头,如图所示,虽然有子单据头,但是没有页签下的信息,新手小白请大神不吝赐教image.png

解决方案

参考:

设置要移动的字段实体属性.选择子单据头

image.png

问题来源

子单据头如何使用 (kingdee.com)


2、PLM里物料和BOM审批工作流,怎么增加物料/BOM审核后推送服务

问题描述:

设置PLM里物料和BOM审批工作流,想配置审核后自动推送到ERP, 完成节点新增服务选不到 物料推送服务,服务里怎么增加物料和BOM推送服务?

解决方案

参考链接最下面文档,审批流 添加下推服务


5ce658c9f1e616ca1174faa711e395be_0109f0c13975e3a74fec9a56bb8c52abb43c.png

问题来源

PLM里物料和BOM审批工作流,怎么增加物料/BOM审核后推送服务 (kingdee.com)


3、 销售订单工作流能不能以销售数量作为流转条件,数量小于1000,a审核,大于1000,b审核

问题描述:

销售订单工作流能不能以销售数量作为流转条件,数量小于1000,a审核,大于1000,b审核

解决方案

可以通过 lambda表达式; 关键在于,如果订单是多行的情况下,有的行小于1000,有的行大于1000,是按照大于1000,还是小于1000审批。

编辑于 2024年09月27日 13:40:28

追问

如果是按照其中有一行小于1000就跑到a审核呢,要加什么条件

追答

单据体中的字段,公式取到的是一个集合,不能直接跟常量进行比较。

需要lambda表达式,对单据体行,进行循环,逐行取基础资料字段值进行比较:

比如,判断应收单单体数量字段大于1000是否有值:

len(filter(lambda x: x. FMATERIALID<>"" and x. F_QHGH_JSCY>1000, FEntityDetail))>0

以上如果有一行是超过1000,则该条件为真。

你将上面公式中,字段按你的要求改下,FEntityDetail是单据体标识


追问

len(filter(lambda x: x. FQty<>''and x.FQty>1000, FSaleOrderEntry))>0我怎么设置的,测试下来一行里面如果有大于1000和小于1000,两条线都能通过,这个要怎么设置呢,F_QHGH_JSCY这个是什么字段?


追答

流程分为几条线,每条线上都要考虑不同情况:

1、大于1000:按上面的公式;

2、小于1000,并且没有大于1000:这里需要两个表示式,用  and 连接

     “没有大于1000”表示式:len(filter(lambda x: x. FQty<>''and x.FQty>1000, FSaleOrderEntry))<=0

3、等于1000:参照第1条。


问题来源

销售订单工作流能不能以销售数量作为流转条件,数量小于1000,a审核,大于1000,b审核 (kingdee.com)


4、文本赋值给基础资料

问题描述:

订单号1是文本字段,订单号2是基础资料字段(在销售订单列表选),怎么设置文本赋值给基础资料?image.png

解决方案

如果文本字段是基础资料的编码什么的,可以使用GETPKVALUE给基础资料字段赋值。 可以参考这个知识编写:BOS设计器的公式编辑器增加“表达式测试”功能:https://vip.kingdee.com/link/s/li0T3

问题来源

文本赋值给基础资料 (kingdee.com)


5、源单数量字段未关联单位

问题描述:

为什么有单位字段却选不到

image.png

image.png

解决方案

你这个单位是基础资料属性是选不到的。你得用基础资料字段绑定单位,然后通过值更新从物料里面带出单位基础资料来才能选择。

image.png

问题来源

源单数量字段未关联单位 (kingdee.com)


6、sql 直接账表,可否使用轻分析功能

问题描述:

如果有,则很方便呀。

解决方案

1、可以在轻分析中做数据准备的时候,直接通过SQL取数作为数据源:

image.png

2、选择自定义SQL取数。

image.png

3、然后将直接SQL账表的SQL语句做更改,输入到SQL部分,保存数据源。

image.png

4、再根据需要搭建轻分析图表或者报表即可。


问题来源

sql 直接账表,可否使用轻分析功能 (kingdee.com)


7、收款单新增客户联系人字段,联系人怎么设置成可选状态

问题描述:

收款单上联系人字段被锁定了只会带出默认联系人,联系人怎么设置成可选状态

image.png

image.png

image.png

解决方案

你用的是基础资料属性字段吧;这个肯定不能修改啊;你要用基础资料字段才能选联系人;参考销售订单的客户信息设置;

image.png

问题来源

收款单新增客户联系人字段,联系人怎么设置成可选状态 (kingdee.com)


8、标准报表添加自定义字段开发后,出现重复行,求指教

问题描述:

根据帖子写的代码,采购订单执行明细表增加了订单明细的“项目”字段,改完插件后可以显示该字段,但是明细表出现重复行,原插件是不会这样的,应该是代码写错了,求大神指教


sql拼接代码如下,注:t4是预置基础资料,F_TNCK_BASE_83G是订单明细加的项目字段,F_PDVC_Text_43c是订单执行明细表加的文本字段,用来显示项目名称


  public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)

  {      

      //创建临时表用于保存自己的数据

      IDBService dbservice = Kingdee.BOS.App.ServiceHelper.GetService<IDBService>();

      TempTableName = dbservice.CreateTemporaryTableName(this.Context, 1);

      string strTable = TempTableName[0];

      //调用基类方法,获取初步的查询结果

      base.BuilderReportSqlAndTempTable(filter, strTable);

      //对初步的查询结果处理,然后回填到默认的存放查询结果到临时表

      StringBuilder sb = new StringBuilder();

      sb.AppendFormat(@"/*dialect*/select t1.*,t4.FName as F_PDVC_Text_43c

                      into {0}  from  {1} t1 inner join  t_PUR_POOrder  t2 

                      on t1.FBILLNO = t2.FBILLNO  inner join t_PUR_POOrderEntry t3 on t2.FID = T3.FID

                      left join T_BAS_PREBDTWO_L t4 

                      on t3.F_TNCK_BASE_83G = t4.FID where 1=1", tableName, strTable);

    DBUtils.Execute(this.Context, sb.ToString());

}

1727331239728.png

报表明细重复

image.png

解决方案

参考:

sql脚本可优化两处:去重关键字,多语言表需要指定语言

/*dialect*/select distinct t1.*,t4.FName as F_PDVC_Text_43c

into {0}  from  {1} t1 inner join  t_PUR_POOrder  t2 

on t1.FBILLNO = t2.FBILLNO  inner join t_PUR_POOrderEntry t3 on t2.FID = T3.FID

left join T_BAS_PREBDTWO_L t4 

on t3.F_TNCK_BASE_83G = t4.FID and t4.FLOCALEID=2052 --中文简体

where 1=1

问题来源

标准报表添加自定义字段开发后,出现重复行,求指教 (kingdee.com)


9、 在采购价目表中增加一个字段,然后 这个字段在价目表审核后可编辑保存

问题描述:


在采购价目表中增加一个字段,

image.png

此字段通过价格取数也可以取到采购订单上

image.png


这样就可以比较实际的采购单价与VPA单价的差异,

现在就是有一个问题,可能会出现采购价目表的单价未发生变化,但是VPA价格变化了,所以就是想能否设置成采购价目表上VPA单价审核后可修改

image.png

单据状态下已经这样设置了,但是并不能修改

后面又看了实体服务规则也没有锁定这个字段

image.png


image.png

单据头上这样设置是可以的,但是单据体上的字段貌似都不行。请各们大神指教,谢谢



解决方案

单据体上还有个行状态

里面也要审核解锁一下

image.png

问题来源

在采购价目表中增加一个字段,然后 这个字段在价目表审核后可编辑保存 (kingdee.com)


10、上游单据下推生成的下游单据,下游单据关联关系表和下游单据怎么关联

问题描述:

我知道关联关系表和上游是有源单id,那上游单据下推生成的下游单据,下游单据关联关系表和下游单据怎么关联,是下游单据的FID和关联关系表的flinkid吗

解决方案

参考:

select  

    t1.FBILLNO --生产订单编号

    ,t1.FID --生产订单内码

    ,t2.FENTRYID --生产订单明细内码

    ,t2.FSEQ --生产订单明细序号

    ,t4.FENTRYID --生产入库明细内码

   ,t5.FBILLNO --生产入库单编号

from T_PRD_MO t1---生产订单(上游单据)

inner join T_PRD_MOENTRY t2 on t1.FID=t2.FID---生产订单单据体

inner join T_PRD_INSTOCKENTRY_Lk t3 on t1.FID=t3.FSBILLID and t2.FENTRYID=t3.FSID and t3.FSTABLENAME='T_PRD_MOENTRY' --关联关系表(下游单据)

inner join T_PRD_INSTOCKENTRY t4 on t3.FENTRYID=t4.FENTRYID---生产入库单据体(下游单据)

inner join T_PRD_INSTOCK t5 on t4.FID=t5.FID---生产入库单据头(下游单据)


补充:

1. _Lk表补充:FSBILLID 源单单据内码, FSID 源单单据明细行内码,FSTABLENAME 源单数据表名,FENTRYID 下游单据明细行内码;

2. 下游单据lk表不一定是明细表_lk,具体需要根据bos‘单据关联配置’查看;


问题来源

上游单据下推生成的下游单据,下游单据关联关系表和下游单据怎么关联 (kingdee.com)



查看往期精选:

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







图标赞 88
88人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0