【第1-8期】金蝶云·星空-协同开发 | 产品应用典型/热门问答精选 2023年5月发布

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

【第1-8期】金蝶云·星空-协同开发 | 产品应用典型/热门问答精选 2023年5月发布

各位社区的小伙伴们,大家好,我是  版主 OUT_MAN  @OUT_MAN


在金蝶云·星空-协同开发产品应用中,你需要了解的典型/热门问答都在这里!  

本帖每月持续更新,欢迎小伙伴们点赞,收藏本帖,CTRL+F关键词搜索,以便随时查看、扩充知识哟


查看往期精选:

【汇总】金蝶云·星空-协同开发 | 产品应用典型/热门问答精选


我创建了<<协同开发,轻松入门>>的学习清单,推荐给你,和我一起学习交流吧!

<<协同开发,轻松入门>>


【第8期】

  更新日期:2023-5


1、 弹窗提示后点否,e.Cancel无效果,本次操作还是会执行成功?

问题描述:


image.webp

想弹出一个警告提示,但是用ShowWarnningMessage没有效果。改成用图片中的方式出现了一个问题,我打断点发现点否确实会进来,e.Cancel也变成的true,但是我的操作还是执行成功了(本意是点否时,让本次操作执行失败)。我想知道这是什么原因?

解决方案:

showMessage 是异步回调机制。

弹出提示框之后,下面的代码会继续执行,相当于分成了2条线执行。

是不会阻断当前程序等用户选择是否之后再继续往下的。

正确的做法是,进入ShowMessage前就要先Cancel掉,然后在回调里面根据是否接管下面的程序。

参考下面的代码:

image.webp

问题来源:https://wenku.my7c.com/link/s/lpIfb   


2、  BOS已经修改了字段宽度,但是查数据库还是没变

问题描述:

这个字段宽度原来是20,现在BOS里面改了50,但是数据库没有生效,是需要重启吗?

控件类型是下拉列表,枚举值是汉字。现在数据库中的字段类型是varchar(20)。

image.webp

解决方案:

BOS和数据库字段的宽度需要同时手动修改;

参考官方知识:

单据中字段长度如何修改

问题来源:https://wenku.my7c.com/link/s/lpIfV     


3、 公有云一个sql更新任务可以写多个更新语句吗?

问题描述:

公有云一个sql更新任务可以写多个更新语句吗?

解决方案:

可以。每个语句以分号(“;”)结尾。

问题来源:https://wenku.my7c.com/link/s/lpIfw 


4、 bos单据扩展删掉了怎么恢复,能用账套备份恢复吗

问题描述:

bos单据扩展删掉了怎么恢复,能用账套备份恢复吗?

解决方案:

如果是协同开发平台的话可以通过svn恢复如果是私有云的集成平台,有备份的情况下参考下面链接:

https://wenku.my7c.com/link/s/lpIfe 

问题来源:https://wenku.my7c.com/link/s/lpIfU 


5、 本地星空管理员密码被锁住了,有没有什么快捷的方法解决?

问题描述:

多人使用时,其他人把管理员administrator密码忘了,试了几次后导致账号被锁。

解决方案:

用户密码输入错误次数过多被锁定,如何解锁

https://wenku.my7c.com/link/s/lpIfk 

问题来源:https://wenku.my7c.com/link/s/lpIfk 


6、 请问自动下推后如何触发消息?

问题描述

A单据自动下推成B单据后,如何以消息通知发给某些用户,消息内容要带B单据的单据编号消息配置B单据的“保存”、“暂存”、“新增”都无法触发消息推送

image.webp

解决方案:

触发时机,调整成“操作成功即触发”即可。

问题来源https://wenku.my7c.com/link/s/lpIM6    


7、 保存操作,调用存储过程更新数据库数据,怎么样让前台页面也实时更新

问题描述:

在操作服务插件里面的EndOperationTransaction时间调用的存储过程对数据更新,怎么样让前台不用退出重进就可以刷新前台数据呢


解决方案:

通过SQL更新数据,只能在保存菜单的点击事件中再加一个刷新操作。

image.webp


问题来源https://wenku.my7c.com/link/s/lpIML   


8、 行数据的显示和隐藏问题,如何通过某个复选框控制单行数据的显示和隐藏,而不是字段的显示和隐藏

问题描述:


image.webp

image.webp

解决方案:

试试下面的代码:(有个问题,勾选隐藏之后,想显示出来怎么办)

 EtryGrid grid = this.View.GetControl<EntryGrid>("单据体唯一标示");
grid.SetFilterString("")

参考:插件单据体支持的过滤条件(SetFilterString)设置

问题来源https://wenku.my7c.com/link/s/lpIMV 




【第7期】

  更新日期:2023-4


1、 云之家账号登不上协同开发平台,账密没有错。

问题描述:

云之家账号登不上协同开发平台,账密没有错。

解决方案:

建立账号后先同步

image.webp

问题来源https://wenku.my7c.com/link/s/lpIMw   



2、 如果是自己的测试环境(非购买产品),如何申请许可文件?

问题描述:

如果是自己的测试环境(非购买产品),如何申请许可文件?

解决方案:

临时许可有3个账号,可以用三个月左右。具体可以参照官方这个帖子,步骤很详细了。

https://wenku.my7c.com/link/s/lpIMN 

问题来源https://wenku.my7c.com/link/s/lpIMD 

 


3、 协同平台中的采购入库单无法签出

问题描述

点击签出没有反应

image.webp

解决方案:

这个有人签出了,没签入回来。你当然没法签出了。

image.webp

这种带小蓝人图标的,是被签出的,而且不是你这个号签出的。查看SVN修改记录,可以看到是哪个号签出的。

image.webp

找到那个号,签入回来。然后你才可以签出,进行修改。

问题来源https://wenku.my7c.com/link/s/lpIlt 

 


4、 如何在表单插件中打开网页

问题描述:

如何在表单插件中打开网页

解决方案:

在表单插件中构建url并按照如下代码:

var paras = new JSONArray();

            var jo = new JSONObject { ["url"] = url, ["title"] = "查看图纸" };

            paras.Add(jo);

            iBillView.AddAction("openUrlWindow", paras);

问题来源https://wenku.my7c.com/link/s/lpIlf  



5、  如何通过代码清除缓存 

问题描述:

如何通过代码清除缓存

解决方案:

        /// <summary>

        ///  清除缓存

        /// </summary>

        /// <param name="billId">单据标识</param>

        /// <param name="context">上下文</param>

        /// <param name="ids">内码</param>

        public static void RemoveCache(Context context, string billId, List<string> ids)

        {

            if (ids == null || ids.Count == 0)

                return;


            var cachedFormMetaData = MetaDataServiceHelper.GetFormMetaData(context, billId);

            using (var dataEntityCacheManager =

                   new DataEntityCacheManager(context, cachedFormMetaData.BusinessInfo.GetDynamicObjectType()))

            {

                dataEntityCacheManager.RemoveCacheByPrimaryKeys(ids);

            }


            CacheUtil.ClearCache(context.DBId + cachedFormMetaData.BusinessInfo.GetForm().Id,

                CacheRegionConst.BOS_QuickBaseDataCache);

        }

问题来源https://wenku.my7c.com/link/s/lpIl7   



6、 怎么在操作服务插件中忽略事务,强制保存至数据库中?

问题描述:

怎么在操作服务插件中忽略事务,强制保存至数据库中?

解决方案:

    using (var trans = new KDTransactionScope(TransactionScopeOption.Suppress))

                {

                    ThirdPartySystemServiceHelper.WriteLog(ctx, new ThridSysLogInfo()

                    {

                        Issuccess = sendPostRequest.IsSuccessful,

                        MsgInfo = bodyStr,

                        MsgSource = "OA",

                        MsgSummary = $"BillNo=[{billNo}];URL=[{url}]",

                        SendTime = nowTime,

                        ReceiveTime = nowTime.AddMilliseconds(stopwatch.ElapsedMilliseconds),

                        ResultInfo = content,

                        InterfaceType = ThirdAppInterfaceType.OA.CustomToInt(),

                    });

                    trans.Complete();

                }

问题来源https://wenku.my7c.com/link/s/lpIlx 



