二开案例.单据插件.使用指定编码规则生成单据编号
【应用场景】
使用指定编码规则,给指定的字段,生成单据编号。
【案例演示】
采购订单,新增文本字段,使用指定编码规则,给其生成单据编号。
【实现步骤】
<1>编写单据插件,代码如下。
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【单据插件】使用指定编码规则生成单据编号
/// </summary>
[Description("【单据插件】使用指定编码规则生成单据编号"), HotUpdate]
public class GetBillNoByRuleBillPlugIn : AbstractBillPlugIn
{
/// <summary>
/// 主菜单点击事件
/// </summary>
/// <param name="e"></param>
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (e.BarItemKey.EqualsIgnoreCase("GetBillNo"))
{
var ruleId = "5c2d7c846390e9";// 指定规则
var field = this.View.BillBusinessInfo.GetField("F_Jac_Text");// 指定字段
var billNos = BusinessDataServiceHelper.GetBillNoByField(this.Context, this.View.BillBusinessInfo, new[] { this.Model.DataObject }, true, ruleId, field, null);
if (billNos != null && billNos.Count > 0)
{
this.Model.SetValue(field.Key, billNos[0].BillNo);
}
}
}
}
}
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,新增文本字段,菜单集合新增菜单项,注册表单插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开采购订单新增界面,点击菜单【使用指定编码规则生成单据编号】,每点击一次,就会生成一个新的单据编码啦。
关于编码规则内码的获取方式:
<1>可以通过编码规则列表查询当前指定的编码规则。
<2>可以通过数据库查询直接获取。
SELECT a.FRULEID AS 编码规则内码,b.FNAME AS 编码规则名称,a.*
FROM T_BAS_BILLCODERULE a
LEFT JOIN T_BAS_BILLCODERULE_L b ON a.FRULEID=b.FRULEID AND b.FLOCALEID=2052
WHERE a.FBILLFORMID='PUR_PurchaseOrder' AND b.FNAME='采购订单编码规则AH'
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.单据插件.使用指定编码规则生成单据编号
本文2024-09-23 04:19:12发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164548.html