二开案例.单据插件.获取单据编号

【应用场景】平台封装的保存操作会给单据自动填充单据编号,平台也提供了接口,支持用户手动获取指定编码规则下的新的单据编号。

【案例演示】采购订单,编辑界面,演示获取单据类型为【标准采购订单】,编码规则为【采购订单标准编码规则】的新的单据编号。


【实现步骤】
<1>编写单据插件,代码如下。
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【单据插件】获取单据编号
/// </summary>
[Description("【单据插件】获取单据编号"), HotUpdate]
public class GetBillNoBillPlugIn : AbstractBillPlugIn
{
/// <summary>
/// 主菜单点击事件
/// </summary>
/// <param name="e"></param>
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
var billNoField = this.View.BillBusinessInfo.GetBillNoField();
if (e.BarItemKey.EqualsIgnoreCase("tbGetBillNo"))
{
#region 给指定业务对象的单据编号字段获取新的单据编号
var options = new Dictionary<string, object>();
options["CodeTime"] = 1; // 执行时机,0表示新增时获取单据编号,1表示保存时获取单据编号
options["UpdateMaxNum"] = 1; // 是否更新最大流水号
this.Model.DataObject[billNoField.PropertyName] = "";
var billNos = BusinessDataServiceHelper.GetBillNo(this.Context, this.View.BillBusinessInfo, new[] { this.Model.DataObject }, options);
this.View.UpdateView(billNoField.Key);
this.View.ShowMessage("获取到新的单据编号为:" + string.Join(",", billNos.Select(o => o.BillNo)));
return;
#endregion
}
if (e.BarItemKey.EqualsIgnoreCase("tbGetBillNos"))
{
#region 给指定业务对象的单据编号字段【批量】获取新的单据编号
// 一次性获取10个单据编号
var billNos = Busi
二开案例.单据插件.获取单据编号
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



