仓库特定库存交易记录

仓库特定库存交易记录(在本文中称为仓库交易记录)是存储有关如何在仓库中存储和移动库存的信息的数据库记录。 仓库交易记录针对仓库操作进行了高度优化。

在 10.0.32 之前的 Microsoft Dynamics 365 Supply Chain Management 版本中,系统针对仓库操作和其他类型的库存交易记录使用单一类型的标准库存交易记录(在本文中称为库存交易记录)。 但是,在较新的系统中,我们建议您在适用时使用仓库交易记录(尽管库存交易记录仍将用于支持其他功能)。 对于仓库操作,与库存交易记录相比,仓库交易记录提供了许多好处。 下面举了一些示例加以说明:

  • 显着改进了仓库操作性能,特别是对于包含大量序列号或批处理号(跟踪维度)的场景。
  • 改进了通过减少支持仓库操作所需的库存交易记录数量实现的可扩展性。 标准库存交易记录会生成更多记录,因此可能会导致数据库负荷过重。

如何比较仓库交易记录与库存交易记录

仓库交易记录与库存交易记录在几个方面有所不同。 下面是关键差异:

  • 仓库交易记录可以对物料进行批量操作。 换言之,单个仓库交易记录可以保留、发放或接收一组具有不同序列号或批处理号的物料。 此功能使系统能够避免重复验证并使用基于集合的高效操作。 它还减少了系统生成的数据量。 由于物料集可以重复使用,因此不必多次记录相同的信息。
  • 仓库交易记录不包含任何财务或成本信息。 它们仅用于仓库操作,不会产生任何财务影响。 此更改显着减少了数据库中所需的字段、索引和验证数。 对于具有财务影响的仓库操作(例如盘点、调入或调出),系统仍然依赖于库存交易记录。
  • 仓库交易记录是不可变的。 因此,除了少数系统流程外,它们永远不会更新或删除。 此属性允许实现更可预测的系统性能,因为它可避免拆分交易记录。 它还允许对系统中发生的情况实现更详细的审核日志。 额外的详细信息在调查期间可能很有用。
  • 仓库交易记录经常存档。 此功能有助于使仓库交易记录表的大小保持较小。 它还使系统能够为活动和已完成的交易记录实施不同的数据模型。 活动交易记录的数据模型针对插入进行了优化。 (此优化对于快速移动设备操作至关重要。)相比之下,已完成交易记录的数据模型针对查询进行了优化。

先决条件

必须先满足以下先决条件,然后才能使用此功能:

  • 您必须更新任何依赖于库存交易记录的自定义,这些交易记录将替换为仓库交易记录。 有关详细信息,请参阅本文的审核和更新您的自定义以支持仓库交易记录部分。
  • 您必须运行 Dynamics 365 Supply Chain Management 版本 10.0.32 或更高版本。
  • 如果您运行的是供应链管理版本 10.0.35 或更早版本,则必须在 功能管理中启用名为 仓库特定库存交易 的功能。 在较新的版本中,此功能已完全集成到产品中,因此它要么是必需的,要么不再列在 功能管理中

审核和更新您的自定义以支持仓库交易记录

启用仓库特定库存交易记录功能后,您的系统中将发生以下更改:

  • 系统将不再生成仓库操作的库存交易记录。 它将改用仓库交易记录。 因此,必须更新任何依赖于仓库操作的相关库存交易记录的自定义和扩展。 此更改仅影响您配置为使用仓库交易记录的那些仓库场景。 (有关详细信息,请参阅本文的选择哪些场景应使用仓库交易记录部分。)
  • 处理仓库操作时将不再调用现有的几个方法。

当您尝试启用该功能时,系统会执行一组检查来识别可能因这些更改而中断的扩展。 如果发现任何问题,您会收到一条错误消息,标识该扩展并说明必须如何更新它。 如果您在尝试启用该功能时收到此类消息,请按照以下步骤操作。

  1. 请联系您的开发人员或 Microsoft 合作伙伴,并要求他们查看相关扩展和进行所需修复。
  2. 将包含有问题的扩展的模块声明为已验证。 您可以通过扩展 WHSWarehouseInventoryTransactionFeatureExtensionValidator 类中的 buildValidatedModuleSet() 方法并将包含标记扩展的模块名称添加到集合中来进行此更改。
  3. 部署更新的模块。 功能验证器现在应该允许您激活该功能。

警告

功能验证器无法检测所有可能的问题。 例如,它无法检测扩展是否正在读取与仓库工作相关的库存交易记录。 (启用该功能后,这些库存交易记录将不再存在。)

选择哪些场景应该使用仓库交易记录

系统允许您选择哪些场景将使用仓库交易记录。 例如,您可以首先使用新的仓库交易记录进行仓库移动,但继续使用库存交易记录进行所有其他操作。 因此,使用在启用仓库特定库存交易记录功能之前自定义的系统的组织可以灵活地逐步转向使用仓库交易记录。 他们可以从自定义最少的场景或最需要性能改进的场景开始。

若要选择哪些场景应该使用仓库交易记录,请按照以下步骤操作。

  1. 转到仓库管理 > 设置 > 仓库管理参数
  2. 常规选项卡的仓库库存交易记录机制快速选项卡上,针对每个要使用仓库交易记录的场景,选中使用仓库库存交易记录复选框。 清除此复选框的场景将继续使用库存交易记录。
  3. 在操作窗格上,选择保存

某些仓库工作类型只是其他系统流程(例如调入/调出和盘点操作)的包装,并将继续使用库存交易记录。 这些操作会更改所有库存维度的现有库存,因此会产生财务影响。

