0

在我的工作中,我必须对 NAV 公司进行大量备份和恢复,以便创建类似于以前公司的新公司。我正计划构建一个 .net 应用程序来完成这项工作。基本上自动化重复的东西,但问题是我们使用的 Navision 是 2009 R2,我找不到使用 .Net/SQL 在 2009 R2 中备份和恢复 NAV 数据库/公司的方法。有没有办法做到这一点?

4

2 回答 2

0

无法使用 SQL 备份 NAV 公司。您只能备份整个数据库。

如果要备份单独的公司,则需要使用 fbk 文件的内置备份(工具 -> 备份)

从 NAV 2015 开始,您可以从 RoleTailored\Windows 客户端备份\恢复公司。

干杯!

于 2016-03-17T22:54:02.687 回答
0

如前所述,没有办法使用脚本来自动化它。在执行备份/恢复时,除了创建另一个表集之外,Nav 还会做很多事情。它创建键/视图,将记录附加到公司等系统表(存储公司列表的位置)。

从您的问题中,我无法理解您为什么需要备份公司来创建类似的公司。因为在那之后您将不得不清除所有分类帐等。为什么要复制数据只是为了擦除它?

您可以用来解决快速创建新公司问题的替代方法是在导航中创建一个代码单元,它将用您需要的所有数据填充新创建的公司。看看 codeunit 2 Company-Initialize。运行时,它会在所有重要的设置表中创建空记录并填充报告选择。您可以对其进行修改或创建类似的设置表,以使用默认值填充设置表,或从您提供的另一家公司复制它们作为参数(为此使用changecompany)。

这是我发现的另一件事:

在 Microsoft Dynamics NAV 的早期版本中,您可以通过使用 INSERT 函数(记录)将记录添加到表 2000000006(公司表)中来创建表。在 Microsoft Dynamics NAV 2013 中,不支持使用 INSERT 函数创建公司。您必须使用开发环境中的“新建公司”窗口来创建公司。

这意味着在您的版本中,您甚至可以从我提到的代码单元自动创建新公司。

此外,自 Nav 2013 R2 以来,还有新功能。您可以使用 finsql.exe 的命令行参数来创建公司)。然后从 PowerShell 脚本调用 Nav codeunit来填充数据。

于 2016-03-18T07:51:43.580 回答