二开插件如何干预引入数据原创
4人赞赏了该文章
1,206次浏览
编辑于2023年01月04日 16:17:09
在单据引入时,有时候需要移除掉一些不符合要求的数据。本示例演示了,当采购订单引入时,如果明细信息存在采购数量(FQTY)是0的数据时,直接移除掉此行,让引入其他数据。
示例代码如下,重点是列表插件重写BeforeImportData
using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.List.PlugIn; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; namespace Witt.Cloud.PlugIn.Bill { [Description("引入过滤数据测试")] public class ImportFilterPlugin : AbstractListPlugIn { public override void BeforeImportData(BeforeImportDataArgs e) { var dataTable = e.DataSource.Tables[0]; //过滤出采购数量为0的数据 for (int i = 0; i < dataTable.Rows.Count; i++) { var qtyObj = dataTable.Rows[i]["FQty"]; if (qtyObj != null && !string.IsNullOrWhiteSpace(qtyObj.ToString())) { var qty = Convert.ToInt32(qtyObj.ToString()); if (qty == 0) { dataTable.Rows.RemoveAt(i); } } } } } }
赞 4
4人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读