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

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

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


【第19期】

1、bos签出提示System.Collections.ListDictionaryInternal,扩展没问题

问题描述:


发生时间: 2023-09-20 15:48:02

错误来源: mscorlib

错误信息: The node 'D:\WorkSpace\QZOR\银利达\DataModel_20\XSYFX_5abbbf1b\550c78d5-32e1-4ac8-a0b6-55ed47552f73.2052.dymx' was not found.

===================================================

调用堆栈:


Server stack trace: 

   at Kingdee.BOS.VersionControl.SVNSCCProvider.svnClient_SvnError(Object sender, SvnErrorEventArgs e)

   at SharpSvn.SvnClient.raise_SvnError(Object sender, SvnErrorEventArgs e)

   at SharpSvn.SvnClient.OnSvnError(SvnErrorEventArgs e)

   at SharpSvn.SvnClient.HandleClientError(SvnErrorEventArgs e)

   at SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client, SvnException error, Object targets)

   at SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client, svn_error_t* error, Object targets)

   at SharpSvn.SvnClient.Resolve(String path, SvnAccept choice, SvnResolveArgs args)

   at Kingdee.BOS.VersionControl.SVNSCCProvider.Add(String[] items, Boolean immediatelyDo, String comment)

   at Kingdee.BOS.VersionControl.SVNSCCProvider.MyRemoteLock(String path)

   at Kingdee.BOS.VersionControl.SVNSCCProvider.CheckOut(String[] items)

   at Kingdee.BOS.IDE.Core.AbstractNode.CheckOut(IViewManager isv, Boolean recursion, Boolean AutoUpdate)

   at Kingdee.BOS.IDE.Designer.BizObjectNode.<>n__FabricatedMethod29(IViewManager , Boolean , Boolean )

   at Kingdee.BOS.IDE.Designer.BizObjectNode.<>c__DisplayClass27.<CheckOut>b__26()

   at Kingdee.BOS.IDE.Designer.BizObjectNode.<>c__DisplayClass2b.<CallWithTimeout>b__2a()

   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)

   at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)


Exception rethrown at [0]: 

   at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)

   at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)

   at System.Action.EndInvoke(IAsyncResult result)

   at Kingdee.BOS.IDE.Designer.BizObjectNode.CallWithTimeout(Action action, Int32 timeoutMilliseconds)

   at Kingdee.BOS.IDE.Designer.BizObjectNode.CheckOut(IViewManager isv, Boolean recursion, Boolean AutoUpdate)

   at Kingdee.BOS.IDE.Core.Utils.CheckOut(AbstractNode abstractNode, IViewManager ivm)

   at Kingdee.BOS.IDE.Core.Utils.CheckOutCommand(AbstractNode abstractNode, IViewManager ivm)

   at Kingdee.BOS.DomainModelDesigner.ViewManager.MDIParent_BarItemClick(Object sender, BarItemClickArgs e)

   at Kingdee.BOS.IDE.frmMain.barManager_ItemClick(Object sender, ItemClickEventArgs e)

错误数据: System.Collections.ListDictionaryInternal


解决方案

尝试以下操作

刷新SVN节点

1695267502030.png

移除对象后重新引入

1695267758063.jpg

问题来源

bos签出提示System.Collections.ListDictionaryInternal,扩展没问题 (kingdee.com)


2、python 中 DynamicObjectToJson 应该引用哪个组件

问题描述:

image.png

解决方案

这个方法需要自定义:

 private static string DynamicObjectToJson(object obj)         {             var jsonSerializerProxy = new JsonSerializerProxy(Encoding.UTF8, false);             var jsonData = jsonSerializerProxy.Serialize(obj);             return jsonData;       

 }

来源:二开案例.单据插件.DynamicObject转Json (kingdee.com)


编辑于 2023年09月25日 10:18:54

追问

python 中要咋引用呢


追答

增加一个方法

def dynamicobjecttojson(dyobject):    jsonSerializerProxy = JsonSerializerProxy(Encoding.UTF8, False)    jsonData = jsonSerializerProxy.Serialize(dyobject)    return jsonData

PYTHON实现操作中发送POST,GET请求 (kingdee.com)


追问

image.png

追答

引用组件

image.png



问题来源

python 中 DynamicObjectToJson 应该引用哪个组件 (kingdee.com)



3、需求是限定仓库来指定审批人,但仓库不是单据头字段,可以通过仓库负责人来做审批流吗?

问题描述:

image.png

解决方案

可以,前提是一张单据只有一个仓库,方式:

单据头增加仓库字段,单据头字段更新单据体仓库,用该字段作为审批流条件

