电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

二开案例.表单插件.子单据体新增行

来源:金蝶云社区作者:金蝶2024-09-238

二开案例.表单插件.子单据体新增行

【应用场景】

子单据体新增行

注意:子单据体的数据,是依附在单据体的某一行上,而不是一个独立存在的集合。因此,给子单据体新增分录行前,需要提前选中单据体的目标行,如果不指定,就都增加到单据体的当前行上的子单据体数据包集合中了。



【案例演示】

采购订单,使用插件,给单据体和子单据体新增分录行。

上传图片



【实现步骤】

<1>编写表单插件,代码如下。


using Kingdee.BOS.Core.DynamicForm.PlugIn;
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 SubEntityAddRowFormPlugIn : AbstractDynamicFormPlugIn
    {
        public override void EntryBarItemClick(BarItemClickEventArgs e)
        {
            base.EntryBarItemClick(e);
            var entityKey = "FPOOrderEntry";
            var subEntityKey = "FEntryDeliveryPlan";
            if (e.ParentKey.EqualsIgnoreCase(entityKey))
            {
                // 单据体新增行
                if (e.BarItemKey.Equals("test1"))
                {
                    // 创建分录行
                    //this.Model.CreateNewEntryRow(subEntityKey);
                    // 批量创建分录行
                    this.Model.BatchCreateNewEntryRow(entityKey, 5);
                    this.View.ShowMessage("单据体分录行已创建!");
                    return;
                }
                if (e.BarItemKey.Equals("test2"))
                {
                    // 子单据体新增行
                    var rowCount = this.Model.GetEntryRowCount(entityKey);
                    var currentRowIndex = this.Model.GetEntryCurrentRowIndex(entityKey);
                    for (var i = 0; i < rowCount; ++i

二开案例.表单插件.子单据体新增行

【应用场景】子单据体新增行注意:子单据体的数据,是依附在单据体的某一行上,而不是一个独立存在的集合。因此,给子单据体新增分录行前,...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信