扩展基于 Acumatica 投影的 DAC 查询

2023-12-06

有没有办法扩展/修改投影 DAC 的投影查询。

例如,如果我需要向投影添加连接语句,然后将新连接的表用于可用字段。

向 PXCacheExtension 添加自定义字段可以按预期工作,但在 PXCacheExtension DAC 顶部指定 PXProjection 查询似乎没有任何效果。

原来的:

[Serializable]
    [PXProjection(typeof(Select5<EPApproval, InnerJoin<Note,
                                    On<Note.noteID, Equal<EPApproval.refNoteID>,
                                 And<EPApproval.status, Equal<EPApprovalStatus.pending>>>,>,
                                 Where2<Where<EPApproval.ownerID, IsNotNull, And<EPApproval.ownerID, Equal<CurrentValue<AccessInfo.userID>>>>, 
                                        Or2<Where<EPApproval.workgroupID, InMember<CurrentValue<AccessInfo.userID>>,
                                        Or<EPApproval.workgroupID, IsNull>>,
                                        Or<EPApproval.workgroupID, Owned<CurrentValue<AccessInfo.userID>>>>>,
                                 Aggregate<GroupBy<EPApproval.refNoteID, 
        GroupBy<EPApproval.curyInfoID, 
        GroupBy<EPApproval.bAccountID, 
        GroupBy<EPApproval.ownerID, 
        GroupBy<EPApproval.approvedByID,
        GroupBy<EPApproval.curyTotalAmount>>>>>>>>))]
    public partial class EPOwned : EPApproval{

扩展:

[Serializable]
[PXProjection(typeof(Select5<EPApproval, InnerJoin<Note,
                                   On<Note.noteID, Equal<EPApproval.refNoteID>,
                                And<EPApproval.status, Equal<EPApprovalStatus.pending>>>,
                                LeftJoin<RQRequest, On<RQRequest.noteID, Equal<Note.noteID>>>>,
                                Where2<Where<EPApproval.ownerID, IsNotNull, And<EPApproval.ownerID, Equal<CurrentValue<AccessInfo.userID>>>>,
                                       Or2<Where<EPApproval.workgroupID, InMember<CurrentValue<AccessInfo.userID>>,
                                       Or<EPApproval.workgroupID, IsNull>>,
                                       Or<EPApproval.workgroupID, Owned<CurrentValue<AccessInfo.userID>>>>>,
                                Aggregate<GroupBy<EPApproval.refNoteID,
       GroupBy<EPApproval.curyInfoID,
       GroupBy<EPApproval.bAccountID,
       GroupBy<EPApproval.ownerID,
       GroupBy<EPApproval.approvedByID,
       GroupBy<EPApproval.curyTotalAmount>>>>>>>>))]
public class EPOwnedExt : PXCacheExtension<EPApprovalProcess.EPOwned> {

Thanks


要修改投影 DAC 的投影查询,您应该创建一个继承的 DAC 并使用 PXSubstituteAttribute 对其进行修饰。以下是 FAAccrualTran DAC 的示例:

[Serializable]
[PXProjection(typeof(Select2<GLTran,
    LeftJoin<FAAccrualTran, On<GLTran.tranID, Equal<FAAccrualTran.tranID>>>,
    Where<GLTran.module, NotEqual<BatchModule.moduleFA>, And<GLTran.released, Equal<True>>>>), new Type[] { typeof(FAAccrualTran) })]
[PXSubstitute(GraphType = typeof(AssetGLTransactions))]
...
[PXSubstitute(GraphType = typeof(AssetMaint))]
public partial class FAAccrualTranCst : FAAccrualTran
{
    ...
}

您可以使用 PXSubstituteAttribute 多次装饰 DAC:每 1 个 BLC 1 个 PXSubstituteAttribute,为此将使用自定义 FAAccrualTranCst 而不是基本 FAAccrualTran 类。

如果您没有为 PXSubstituteAttribute 的 GraphType 属性指定任何值,您的自定义 DAC 将替换所有 BLC 中的基本 DAC。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

扩展基于 Acumatica 投影的 DAC 查询 的相关文章

  • 更新自定义字段结束于无限循环

    我在 AR 发票和备忘录 屏幕 ID AR301000 中有一个对应 AP 参考的自定义字段 Nbr 在类似的管理器中 AP 账单和调整 屏幕 ID AP301000 中的另一个自定义字段对应于相应的 AR 参考 Nbr 我正在尝试更新 A
  • 如何制作库存物品标签 (IN619200) 为收到的每件物品打印一个标签?

    开箱即用Acumatica Inventory Item Label报告 IN619200 旨在仅当项目序列化时才在收据上打印该行项目的多个标签 我们将修改报告 允许用户选择收据编号 并让系统根据每件商品收到的数量生成标签数量 无论它们是否
  • 突出显示一行时是否触发任何事件?

    我创建了一个 ListView 来显示文档列表 然后创建了一个按钮 按钮 A 来执行一些操作 我的要求是我希望按钮状态可以随着所选文档的更改而更改 Fox示例 下图中有三个文档 我希望当我单击Order 00001或Order 00002时
  • 扩展基于 Acumatica 投影的 DAC 查询

    有没有办法扩展 修改投影 DAC 的投影查询 例如 如果我需要向投影添加连接语句 然后将新连接的表用于可用字段 向 PXCacheExtension 添加自定义字段可以按预期工作 但在 PXCacheExtension DAC 顶部指定 P
  • 如何有条件地隐藏 Acumatica 屏幕内的 PXTabItem?

    我想隐藏 销售订单行佣金 选项卡 但我只想隐藏特定角色的选项卡 这可能吗 选项 1 使用 PXTabItem VisibleExp 属性 这种方法与相当简单的声明条件完美配合 该条件利用来自特定容器的输入控制值 PXForm最常用于这种情况
  • 防止更新禁用视图上的注释/文件

    我注意到当网格不允许更新 插入或删除时 可以在网格上插入 更新 删除注释和文件 假设形式相同 有办法关掉它吗 我正在编写一个自定义页面 并希望阻止用户修改任何内容 包括注释和文件 我的网格包含以下内容 MyGrid AllowInsert
  • 如何在项目输入屏幕 (PM301000) 中正确对具有多级任务 ID(如 1、1.1、1.1.5、1.2、2、2.1.3、2.2、4、11、13、44 等)的任务进行排序?

    默认开箱排序 预期排序 Set Edit Mask to Unicode项目任务分段密钥 CS202000 以便允许多级任务 CD 允许 值 为了获得预期的排序 我们将创建自定义 BQL 函数 它将数字部分填充到现成的 TaskCD 字段
  • Acumatica 定制项目中的 CREATE VIEW 语句

    有谁知道如何将 CREATE VIEW SQL 语句推送到 Acumatica 定制项目中 我知道如何在 SQL Management Studio 中执行此操作 但通过自定义项目执行此操作对于 Acumatica SaaS 客户非常有用
  • 如何将自定义业务逻辑添加到 Acumatica 框架的 Actions 中?

    我向 SOShipment 添加了一个自定义字段 并且希望在订单输入或通过处理订单屏幕调用 CreateShipment 操作时设置其值 我怎么做 为 SOOrderEntry 创建一个图形扩展并添加一个 Action 方法 如下所示 us
  • 网格中的复选框控件未触发 fieldupdated 事件

    我在自定义网格上选择的复选框不会触发 Fieldupdated 事件 protected void MyTable Selected FieldUpdated PXCache cache PXFieldUpdatedEventArgs e
  • 如何从报表设计器调用 Acumatica 函数?

    我有一个用 Acumatica 编写的通用函数 我们在各种 Acumatica 屏幕上使用它 我们希望在报表设计器中使用此函数 以便我们可以打印该值 示例 CheckBday 如果我们传递客户代码 它应该检查此客户生日字段 如果是今天 则返
  • 如何显示尾随“%”符号?

    在 SO Line 的折扣百分比列中 我想在其中显示尾随 我尝试将显示格式设置为 P 但这是一场灾难 由于实际值是数据库中的百分比 因此不必乘以 100 感谢您的回答 您应该设置DisplayFormat to 0 00 结果你会得到以下结
  • 如何在 acumatica 门户中获取登录的企业帐户 ID?

    我正在尝试根据登录的客户企业帐户过滤目录项 如何在 acumatica 门户中获取登录的客户企业帐户价值 问候 穆拉利达兰 正如你所发现的 PXAccess GetUserID 允许您获取此信息 但您也可以在 BQL 查询中使用 Acces
  • Acumatica - 站点地图项目不会在现代 UI 中显示

    我刚刚将销售佣金报告添加到站点地图 它显示在经典 UI 中 但不显示在现代 UI 中 当我在现代用户界面中搜索它时 结果什么也没有返回 我的站点地图节点在 project xml 中的样子
  • 将文件添加到销售订单行项目

    I want to add files to salesorder line items in Acumatica using web services What endpoint should be used 我想使用 Web 服务端点添
  • 如何在Acumatica发票报表(AR.64.10.00)中进行金额字段的文字表示?

    如何在Acumatica发票报表 AR 64 10 00 中进行金额字段的文字表示 在 DAC 扩展中创建一个未绑定字段ARInvoice数模转换器 并使用PX Objects AP ToWords属性 public class ARInv
  • 如何在 acumatica 中使用 webservices api 导出数据时设置超时

    这是第一个场景 我使用 webservices api 在 acumatica 系统中创建新的 账单 文档到账单和调整屏幕 AP301000 之后 我需要使用网络服务加载当前屏幕 AP301000 的 应用程序 选项卡菜单中的所有文档记录
  • 根据机会创建销售订单时填充自定义字段

    我在 SO 屏幕 SO301000 上创建了一个自定义字段 联系人 现在 当用户从机会屏幕 CR304000 创建销售订单时 我需要填充这些字段 新的自定义字段联系人基于在机会中选择的客户 我可以看到 当我从机会创建销售订单时 客户会自动填
  • 通过交叉引用过滤库存

    我想通过交叉引用以及其他属性来自定义库存过滤 我为这样的库存项目添加了另外两个交叉引用项目 现在我想通过替代类型的替代 Id 值以任何其他形式自定义库存过滤器 谢谢你 没有简单的方法可以在不进行自定义的情况下在库存商品的备用 ID 上添加搜
  • 从网格中隐藏“添加”按钮

    我想完全隐藏网格中的 添加 按钮 使用 Acumatica 框架 我知道如何使用AllowInsert false禁用它 但我想完全隐藏它 请问这可能吗 假设由于某些原因您想要从销售订单详细信息网格中隐藏 添加 按钮 为了实现这一目标 您应

随机推荐