存档

2016年2月 的存档

NAV2016 累计更新-4#

2016年2月28日 没有评论

发布版本号 Build No. 44974

发布日期 Release Date Feb, 2016

下载链接

更新项:

ID

Title

376172

Ways to split Sync-NAVTenant into multiple transactions

376886

The Dynamics NAV client crashes after you scroll with mouse wheel outside the window and then scroll in a drop-down.

376947

With the NAV 2016 Management Portal, the Alternate ID field is cleared when a move tenant fails and results in the tenant no longer being able to connect.

377003

Data encryption cannot be enabled in German Windows.

377110

You cannot copy a company to another tenant.

377259

An error occurs when you use the back button in the Phone client.

377342

The Store App cannot open a specific page when using O365 SSO although it works with Windows authentication.

377367

EU Server crashes.

377400

The Dynamics NAV client crashes if you filter on @*.

377407

The Dynamics NAV client crashes when you add a column on a modal page.

377415

Error 2 in module 11 when an option is too long.

377470

Removal of Menusuite items in a Dynamics NAV extension should be prevented.

377529

When NAVAPP.RESTOREARCHIVEDATA is run with RunTrigger set to FALSE, field validate triggers should be suppressed.

377548

Error occurs when you compile a table with a field set to SQL Timestamp Yes and assigned as the Key field.

377556

"Filter could not be applied. Could not apply filter to column no. because the field is missing or unavailable" error message when you look up from a field handling a codeunit.

377561

You notice that you cannot select a dimension value from the list if the SQL Data Type property on the Code field is set to Variant.

377565

RESTOREARCHIVEDATA does not restore blobs.

377566

RapidStart uses the YYYY-MM-DD format rather than the local date format when exporting to Excel.

377576

Cannot export to Excel from the web client if the relevant page has the SourceTableTemporary property set to Yes.

377758

Invoke-NAVCodeunit always runs in the Dynamics NAV client time zone.

377776

The Windows client crashes when no printer is selected within a report.

377800

The Dynamics NAV client crashes when a report contains multiple references.

377819

The Print Preview window opens in the background.

377821

The borders are missing when reports are printed as PDF files from the Windows 10 environment.

377834

A primary key that includes the DateFormula field creates duplicate records.

377870

Incorrect displaying of ‘&’ in an advanced filter on list pages.

377884

If you customize some fields for a FactBox on a card page, the changes are not immediately propagated.

377916

The Dynamics NAV client crashes during menu scrolling.

377931

Extending MenuSuite Add-Ons from 10 to 20.

377963

Space character at end of the Replace With value is trimmed.

377985

Difficult to enter GLEntry.SETFILTER (G/L Entry No,0).

378022

The layout of the Customer Summary Aging report shows white and grey background incorrectly.

分类: Uncategorized 标签:

NAV2015 累计更新-16#

2016年2月28日 没有评论

发布版本号 Build No. 44973

发布日期 Release Date Feb, 2016

下载链接

更新项:

ID

Title

377567

The Paper Size Orientation property does not reflect the printer properties of the report being printed.

376159

Ways to split Sync-NAVTenant into multiple transactions

376989

Data encryption cannot be enabled in German Windows.

377102

You cannot copy a company to another tenant.

377771

The Dynamics NAV client crashes if you filter on @*.

377575

Cannot export to Excel from the Web client if the page has the SourceTableTemporary property set to Yes.

377767

The Windows client crashes when no printer is selected within a report.

377784

The Dynamics NAV client crashes when a report contains multiple references.

377560

Cannot select a dimension value from the list if the SQL Data Type property on the Code field is set to Variant.

377733

The URL returned from the GetURL function does not include the tenant ID parameter when using an alternative tenant ID.

377756

Invoke-NAVCodeunit always runs in the Dynamics NAV client time zone.

377558

You cannot scroll lists in the Tablet client in Chrome browser.

377188

OData $orderby desc (descending) does not work when used in combination with $top.

377772

Incorrect displaying of ‘&’ in an advanced filter on list pages.

377449

The borders are missing when reports are printed as PDF files from the Windows 10 environment.

377785

The Print Preview window opens in the background.

377835

A primary key that includes the DateFormula field creates duplicate records.

377880

If you customize some fields for a FactBox on a card page, the changes are not immediately propagated.

377974

The layout of the Customer Summary Aging report shows white and grey background incorrectly.

分类: Uncategorized 标签:

NAV2013 R2累计更新-28#

2016年2月28日 没有评论

发布版本号 Build No. 44970

发布日期 Release Date Feb, 2016

下载链接

更新项:

ID

Title

377369

If Window update starts while the Dynamics NAV server is waiting to reconnect to the Dynamics NAV client, then a memory error occurs.