也可以用Python表达式: 流程条件使用单据体字段 (kingdee.com)

问题来源

需求是限定仓库来指定审批人,但仓库不是单据头字段,可以通过仓库负责人来做审批流吗? (kingdee.com)


4、自定义单据,单据体里有物料分组,然后新单据继承了该单据,保存新的单据时,报错:未设置分组信息存储表

问题描述:


自定义单据,单据体里有物料分组,然后新单据继承了该单据,保存新的单据时,报错:未设置分组信息存储表,但是我加了T_BD_MATERIALGROUP,为什么不行呢?

上传图片


解决方案

这个提示就是分组信息存储表为空了,截图以下你BOS的配置界面看看

编辑于 2023年09月26日 14:56:15

追问

上传图片


问题来源

自定义单据,单据体里有物料分组,然后新单据继承了该单据,保存新的单据时,报错:未设置分组信息存储表 (kingdee.com)


5、  如何配置工作流,在审核时,某字段才必填,填写后才能审核通过

问题描述:

如何配置工作流,在审核时,某字段必填,填写后才能审核通过

解决方案

字段先取消审核中锁定、先把字段放出来、在工作流程配置里设置对应节点字段必录就可以了

image.png

问题来源

如何配置工作流,在审核时,某字段才必填,填写后才能审核通过 (kingdee.com)


6、 如何关闭块选择,块复制,块粘贴功能,BOS设置了还是无效!

问题描述:

如何关闭块选择,块复制,块粘贴功能,BOS设置了还是无效!

解决方案

块选择在参数中禁用,块粘贴在BOS里具体单据明细信息属性里取消勾选

image.png

问题来源

如何关闭块选择,块复制,块粘贴功能,BOS设置了还是无效! (kingdee.com)


7、 监控方案消息标题不能为空的原因

问题描述:

image.png

解决方案

排查下轻应用页签-消息标题

image.png

问题来源

监控方案消息标题不能为空的原因 (kingdee.com)


8、 移动单据下推插件

问题描述:


移动单据下推插件,暂存后,怎么获取生成的暂存的下游单据内码

//开始处理下推结果:

                    //获取下推生成的下游单据数据包

                    Kingdee.BOS.Orm.DataEntity.DynamicObject[] targetBillObjs = (from p in operationResult.TargetDataEntities select p.DataEntity).ToArray();

                    if (targetBillObjs.Length == 0)

                    {

                        throw new KDBusinessException("", string.Format("由{0}自动下推{1},没有成功生成数据包,自动下推失败!", sourceFormId, targetFormId));

                    }

                    // 读取目标单据元数据

                    var targetBillMeta = MetaDataServiceHelper.Load(this.View.Context, targetFormId) as FormMetadata;

                    OperateOption saveOption = OperateOption.Create();


                    //暂存下推数据

                    var draftResult = BusinessDataServiceHelper.Draft(this.View.Context, targetBillMeta.BusinessInfo, targetBillObjs, saveOption, "draft");

                    MobileShowParameter paramBill = new MobileShowParameter();

                    paramBill.FormId = "VBGU_YHMMDH_BOS";// 移动单据标识

                    paramBill.PKey = targetBillObjs["id"];//??????????

                    paramBill.Status = OperationStatus.EDIT;//新增为 OperationStatus.ADDNEW

                    this.View.ShowForm(paramBill);

上传图片



解决方案

暂存成功的数据包是已经创建了FID的 解析 draftResult 这个数据集合,获取FID即可,具体的可以调试进来后看下 这个动态对象集合的具体详情,看下是通过属性"ID"还是直接通过字段标识获取

问题来源

移动单据下推插件 (kingdee.com)


9、 bos设计器可以正常登录,所有项目点击开发都提示未能从程序集“Kingdee.BOS.VersionControl

问题描述:

bos设计器可以正常登录,所有项目点击开发都提示未能从程序集“Kingdee.BOS.VersionControl。有没有大神知道怎么处理?错误详情如下:发生时间:	2023-09-19 17:53:48错误来源:	System.Windows.Forms错误信息:	未能从程序集“Kingdee.BOS.VersionControl, Version=8.1.620.12, Culture=neutral, PublicKeyToken=null”中加载类型“Kingdee.BOS.VersionControl.SvnIDEStatus”。===================================================调用堆栈:   在 System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)   在 System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)   在 System.Windows.Forms.Control.Invoke(Delegate method)   在 Kingdee.BOS.WinForm.KDWaitForm.<>c__DisplayClass5.<PrivateDoTask>b__4()   在 Kingdee.BOS.WinForm.KDWaitForm.PrivateDoTask(Form owner, Action act)   在 Kingdee.BOS.WinForm.KDWaitForm.OnShown(EventArgs e)   在 System.Windows.Forms.Form.CallShownEvent()   在 System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)   在 System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)   在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)   在 System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)   在 System.Windows.Forms.Control.InvokeMarshaledCallbacks()错误数据:	System.Collections.ListDictionaryInternal

