本周NAV设计模式:Copy Document
初识该模式
Copy Document设计模式的目标是通过把源文档的header和line信息拷贝到目标文档,从一个已存在的open或者closed的文档(过账或未过帐)创建出一个副本。
深入了解模式
文档广泛用于我们的多数客户。很多时候,这些文档的相当一部分是类似的,要么通过共享相同的客户、 供应商、 类型要么行结构相似。能够重用源文档作为模板的创建一个新文档是节省时间的重要手段。
其他的一些商业案列中要求将新创建的文档应用到现有的文档。例如,在退货管理中,退货的订单可以是现有订单的逆转,因此可以从原始订单复制。其他的案列中,甚至还有法律的要求,以匹配到它的源文档。例如,贷项凭单需要应用到原始发票。
复制文档功能在以下情况中使用:
- 用户想要创建一个新的销售文档 (报价、 订单、 发票、 退货订单、 贷项通知单) 基于现有的已过帐或未过账的销售文档 (报价、 一揽子订单、 订单、 发票、 退货订单、 贷项通知单、 过帐出货、 过帐发票、 过帐退货收据、 过账贷项通知单)。
- 用户想要创建一个新的购买文档 (报价、 订单、 发票、 退货订单、 贷项通知单) 基于现有的已过帐或非过账的采购文档 (报价、 一揽子订单、 订单、 发票、 退货订单、 贷项通知单、 过帐出货、 过帐发票、 过帐退货收据、过账贷项通知单)。
- 用户想要创建新的生产订单 (模拟、 计划、 公司计划或发布) 基于现有生产订单 (模拟、 计划、 公司计划、 发布或已完成)。
- 用户想要创建一个新的程序集订单,基于现有的程序集文档 (报价单、 总订单、 订单和张贴的顺序)。
- 用户想要创建一个新的服务合同或基于现有的服务合同的报价。
- 用户想要创建与退货有关的所有相关文件。例如,从销售退货订单,用户可以重新创建相关涉及的供应链文件,通过将信息复制到采购退货单 (如果商品需要返回给供应商),复制到采购订单 (如果商品需要重新采购) 和复制销售订单 (如果项目需要重新销售给客户)。
请注意
- 不是所有业务组合都允许复制。例如,你可以只能复制到open类型的文档,因为已posted文件不是可编辑。
- 目标文档需要有完整的header信息。例如,销售订单将需要有填写好客户号。
使用该模式
NAV 应用程序开发人员可以考虑使用Copy Document设计模式,当他们有以下要求,例如:
- 提供快速和高效的方式移动内容从一个文档到另一个。
- 允许重用文档的历史记录作为新文件的模板。
- 允许链接需要互相应用文档。
Copy Document模式涉及以下实体:
- 文档的header和line的源文档表。例如,Sales Header/Line.
- 文档的header和line的目标文档表。
注:源文档页header/line和目标文档header/line表不需要是相同的。例如,您可以复制Sales Shipment Header/Lines到Sales Header/Lines。
- 复制文档引擎: COD6620、 Copy Document Mgt.
- 为一个指定的文档类型拷贝文档所使用的report。report需要下列参数:
- 源文档类型
- 源文档号
- 包括头 (可选)
- 重新计算行 (可选)
Usage Sequence
前提条件: 用户创建一个新的目标文档header,填满所需的信息。
步骤 1: 用户在运行Copy Document Report (No.4),填满这些参数:
- 源文档类型
- 源文档号
- 包括Header和/或重新计算行 (不是所有的Copy Document都有这些选项)。
步骤 2: Report将在源表中的信息(header和line) 复制到目标表中 (header和line)。
后处理: 用户修改目标文档的其他内容。
下面的关系图描述了模式的序列流。
示例: 拷贝销售文件生成贷项通知单。
在标准版本的 Microsoft NAV,复制文档功能在贷项通知单窗口中可以使用,如下图所示。
***
前提条件: 用户输入的数据在 PAGE44,Sales Credit Memo。
步骤 1: 用户在运行 REP292,从Sales Credit Memo窗口中,复制销售文档填充所需的参数。将选择包括header和重新计算的行字段。
步骤 2: 使用源销售文档中的信息填充Sales Credit Memo窗口。
后加工: 用户现在可以做其他编辑操作来完成Sales Credit Memo。
NAV Implementations- Copy Sales Document (REP292)
- Copy Purchase Document (REP492)
- Copy Service Document (REP5979)
- Copy Assembly Document (REP901)
原文链接:
http://blogs.msdn.com/b/nav/archive/2013/07/04/nav-design-pattern-of-the-week-copy-document.aspx