【发布时间】:2021-09-11 02:47:09
【问题描述】:
我有一位客户希望 POLine 中的库存选择器仅包含属于 POOrder 中所选供应商的库存项目。有没有办法将连接添加到 [POLineInventoryItem(Filterable=true)]?或者我应该以其他方式解决这个问题?
如果我用新的 pxselector 替换,库存项目不会传递到 po 行。此外,我将失去 CrossAttribute 搜索。这是 Acumatica 代码:
[PXDefault(PersistingCheck = PXPersistingCheck.Nothing)]
[POLineInventoryItem(Filterable = true)]
[PXForeignReference(typeof(FK.InventoryItem))]
这是我需要的选择器:
[PXSelector(typeof(Search2<InventoryItem.inventoryID,
InnerJoin<POVendorInventory, On<InventoryItem.inventoryID,
Equal<POVendorInventory.inventoryID>,
And<POVendorInventory.vendorID, Equal<Current<POOrder.vendorID>>>>>>))]
[PXCustomizeSelectorColumns(
typeof(PX.Objects.IN.InventoryItem.inventoryCD),
typeof(PX.Objects.IN.InventoryItem.descr),
typeof(PX.Objects.IN.InventoryItem.itemClassID),
typeof(PX.Objects.IN.InventoryItem.itemType),
typeof(PX.Objects.IN.InventoryItem.baseUnit),
typeof(PX.Objects.IN.InventoryItem.salesUnit),
typeof(PX.Objects.IN.InventoryItem.purchaseUnit),
typeof(PX.Objects.IN.InventoryItem.basePrice),
typeof(PX.Objects.IN.InventoryItem.itemStatus))]
当我将选择器替换为@Brian 建议的选择器时,即使使用了左连接,我也会返回分析器中此 sn-p 中发生的 SQL 语法错误:
FROM [InventoryItem] [InventoryItem]
WHERE ( [InventoryItem].[CompanyID] = 2) AND
[InventoryItem].[DeletedDatabaseRecord] = 0 AND
( [InventoryItem].[InventoryID] = )
ORDER BY [InventoryItem].[UsrCaseQty]),
(SELECT TOP (1) [InventoryItem].[BaseItemVolume]
【问题讨论】:
标签: filter attributes acumatica