单据实现跳转另一个单据原创
金蝶云社区-何某人
何某人
75人赞赏了该文章 756次浏览 未经作者许可,禁止转载编辑于2023年07月18日 18:00:14

业务场景:

资产领用单添加联查按钮,点击跳转到资产卡片(将领用单的卡片过滤出显示到资产卡片列表)



实现代码:


using KDY.HRP.Framework.Base;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List;
using Kingdee.BOS.Log;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using System.ComponentModel;
using System.Linq;
/// =====================================
/// 创 建 者:何毅
/// 创建时间:2023/7/18 16:18:44
/// 类说明:资产领用单表单插件
/// 1.资产领用单联查卡片信息
/// 版本:V1.0.0.1 修改者: 修改时间:
/// 修改说明:
/// =====================================
/// </summary>
namespace PA.HRP.FA
{
[Kingdee.BOS.Util.HotUpdate]
[Description("资产领用单表单插件")]
public class AssetPickingBillPlugIn: BaseAbstractBillPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);

if (e.BarItemKey.EqualsIgnoreCase("tbJoinCardInfo")) //联查卡片信息
{
DynamicObject billObj = Model.DataObject;
var list = billObj["PickingEntry"] as DynamicObjectCollection;
string alterids = string.Join(",", list.Select(c => c["AssetID_Id"].ToString()));
Logger.Debug("联查卡片信息ID:", alterids);

ListShowParameter para = new ListShowParameter();
para.FormId = "FA_CARD";
para.OpenStyle.ShowType = Kingdee.BOS.Core.DynamicForm.ShowType.MainNewTabPage;//开启一个新tab显示窗口
para.ListFilterParameter.Filter = $@" FALTERID IN ({alterids})";//过滤条件(只显示该领用单显示的数据)
View.ShowForm(para);
}
}




}
}




赞 75