U9客开中UI插件开发过程中碰到有一个坑

U9系统太大了,不可避免会发生一些隐含的重大BUG。今天碰到一个这样的问题,在请购单列表上做了一个【模拟提交】的按钮,目的是取代原来的【提交】按钮,目的是可以加上个性化需要的防呆措施,实现客制化的目的。效果如下图。

//在BE界面上才可以调用提交按钮的SubmitClick方法,UI界面上不可以调。有二种方式:

//1、调用SubmitClick方法

UIActionEventArgs uIActionEventArgs = new UIActionEventArgs();

this.part.Action.SubmitClick(sender, uIActionEventArgs);//提交

//2、调用服务

var submitService = new UFIDA.U9.PR.PurchaseRequest.Proxy.PRSubmitBPNewProxy();

var iDS = new List<long>();

//要拿到请购单行的ID,才能提交成功

foreach (UFIDA.U9.SCM.PM.PRUIModel.PR_PRLineListRecord rec in this.part.Model.PR_PRLineList.Records)

{

var recType = rec.GetType();

System.Diagnostics.Debug.WriteLine(recType.FullName);

if (rec != null && rec.ID > 0)

{

iDS.Add(rec.ID);

}

}

if (iDS.Count == 0)

{

throw new Exception("未找到有效的请购单行,请重新选择。");

}

submitService.PRLines = iDS;

submitService.Do();

PR_PRLineListRecordrec 竟然还有另外一种类型的匹配,相关的dll文件内部有BUG吧。有错误提示。

操作:PRSubmitBPNew的参数:PRLineKeys设置不正确,此异常出现的原因为该操作的调用方提供的参数值不正确导致

曾几何时用var去标识,是不破的万金油,每每顺利解决掉阻碍。此次因为还有另外一种类型也是返回PR_PRLineListRecord 。分析了很久,不得其解。无奈之下,问下万能的AI,果然解决了!措施:把类的全路径信息标全。完美解决掉问题。

相关推荐
不是万能的豆学长13 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)
大数据·开发语言·python·技术美术
懂点Tech18 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
catchadmin18 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
念何架构之路19 小时前
go-grpc设计思想
开发语言·后端·golang
酷炫码神20 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
Elastic 中国社区官方博客20 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
tyn18821 小时前
记录本地安装nacos服务的方法及异常
java·开发语言
步行cgn21 小时前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc
传奇开心果编程1 天前
【Rust入门练中学】第5课:引用与借用
开发语言·rust·引用·编程语言理论·通用编程语言·借用
qetfw1 天前
Bash 变量:export、位置参数与默认值展开验证
linux·开发语言·chrome·bash