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

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(使用前将#替换为@)

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

  • 如何有条件地隐藏 Acumatica 屏幕内的 PXTabItem?

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

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

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

    有谁知道如何将 CREATE VIEW SQL 语句推送到 Acumatica 定制项目中 我知道如何在 SQL Management Studio 中执行此操作 但通过自定义项目执行此操作对于 Acumatica SaaS 客户非常有用
  • Acumatica 配置向导错误:无法在注册表中获取 IIS 版本

    我尝试在 Acumatica 配置向导上创建一个新实例 我收到一条错误消息 无法从注册表获取您的 IIS 版本 虽然我已经安装了IIS功能 我按照有关在 IIS 上安装哪些功能的说明进行操作 它使用的 net框架是4 6 显然这个问题还没有
  • 如何将自定义业务逻辑添加到 Acumatica 框架的 Actions 中?

    我向 SOShipment 添加了一个自定义字段 并且希望在订单输入或通过处理订单屏幕调用 CreateShipment 操作时设置其值 我怎么做 为 SOOrderEntry 创建一个图形扩展并添加一个 Action 方法 如下所示 us
  • 有没有办法将用户定义的字段放入选择器中?

    我有一位客户使用用户定义字段 我发现这些值位于数据库的 KvExt 表中 但我还没有找到通过 DAC 或 DAC 扩展直接访问这些值的方法 有没有办法可以访问该字段并将其添加到 Acumatica 基本页面 我的例子中的具体目标是 ARPa
  • ASP.net 在服务引用之间重用类型

    我有两个服务引用 我通过为每个服务引用导入一个 WSDL 将其导入到我的 asp net 项目中 第一个引用是来自我的 Web 服务 Acumatica 的默认引用 第二个引用是我在原始 Web 服务中创建的自定义端点服务 问题是 它们都在
  • Acumatica 中动态变化的 PXSelector

    我有以下用例 Acumatica 组合框 下拉列表 可以有 8 个左右的值 其选择决定了用于在 PXSelector 中呈现的表 DAC e g 如果用户选择选项 a 我需要在表 A 中的 PXSelector 值中显示 如果用户选择选项
  • 如何包含文件上传对话框

    我获得了一些 C 图形扩展代码来上传 Excel 文件 以便导入到 购买收据 屏幕上的 分配 弹出屏幕中 未包含的是似乎用作对话框的 PXSmartPanel 任何关于如何设置 配置此智能面板以实现给定代码中的目的的帮助将不胜感激 有问题的
  • Acumatica API:将活动或注释实体添加/附加到另一个实体(即客户、联系人或机会)

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

    我在机会产品选项卡中有一个自定义行号字段 供客户对所选产品重新排序 并且网格按自定义字段值排序 我试图将机会的价值传递给也具有类似字段的销售订单 我尝试过以下代码但它不起作用 PXGraph InstanceCreated AddHandl
  • 将Excel上传控件添加到网格工具栏

    有没有一种方法可以让网格控件允许从 Excel 工作表上传数据 我还没有找到可以将此控件放在工具栏上的命令 您需要装饰数据视图PXImportAttribute Example PXViewName Messages SOLine PXIm
  • 如何在Acumatica发票报表(AR.64.10.00)中进行金额字段的文字表示?

    如何在Acumatica发票报表 AR 64 10 00 中进行金额字段的文字表示 在 DAC 扩展中创建一个未绑定字段ARInvoice数模转换器 并使用PX Objects AP ToWords属性 public class ARInv
  • 无法加载参考程序集以供执行

    突然我的网站无法加载并给出以下错误 我在 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 创建销售订单时 我需要填充这些字段 新的自定义字段联系人基于在机会中选择的客户 我可以看到 当我从机会创建销售订单时 客户会自动填
  • Acumatica - 复制最后一行

    看起来 Acumatica 中看似简单的事情实施起来非常复杂 我想做的就是将网格的最后一行复制为新的 我希望用户自己保存更改 因此我的代码会将其放入缓存中 这是我到目前为止的行动 public PXAction
  • Acumatica API 登录超出限制

    我正在使用 Web 服务来创建库存商品和销售订单 我在登录时遇到问题 收到以下错误消息 API 登录限制超出 我无法减少登录请求的数量 有没有办法提高 API 登录限制 布伦丹是正确的 您可能正在多个设备 实例上进行模拟 只需确保在特定屏幕
  • Acumatica - 使用 api 创建客户付款方式

    使用 API 创建客户付款方式的正确方法是什么 这也将回答如何使用具有键值对的网格而不是仅将值存储到特定字段中 该代码已经使用并正常运行了近一年 然后从本周早些时候开始它不再起作用 Connect to Acumatica context

随机推荐