@Saitama 你这个需求大概看了一眼,得先二开一个动态表单,报表不行,报表的查询结果没有实体表,然后第三个需求在在各种标准产品单据里二开表单插件监听按钮点击事件查询数据,然后再赋值给单据的明细分录里,这个就是日常二开的常规需求了,金蝶的前端基本就是拖拽,插件那里基本要引入金蝶各种标准产品 jar 包,不知道你的开发环境具不具备这些条件,然后那几个单据的表单插件的实现代码就是固定套路,ctrl + c/v 就能实现。。。
@Saitama 星空的话代码就是 C#实现,你在 b 站那种平台是找不到的,网上的除了金蝶自己的社区外其他的资料都是过期或者没用的,最好是能注册一个金蝶社区的账号,到里面去找帖子。。。( https://vip.kingdee.com/?productId=1&productLineId=1 需要账号登陆。。。)
@fxxkingduck 看了你的发言回忆起以前,我刚毕业时候也是做用友财务软件 U8 的实施兼二次开发,那会还是 2005 年 我们那时候简单的东西就是之间进库触发器什么的搞起,报表什么的 select 然后显示一下,再复杂点的用 VB 做个界面,隔了这么多年,现在二次开发怎么是不能之间连到数据库了么,反正我记得那时候金蝶的表结构就比用友复杂,有一次做个从用友的库存生成金蝶的会计凭证的功能可蛋疼死了 后来不做用友的时候,我说以后码不动了,还回去做实施。。。顺便我当年那个公司现在还在你敢信,不过看上面说,金蝶用友这两年都亏?这 2 个公司怎么会亏?他们亏了那不就是说明我们全国公司都要不行了么。。。
@pcbl 我跟你说 国产的东西吧 其实都很耐人寻味的,qwq 比如像 mysql 的神舟通用,像 pgsql 的人大金仓,像 oracle 的达梦(不过说真的达梦算是最好用的了),用过的人 都想吐槽好吧,别说你们吐槽他们了,金蝶、东方通这些公司的实施其实也吐槽(▽v▽'|)~
@Saitama 报表开发不是简单的写 sql 就行,星空的话,需要在 vs 里新建一个类集成金蝶标准库的报表类,然后重写里面的方法,每个方法负责的逻辑不同,有的方法是设置报表过滤参数,有的方法是执行报表核心逻辑,也就是写 sql 的地方,然后 sql 查询出来结果还不行,还要一个一个把查询结果和前端显示结果的列名对应起来,或者是代码里动态的生成报表查询结果显示列的表头,也可以设置列宽什么的,最后再把这个类打包成插件挂载到金蝶系统里,大体的流程是这样。。。
@Saitama 前面描述的有点问题,报表和动态表单都不会有实体表,所以第一二个需求我觉得可以用报表开发,如果想查询结果能保存在数据库里,那就用单据去承载;第三个需求的话还是开发表单插件,依然是监听按钮点击事件,如果之前的需求是报表或者动态表单,那么这里你还得做一个 sql 查询,不能直接取数;如果用的单据承载查询结果,那么就可以直接从这个单据里取数再赋值到各个标准产品分录里实现需求。。
@fxxkingduck 大哥,你简直我的救命恩人。。我找到个金蝶云星空社区的开发案例. https://vip.kingdee.com/article/94751030918525696?productLineId=1&isKnowledge=2 说实话我现在还是挺震惊的。没想到 2023 年了,这么大公司的插件开发,竟然文档还是这种 word 形式..连个代码格式化都没有。这玩意大哥竟然坚持了四年,太牛了..我当初要是学这个,我估计我连开发环境都搭不出来连夜跑路。