BOS平台问题(持续更新)原创
金蝶云社区-eris
eris
14人赞赏了该文章 7,483次浏览 未经作者许可,禁止转载编辑于2024年02月22日 09:54:30
summary-icon摘要由AI智能服务提供

本文列举了多个关于金蝶云BOS系统及其相关开发的详细问题和解决方案,包括但不限于系统超时退出时间的调整、维度关联字段及其赋值、弹性域字段数据的自动设置、BOS设计器在Win10环境下的报错解决、数据结转、二次开发规范、移动端开发汇总、BOS资料合辑、动态表单创建与赋值、BOS插件示例代码及注册、数据包取值、权限汇总、表达式收集、KSQL语法参考、数据字典、模拟值更新服务、数据包创建、基础资料权限获取、表单插件数据过滤、SQL语句应用、自动保存与审核、菜单运行过程、控件赋值、文件读取、协同开发流程、接口使用、特殊字段赋值、单据删除操作、安全加固操作指南、超时处理、SQL Server死锁查询等。同时,还详细解答了枚举值获取、会话保持机制、批量操作实现、消息发送接口、批量填充数据问题、数据库内存管理、主键约束错误、物料引入报错、值更新触发条件、数据读取问题、预插数据主键设置、SetValue赋值优势、元数据加载问题、插件顺序调整限制、缺省值应用问题、动态属性取值错误等多个技术难题。

帖子:

1、调整系统超时退出时间            

2、 维度关联字段介绍           

3、维度关联字段.维度关联字段赋值之辅助属性

4、自动设置弹性域字段数据       

5、BOS设计器在部分Win10环境报错的解决方案

6、数据结转                                

7、二开规范                        

8、移动端开发汇总

9、金蝶云BOS资料合辑              

10、创建动态表单并赋值        

11、BOS插件示例代码强势推出

12、插件从数据库取数方式        

13、各种插件注册                  

14、从数据包取值

15、权限汇总贴                          

16、插件打开各种列表            

15、表达式收集

18、对数据包取值                       

19、KSQL语法参考                

20、如何在数据库中直接删除分配的物料

21、运维指南        

21.2 天梯运维指南                      

22、数据字典1                        

23、数据字典2

24、模拟值更新服务                    

25、创建数据包                       

26、获取基础资料权限

27、在表单插件中通过过滤方案得到数据    

28、表表                  

29、常用sql

30、自动保存和审核                    

30、修复种子表   

31、菜单的运行过程

32、数据包取赋值介绍

33、各种字段赋值

34、控件赋值

35、读取服务器中的文件到内存中

36、协同开发

37、客户如何直接提单

38、协同开发2

39、表达式收集

40、常用接口

41、一些特殊字段的赋值

42、BOS平台-通过数据库正确的删除单据?

43、金蝶云·星空安全加固操作指南(2023-07-01)

44、超时处理

45、sqlserver 死锁阻塞查询语句


1. 怎么得到枚举:

数据包中只有枚举值,枚举是保存在元数据中的,需要从元数据中获取,

ComboField comfield =BusinessInfo.GetField可以得到所有枚举项,根据枚举值得到枚举,或枚举名称等。


2. 凭证查询轻分析只能取到当前登录组织下的数据?


轻分析是按过滤方案来取数据的,凭证查询过滤方案不存在组织选择,但存在主业务组织,过滤方案如果不存在组织选择但存在主业务组织,会默认加上当前登录组织作为数据隔离。而凭证查询列表由于插件干预没有组织隔离,但轻分析没有插件干预。


3. 单据打印后确不存在了,单据编号存在覆盖?

暂存单据没有配置网控,同时打开,后面的编码把前面的给覆盖了。


4. 批量操作,要么全部成功,要么全部失败,加如下代码实现,任何验证错误全部退出。

image.png

5. 平台是如何保持会话的?

1)首先找到kdservice_sessionId,先请求头找,再在cookies中找

2)如果找到会话id,则根据会话id取缓冲中的KDServiceSession

3)如果没有找到会话id 或KDServiceSession,则创建GUID作为会话Id,并创建KDServiceSession实例保存在缓冲中

4)最后会话id增加到响应头中。

5)如果是登陆操作,则会把登陆产生的上下文放到KDServiceSession实例中。

6)下一次请求如果包含kdservice_sessionId,就能根据此id 得到相应的服务端会话信息和上下文信息。

6. 取枚举值?