7、 各位老师好,我公司组织名称比较长,想增加一个“组织简称”的字段,请问一下怎么增加.

问题

各位老师好,我公司组织名称比较长,想增加一个“组织简称”的字段,请问一下怎么增加

解决方案:

1、BOS中扩展【组织机构ORG_Organizations】,添加组织简称。

2、把要用组织简称的业务表单扩展,在组织字段中引用组织简称。添加一基础资料属性字段,基础资料字段属性指定为组织字段,关联基础资料字段名指定为组织简称

image.webp

问题来源https://wenku.my7c.com/link/s/lpIla 



8、 如何将开发好的执行计划并入协同开发的补丁包中

问题描述:

开发了好多执行计划,需要打补丁的时候自动加入到系统的定时计划中,如何操作?

解决方案:

构建成SQL脚本就行了。参考下图:

image.webp

image.webp

问题来源https://wenku.my7c.com/link/s/lpIlL 




【第6期】

  更新日期:2023-3


1、数据中心恢复同是星空8.1,该数据库是在运行版本 15.00.2000 的服务器上备份的

问题描述

我现在是台式电脑上的数据中心都是8.1.0.20230112版本,可就是不让恢复呢请教 数据库是在运行版本 15.00.2000是在哪里看版本,这个怎么处理才能恢复,谢谢。

image.webp

解决方案:

这个是指数据库的版本, 12.x对应的是sql 2014版本, 15.0对应的是sql 2019

简单一点,就是都使用2019的版本

image.webp

问题来源https://wenku.my7c.com/link/s/lpIlA       


2、手机云之家能选择正式环境的测试账套登录测试

问题描述:

移动端怎么选择正式环境的测试账套进行登录操作呢

解决方案:

image.webpimage.webp

image.webpimage.webp

问题来源https://wenku.my7c.com/link/s/lpIlT 


3、云星空登录正常,但钉钉轻应用登陆时,显示获取第三方用户信息失败,失败原因,远程服务器返回错误:(404)未找到

问题描述:

云星空登录正常,但钉钉轻应用登陆时,显示获取第三方用户信息失败,失败原因,远程服务器返回错误:(404)未找到

image.webp

解决方案:

iis-----defualt web site -----右键 编辑绑定
新增配置:127.0.0.1 和对应的端口,即可,无需重启iis,如图所示:

image.webp

问题来源https://wenku.my7c.com/link/s/lpIlB   


4、 自己画的报表,怎么在代码里面设置报表的列宽

问题描述:


image.webp

解决方案:

image.webp

问题来源https://wenku.my7c.com/link/s/lpIlX     


5、 目前星空有自动备份的功能吗

问题描述:

目前星空有自动备份的功能吗

解决方案:

星空备份注意事项

1、管理中心仅支持备份SQL Sever数据中心,备份Oracle数据中心需由DBA在对应服务器上处理。

2、管理中心不支持自动备份,自动备份请采用数据库自身方案。

3、数据中心备份如果后续需要恢复,可参考在管理中心恢复数据中心

4、公有云备份恢复需由企业管理员登录金蝶云·天梯,参考天梯服务指南的数据中心备份、数据中心恢复操作。

image.webp

问题来源https://wenku.my7c.com/link/s/lpIlC   


6、单据转换插件,获取不到目标单的明细数据包?

问题描述:


image.webp

解决方案:

1、根据你的代码,从headObj.DataEntity里面就可以进一步获取明细了。

var en=headObj.DataEntity["单据体ORM实体标识"];

2、var Entity=e.Result.FindByEntityKey("FBillHead");

foreach(var headObj in Entity)

{

    var en= headObj.DataEntity[ "单据体ORM实体标识" ];//这里是实体标识哦

}

这样是可以获取到数据的哦,你先取消你的插件,下推出来的单据,明细里面有数据吗?

问题来源https://wenku.my7c.com/link/s/lpIlI       


7、BOS可以登录,进入应用时报错,重新下载SVN登录还是不行,求大佬解答

问题描述:

发生时间: 2023-03-07 09:20:26错误来源: System.Windows.Forms错误信息: 'D:\WorkSpace\甘李药业' is already locked.===================================================调用堆栈:   at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)   at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)   at Kingdee.BOS.WinForm.KDWaitForm.PrivateDoTask(Form owner, Action act)   at Kingdee.BOS.WinForm.KDWaitForm.OnShown(EventArgs e)   at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)   at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)   at System.Windows.Forms.Control.InvokeMarshaledCallbacks()错误数据: System.Collections.ListDictionaryInternal

解决方案:

协同开发平台SVN锁定处理

https://wenku.my7c.com/link/s/lpIlE 

问题来源https://wenku.my7c.com/link/s/lpIZM     

     

8、请问一下金蝶的安装包里面的各个文件夹都是干嘛用的呀 请写详细一点 会及时采纳

问题描述:


image.webp

解决方案:

managesite 管理中心站点

website   业务中心站点

BBCMallSite BBC站点

QingSite  轻分析站点

RetaiKtmSite  零售站点

Tools 里面有补丁安装工具

其中BBC站点和零售站点和轻分析都运行在ApacheTomact_k3cloud上,依赖这个服务。

services  就是服务

Fileservice  文件服务

其它几个忘记了,主要的就是这些。

问题来源https://wenku.my7c.com/link/s/lpIZQ       


【第5期】

  更新日期:2023-2


1、关于部署包问题

问题描述:

请教一下自己开发的正常使用的部署包能不能在BOS设计器里面看看里面有什么内容呀

  1. 能不能打开

  2. 可以的话在哪打开最好带截图(小白)

解决方案

安装包(.kdpkg文件)在部署有云星空管理中心的环境可以双击打开。

①找个路径新建一个文件夹,例如,桌面上。

②双击打开安装包,修改解压路径(数据中心那个地址改成一个新建文件夹路径).

③按F2即可解压补丁包内容到指定目录。

截图看下面帖子链接里的。

问题来源https://wenku.my7c.com/link/s/lpIZP      


2、Windows无法启动k3CloudManager服务,错误2系统找不到指定文件

问题描述


image.webp

解决方案:

两个办法都可以尝试一下:

1、最简单的办法就是卸载云星空软件,重新安装一下,会自动安装这个服务。

2、或者按照官方的教程,手工安装一下这个服务项,试一下

image.webp

问题来源https://wenku.my7c.com/link/s/lpIZV     


3、信息中心的挂起状态是什么意思,各位大佬帮忙解释一下!

问题描述:


image.webp

解决方案:

意思就是当前审批人不能解析出来,需要看看流程中 审批人条件设置.

问题来源https://wenku.my7c.com/link/s/lpIZB 


4、启动开发环境报错500,换过端口

问题描述:

启动开发环境报错500,换过端口

image.webp

解决方案:

分析处理过程

1、确认k3cloud站点可以正常访问;

2、打开事件查看器,查看windows日志-应用程序下,有如下报错;

详细操作图片见下面链接:

问题来源https://wenku.my7c.com/link/s/lpIZw    


5、各位大佬,这种写了这么多,有什么优化的方法吗?

问题描述:


image.webp

image.webp

解决方案:

字段多,就是这样的,没法优化。

不然就用字符串转换成资料字段对象,也是一样的要写这么多代码的。

还有一个最原始的办法:

就是直接把所有字段都写在RequestObj的字符串里面,然后通过占位符,format来拼接实际数据。

类似下图写法:

image.webp

问题来源:https://wenku.my7c.com/link/s/lpIZ5       


6、引入插件后重启iis后,登录报错 

问题描述:

我写好一个操作服务插件,注册绑定后重启iis,K3/Cloud/页面报错,求大佬指教(金蝶V8.1企业版,本地蓝海账套)

image.webp

解决方案:

image.webp

我的电脑-鼠标右键-管理,再到上图内找到iis或者k3cloud的错误消息,在下方详细信息内有对应的错误原因,一般这种情况是因为您的二开插件引用dll不规范导致的

问题来源https://wenku.my7c.com/link/s/lpIZi       


7、问题如下,金蝶云星空WEBAPI像使用组织这种传FNumber的咋C#应该如何配置Json文件,请大佬指教一下。

确认删除?