377578

A record deleted from the Server Instance table is not re-inserted by the Dynamics NAV service.

377796

"The supplied column Id ‘0’ cannot be found in the query" error message when you use the Dynamics NAV debugger.

377518

The URL returned from the GetURL function does not include the tenant ID parameter when using an alternative tenant ID.

377559

Cannot select a dimension value from the list if the SQL Data Type property on the Code field is set to Variant.

377807

A primary key that includes the DateFormula field creates duplicate records.

377820

General journal template is not filtered correctly on the General Journal – Test report.

分类: Uncategorized 标签:

NAV2013 累计更新-35#

2016年2月28日 没有评论

发布版本号 Build No. 44969

发布日期 Release Date Feb, 2016

下载链接

更新项:

ID

Title

377476

Cannot select a dimension value from the list if the SQL Data Type property on the Code field is set to Variant.

377484

permission set is empty after it has been renamed.permission set is empty after it has been renamed.

分类: Uncategorized 标签:

Table 370的升级

2016年2月26日 没有评论

在上一篇介绍了NAV5升级到NAV2015, 这里接着介绍Table 370 Excel Buffer的升级。

我们知道,在Navision Classic版本(NAV2009R2以前)中, Table 370对Office Excel的对象是采用Automation方式进行引用,主要引用Excel.Application, Excel.Workbook, Excel.Worksheet等。这种对象引用方式在Office早期版本中广泛存在,对应VBS里面则是CreateObject(“Excel.Application”)。此方法要求需要运行Excel.Application对象的计算机安装有Office,并可以正常使用。

 

而到了NAV2013版本以后,自Office 2007版本以后,微软引入Open XML文件格式(即xlsx), 对应在NAV中访问Office对象也变更为使用Open XML SDK。无需安装Office即可访问并生成Office文档。因此, Table 370 Excel Buffer产生了相应的升级。

 

那么这当中主要产生了哪些改变呢? 下面以Report 82 Export Budget to Excel在5.0/2013中的代码做比较。

 

首先我们来看在NAV5中Report 82引用Table 370生成Excel的顺序:

1. 引用Table 370, 设置为临时表

2. 将需要输出的数据插入到临时表中。

ExcelBuf.INIT;
ExcelBuf.VALIDATE("Row No.",RowNo);
ExcelBuf.VALIDATE("Column No.",ColumnNo);
ExcelBuf."Cell Value as Text" := CellValue;
ExcelBuf.Formula := ”;
ExcelBuf.Bold := Bold;
ExcelBuf.Underline := UnderLine;
ExcelBuf.NumberFormat := NumberFormat;
ExcelBuf.INSERT;

3. 创建工作表,激活Excel

ExcelBuf.CreateBook;
ExcelBuf.CreateSheet(SheetName,ReportHeader,CompanyName,UserID2);
ExcelBuf.GiveUserControl;

 

那么在2013及后续版本中引用Table 370生产Excel的顺序是?

1. 引用Table 370, 设置为临时表

2. 将需要输出的数据插入到临时表中.

ExcelBuf.INIT;
ExcelBuf.VALIDATE("Row No.",RowNo);
ExcelBuf.VALIDATE("Column No.",ColumnNo);
ExcelBuf."Cell Value as Text" := CellValue;
ExcelBuf.Formula := ”;
ExcelBuf.Bold := Bold;
ExcelBuf.Underline := UnderLine;
ExcelBuf.NumberFormat := NumberFormat;
ExcelBuf."Cell Type" := CellType;
ExcelBuf.INSERT;

3. 写入Excel并保存

ExcelBuf.CreateBook(ServerFileName,SheetName);

ExcelBuf.WriteSheet(ReportHeader,COMPANYNAME,USERID);

ExcelBuf.CloseBook;

4. 如果需要用户前台打开,则驱动打开Excel动作

ExcelBuf.SetFriendlyFilename(STRSUBSTNO(‘%1-%2’,GLBudgetName.Name,GLBudgetName.Description));
ExcelBuf.OpenExcel;
ExcelBuf.GiveUserControl;

经过对比,我们发现,在第二步的输出ExcelBuf数据时, NAV2013中增加"Cell Type", 选项型: Number,Text,Date,Time,那么我们需要在传入数据时考虑设置默认值。我们观察到,ExcelBuf的函数AddColumn用于添加值,已经强制要求需要带有"Cell Type"参数,因此,我们可以在此基础上增加ExcelBuf.AddColumns,其参数保持和NAV5的参数一致,在AddColumn参数中将"Cell Type"强制为Text.

 

