首页 > 解决方案 > 在发货发布时填充自定义表

问题描述

我已经创建了一个自定义表,并在名为“Serial Tracking”的客户屏幕上提供了它。此屏幕的目的是跟踪每个客户拥有的序列化项目(无论项目是从谁购买的)。

我想要在发货放行时自动添加到表格中的记录。我尝试自定义 SoShipmentEntry 的 Release 方法,但无法将所有必需的数据以及构建代码的最佳方式放在一起。

自定义表 DAC 是

AUSerialTrack

画面示例

标签: acumatica

解决方案


不一定是您问题的答案,而是渴望发表评论。

作为替代方案,如果您将 Serials 选项卡视图设置为 Ship Line Split 表而不处理自定义表会怎样。您可以通过以下方式获得所需的信息:(需要转换为您的序列标签的 BQL 视图)

SELECT [ship].[CustomerID],
       [ship].[ShipmentNbr],
       [split].[InventoryID],
       [split].[LotSerialNbr]
FROM [dbo].[SOShipLineSplit] split
    INNER JOIN [dbo].[SOShipLine] line
        ON [line].[CompanyID] = [split].[CompanyID]
           AND [line].[ShipmentNbr] = [split].[ShipmentNbr]
           AND [line].[LineNbr] = [split].[LineNbr]
    INNER JOIN [dbo].[SOShipment] ship
        ON [ship].[CompanyID] = [split].[CompanyID]
           AND [ship].[ShipmentNbr] = [split].[ShipmentNbr]
    INNER JOIN [dbo].[InventoryItem] i
        ON [i].[CompanyID] = [split].[CompanyID]
           AND [i].[InventoryID] = [split].[InventoryID]
    INNER JOIN [dbo].[INLotSerClass] c
        ON [c].[CompanyID] = [i].[CompanyID]
           AND [c].[LotSerClassID] = [i].[LotSerClassID]
WHERE [c].[LotSerTrack] = 'S'
      AND [ship].[Confirmed] = 1;

然后,当用户转到选项卡时,它始终是当前结果。没有自定义代码来填写自定义表格,因此更容易升级/自定义维护。


推荐阅读