解决方案

环境出问题了,参考下列步骤卸载、重装一下


1、打开下图所示文件夹,找到Kingdee.BOS.DeskClient.Shell


2、双击打开Kingdee.BOS.DeskClient.Shell


3、找到Bos设计器(金蝶云星空集成开发平台)选项,点击“卸载”按钮


4、卸载成功后Bos设计器将会从列表中移除,桌面快捷图标也会被清理

注意:卸载成功后需关闭Kingdee.BOS.DeskClient.Shell程序,否则所有客户端将无法启动


 【安装】

1、登陆云星空后台,点击右上角个人图像弹出下拉选项,根据操作系统位数选择安装相应的Bos设计器


2、安装过程如下,为全自动安装无须任何操作


安装完成后弹出如下所示登陆窗口


并生成相应的桌面快捷图标,至此安装完成


问题来源

bos设计器可以正常登录,所有项目点击开发都提示未能从程序集“Kingdee.BOS.VersionControl


10、  如何设置:字段 费用金额/100 必须要有余数,如果整除,不允许保存

问题描述:

比如:201/100,允许保存;200/100不允许保存

解决方案

用%,判断:费用金额%100=0则为整除,不允许保存

image.png

image.png

问题来源

如何设置:字段 费用金额/100 必须要有余数,如果整除,不允许保存 (kingdee.com)


11、BOS如何设置:单据体基础资料等于单据头基础资料,当单据体基础资料变动时自动更新并赋值给单据头基础资料?

问题描述:

image.png

解决方案

单据体字段要勾选【即时触发值更新】 然后设置 单据体的实体服务规则。 规则条件:单据体基础资料=单据体基础资料 满足条件执行:单据头基础资料=单据体基础资料

问题来源

BOS如何设置:单据体基础资料等于单据头基础资料,当单据体基础资料变动时自动更新并赋值给单据头基础资料? (kingdee.com)


12、  客户上的复选框信息如何带到销售订单上去

问题描述:

在客户界面里新增了一个是否含税的复选框,如何能够新建销售订单的时候自动把这个信息带过去(销售订单的是否含税默认勾选了)

上传图片

上传图片


解决方案

做值更新或实体服务规则

image.png

前置条件为客户复选框勾选

image.png

问题来源

客户上的复选框信息如何带到销售订单上去 (kingdee.com)


13、 金蝶bos单怎么设置单据编号手工录,客户不要自动生成

问题描述:

金蝶bos单怎么设置单据编号手工录,客户不要自动生成

解决方案

不要扩展单据 在原单据上直接删除编码规则  扩展单据不允许更改编码规则

image.png

问题来源

金蝶bos单怎么设置单据编号手工录,客户不要自动生成 (kingdee.com)



14、 套打动态字段表达式测试通过,但是打印预览不显示

问题描述:

套打设置动态字段,当分店为空则取客户地址,否则取分店地址。


套打取值设置:

image.png

表达式测试:

image.png

image.png


打印预览时,不管有没有分店,地址均为空:

image.png


解决方案

原因:

你是在订单明细添加动态实体字段。模板上你却在网格添加的文本控件属性对应动态字段,并不在数据表格内的单元格属性对应动态字段。

处理方法:

选中数据表格的第一行,然后插入行,选择“当前行之前”,即在字段名称所在的普通行前插入普通行。然后直接在插入的普通行相应单元格设置动态字段,不要添加文本控件。

这样显示的地址永远是订单明细第一行的地址。

提示:文本控件设置的字段只能是单据头的字段(包括在单据头设置的动态字段),读取不了明细字段。明细字段只能在数据表格内显示。

image.png

image.png

问题来源

套打动态字段表达式测试通过,但是打印预览不显示 (kingdee.com)


15、  套打中想设置合计一栏,因为单据没有这个理论重量字段,所以使用的增加实体动态字段,现在需要给增加合计,sum合计该怎么实现

问题描述:

他这个理论重量=长度×数量×结算米重     



image.png

解决方案

添加聚合动态字段对动态字段进行求和。示例:
image.png

image.png

问题来源

套打中想设置合计一栏,因为单据没有这个理论重量字段,所以使用的增加实体动态字段,现在需要给增加合计,sum合计该怎么实现 (kingdee.com)


查看往期精选:

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


赞 105