现有量窗体添加新字段

需求:现有量窗体上新增物料组和物料名称,并且可以按照物料组筛选。

现有量窗体的数量是按照物料和维度合计出来的,所以向这个窗体添加字段需要对字段做Group by才能正常显示。纪录下相关代码,以便以后使用。

1. 新建View:

2. 将View添加到现有量窗体的Datasource里。

3. 扩展类InventDimCtrl_Frm_OnHand,COC 方法:modifyQueryBasedOnDatasourceName(注意:InventItemGroupItem和InventTable的关系是ItemId和ItemDataAreaId,所以需要添加ItemDataAreaId的GroupBy)

next modifyQueryBasedOnDatasourceName(_inventSum_DS_Query, _inventSum_DS_Name, _inventDim_DS);
        Query query  = _inventSum_DS_Query;

        QueryBuildDataSource qbsSum = query.dataSourceName(_inventSum_DS_Name);
        qbsSum.addGroupByField(fieldNum(InventSum,DataAreaId));
        
        
       
        QueryBuildDataSource qbdsInventItemGroupItem = query.dataSourceName(identifierStr(InventItemGroupItemNameView));
        SysQuery::findOrCreateGroupByField(query, qbdsInventItemGroupItem, fieldNum(InventItemGroupItemNameView, ItemGroupId));
        SysQuery::findOrCreateGroupByField(query, qbdsInventItemGroupItem, fieldNum(InventItemGroupItemNameView, Name));

4. 扩展InventOnHandForm,COC init()。

FormDataSource inventItemGroupItem_ds = this.dataSource(formDataSourceStr(InventOnhandItem, InventItemGroupItemNameView));
        QueryBuildDataSource inventItemGroupItem_qbds = inventItemGroupItem_ds.query().dataSourceName(inventItemGroupItem_ds.name());
        
        SysQuery::findOrCreateRange(inventItemGroupItem_qbds, fieldNum(InventItemGroupItemNameView, ItemGroupId));
        inventItemGroupItem_qbds.addSortField(fieldNum(InventItemGroupItemNameView, ItemGroupId));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值