You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Acumatica:为日记账交易(GL301000)网格添加员工选择器

实现日记账交易网格添加员工选择器方案

没问题,咱们把日记账交易(GL301000)网格里的员工选择器完整实现出来。你已经搭好了DAC扩展的架子,接下来咱们补全代码并完成页面配置:

1. 补全GLTran的DAC扩展代码

首先把你的DAC扩展补全,添加员工字段并配置选择器属性,确保能正确关联系统员工数据:

using PX.Common;
using PX.Data.ReferentialIntegrity.Attributes;
using PX.Data;
using PX.Objects.AP;
using PX.Objects.CM;
using PX.Objects.CR;
using PX.Objects.CS;
using PX.Objects.EP;
using PX.Objects.GL;
using PX.Objects.IN;
using PX.Objects.PM;
using PX.Objects.TX;
using PX.Objects;
using System;

public class GLTranExt : PXCacheExtension<GLTran>
{
    #region UsrEmployeeID
    [PXDBInt]
    // 配置员工选择器,关联EP.Employee表,显示编码和名称
    [PXSelector(
        typeof(Search<EP.Employee.bAccountID>),
        typeof(EP.Employee.acctCD),
        typeof(EP.Employee.acctName),
        SubstituteKey = typeof(EP.Employee.acctCD),
        DescriptionField = typeof(EP.Employee.acctName)
    )]
    // 限制只能选择当前分支的员工(可选,根据业务需求开启)
    // [PXRestrictor(typeof(Where<EP.Employee.branchID, Equal<Current<AccessInfo.branchID>>>), "员工必须属于当前分支")]
    [PXUIField(DisplayName = "员工")]
    public virtual int? UsrEmployeeID { get; set; }
    public abstract class usrEmployeeID : PX.Data.BQL.BqlInt.Field<usrEmployeeID> { }
    #endregion
}

代码说明:

  • PXSelector:指定选择器关联的员工表,设置显示的字段(员工编码、名称),用编码作为快速输入的替代键,名称作为描述提示
  • PXRestrictor:可选配置,用来限制只能选择当前登录分支下的员工,符合多分支场景的权限控制
  • PXUIField:设置字段在界面上的显示名称

2. 将字段添加到GL301000页面的网格中

你可以通过Acumatica的可视化定制器操作,或者直接修改ASPX代码:

方式一:可视化定制器操作

  1. 打开GL301000日记账交易页面,点击右上角的定制按钮进入定制模式
  2. 找到页面中的交易网格(默认名称为transactionsGrid),右键选择添加列
  3. 在字段选择器的扩展字段分类下,找到UsrEmployeeID字段,添加到网格中
  4. 调整字段的显示顺序、宽度等样式,点击保存完成定制

方式二:直接修改ASPX代码(开发环境)

找到GL301000对应的ASPX文件,在transactionsGrid的<Columns>节点中添加以下代码:

<px:PXGridColumn DataField="UsrEmployeeID" Width="150" />

3. 部署与测试

  1. 编译并发布你的DAC扩展项目
  2. 登录Acumatica系统,打开GL301000页面,新建或编辑日记账交易,就能在网格中看到员工选择器,点击即可选择系统中的员工数据

注意事项

  • 确保操作的用户角色拥有访问EP.Employee表的权限,否则选择器无法加载员工数据
  • 如果需要在保存日记账时做额外的业务验证,可以在Graph扩展中编写事件处理逻辑(比如RowPersisting事件)
  • 若需要该字段在报表或查询中可见,需确保字段的权限设置正确,同时在报表设计中添加该扩展字段

内容的提问来源于stack exchange,提问作者Dane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:41:44