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

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


【第36期】


1、单据头头中新增一个按钮,点击按钮打开弹框表单插件中的BarItemClick事件无法触发

问题描述:


解决方案:

建议不使用“是否已经下推”,而是用“已下推数量”

按照以下步骤进行配置:

1.在上游单据上添加字段,添加小数字段FPUSHQTY

2.新增反写规则:



问题来源:

如何实现在列表页面加一个字段,显示是否已下推,是=有下游单据,否=无下游单据。


2、在列表状态下选中某行后点按钮弹窗显示某字段内容

问题描述:

在列表状态下选中某行后点击工具栏按钮后弹窗打开单据头上字段【PDFURL】的内容,一直实现不了,请高人指点抱拳


def BarItemClick(e):
    if e.BarItemKey != "OpenPDFButton":
        return  

    # Check if any row is selected
    if not this.ListView.CurrentSelectedRowInfo:
        this.View.ShowErrMessage("请选择数据行")
        return

    selectedRowsInfo = this.ListView.CurrentSelectedRowInfo

    for row in selectedRowsInfo:
        dr = row.DataRow
        billNo = row.BillNo  
        billId = row.PrimaryKeyValue  
        entryId = row.EntryPrimaryKeyValue 
        entityKey = str(row.EntryEntityKey)  
     
        if dr.ColumnContains("FPDFURL"):
            PDFURL = dr.DynamicObject["FPDFURL"]

        if not PDFURL or PDFURL.strip() == "":
            this.View.ShowErrMessage("该单据没有有效的 URL 值")
            return

        url = str(PDFURL).strip()
        webobj = JSONObject()
        webobj["source"] = url
        webobj["height"] = 600
        webobj["width"] = 800
        webobj["isweb"] = True
        webobj["title"] = "PDF 查看器"
        this.View.AddAction("ShowKDWebbrowseForm", webobj)
        this.View.SendDynamicFormAction(this.View)


解决方案:

BarItemClick事件实现这个功能,获取选择行后,能够获取到单据的id,进一步能够获取到字段,然后打开弹窗后传入数据,并展示数据,按照这个逻辑改写你的代码会方便一些。

参考案例:python列表打开动态表单并传递参数到表单页面


如果想要精确到单元格,需要使用单元格点击事件。

可以参考这个C#的案例,改写一下,二开案例.列表插件.列表单元格打开超链接


问题来源:

在列表状态下选中某行后点按钮弹窗显示某字段内容


3、采购订单基本信息页签字段挪到最右边了,BOS里往右拉宽页签也没反应,显示了横向滚动条,前台字段也不显示,滚动条也不显示

问题描述:

采购订单基本信息页签某字段挪到最右边了,BOS里往右拉宽页签也没反应,显示了横向滚动条,前台字段也不显示,滚动条也不显示,怎么办?

解决方案:

采购订单界面中,去掉这个勾选项,保存后会恢复出来。

问题来源:

采购订单基本信息页签字段挪到最右边了,BOS里往右拉宽页签也没反应,显示了横向滚动条,前台字段也不显示,滚动条也不显示,



4、想问一下各位老师,bos套打模板如何设置,可以让全员直接使用这个模板,而不需要额外自己手动设置

问题描述:

想问一下各位老师,bos套打模板如何设置,可以让全员直接使用这个模板,而不需要额外自己手动设置

解决方案:


问题来源:

想问一下各位老师,bos套打模板如何设置,可以让全员直接使用这个模板,而不需要额外自己手动设置



5、如图,这些字段的属性,同一数据中心,可以按组织设置吗?比如组织A必填,组织B非必填

问题描述:


解决方案:

需要新增保存校验规则:合法性检查,字段必录,前提条件是组织=A,字段必录


问题来源:

您好,如图,这些字段的属性,同一数据中心,可以按组织设置吗?比如组织A必填,组织B非必填


6、现在单据编号字段套打仅在最后一页显示,如何改为每页都显示

问题描述:


解决方案:



问题来源:

现在单据编号字段套打仅在最后一页显示,如何改为每页都显示


7、附件管理表单添加附件日期字段, 该附件日期默认取附件本身的修改日期字段,这种需求能否通过开发实现?

问题描述:

解决方案:

string filePath = "路径/文件名";

DateTime lastModified = File.GetLastWriteTime(filePath);

Console.WriteLine("文件最后修改日期:" + lastModified);


问题来源:

附件管理表单添加附件日期字段, 该附件日期默认取附件本身的修改日期字段,这种需求能否通过开发实现?

8、如何增加枚举类型的值

问题描述:

SQL报表使用了枚举字段,原来增加的字段值不够用,如何增加新的枚举值



解决方案:

选择“年”点击编辑按钮,弹窗另外一个对话框,进行新增行即可。

界面类似

问题来源:

如何增加枚举类型的值



9、扩展的单据SQL查询部分数据找不到

问题描述:

1、SQL语句

SELECT  FBILLNO,FDATE,FCustomerID,FMATERIALID , FBillAmount

                            FROM
                            T_SAL_OUTSTOCK AS xsckhaed
                            INNER JOIN T_SAL_OUTSTOCKENTRY AS xsckdbody ON xsckhaed.FID = xsckdbody.fid 
														inner join T_SAL_OUTSTOCKFIN as xsckfin on xsckdbody.FENTRYID=xsckfin.FENTRYID


