23、列表插件,单据列表值,FormatCellValue,列表,显示即时库存原创
30人赞赏了该文章
1.2万次浏览
编辑于2020年07月06日 15:41:11
业务场景:采购申请单列表,带出,即时库存。
1、打开VS,新建一个类库,具体可以参考21.1 ,1-4步
1.1、添加引用 Kingdee.BOS.App
//本节新增使用 using System.Data; using Kingdee.BOS.App.Data; using Kingdee.BOS.Util; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.Core.List.PlugIn.Args;
2、打开BOS,扩展采购申请单,单据体增加小数字段 ,工具箱,拖动小数到单据体,修改标识成 F_YDIE_jskc
3、写一个sql视图
--即时库存表 select * from T_STK_INVENTORY --物料内码,所在组织,数量 create view v_Kingdeee_INVENTORY AS select FMATERIALID,FSTOCKORGID,sum(FBASEQTY)FBASEQTY from T_STK_INVENTORY where FBASEQTY <>0 group by FMATERIALID,FSTOCKORGID select * from v_Kingdeee_INVENTORY
4、
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Kingdee.BOS; using Kingdee.BOS.Core.Bill.PlugIn; using System.ComponentModel; using Kingdee.BOS.Core.List; //本节新增使用 using System.Data; using Kingdee.BOS.App.Data; using Kingdee.BOS.Util; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.Core.List.PlugIn.Args; namespace Kingdee.Bos.Project.CellValue.List { [Description("列表即时库存")] [Kingdee.BOS.Util.HotUpdate] public class ClassName:AbstractListPlugIn { //定义2个字段 string sql; DataTable dt; public override void FormatCellValue(FormatCellValueArgs args) { base.FormatCellValue(args); //判断,加载到新增的即时库存这个字段,读到这里 if(args.Header.FieldName.EqualsIgnoreCase("F_YDIE_jskc")) { //获取申请组织ID,如果申请组织和库存一致,说明没有问题 string orgid = args.DataRow["FApplicationOrgId"].ToString(); //获取物料ID string MaterialId = args.DataRow["FMaterialId_Id"].ToString(); //视图里面物料ID等于传进来的物料ID //库存组织等于上面传过去的申请组织 //获得基本库存数量 sql = @"/*dialect*/select FBASEQTY from v_Kingdeee_INVENTORY where FMaterialId =" + MaterialId + " and FSTOCKORGID=" + orgid; //从数据库调用执行,存到临时表Tables里面 dt = DBUtils.ExecuteDataSet(this.Context, sql).Tables[0]; //大于0,说明找到数据 if (dt.Rows.Count >0) { //赋值 args.FormateValue = dt.Rows[0]["FBASEQTY"].ToString(); } } } } }
5、重新生成dll
6、最终效果,打开采购申请单列表,显示即时库存
总目录链接
https://vip.kingdee.com/article/64993872014591232
Kingdee.Bos.Test23.zip(15.99KB)
赞 30
30人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读