接下来我们看第三部的写入Excel, 在NAV2013中拆分成了创建指定文件路径的工作簿,再写入,而原来我们只创建工作簿,默认位于Temp路径下。那么这里我们可以增加函数ExcelBuf.CreateBooks,这里无需进行任何业务操作. 再增加函数ExcelBuf.CreateSheets和原来NAV5中的CreateSheet参数保持一致,而其代码如下:

ExcelBuf.CreateBook(‘’, SheetName);

ExcelBuf.WriteSheet(ReportHeader, COMPANYNAME, USERID);

 

这时,我们就完成了从NAV5—>NAV2013的Table 370升级,接下来添加函数修正正则表达式到TextFormatUpgrade2013.exe.config中。

ExcelBuf.AddColumn( –> ExcelBuf.AddColumns(

ExcelBuf.CreateBook –> ExcelBuf.CreateBooks

ExcelBuf.CreateSheet –> ExcelBuf.CreateSheets

 

欢迎大家到群中交流与讨论。

分类: Uncategorized 标签:

NAV5如何升级到NAV2015

2016年2月20日 没有评论

博主近期帮助完成了一项将NAV5.0升级到NAV2015的工程,下面简要分享升级过程给大家,欢迎到群内讨论。

本次升级采用的是基于NAV2015W1标准版本,移植来自NAV5.0的开发过对象方式升级, 首先根据原NAV5.0修改情况,生成升级清单列表,在列表中标记对象状态,Insert为需要新增,Modify为需要修改, Deleted为需要移除, Upgrade为需要升级。

 

1. 准备好NAV5.0原始环境

2. 安装NAV2015W1标准版本,启用中文包等

3. 将NAV5.0原始环境中的Insert对象(新增表(Table), 新增Codeunit 对象,通常对象ID为50000-99999)输出为txt, 并安装下面关键字进行替换.具体可以参考TextFormatUpgrade2013.exe.config

LookupFormID        –>        LookupPageID

DrillDownFormID        –>        DrillDownPageID

: Form                 –>        : Page

 

4. 在NAV2015中导入第三步的对象,如果遇到稍微错误,直接修改txt

5. 备份NAV5.0数据库,使用NAV2009R2打开,自动升级为NAV2009R2环境

6. 在NAV2009R2中将新增Form对象输出为XML, 并使用2009R2的TransformationTool进行处理, 生成Page

7. 将转换后的Page导入NAV2009R2, 不需要编译,再导出为TXT

8. 使用2013安装程序中的TextFormatUpgrade2013, 将page升级为2013版Page

9. 准备NAV2013W1标准环境,导入第八步升级为2013版本的Page, 然后再导出为fob对象,在NAV2015中导入

10. 在NAV2009R2中将新增Report, 生成建议Layout, 然后导出为TXT

11. 使用TextFormatUpgrade升级第十步导出的报表TXT, 在NAV2013中导入升级后的报表对象,并执行Upgrade,再导出为fob对象,在NAV2015中导入

12. Dataport不支持升级, 需要人工按照Dataport功能升级为xmlport或建立Page.

至此, 完成新增Table,Form—>Page, Report—>Report include RDL, Codeunit的升级.

 

13. 在NAV5.0中导出所有对象为txt

14. 恢复NAV5.0W1标准版数据库,并导出所有对象为txt

15. 使用Developers Toolkit, 简称NDT创建新的Version, 并依次序导入NAV5.0 W1标准版txt,以及当前NAV5.0 客制版txt, 利用NDT分析代码,获得差异列表。 F7可以快速定位差异。

16. 在NAV2015的环境中,根据对比的差异,完成对比代码移植(重点需要完成Table中的新增字段,以及字段宽度调整等).

17. 进行菜单移植, 在NAV2015环境中创建相应菜单. 导出NAV2015环境的所有对象。

至此,完成程序代码部分NAV5–>NAV2015,在NAV2015W1模拟数据下,已经可以初步运行系统(客制化不多的系统)。

 

18. 将NAV2009R2数据库,NAV2015数据库进行备份,接着在NAV2009R2数据库中导入对象Upgrade601800.1.fob

19. 运行form Upgrade – Old Version, 执行数据转换,完毕后执行删除对象(将移除Form,Dataport等2013不支持的对象). 备份此时的NAV2009R2数据库.

20. 使用NAV2013打开NAV2009R2数据库,强制升级。

21. 使用NAV2015打开NAV2013强制升级后的数据库,强制升级。

22. 导入第17步升级完成的所有对象,导入并覆盖数据库,Schema选择Force.

23. 在NAV2015下执行Page Upgrade – New Version, 再次进行数据转换

24. 在NAV2015的Development Shell下执行数据库Schema强制升级.

至此, 整个数据库从NAV5.0升级到NAV2015。

分类: Uncategorized 标签: