如何在Acumatica 2022 R2仓库端点中添加LastModifiedDate
在Acumatica 2022 R2中为仓库端点添加LastModifiedDate用于筛选
要在仓库端点中添加LastModifiedDate字段并支持日期筛选,需通过DAC扩展和端点扩展两步实现,具体操作如下:
1. 创建Warehouse DAC扩展,添加LastModifiedDate字段
Warehouse主DAC默认不包含LastModifiedDate字段,需通过扩展类添加,并利用系统属性自动维护字段值:
using PX.Data; [PXTable(typeof(Warehouse.warehouseID), IsOptional = true)] public class WarehouseExt : PXCacheExtension<Warehouse> { #region LastModifiedDate // 自动维护最后修改时间,保留时分秒 [PXLastModifiedDateTime(PreserveTime = true)] [PXUIField(DisplayName = "Last Modified Date")] public virtual DateTime? LastModifiedDate { get; set; } public abstract class lastModifiedDate : PX.Data.BQL.BqlDateTime.Field<lastModifiedDate> { } #endregion }
2. 扩展Warehouse端点,配置字段到摘要视图并启用筛选
扩展仓库端点,将新增的LastModifiedDate字段加入端点的Summary视图,并开启筛选支持:
using PX.Api.ContractBased; using PX.Api.ContractBased.Models; public class WarehouseEndpointExt : PX.Api.ContractBased.Endpoints.WarehouseEndpoint { public override void Configure() { base.Configure(); // 获取仓库端点的Summary视图 var summaryView = GetEntityView<WarehouseSummary>(e => e.Summary); if (summaryView != null) { // 将扩展字段添加到摘要视图 summaryView.AddField<WarehouseExt.lastModifiedDate>(); // 允许该字段作为筛选条件 summaryView.AllowFiltering<WarehouseExt.lastModifiedDate>(); } } }
3. 部署与验证
- 将自定义项目部署到Acumatica环境,清除系统缓存并重启应用池
- 进入System > Management > API Endpoints,找到Warehouse端点并刷新缓存
- 此时在端点的Summary字段列表中就能看到
LastModifiedDate,且可用于日期筛选
图形化操作替代方案(无需代码)
如果使用Acumatica自定义项目编辑器:
- 新建DAC Extension,选择
Warehouse作为基础DAC,添加字段时选择Last Modified Date类型 - 新建Endpoint Extension,选择
WarehouseEndpoint,编辑Summary视图,添加刚才创建的扩展字段并勾选“Allow Filtering”选项
内容的提问来源于stack exchange,提问作者Abhishek
相关产品推荐
相关产品推荐

