二开案例.单据插件.录单时限制分录行数

【应用场景】录单时限制分录行数。
【案例演示】采购订单,录单时,限制明细信息的总行数不能超过3行。

【实现步骤】
<1>编写单据插件,实现控制分录行数的功能。
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.Bill.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【单据插件】限制分录行数
/// </summary>
[Description("【单据插件】限制分录行数"), HotUpdate]
public class LimitEntryRowCountBillPlugIn : AbstractBillPlugIn
{
/// <summary>
/// 最大分录行数
/// </summary>
const int MaxEntryRowCount = 3;
/// <summary>
/// 创建分录行时,检查分录行数
/// </summary>
/// <param name="e"></param>
public override void BeforeCreateNewEntryRow(BeforeCreateNewEntryEventArgs e)
{
base.BeforeCreateNewEntryRow(e);
if (e.Entity.Key == "FPOOrderEntry")
{
if (this.View.Model.GetEntryRowCount(e.Entity.Key) >= MaxEntryRowCount)
{
e.Cancel = true;
this.View.ShowErrMessage("分录行数不能超过" + MaxEntryRowCount);
}
}
}
/// <summary>
/// 保存数据前,再次检查分录行数
/// </summary>
/// <param name="e"></param>
public ov
二开案例.单据插件.录单时限制分录行数
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



