Acumatica 提货单上的计量单位和计量单位比率不正确

Acumatica 提货单上的计量单位和计量单位比率不正确,acumatica,Acumatica,我们在此客户端使用计量单位转换。我们每件都有存货,每箱都有出售。我们在提货单上遇到的问题是,要提货的数量和要提货的计量单位都是库存单位,而不是销售单位。 e、 g.客户订购73箱(每箱12个)。拣选票每张打印876张。这需要仓库人员查找每个项目,确定是否有销售计量单位和比率,然后手动将876个每箱转换为73箱 显然,提货单应该打印73箱。但我找不到一个方法来做到这一点。项目是抽签的,73箱的订单可能有50箱A标段和23箱B标段。这在SOShipLineSplit表中表示。本表中的数量和计量单位基

我们在此客户端使用计量单位转换。我们每件都有存货,每箱都有出售。我们在提货单上遇到的问题是,要提货的数量和要提货的计量单位都是库存单位,而不是销售单位。 e、 g.客户订购73箱(每箱12个)。拣选票每张打印876张。这需要仓库人员查找每个项目,确定是否有销售计量单位和比率,然后手动将876个每箱转换为73箱

显然,提货单应该打印73箱。但我找不到一个方法来做到这一点。项目是抽签的,73箱的订单可能有50箱A标段和23箱B标段。这在SOShipLineSplit表中表示。本表中的数量和计量单位基于库存单位

理想情况下,我可以将INUnits表连接到SOSHipLine和SOShipLineSPlit表。见下文

Select  case when isnull(U.UnitRate,0) = 0 then S.Qty else S.Qty/U.Unitrate end as ShipQty
,case when isnull(U.UnitRate,0) = 0 then s.uom else U.FromUnit end as UOM
from SOShipLineSplit S 
inner join SOShipLine SL
ON S.CompanyID = SL.CompanyID and s.ShipmentNbr = SL.ShipmentNbr and  S.LineNbr = SL.LineNbr and S.InventoryID = SL.InventoryID
Left Outer Join INUnit U
On S.CompanyID = U.CompanyID and S.InventoryID = U.InventoryID and s.UOm = U.ToUnit and SL.UOM = U.FromUnit
where S.ShipmentNbr = '000161' and S.CompanyId = 4
问题是Acumatica报表编写器不支持多表联接

Left Outer Join INUnit U
On S.CompanyID = U.CompanyID and S.InventoryID = U.InventoryID and s.UOm = U.ToUnit and SL.UOM = U.FromUnit
我想我一定错过了什么。这不是唯一一个使用Acumatica并使用销售计量单位的客户。我是否可以使用另一个表格来包含此订单已转换为销售单位的数量和计量单位

还是另一种解决方案

提前谢谢。 轻拍编辑:

如果目标是在转换前/转换后显示准确数量,则不能使用INUnit DAC。它不存储历史数据,您可以在定单后更改单位值,因此重新使用它计算数量将不会产生准确的结果

对于这种情况,您需要使用带有
Base
前缀的历史数据字段,如ShippedQuantity/BaseShippedQuantity。如果您需要存储更多历史数据,则需要添加一个自定义字段来保存这些值,并在创建/修改装运时更新这些值


主要问题似乎是需求中的逻辑错误:

问题是INUnit表必须与 SOShipLine和SOShipLineSplit表

INUnit DAC只有一个父级,而不是2个,因此您需要更改需求以反映该约束

如果SOShipLine和SOShipLineSplit值不同,则永远不会得到任何记录

如果它们是相同的,那么就不需要在这两个节点上进行连接,因为它们具有相同的值


我建议添加2个连接,一个用于SOShipLine,另一个用于SOShipLineSplit。在报告中,您可以选择显示哪一个(第一个、第二个或两个)。 如果要处理空值错误检查以进行显示,还可以在报告中添加可见性条件或IIF公式条件

使用schema builder中的子别名属性连接同一个表2次,而不存在名称冲突。在报告公式(显示字段或公式条件)中,也使用子别名表名称

例如:

我认为支持多表联接。如果要多次连接同一个表,应该有一种方法可以通过报表架构生成器中的Alias字段或DAC继承来实现。Hugues,我无法将多个表添加到同一报表架构生成器中。仔细查看我的示例中的多个表。特别是在左手边。左手边有两张桌子。这就是问题所在。我找不到一种方法来使用左手边的两张不同的桌子。我不知道如何更改DAC继承。但是,您如何看待创建TSQL视图“AcumaticaDB.dbo.SOShipLineSplitUOM”的想法。是否可以将该视图添加到报表架构中?如果是的话,你能告诉我怎么做吗?这样做有什么坏处?我只是看看。有多个模式。我的视图应该添加到哪个架构?强烈建议不要使用SQL视图。我看到你有两个连接,这没什么不寻常的。标准报告包含几十个表。我认为您应该复习一下文档,学习如何在join中添加表。检查从以下链接加载数据库架构和生成数据库请求:报告中必须有一个架构,您可能只是在这里感到困惑。请注意,获取装运通知单(ShipNote别名)和销售订单通知单(SOLineNote别名)时使用了类似的模式。由于Note只有一个父级,所以您不能同时连接sales order和shipping表,所以需要两个别名为的连接来分别获取这两个Note。