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,果然解决了!措施:把类的全路径信息标全。完美解决掉问题。

相关推荐
iCxhust1 小时前
C语言struct结构体实现类定义
c语言·开发语言·单片机·嵌入式硬件·51单片机
ESDWAN1 小时前
跨境电商网络专线怎么选?从带宽、延迟到SD-WAN部署与带宽管理的完整落地指南
开发语言·网络·php
web打印社区1 小时前
Lodop 提示未安装或请升级:Chrome 里先分清该装哪套
开发语言·前端·javascript·chrome·websocket·http
shangan_31 小时前
C语言学习
c语言·开发语言·学习
栈溢出了1 小时前
LangGraph State 学习笔记
开发语言·人工智能·python
HEJOO91 小时前
Go 语言结构体定义与实例详解
开发语言·算法·golang
(Charon)1 小时前
【C++面试】手写智能指针(一):从unique_ptr理解独占所有权与移动语义
开发语言·c++
Brilliantwxx2 小时前
【STM32】 DMA 源码分析与实战(下):DMA 收发状态机与 HAL 分层
android·开发语言·stm32·单片机·嵌入式硬件·mcu
Ai-_Man2 小时前
请问豆包的智能体聊天记录该怎么弄
开发语言·前端·javascript·人工智能·小程序·ecmascript·电脑