有没有办法将用户定义的字段放入选择器中?

2024-01-03

我有一位客户使用用户定义字段。我发现这些值位于数据库的 KvExt 表中,但我还没有找到通过 DAC 或 DAC 扩展直接访问这些值的方法。有没有办法可以访问该字段并将其添加到 Acumatica 基本页面?

我的例子中的具体目标是 ARPayments 页面中的 ARTran.RefNbr 选择器。


您可能知道,用户定义字段实际上使用系统中定义的属性。用户定义的字段和实际记录(例如ARInvoice)受到约束NoteID的记录(ARInvoice) and RecordID用户定义字段的。还有FieldName用户定义字段的存储单词“属性”+AttributeID.

下面的 SQL 查询显示了引用:

SELECT CompanyID, RefNbr, DocType, DocDesc FROM ARRegister WHERE RefNbr='AR007092';

SELECT CompanyID, RecordID, FieldName, ValueNumeric, ValueDate, ValueString, ValueText FROM ARRegisterKvExt where RecordID='78A9D6DE-52C4-E911-B2FD-FC017C8C8936';

SELECT CompanyID, AttributeID, Description, ControlType, EntryMask, RegExp, List, IsInternal, ContainsPersonalData FROM CSAttribute WHERE'AttributeBURDEN' LIKE  '%'+AttributeID;

结果集:

了解了上面所示的参考资料后,我们可以创建一个 DACARRegisterKvExt如下表:

[PXCacheName("AR Register Attributes")]
[Serializable]
public class ARRegisterKvExt : IBqlTable
{
    public abstract class recordID : BqlGuid.Field<recordID> { }
    [PXDBGuid(IsKey = true)]
    public Guid? RecordID { get; set; }

    public abstract class fieldName : BqlString.Field<fieldName> { }
    [PXDBString(50,IsKey = true)]
    [PXUIField(DisplayName ="Name")]
    public string FieldName { get; set; }

    public abstract class valueNumeric : BqlDecimal.Field<valueNumeric> { }
    [PXDBDecimal(8)]
    [PXUIField(DisplayName = "Value Numeric")]
    public decimal? ValueNumeric { get; set; }

    public abstract class valueDate : BqlDateTime.Field<valueDate> { }
    [PXDBDate]
    [PXUIField(DisplayName = "Value Date")]
    public DateTime? ValueDate { get; set; }

    public abstract class valueString : BqlString.Field<valueString> { }
    [PXDBString(256)]
    [PXUIField(DisplayName = "Value String")]
    public string ValueString { get; set; }

    public abstract class valueText : BqlString.Field<valueText> { }
    [PXDBString]
    [PXUIField(DisplayName = "Value Text")]
    public string ValueText { get; set; }
}

并写一个PXSelector左连接到我们的 DAC 并CSAttribute像下面这样:

[PXSelector(typeof(Search2<ARInvoice.refNbr, LeftJoin<ARRegisterKvExt, On<ARInvoice.noteID,Equal<ARRegisterKvExt.recordID>>, LeftJoin<CSAttribute, On<ARRegisterKvExt.fieldName,Contains<CSAttribute.attributeID>>>>>), new[] { typeof(ARInvoice.refNbr), typeof(ARInvoice.docType), typeof(CSAttribute.description), typeof(ARRegisterKvExt.valueString)}, DescriptionField = typeof(ARInvoice.docDesc))]

结果,您将看到如下所示的查找:

正如您所看到的,没有用户定义字段值的 AR 发票也没有字段名称。这是由 Acumatica 处理用户定义字段的方式引起的。仅当您设置值时,用户定义字段的记录才会写入数据库。如果清除该值,则会删除该记录。

The bad side of using the User Defined Fields in the lookups is that if you have 2 User Defined Fields for AR Invoice then the same Invoice will be shown twice, but only if the values for both User Defined Fields are set. enter image description here

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