中间有组织结算的数据


解决方案:

表头财务是子单据头,应该和单据头表格关联,使用fid



问题来源:

扩展的单据SQL查询部分数据找不到



10、能在仓库修改里面的仓位值集页签中添加过滤条件表格吗?

问题描述:

如仓位值集中有过滤行:

仓库修改里面的仓位值集页签中没有,能否添加?



解决方案:

在BOS中改一下XML

https://vip.kingdee.com/article/350295707452593152?productLineId=1&isKnowledge=2&lang=zh-CN


问题来源:

能在仓库修改里面的仓位值集页签中添加过滤条件表格吗?


11、布局设置锁定怎么解锁

问题描述:



解决方案:

在单据类型中设置【新增时不可维护】、【修改时不可维护】


问题来源:

布局设置锁定怎么解锁

12、单据增加多选基础资料字段,保存时提示列名无效

问题描述:

自定义表单单据头增加了一个多选基础资料元素类型字段,单据保存的时候提示列名无效




解决方案:

可以检查下这个多选基础资料的存储表是否存在这个字段,是不是这个表本来就是系统已经存在的表,而不是添加多多选基础资料的时候重新生成的!

BOS添加控件或者字段时,如果涉及到新增数据库表,要自己修改一下表名,不要用系统自动生成的,以免发生冲突,引发报错!


问题来源:

单据增加多选基础资料字段,保存时提示列名无效


13、单据前面显示未引入是什么情况 点击引入业务对象前缀却变成了RFPK 正常来说都是显示的是PRSH

问题描述:



解决方案:

前缀代表开发商代码!

说明这一层扩展是通过另一个协同应用(开发商代码为RFPK)进行二开扩展的,而不是通过当前打开的这个协同应用开发的,当前协同引用里面没有这一层扩展,但是数据中心有这一层,就会提示【未引入】


可以参考:元数据未引入说明


当同一个数据中心通过不同协同应用开发打开时,就会出现这种情况,另外还有一种情况是【未加载】

 2种情况都是当前打开的协同应用和数据中心的内容不一致导致的!


2种情况的区别可以参考: 8.0星空协同平台,“未引入”对象应该如何理解和处理?


问题来源:

单据前面显示未引入是什么情况 点击引入业务对象前缀却变成了RFPK 正常来说都是显示的是PRSH


14、 global name 'DynamicObject' is not defined这是少引那个包了?

问题描述:



解决方案:

DynamicObject需要添加相关引用: clr.AddReference( 'Kingdee.BOS' ) from Kingdee.BOS.Orm.DataEntity import *


问题来源:

global name 'DynamicObject' is not defined这是少引那个包了?


15、将生产订单信息转为了基础资料,选择基础资料无法看到表体信息

问题描述:

bos里新增了基础资料,取数取生产订单信息,直接发布这个基础资料能看到对应表头和表体信息


其他单据上增加了基础资料字段绑定了这个基础资料,新增单据进行选择时如何看到单据体信息



解决方案:

  1. 点击“工单单号”列表的“选项按钮”,勾选上“基础资料弹出列表查询显示明细项目”

  2. 在新的单据里面搜索,打开过滤方案,就可以显示出单据体来了


问题来源:

将生产订单信息转为了基础资料,选择基础资料无法看到表体信息


16、自定义WEBAPI怎么获取请求体信息?

问题描述:

开发了一个自定义API插件,在第三方调用时会再请求体中携带一些数据,怎么在接口中获取到这个请求体信息,在下面图片中用postman做示例



解决方案:

从这个里面获取试试:HttpContext.Current.Request

我是这样获取的,对方Post是form-urlencode


问题来源:

自定义WEBAPI怎么获取请求体信息?


17、单据转换源单没有部门字段,如何默认目标单的字段取值?

问题描述:



解决方案:

字段携带那里,选择自定义公式,然后公式输入部门内码就可以,部门内码在部门列表按引入模板引出,第一列就是内码


问题来源:

单据转换源单没有部门字段,如何默认目标单的字段取值?


18、单据审核发现字段重叠,这个字段怎么移动位置?在bos要搜什么单据?

问题描述:




解决方案:

参考:

这是个动态表单,试着改一下这个界面'信息中心_审批任务处理'


问题来源:

单据审核发现字段重叠,这个字段怎么移动位置?在bos要搜什么单据?



作者:Dave

来源:金蝶云社区

原文链接:https://vip.kingdee.com/article/685345938776315392?productLineId=1&lang=zh-CN

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。






联系我们,让管理更高效

金蝶K/3WISE

免费体验

金蝶ERP

预约演示

咨询热线:400-0731-994

技术支持服务

金蝶

欢迎关注微信公众号


湖南金蝶财务软件

微信扫一扫,获取您的专属顾问




咨询热线: 400-0731-994  

服务热线: 0731-88838116

投诉电话: 0731-88808949


在线咨询
热线电话
长沙金蝶软件
用微信扫码二维码,即可获取您的专属顾问
Top