原始凭证交易记录仍将使用库存交易记录(InventTrans 表中的记录)表示并将继续使用库存堆栈。 例如,在销售领料场景中,与销售行相关的预留仍将由库存交易记录表示。 但是,当您将销售订单下达到仓库时,创建的工作将使用仓库交易记录。 完成工作后,销售行的库存交易记录将更新为已领料状态,并且将分配所有特定维度值,就像工作使用了库存交易记录一样。

查看仓库交易记录

仓库交易记录页面显示仓库交易记录和库存交易记录。 相比之下,库存交易记录页面仅显示库存交易记录。 因此,仅仓库交易记录页面显示与您的仓库操作相关的所有交易记录。 例如,在销售领料场景中,如果要查看与销售订单相关的所有交易记录,您必须打开仓库交易记录页面。 它将显示销售订单库存交易记录和与工作相关的仓库交易记录。 库存交易记录页面将仅显示销售订单交易记录。

仓库交易记录页面的是用途显示与管理仓库相关的所有交易记录。 它不显示状态为已订购在单状态的库存交易记录。 您可以从系统中的多个位置打开它,包括现有页面和仓库库存交易记录页面。

例如,若要从所选产品的现有页面中打开仓库交易记录页面,请按照以下步骤操作。

  1. 转到产品信息管理 > 产品 > 已发布产品

  2. 选择一个已发布产品。

  3. 在操作窗格上的管理库存选项卡上,在视图组中,选择现有库存量

    纸币

    若要查看所选产品的全部交易记录,您可以改为选择仓库交易记录

  4. 现有页面上,选择您要检查的现有库存的行。

  5. 在操作窗格上,选择仓库交易记录

仓库交易记录库存交易记录页面提供类似的功能。 但是,仓库交易记录页面仅限于适用于仓库操作的功能。 您可以执行以下操作:

  • 若要选择显示哪些库存维度,请在操作窗格上选择显示维度
  • 若要查看与所选行具有相同库存维度的所有交易记录,请在操作窗格的库存选项卡上选择面向维度的仓库交易记录
  • 若要跟踪所选行的库存维度,请在操作窗格的库存选项卡上选择跟踪以打开跟踪库存维度页面。
  • 若要查看所选行的批属性详细信息,请在操作窗格的库存选项卡上选择库存批属性

存档仓库交易记录

由于仓库交易记录和库存交易记录在本质上略有不同,因此系统可以比库存交易记录更频繁地存档仓库交易记录。 每当仓库工作完成(关闭或取消)时,系统都会存档所有相关的仓库交易记录。 与非存档交易记录一样,存档的仓库交易记录仍然可以通过用户界面 (UI) 使用。 但是,它们从针对快速插入(活动交易记录)优化的存储移动到针对查询(存档交易记录)优化的存储。 系统可以检测到这种区别,并且在完成现有重新计算一致性检查或使用跟踪库存维度页面时,考虑存档的仓库交易记录。

存档过程由存档仓库库存交易记录流程自动化后台流程实现。 当您启用仓库特定库存交易记录功能时,将自动注册此流程。 默认情况下,它每 10 分钟运行一次。 但是,系统管理员可以基于实际系统使用情况更改定期属性。

若要更改存档仓库库存交易记录流程的定期属性,请按照以下步骤操作。

  1. 转到系统管理 > 设置 > 流程自动化
  2. 后台流程选项卡的网格中,选择名称字段设置为存档仓库库存交易记录的行。
  3. 在工具栏上选择编辑
  4. 将打开编辑后台流程对话框。 根据需要查看并编辑配置,然后选择确定

若要查看存档仓库库存交易记录流程的执行历史记录,请按照以下步骤操作。

  1. 转到系统管理 > 设置 > 流程自动化
  2. 后台流程选项卡的网格中,选择名称字段设置为存档仓库库存交易记录的行。
  3. 在工具栏上选择查看最新结果
  4. 出现的执行结果对话框显示每个流程执行的列表。 在这里,您可以查看每个流程是否成功并查看其执行日志。

常见问题解答

本部分提供有关特定于仓库的库存交易记录的一些常见问题解答。

Microsoft 是否计划将现有库存与 InventTrans 和 WHSInventReserve 表分离?

目前没有将现有库存与这些表分离的计划。

新交易记录类型表示什么以及如何在 WHSInventoryTransactionTable 表中使用它们?

WHSInventoryTransactionTable 表包括以下四种类型的交易记录(如 WHSInventoryTransactionTypeEnum 所定义)。

  • 实际发货 - 表示要实际发货的物料。
  • 实际收货 - 表示要实际收货的物料。
  • 实际预留 - 表示物料预留。
  • 已删除实际预留 - 表示用于删除预留的显式、单独的交易记录类型。 根据您的设置,在存档流程期间可以删除所有与预留相关的交易记录以节省空间。

ItemSetId 与牌照有何不同?是否有关于如何继续处理两者的任何指南?

基于 InventTrans 的库存未设计用于表示对一组物料的库存操作(例如发货收货预留)。 牌照(例如仓库工作中的目标牌照)是此类一组物料的一个示例。 从基于 InventTrans 的库存堆栈的角度来看,牌照只是一个维度,与 InventDim 中的其他存储维度类似。 新库存堆栈中的物料集概念旨在解决这一差距。 在初始领料期间,构建一个物料集,后续操作(例如放至暂存从暂存领料储存到货架门)将重复使用该物料集。 此方法避免记录有关正在移动的物料的冗余信息。 但是,在新系统中仍然使用牌照。

其他资源

  • 有关此功能的详细信息,请考虑加入仓库库存交易记录 Yammer 组,您可以在其中找到有用的指南、获取我们的最新更新,并发布您在使用仓库交易记录时可能遇到的任何问题。