《用友U8开发听我说》第五讲:U8单据如何联查跳转打开

开发过程中经常有这样的需求:

自定义菜单开发了比较复杂的界面,界面中需要打开另一个自己开发的功能,或者菜单,或者单据,代码如何实现呢?

今天我们就来说到说到。

首先添加引用:
using UFIDA.U8.Portal.Framework.Commands;using UFIDA.U8.Portal.Proxy.Accessory;

然后在代码中添加如下方法

using UFIDA.U8.Portal.Framework.Commands;
using UFIDA.U8.Portal.Proxy.Accessory;

public static void ExcuteJoinQueryU8Voucher( string menuID, string menuName, string subID, string authID, string cardNumber, string pkFieldValue)
{
string cmdLine = "";
cmdLine = "ID:{0}&&&Name:{1}&&&SubSysID:{2}&&&AuthID:{3}&&&CMDLINE:{4}\t{5}";

cmdLine = string.Format(cmdLine, menuID, menuName, subID, authID, cardNumber, pkFieldValue);
IPortalCommandOperator portalCommandOperator = new PortalCommandOperator();
IPortalCommandArgs portalCommandArgs = new PortalCommandArgs(menuID, subID);
portalCommandArgs.AuthId = authID;
portalCommandArgs.DocId = string.Empty;
portalCommandArgs.DocType = string.Empty;
portalCommandArgs.ID = menuID;
portalCommandArgs.Name = menuName;
portalCommandArgs.SubFunction = string.Empty;
portalCommandArgs.Extenision = string.Empty;
portalCommandArgs.SubSysID = subID;
portalCommandArgs.CmdLine = cmdLine;
portalCommandArgs.FromUserClick = false;
portalCommandArgs.ExtProperties.Add("recheck", "1");
portalCommandOperator.RunBusiness(portalCommandArgs);
}

上文代码中重点是需要拼接cmdline字符串

cmdLine = "ID:{0}&&&Name:{1}&&&SubSysID:{2}&&&AuthID:{3}&&&CMDLINE:{4}\t{5}";

 

接下来,在使用的地方,复制下面的代码可以打开收款单

ExcuteJoinQueryU8Voucher("AR1020201", "联查收款单", "AR", "AR22101", "AR49", iid);

参数说明:第一个参数是菜单ID,检查ua_menu表第二个参数是菜单名称,检查ua_menu表第三个参数是模块第四个参数是菜单对应的权限ID第五个参数是单据number第六个参数是单据的主表id
posted @   用友U8开发者社区  阅读(225)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示