select t0.FID 枚举类型Id, t0.FNAME 枚举类型 ,t2.FCAPTION 枚举值 ,t1.FVALUE 枚举代码,t1.FSEQ 枚举序号 from T_META_FORMENUM_L t0 join T_META_FORMENUMITEM t1 on t1.FID = t0.FID left join T_META_FORMENUMITEM_L t2 on t2.FENUMID = t1.FENUMID where t0.FLOCALEID=2052 and t2.FLOCALEID=2052 order by t0.FID,t1.FSEQ

7. 各种发送消息接口?

邮件发送接口介绍
https://vip.kingdee.com/article/131834587734451200
发送云之家消息
https://vip.kingdee.com/article/61030448628853248
发送消息服务
https://vip.kingdee.com/article/168322099290424064

8、批量填充接口变慢?

1)异步处理加了停顿1秒,导致很少数据填充都感觉卡,在common.config中增加配置,把默认20行异步填充改成1000行异步填充: <add key="BlockAsyncMinCount" value="1000"></add>

9、批量填充数据不正确?

1)使用了异步并且停顿了1秒,而且在异步中得到焦点行,此时的焦点行已经改变,导致焦点行不正确。解决方案:需要在事宜异步之前得到焦点行。
获取基础资料权限

10、过滤方案无法保存,多选基础资料?

1)过滤方案支持多选基础资料的保存,插件原因导致。

11、数据库内存爆了?

1)数据库内存没有及时释放,可以通过属性设置数据库最大可用内存,使其及时释放

12、违反了 PRIMARY KEY 约束“PK__#AA284B3__C1BEA5A2EC6F573C”。不能在对象“dbo.@FieldName_udt2”中插入重复键

1)临时表不能插入重复数据,有唯一性约束

13、引入物料报错,报不能在对象"dbo.@FNUMBER_udt2"中插入重复键,重复键值为(100407103-AA001-A-?-02)

1)物料编码在数据库中是nvarchar,在做唯一验证是变成了varchar, 用户上面截图中的编码数据,插入到临时表中Ⓡ和Ⓛ变成了?,导致报错

14、值更新在哪里触发?

1. view中的updateValue才会调用值更新服务, model中的setvalue是不会调用值更新服务的

DynamicWebFormView.UpdateValue-->this._businessServiceCaller.CallUpdateBusinessService.

15. 单据体key可以改变,但相应的菜单没有修改,导致报对象引用没有设置到对象实例错误?

16、 您要读取的数据在系统中不存在,可能已经被删除![ID=100824,Type=EXPENSEGROUP]?

但实际数据是存在的,原因基础资料被作为分组字段,导致表名被改变,从而查询不到。分组字段会修改关联的基础资料类型的表名元数据,所以基础资料千万不能作为分组字段关联的基础资料类型。

17、预插数据主键为整形,如何设置主键?

通过BOS设计器产生的的主键,默认种子表起始值为10万零1,所以10万以内的主键可以作为预插数据。

18. this.Model.SetValue赋值的好处?

1)key不存在不会报错

2)走相关的插件事件和服务

19. 加载业务流程图元数据,报对象引用未设置到对象实例?

1)没有多语言元数据,导致没有转换为相应的版本流程图元数据

20.未能找到TextField对应的数据类型,请检查是否Xml是否拼写正确?

1)对应的动态文本字段没有在基础资料领域中配置。元数据中没有相应的字段或属性配置。

21、this.View.UpdateView("FieldKey"), 样式数据没有了,比如锁定性?

1)this.View.UpdateView("FieldKey")会是元数据样式把在代码中动态设置的样式覆盖。所以设置样式要在updateView之后。

【问题22】、插件的顺序不能通过扩展调整顺序?

插件的顺序是不能通过扩展调整顺序的,包括表单插件,转换插件,操作插件等,但不扩展是可以调整顺序的,所以业务逻辑应该不受插件执行顺序影响。

【问题23】BOS设计器设置的缺省值不起作用?

1)缺省值只在单据新增的状态下有效,修改和查看的状态下无效

2)新增的单据体行也是有效的

【问题24】引用属性取值报错,取到了其他字段的值,明明取内码却取到编码?

1)动态属性取值都是索引取值的,索引是在注册动态属性是产生的,是固定的,所以数据包要跟动态类型保持完全一致,如果给基础资料赋值了一个跟动态类型不一致的数据包就会报错。

2)动态增加了字段