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

如何通过PXSelect查询数据库并获取符合分段键格式的值

获取符合分段键格式的查询返回值

在Acumatica中,直接从DAC对象读取分段键字段(如InventoryCD)得到的是无分隔符的原始存储值,要获取带分段键分隔符的格式化值,可通过以下两种框架原生方法实现:

方法一:使用PXSegmentedKeyAttribute.Format

var item = InventoryItem.PK.Find(graph, someInventoryID);
string inventoryCDRespectingSegmentedKey = PXSegmentedKeyAttribute.Format(
    graph.Caches[typeof(InventoryItem)],
    typeof(InventoryItem.inventoryCD),
    item.InventoryCD);

方法二:利用缓存的GetValueExt方法

GetValueExt会返回字段的格式化显示值,自动适配分段键配置:

var item = InventoryItem.PK.Find(graph, someInventoryID);
string inventoryCDRespectingSegmentedKey = graph.Caches[typeof(InventoryItem)]
    .GetValueExt(item, typeof(InventoryItem.inventoryCD))?.ToString();

扩展:PXSelect查询后的处理

如果是通过PXSelect批量查询数据,同样适用上述方法:

var inventoryItems = PXSelect<InventoryItem, Where<InventoryItem.inventoryID, In<Required<InventoryItem.inventoryID>>>>
    .Select(graph, new[] { inventoryID1, inventoryID2 });

foreach (var item in inventoryItems)
{
    string formattedCD = PXSegmentedKeyAttribute.Format(
        graph.Caches[typeof(InventoryItem)],
        typeof(InventoryItem.inventoryCD),
        item.InventoryCD);
    // 处理格式化后的字段值
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:15:31