有没有办法将用户定义的字段放入选择器中? 的相关文章

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

    我在 AR 发票和备忘录 屏幕 ID AR301000 中有一个对应 AP 参考的自定义字段 Nbr 在类似的管理器中 AP 账单和调整 屏幕 ID AP301000 中的另一个自定义字段对应于相应的 AR 参考 Nbr 我正在尝试更新 A
  • 扩展基于 Acumatica 投影的 DAC 查询

    有没有办法扩展 修改投影 DAC 的投影查询 例如 如果我需要向投影添加连接语句 然后将新连接的表用于可用字段 向 PXCacheExtension 添加自定义字段可以按预期工作 但在 PXCacheExtension DAC 顶部指定 P
  • 防止更新禁用视图上的注释/文件

    我注意到当网格不允许更新 插入或删除时 可以在网格上插入 更新 删除注释和文件 假设形式相同 有办法关掉它吗 我正在编写一个自定义页面 并希望阻止用户修改任何内容 包括注释和文件 我的网格包含以下内容 MyGrid AllowInsert
  • 在 Acumatica 中,您可以使用未绑定的 DAC 获得图表/页面吗?

    是否可以让图表和页面使用完全未绑定的 DAC 当前在 4 20 中尝试此操作时 我收到以下错误消息 Incorrect syntax near the keyword FROM Description An unhandled except
  • 如何使 Acumatica 多行 PXGridColumn 显示新行?

    我正在自定义项目报价表单 屏幕 PM304500 上的描述字段 我需要描述字段是多行的 并且它必须保留新行 我已经自定义了字段本身以允许非常长的字符串 并且我已经使用 Multiline true 自定义了相应的 PXGridColumn
  • Acumatica 定制项目中的 CREATE VIEW 语句

    有谁知道如何将 CREATE VIEW SQL 语句推送到 Acumatica 定制项目中 我知道如何在 SQL Management Studio 中执行此操作 但通过自定义项目执行此操作对于 Acumatica SaaS 客户非常有用
  • 如何从报表设计器调用 Acumatica 函数?

    我有一个用 Acumatica 编写的通用函数 我们在各种 Acumatica 屏幕上使用它 我们希望在报表设计器中使用此函数 以便我们可以打印该值 示例 CheckBday 如果我们传递客户代码 它应该检查此客户生日字段 如果是今天 则返
  • Acumatica 和 Outlook 插件以及 Azure 单点登录错误

    与 Acumatica 的 Outlook 插件相关 当我们的用户尝试使用其 azure 登录名进行身份验证时 我们会看到以下错误 https www dropbox com s le7t3ez5ua69qls Screenshot 202
  • Acumatica 通用查询如何将多个 GI 导出为 xml

    我知道你可以一次将一个 GI 导出到 xml 我想知道你可以选择所有用户 GI 并导出到 XML 作为备份 Thanks 您可以通过创建一个自定义项目并将您需要的所有通用查询包含在一个包中来实现此目的 该项目可以导出和导入 其中包括所有附加
  • 如何在 acumatica 门户中获取登录的企业帐户 ID?

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

    我刚刚将销售佣金报告添加到站点地图 它显示在经典 UI 中 但不显示在现代 UI 中 当我在现代用户界面中搜索它时 结果什么也没有返回 我的站点地图节点在 project xml 中的样子
  • Acumatica API:将活动或注释实体添加/附加到另一个实体(即客户、联系人或机会)

    我能够添加一个 Activity 实体并能够获取 NoteId 但无法将此活动添加到特定实体 或在创建后附加它 如何使用 Rest API 或使用旧的 WSDL 来实现此目的网络服务 None
  • 如何将订单项自定义字段值从机会传递到销售订单?

    我在机会产品选项卡中有一个自定义行号字段 供客户对所选产品重新排序 并且网格按自定义字段值排序 我试图将机会的价值传递给也具有类似字段的销售订单 我尝试过以下代码但它不起作用 PXGraph InstanceCreated AddHandl
  • Acumatica 过滤 PXSelector 具有快速搜索功能

    我有一个自定义 dac 和 pxselector 如下所示 With quick search red bordered search I want to filter with every properties For example w
  • 动态更改列名

    我有一个标题 详细信息自定义屏幕 我在其中根据标题中的下拉选择来操作显示哪些网格列 这工作得很好 但现在我也想更改一些列名称 使用记录的语法 我无法让它工作 我看不出我做错了什么 似乎没有什么区别 我已经附加到进程并在这个事件上设置了一个断
  • 无法加载参考程序集以供执行

    突然我的网站无法加载并给出以下错误 我在 Windows 10 Home 上运行带有 Net Framework 4 7 1 的 VS2017 BadImageFormatException Cannot load a reference
  • Acumatica 实时动态下拉列表

    我有以下用例 Acumatica 组合框 下拉列表 可以有 8 个左右的值 其选择决定了用于在组合框 下拉列表中呈现的表 DAC e g 如果当前StatusProfileID WO1 和Status WCMP WCMP 是当前版本User
  • 根据机会创建销售订单时填充自定义字段

    我在 SO 屏幕 SO301000 上创建了一个自定义字段 联系人 现在 当用户从机会屏幕 CR304000 创建销售订单时 我需要填充这些字段 新的自定义字段联系人基于在机会中选择的客户 我可以看到 当我从机会创建销售订单时 客户会自动填
  • 如何将操作和处理程序添加到“处理货件”屏幕?

    如何将操作和处理程序添加到 处理货件 屏幕 我们想要向屏幕 SO503000 上的 操作 组合框添加一个操作 然后在代码中添加一个处理程序来处理新操作 我们希望在不必覆盖 SOShipmentEntry 图中 Action 的巨大 swit
  • 通过交叉引用过滤库存

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

随机推荐