二开案例.超链接.表格单元格超链接打开单据查看界面
【应用场景】格单元格超链接打开单据查看界面。
【案例演示】采购订单,明细信息新增文本字段,用于存储采购申请单的单据编号,且显示为超链接样式,点击时,跳转到采购申请单查看界面。
【实现步骤】
<1>编写单据插件,实现超链接跳转到采购申请单查看界面的功能,代码如下。
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System.Collections.Generic;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【单据插件】表格单元格超链接点击事件
/// </summary>
[Description("【单据插件】表格单元格超链接点击事件"), HotUpdate]
public class GridCellHyperlinkBillPlugIn : AbstractBillPlugIn
{
public override void EntryButtonCellClick(EntryButtonCellClickEventArgs e)
{
base.EntryButtonCellClick(e);
//
if (!e.FieldKey.EqualsIgnoreCase("F_Jac_Text"))
{
return;
}
if (e.Row < 0)
{
return;
}
var formId = "PUR_Requisition";
var requisitionMetadata = (FormMetadata)MetaDataServiceHelper.Load(this.Context, formId);
var billNo = this.Model.GetValue(e.FieldKey, e.Row);
var objs = BusinessDataServiceHelper.Load(this.Context, requisitionMetadata.BusinessInfo
, new List<SelectorItemInfo>(new[] { new SelectorItemInfo("FID") })
, OQLFilter.CreateHeadEntityFilter("FBillNo='" + billNo + "'"));
if (objs == null || objs.Length == 0)
{
return;
}
var pkId = objs[0]["Id"].ToString();
var showParameter = new BillShowParameter
{
FormId = formId, // 业务对象标识
PKey = pkId, // 单据内码
Status = OperationStatus.VIEW // 查看模式打开
//Status = OperationStatus.EDIT // 编辑模式打开
};
this.View.ShowForm(showParameter);
}
}
}
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,明细信息新增文本字段,并设置超链接样式,如下图。
<4>注册表单插件,保存元数据,开发完毕。
现在可以登录业务站点,打开采购订单,检验一下插件效果啦。
【知识点】
单据体中的超链接文本只有当单元格处于锁定状态时,才能显示出超链接的样式。本示例中,因为单据已审核,所以界面被锁定。如果是其它单据状态下也要显示成超链接,可将该字段的设置为新增修改时锁定,如下图所示。
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.超链接.表格单元格超链接打开单据查看界面
本文2024-09-23 04:21:00发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164734.html