Quantcast
Channel: ArcherPoint Developer Blog
Viewing all 372 articles
Browse latest View live

ArcherPoint Dynamics Developer Digest - vol 124

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 124Developer Dude

The NAV community, including the ArcherPoint technical staff—is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Uploading Files to FTP Server Using .net Interop

In Suresh Kulla’s blog, he shares the code that will allow you to upload files to FTP using .net Interop. Suresh offers other posts on downloading files to FTP using .net Interop as well as moving files from one folder to another on an FTP server.

Dynamics NAV 2017 – ApplicationArea Property

Saurav Dhyani shares his thoughts on NAV 2017’s ApplicationArea property, explaining what it is, the impact on users, how developers can control it, and why it should be used.

Microsoft Discontinues Payment Services for Dynamics ERP

Microsoft announced that effective January 1, 2018, they will discontinue Payment Services and suggest that clients using Payment Services find an ISV solution or work with their Dynamics implementation partner to determine their options. Anyone currently using Payment Services will be billed maintenance only until January 1, 2018.

Dynamics 365 Field Service

The latest Microsoft Dynamics 365 feature includes a suite of field service management functionality. In this product brochure, Microsoft focuses on the future of field service, connecting it to IoT (Internet of Things).

Leadership Lines

What big decisions do you need to make to start living the life you want? This LinkedIn post from Will Marre might inspire you to make them.

Six Common Misconceptions About Teamwork

Want to be kept abreast of what's new in the Microsoft Dynamics NAV community and at ArcherPoint? Subscribe to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, check out our collection of NAV Development Blogs.

Blog Tags: 

ArcherPoint Dynamics Developer Digest - vol 125

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 125Developer Dude

The NAV community, including the ArcherPoint technical staff—is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Microsoft’s Vision for 2017

Conspicuous gives a rundown of Microsoft’s vision for 2017, which includes instant data visualization with Power BI and CRM, IoT (Internet of Things) for Agriculture, probabilistic programming, and autonomous AI.

Windows Server 2016 Compatible with many Versions of Dynamics NAV

Last October, Microsoft released the 2016 version of Windows Server, which offers new and exciting features. The Dynamics NAV team has been testing various versions of NAV with this latest server and has announced compatibility with Dynamics NAV versions 2013 through to 2017.

NAVIDE Error when Creating a Database from Powershell

Sowkarthika Rajendran shares this issue and solution:

Error:
Create-NAVDatabase : $NavIde was not correctly set. Please assign the path to finsql.exe to $NavIde ($NavIde = path).

At line:1 char:1

+ Create-NAVDatabase TESTDB

+ ~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException

+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Create-NAVDatabase

Solution:
Use -force option while importing module in Powershell and set $NavIde as shown below:

Import-Module "C:\Program Files (x86)\Microsoft Dynamics NAV\100\RoleTailored Client\NavModelTools.ps1" -force

$NavIde = "C:\Program Files (x86)\Microsoft Dynamics NAV\100\RoleTailored Client\finsql.exe"

Job Queue Error Alerts in Dynamics NAV 2016

Karen Wingard asks “In NAV 2016, what are the options for alerting someone that the Job Queue had errors?”

Faithie Robertson responds, “There's nothing that will do this automatically (including work flow triggers...boo!). But I have developed an email notification for this in the past. The e-mail address would have to be added to the Job Queue Entry table, and set for the person (or persons) to notify. When a record is being added to Table 474 Job Queue Log Entry, and the Status field is equal to "Error", a function is called to send an email to the e-mail address on the Job Queue Entry. I believe that was all I did. SMTP setup, of course, but that's it.”

Leadership Lines

These days, few people expect to work for a single company throughout their career. But what about the expectation that companies will remain in one industry forever? Is that, too, becoming an artifact of the past? Read “The End of Conventional Industry Sectors” by Norbert Schwieters.

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

 

ArcherPoint Dynamics Developer Digest - vol 126

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 126Developer Dude

The NAV community, including the ArcherPoint technical staff—is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Customer Statements in Dynamics NAV 2016

Are you upgrading to Dynamics NAV 2016? Jamie Jennings notes that if you are, you will want to visit the report selection setup in Sales Report Selection. You can now set a report for “Customer Statement” (not an option in NAV 2009). Once this is setup, you can then run the Customer Statement directly from the ribbon of a customer card.

When upgrading clients, this is almost always left blank during the merge and migration process, so be aware that you may need to add this to your script, or manually set it up afterwards.

Edit Customer Statement Report in Microsoft Dynamics NAV 2016
Figure 1 - Edit Customer Statement Report in Dynamics NAV 2016

Selecting the Customer Statement Report in Dynamics NAV 2016
Figure 2 - Selecting the Customer Statement Report in Dynamics NAV 2016

Missing Dynamics NAV 2017 Developer Files

Saurav shares that with the initial release of NAV 2017, the developer help files (the .chm files) were missing. Microsoft has now released Microsoft Dynamics NAV 2017 Classic Help. Download it using this link: https://www.microsoft.com/en-us/download/details.aspx?id=54315

Performance Testing on Dynamics NAV 2017

In this December post from Freddy, he gives a rundown of what performance testing is, and exactly how to go about setting it up for NAV 2017. Have fun!

PowerShellGet

In his recent blog post, PowerShellGet & Waldo’s PowerShell Modules, Waldo explains what PowerShellGet is, why it is important, where to find the PowerShell Gallery (including his PowerShell modules), and walks you through how to use PowerShellGet.

Leadership Lines

In this Harvard Business Review article, Michael Schrage talks about the possibilities of when we consider Reimagining Processes as Platforms, instead of optimizing them.

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

ArcherPoint Dynamics Developer Digest - vol 127

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 127Developer Dude

The NAV community, including the ArcherPoint technical staff—is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Microsoft Offering Windows 10 Upgrades for Free Again

That is, if you are a customer with a Windows subscription via the CSP (Cloud Solution Provider) program. If you are, and are a tenant admin, you can login to the Office 365 Admin Center with your Azure Active Directory admin credentials and you should see options to begin the process of upgrading your Windows 7 and 8 PCs and devices. Take advantage while you can, we don’t know how long this offer will last.

Matching the Dynamics NAV Session ID to the SQL SPID

This comes from the Microsoft Dynamics Community blog, where someone is trying to understand how to find a specific user that is causing a blocking error for another user. Unfortunately, there is no way to find out who the blocking user is, however a solution to remove the blocking user is offered in this post.

Microsoft Announces Changes to CfMD Requirements

As of January 2017, Microsoft’s CfMD (Certified for Microsoft Dynamics) program requirements have changed. Key changes include:

  • Removal of the “make escrow available to customers” requirement
  • Removal of “demonstrate support capability” requirement
  • Removal of “establish a profile on the Microsoft Pinpoint” site

The first two could be cause for concern for end users, as they will need to do a little more due diligence when purchasing ISV solutions.

Microsoft Flow: New Features and Templates

The MSDynamicsWorld blog article, New features for Microsoft Flow: New connectors and a profusion of templates, cites the Microsoft UK developer blog when summarizing the latest update to Microsoft Flow. Very interesting article on what’s new including 13 more services and 84 connectors to popular apps and services. Hint, search “Email” and then “Approval” just to get a taste of the templates available for Flow. (Note: login on MSDynamicsWorld required to read the full article)

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

ArcherPoint Dynamics Developer Digest - vol 128

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 128Developer Dude

The NAV community, including the ArcherPoint technical staff—is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Dynamics NAV 2017: Troubleshooting Error “Object of type Query with ID 1850 could not be found”

Many are getting into NAV 2017 and learning the ins and outs of this latest release from Microsoft. And, with all new releases, one may encounter an error message or two. Michael Heydasch came across this particular error and shares his insight after investigating the source of said error:

This post includes some troubleshooting steps when diagnosing an interesting error message that ended up having to do with extensions. Matt Traxinger said there are four extensions that ship out-of-the-box with NAV 2017, and if an object is referenced that is not visible or not accessible, your first look should be at extensions.

When validating the Buy-from Vendor on a new Purchase Invoice:

Error "Object of type Query with ID 1850 could not be found."
Stopped in Codeunit 1854 Item Sales Forecast Notifier
Codeunits visible in Object Designer stopped with 1817 (?) ... next available was 1900.
Codeunit 1854 visible in Page AllObj.
Table 2000000038 AllObj not available in SQL.

At a point shortly before the debugger stopped:

Function InitializeSalesForecastQuery had an IF statement:
IF NOT SalesInventoryForecastSetup.GET THEN
EXIT(FALSE);
SalesInventoryForecastSetup pointed to Table 1853. Again, not available.

Could not use Table 1853 as the SourceTable for a new page object, as the TableData was not available.

Could not write code to delete the record, as a variable could not use Table 1853, it was not available.

Could not write code using RecordRef, because TableData 1853 was not available.

Could not disable the Event Subscription, as the Event Subscription table is read-only, even in code.

After some research, I discovered an extension was in play.

Did not find a PowerShell command to list the NAV Apps installed.

Designed new Page object 50098 "NAV Apps" with SourceTable 2000000160 "NAV App"
Ran the page, found "Sales and Inventory Forecast"

PowerShell commands to remove the App/Extension:

PS C:\Windows\system32> Uninstall-NAVApp -Name "Sales and Inventory Forecast" -ServerInstance nav2017test

PS C:\Windows\system32> Unpublish-NAVApp -Name "Sales and Inventory Forecast" -ServerInstance nav2017test

After this everything was okay, we were able to validate the vendor on the purchase invoice. 

Saurav shares his two (I mean, three) cents:

  1. You can check a list of objects which are part of an extension using table "2000000150 - NAV App Object Metadata"
  2. I think if we don't want to use an extension we should uninstall it, not just unpublish it.
  3. For Install / Un-install we can do it from NAV Client (2017 onwards), using Page Extension Management (2500) - Departments/Administration/IT Administration/Extensions.

NAV 2017: Pop-up Notification when Exiting Unposted Orders

Gwen Britt asks, “Has anyone else noticed this cool new feature when exiting an order that hasn't been posted? You get a pop-up that questions, ‘This document has not been posted. Are you sure you want to exit?’ Anyone know how to make it stop doing that? It's driving me nuts. Thank you.”

Suresh Kulla informs, “You can disable those on Application Setup - Role Tailored Client - My Notifications.”

Microsoft Dynamics NAV 2015 Videos

Taking a step back a few versions, Microsoft has a plethora of videos on how to do things in Dynamics NAV 2015. Very cool!

Microsoft Knowledgebase Site Updates

Crystal Tollison shares, “For anyone who has tried to access the MS KB site, here is good news (I hope). I am sharing a reply from their helpdesk:

Just a follow-up on the KB dilemma. You should be able to download 'most' of the cumulative updates now by using the following link and adding the KB number on the end: https://support.microsoft.com/help/ 

So as an example, the KB number for Cumulative Update 13 for NAV 2016 is 3202891. The link would look like this: https://support.microsoft.com/help/3202891

If you need to find out the KB numbers, just go out to the NAV Team blog and search on the Cumulative Update: https://blogs.msdn.microsoft.com/nav/

Downloading was necessary because the KB site was down for a time.”

Leadership Lines

A thought worth pondering…
We have always done it that way
Figure 1 - The Seven Most Expensive Words in Business: "We have always done it that way"

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

 

ArcherPoint Dynamics Developer Digest - vol 129

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 129Developer Dude

The NAV community, including the ArcherPoint technical staff—is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Dynamics NAV Coding Best Practices? Not Really

Hey NAV Developers! If you found these things in code, would you cry? If you are new to developing code, maybe not (and that's okay for now). But, if you are no longer a NAV developer newbie, you may just cry. Especially if the code is being used by many companies. Tell us, which ones do you think are really important?

  1. Using "-- Separator --" to separate variables and functions
  2. Stating variable names with things like g, l, i, cu, var, etc.
  3. Using FIND functions instead of ISEMPTY
  4. Alternating between using GET and FINDFIRST on the same table
  5. Not doing a SETRANGE for all of the primary key fields before trying to check if a record exists
  6. Not using text constants
  7. Using text constants and requiring them to be the same across objects instead of using a setup table
  8. Using NOT (A = B) instead of A<>B
  9. Using double negatives (NOT Disabled)
  10. Using integers instead of options as parameters and return values (IF Status() = 8 THEN...)
  11. Using = TRUE in a conditional
  12. Defining variables as global instead of local
  13. Defining a field that is supposed to be the same in two tables with different types
  14. Naming variables that contain values that don't match the name
  15. Leaving in unused variables
  16. Variable names and function names abbreviated to the point that you can't understand them
  17. Lots of code on pages and duplicated across pages
  18. Functions that do more than one thing
  19. Using FINDFIRST instead of FINDSET
  20. Record variable names that do not match the table name

Share your thoughts in the comments below! 

Can You Undo a Posted Inventory Pick in Dynamics NAV?

Gwen Britt posed this question to the team. Rick Dill replies,

“Hi Gwen,

It has been awhile since I have gone through the sequence of testing Undo Shipments, but my recollection is that once warehousing is turned on, you are not able to "undo."

When you post an Inventory Pick, the order has been shipped (as you know). In NAV, because warehousing complicates the whole "Undo Shipment" process (like what bin should I put it in once I undo it) NAV pretty much considers "Undo Shipment" an illogical process.

So unless something has changed recently, the answer is no. Sorry for lots of words to just say no!"

Gwen quips, “Thank you for the response, Rick...albeit, a little long winded...geez ;-)”

NAV 2017: Issue With the New Template Approach on the Item Card

Rick Dill has been playing around with NAV 2017 and shares this:

The issue occurs when you use a template with a blank Base Unit of Measure field. MS will now default a base unit of measure for you, but there is a problem in that it is not being validated, so the Item Unit of Measure entry is not made, and therefore the Purchase and Sales Unit of Measure is not populated. It saves the value in the Base UOM field so it looks like all is well even if you close and reopen the page.

To make matters worse, because the XREC doesn't "change," even typing the defaulted value doesn't do anything.

The first proposed solution is to make sure your templates have a Base Unit of Measure, because then things work fine.

I also received the note below from MS regarding the status:

Hi Rick,

It is being reconsidered for fixing. My Escalation Engineer made the following recommendation to add at the very least a validation on the Item Unit of Measure, since the development team said they had reason for purposely adding code to auto populate the Base UoM when it is blank. This is not the official fix, just a recommendation/workaround. If you remove the code in grey and add the code in green, the validation takes place when a blank Base Unit of Measure gets auto populated with ‘PCS.. They may also just end up rewriting this entire section of code. You can try the recommendation if you’d like to or wait for the official word from Development.

Table 1301, Function InsertItemFromTemplate

IF Item."Base Unit of Measure" = '' THEN BEGIN

UnitOfMeasure.SETRANGE("International Standard Code",'EA'); // 'Each' ~= 'PCS'

IF NOT UnitOfMeasure.FINDFIRST THEN BEGIN

UnitOfMeasure.SETRANGE("International Standard Code");

IF UnitOfMeasure.FINDFIRST THEN;

END;

//Item."Base Unit of Measure" := UnitOfMeasure.Code; <<Commented out this line of code

Item.VALIDATE("Base Unit of Measure", UnitOfMeasure.Code);//<<Added for potential fix

END; 

 

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

ArcherPoint Dynamics Developer Digest - vol 130

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 130Developer Dude

The NAV community, including the ArcherPoint technical staff—is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Slow Inventory Reports – Is Date Compression an Option?

A client that has over 10 million item ledger entries accumulated over a 10-year period approached Alan L. They cannot run any inventory reports in a timely manner. They have requested that we show them how to use date compression on the ILE table. I understand that this is not good practice. (Correct me if I am wrong, but Microsoft does not encourage this.) He asks the team, “What other options do we have?”

Darren suggests, “SQL Perform Data Archiving.”

Matt T. argues, “This falls into the performance issues area, and the first thing that is always suggested is data archival. That may or may not be the best thing. Ten-million records is nothing to SQL Server. More information needs to be gathered. What version are they running? What is their hardware setup? Which reports are they having issues with? Data archival isn't cheap and in a lot of cases it makes sense to use that money on better hardware or a better reporting solution.”

Christine states, “One option would be for them to upgrade. The newer versions deal with this better and the upgrade will automatically reduce the database due to the dimension change. Darren is right regarding SQL Perform as an option. The upgrade team also has the ability to do date filtering on certain files to reduce the file size.”

Kyle H. notes, “It depends on which inventory reports. We (ArcherPoint) have used a SQL version of the Inventory Valuation and Inventory Reconciliation to G/L. These are not SQL Server Reporting reports, they simply use SQL for the valuation heavy lifting, populate a temp table, and then a normal NAV report does the presentation.”

Jon pipes in, “ILE cannot be archived (IN PART). It is all or nothing and even then, requires attention to the GL, Value Entries, etc. Ten-million is nothing. I've seen 180 million and even 1.4 billion with an adj. cost process taking a few hours. SQL Perform cannot compress ILE's or Value Entries. SSD drives should be considered first, before any other discussion.”

Scott says, “I agree with the comments that we should first understand the need. Some companies think it's just a good practice to delete old data after a period of time when it really isn't necessary. In older versions of NAV issues popped up with date compression on ILE's. I do not recall specially, but I believe examples would be things like choice of costing method along with using the location code, lot code, or serial number. We've always coached customers not to do this due to the risks.”

Finally, Chris warns, “I’m pretty sure that this would cause problems for Adjust Cost, at least for those items that have average cost as the costing method. I know that this was removed as an option in version 5.0 as there were a lot of problems with it. Back in my Navision US days, we told the resellers to stay away from it, it was bad news. I found this article which goes into some of the issues.”

Have you run into this issue before? How did you remedy it? Please share your experience in the comments below.

Leadership Lines

This quote from Simon Sinek on LinkedIn caught the eye of several of us here at ArcherPoint, enough to share with you, our Dev Digest readers:

“A culture is strong when people work with each other for each other. A culture is weak when people work against each other for themselves.”

And one more:

The quality of a leader
Figure 1 - Leadership Qualities

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

ArcherPoint Dynamics Developer Digest - vol 131

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 131Developer Dude

The NAV community, including the ArcherPoint technical staff—is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Code Coverage in NAV 2016

This is an older post, but one of our developers gave it a bump in our social media feed “because it’s cool.” So cool in fact, we felt compelled to share again here. If you have been developing in Dynamics NAV for a while, you may recall that the code coverage tool went away in version 2013 and then came back in version 2016. Learn how to access code coverage in NAV 2016 by reading Suresh Kulla’s blog post. Code coverage is a great tool to help easily debug code.

Microsoft Revamping MVP Awards Program

If you are interested in obtaining the highly coveted Microsoft MVP designation, you will want to look at the latest changes in the continuing evolution of the MVP Award program. Microsoft is going for more agility in recognizing contributors to the community. The blog includes a video announcing this change and more, plus links to nominate yourself (or someone else) and what it is all about.

Microsoft SQL Azure Increase in Write Performance

Brian Winfrey was elated to share this tidbit from Jan Engelsberg: Microsoft is increasing Read and Write performance in Azure SQL database. These performance increases may help those moving to the cloud save even more money. If you want to read more about Azure and the impact on Dynamics NAV customers, check out our blog post on why you may never need to buy another NAV server again as well.

Who Needs a Warehouse?

Matt Street asks, somewhat sarcastically, “Given the direction of Amazon 3PL services, and how they will be so efficient (and drive the cost down), why would any company need their own warehouse except maybe to stage inventory to send to Amazon? Why would I maintain a warehouse, and pay people to send out small consumer packages? Just to make sure everyone is aware, a company can take an order however (phone, fax, email, website) and then instruct Amazon to fulfill it for them with (my companies) inventory located in the Amazon FBA warehouse. Amazon FBA is not just for things that are sold on Amazon.com!”

Matt will maintain his prediction, that Amazon will rule the distribution world, and asks, “How many have been impressed that Amazon has gotten the USPS to deliver packages on Sunday?”

Leadership Lines

A word of caution to companies placing too much emphasis on employee engagement. Being engaged at work is not the same as being productive.

 

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

ArcherPoint Dynamics Developer Digest - vol 132

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 132Developer Dude

The NAV community, including the ArcherPoint technical staff—is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Agile versus Waterfall – Stop the Argument Already

Suresh shares this article stating that the Agile vs. Waterfall Methodologies Arguments Must Stop. Max Bondorovsky believes that the days of implementing a system that will be around for decades are limited because the world is changing at a much faster pace, and that we as partners must evolve with it. Max pleads, “Why must it always be about the methodology?” He urges us to focus on the people, culture, and attitude.

It’s a great read that I’m sure will spark a response in you. It did for Matt T, and he shares in response to Max’s quote, "I do believe that the days of implementing a system that will be around for decades is no longer true, the world is changing too fast, we need to continuously improve and evolve with the market and the industry."

He adds, “Everyone needs to take that to heart. It's not that the companies that are willing to spend money and resources to make NAV work the exact way they want it to will go away. But, they are becoming the exception, not the rule. People (and companies are made up of people, don't forget) just want to buy and go. They go out of their way to avoid calling someone for help. We need to figure out the best way to serve these types of companies in addition to what we already do well.”

Cloudfare Shares

Chris Ross shared this extensive article from Cloudfare, reporting on an incident due to a parser bug that caused a memory leak. Talk about integrity. A company, sharing intimate details of a major issue – what happened and why, who it affected, everything – without being prompted. If we could all be this forthcoming when we make mistakes, what a different world it would be…

Leadership Lines

Well, not really a great article on leadership, but a little funny for your Friday. Wally (Dilbert) is born for the job of maintaining his company’s legacy system.

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

ArcherPoint Dynamics Developer Digest - vol 133

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 133Developer Dude

The NAV community, including the ArcherPoint technical staff—is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

How to Configure the Excel Add-In in MS Dynamics NAV

Microsoft Dynamics shares on their YouTube channel a demonstration of how to configure the Excel Add-In in Microsoft Dynamics 2017. It includes the prerequisites, creating the app in Azure management portal, granting access to the app, OAuth2 configuration, and the NAV server configuration.

Dynamics NAV 2017: Update Item Inventory from Item Card

Saurav asks if the ability in NAV 2017 to update item inventory from the item card is a feature or a bug in his latest blog. Check out his post and weigh in from your customer’s point of view whether this is a feature or a bug.

Dynamics ERP by the Numbers

Our friends at ERPSoftwareBlog.com share how many companies use the various Microsoft Dynamics ERP products, at least the most recent numbers available. NAV wins!

Object Metadata Table Lock when Compiling Objects

Tom Hunt shares an issue when trying to do an object compile with only 10 tables. The error message is below, stating, “The Object Metadata table cannot be changed because it is locked by another user. Wait until the user is finished and then try again."

MS Dynamics NAV Development Environment Error: Object Metadata table cannot be changed
Figure 1 - Dynamics NAV Development Environment Error: Metadata table locked

The error states that this can be caused by one of the following tasks:

  • Objects are being compiled.
  • Table schema is synchronizing.
  • Objects are being imported.

Tom explains, “I’m the only user in the database. I just restarted the SQL Server service and all the NAV service tiers, so I'm not quite certain what would be causing this. Does anyone have any ideas?”

Suresh asks Tom which version, and suggests if in a new version to try sync-schema from Tools.

Tom replied that he is working in NAV 2015 and wasn’t aware of the sync-schema tool. Unfortunately, the sync-schema, nor turning off all service tiers, nor restarting SQL resolved the issue.

Bill W suggests, “You could try to see what has the lock and is blocking. I use this method, from the Using SQL Server Extended Events to Produce a Blocked Process Report blog, which is more accurate than checking activity monitor.

That SQL Command turns on the logging. Instead of using the report they setup, just open up SQL Profiler and then pick the Blocked Process Report. That should tell you what has a lock on the table.

Blocked Process Report from SQL Profiler showing what is locking the table
Figure 2 - SQL Profiler's Blocked Process Report

SSRS versus RDLC Reports

Michael Heydasch shares that he recently wrote SSRS (SQL Server Reporting Services) reports for a client that needed visibility into more than one company. In doing so he discovered that SSRS is true RDL (Report Description Language) that includes the query needed to gather a dataset, whereas Dynamics NAV is RDLC (Report Definition Language Client-side) and the dataset is expected to be provided.

Leadership Lines

For those practicing Agile in any capacity, Jon Long reminds us of the Manifesto for Agile Software Development:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

ArcherPoint Dynamics Developer Digest - vol 134

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 134Developer Dude

The NAV community, including the ArcherPoint technical staff, is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

The NAV Developer Blog is Back

Last month, the Microsoft Dynamics NAV blog announced that the NAV Developer blog is back in action as a place for Dynamics NAV “supporters” to share tips and tricks when working in a supporting role for the Dynamics NAV community.

Starting with the newest version of the NAV Diag tool from the Coffee Break team, and lists of NAV CU builds for supported versions, and a new Performance Tooling series, with the promise of much more to follow.

Microsoft Dynamics NAV Cumulative Updates Available

Here’s a list of the latest CU’s available for Dynamics NAV:

Best Practices for Install and Configuration of MS SQL Server for Dynamics NAV

The documentation on Installation Considerations for Microsoft SQL Server and Microsoft Dynamics NAV has been updated with information on recommended settings for SQL Server 2012, 2014, and 2016.

The documentation contains recommendations on topics such as storage and recommended disk block size, virus scanning, memory, and much more.

Submitting Requests for Improvements to Dynamics NAV

Don’t forget about the Microsoft Dynamics NAV Forum, where you can submit, comment, and keep track of questions and suggestions for improving NAV.

Dynamics NAV Certification Exams

The Association of Dynamics Professionals is in the process of splitting up the original NAV Install and Deployment Exam into two separate exams (Core Installation and Advanced Installation) partly to recognize the complexity of NAV installations and the direction of the product. Be on the lookout for more information from Dynamics Pro in the coming months.

Leadership Lines

HBR’s Great Teams Are About Personalities, Not Just Skills post dives into some of the key factors that are important to have cohesive teams. Going beyond what Google studies have shown regarding emotional intelligence and communication between team members, this article delves into the importance of personalities, role within the team, and of course, whether or not your core values are in alignment.

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

ArcherPoint Dynamics Developer Digest - vol 135

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 135Developer Dude

The NAV community, including the ArcherPoint technical staff, is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

A Crazy Uncommon Dynamics NAV Error

Tom Hunt reports, “I ran into a crazy NAV 2017 error today that needs to be broadcast. I was calling COUNT on a record variable, and I got an error message saying, ‘The [table name] already exists. Identification fields and values: [primary key fields].’ (Specific table names are unimportant, as this could happen with any table.) Matt Traxinger explained to me that this was happening because I had an INSERT operation try to insert a record that already existed, but I didn't get the error on the INSERT because the INSERT didn't get sent to SQL until I tried to do a COUNT on the same table and the NAV server had to go talk to SQL. The moral of the story is to keep in mind that in NAV 2017, the NAV server waits to do SQL operations until absolutely necessary, so keep that in mind while you're coding. (Thanks, Matt!)”

Matt replied, “Slight correction, this has been around for a long time. I want to say since 5.0, but maybe 2009. It just isn't something that you run into all that often.”

Another Interesting Dynamics NAV Error

Gwen Cain shares her experience with the error “Page # contains several Actions with the same ID - #. Redesign the page to remove duplicate Action IDs.” This error was thrown from page 254 when the user clicked the Post action. The error did not occur when the user’s User Personalization Profile ID was blank, but when she was assigned a User Personalization Profile ID. The error occurred on the Post action. When Gwen checked page 254, duplicate Action IDs did not exist. She did some searching and found a solution on the Microsoft Dynamics NAV Users forum that helped resolve the issue. She had to delete the offending record in the User Metadata table to remedy this issue. She’s not sure why the record was created in the first place, but now you know how to fix it should you run into this error.

Power BI Latest Improvements

Jason Taylor shares the latest update to Power BI, noting that the new matrix is pretty cool, as is the report theming. 

I also recommend that you check out the custom visuals for Power BI in the Microsoft Office store.

Leadership Lines

Here’s some things to think about:

HBR’s article, Pressure Doesn’t Have to Turn into Stress and Fast Company’s Beyond the 80/20 Rule: This Formula May Make You Rethink Time Management.

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

Microsoft Dynamics NAV User Setup Table and the Myth of Security

$
0
0

User Setup Table, Security, and Dynamics NAV

The Myth of Security in Microsoft Dynamics NAV - User Setup Table

When did adding a check box to the User Setup table become the defacto way of adding custom security to Dynamics NAV? It seems as though this has been the standard for as long as I have been in the industry (over 11 years) and it has just never made any sense to me. Let’s explore some of the reasons why it’s a bad idea to set up security this way and look at an alternative.

Dynamics NAV already has a method to control security. Roles and permissions are part of the standard product. They can control whether or not you can create customers, post purchase orders, and many of the other NAV operations. It also makes sure that no one can get in there and assign permissions to themselves and they can’t assign permissions to other people that they don’t have themselves. Most companies do not have correct permissions set up for the User Setup table, but even if they did, those users with access should not be able to grant themselves permissions that they don’t already have.

Using the User Setup table for security also creates confusion about how to give someone permission to perform an action, as there are multiple places to control those permissions. Unless you are skilled at reading code or the developer has created an above average error message you have a 50/50 chance of going to the right place.

I understand why this became the norm: it has thought to be a faster and more cost effective solution. But, that’s not true either, especially when you reuse code.

This simple function can do the exact same thing:

AccessControl is a Record variable pointing to the Access Control table.

HasPermission(RoleID : Code[20]) : Boolean
AccessControl.SETRANGE("User Security ID", USERSECURITYID);
AccessControl.SETRANGE("Role ID", RoleID);
EXIT(NOT AccessControl.ISEMPTY);

And it can be used:

IF NOT HasPermission('SUPER') THEN
  ERROR('You need the SUPER role to perform this action.');

You will probably want to put SUPER into some sort of variable and use a text constant to hold your error message. Also, note that this is different depending on the version of NAV that you are using. This is every bit as easy as adding a checkbox to the User Setup table and is a much better to way to add custom security to some of your processes.

For more helpful hints on getting the most out of Dynamics NAV, please visit our website. Be sure to subscribe to our blog and newsletters, so as never to miss update. 

ArcherPoint Dynamics Developer Digest - vol 136

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 136Developer Dude

The NAV community, including the ArcherPoint technical staff, is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Microsoft Dynamics NAV Server Error on NAS

Kyle shares an important safety tip: “If you are running in NAS and using .NET variables, make sure that the property RunOnClient is No.

There is no client in a NAS, only on the service tier side. And the error message that you get when the NAS entry fails isn't very helpful. What the heck is a client callback?”

The error reads:

Microsoft Dynamics NAV Server attempted to issue a client callback to create a DotNet object: System.IO.File (CodeUnit 50000 HLS Functions). Client callbacks are not supported on Microsoft Dynamics NAV Server.

Brian asks, “Isn’t the client callback when a user interaction box is instantiated?”

Kyle responds, “My code didn't generate any user interaction. It was a simple file open, process, close algorithm. And as soon as I changed the .NET variables to RUNONCLIENT=NO, it started working fine. That was the only change I had to make.

Brian then asks, “What if it was a .NET or OS dialog box, like an OK for replacing an existing file? IDK, just guessing.”

Suresh chimes in, “You get client back error whenever a window is opened, it could be an error message box, confirmation box or window to choose the file path.

By default RunOnClient is No for .NET variables unless you want to run the component on the windows client.”

Kyle replies, “I still say if it were something user interface, it would have died running in a NAS even with runonclient=no.”

Suresh agrees, “True, whether the runonclient is yes or no if there is any window open the process will fail, but when you set RunOnClient property to yes I know there will be a dialog box which will open to get the permission, whether to run the component or not. I am thinking that might be the issue in your case.

I may be wrong this could be the cause. See Kauffman’s post, NAV Client Needs Permission to Run External Component.”

Microsoft Shares the Dynamics NAV Development Tools Preview

In this post by Microsoft, they share the latest updates to the NAV development tools including reordering columns with drag and drop functionality and report application objects now supported using new syntax to allow for inclusion in your extensions.

Leadership Lines

Here are this week’s articles we hope will inspire you:

Don’t Sell a Product, Sell a Whole New Way of Thinking

How to Accelerate Learning on Your Team

Enjoy and we’ll see you again here next week!

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

Rethinking Dynamics NAV Object Versioning

$
0
0

Dynamics NAV and Object Versioning

Microsoft Dynamics NAV MVP developer's thoughts on version tags

I have been rethinking a lot lately of what I know about Dynamics NAV development. When I started this career, 11 years ago, it was my first job and I simply accepted the way of doing things. The people I worked with had been doing this longer than I had; they knew more than I did, so I followed along. As I have gotten older, and not necessarily wiser as many of you may say after reading this, I have started to challenge some of what I learned.

Version Tags

For example, what do we actually get from a version tag on a NAV object? We can tell that someone has modified the object and we can avoid errors when importing fob files into another database. These are the two things we are supposed to get by versioning our objects, but do we actually?

Well, no, we do not.

A changed version tag on an object does not mean that the source code, properties, or anything else about the object has been modified. The converse is also true. The lack of a version tag does not mean that the object is unmodified. Using the version tag alone I cannot tell anything about the history of an object.

When performing an upgrade I do not rely on the version tag to tell me which objects to merge. Moreover, once the version tag has changed all links to how that object has changed over time are lost (at least when looking at the version list). There is only one thing that tells me if an object has changed for sure, and that is a comparison to the base object.

Import Worksheet

That leads us into the second use of version tags: the import worksheet. The import worksheet works by checking the modified flag on the existing object and the version tags on the new and existing objects. Generally this works fine, but we should be honest with ourselves about what we are doing here. We are assuming that code we are importing contains all of the code in the current database, plus our customization. We do not know that for sure. And, I am not sure that I am ok with that anymore.

We live in a world where it is extremely easy for any person with the appropriate permissions to modify NAV. A development license is not needed to add fields, change properties, create objects, etc. And, let’s be honest, we have all seen databases where production was modified directly. The modified flag may help us in those cases, but not the version tag.

I am left wondering why we do this. I think the version tag is outdated and even when it is used it does not provide detailed enough information to be useful. Without detail, a version tag of “XYZ” means just as much as “XYZ10.00.001”.  Without detail, a version tag of “XYZ” is useless.

What are your thoughts? 

Please let me know if you agree or not by commenting below. You can also contact me directly.

If this topic interests you, be sure to subscribe to our Dynamics NAV Developer blog.


ArcherPoint Dynamics Developer Digest - vol 137

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 137Developer Dude

The NAV community, including the ArcherPoint technical staff, is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Adjust Cost and Post Cost in Microsoft Dynamics NAV

Greg starts the conversation with this question:

“Has Microsoft made changes to the Adjust Cost/Post Cost since Version 5 which allows it to continue processing if it encounters an error or does it still error out and roll back to the beginning?”

Michael took a quick glance at R795 Adjust Cost - Item Entries and C5895 Inventory Adjustment and noted they reveal no COMMIT. “A large process without a periodic COMMIT at just the right points causes large overhead on the SQL Server to track the total transaction. I don't think it would take much time to write a batch process for the Job Queue that would add a COMMIT for every item.”

Rick adds one minor update to this discussion: “A new concept was added in 5.0 (I believe) called Inventory Periods. One of the most common Adjust Cost error issues was the user did not have the ability to post back to a previous period, so the job would stop because of the posting date error.

With Inventory Periods turned on, this is no longer an issue. If Adjust cost needs to update a transaction in a previous periods (where G/L Setup does not allow the user to post to), then NAV will post the adjustment on the first day of the first open period.

This greatly reduces the number of errors that occur when running adjust cost. Most posting group/dimension related issues should have been dealt with when the transaction posted originally, so would only be an issue if someone has deleted that setup since the original transaction was posted.”

Later, Rick provides an update: “I am following up with Microsoft. I just tested in 2017, and inventory periods is not working the way it has historically worked. I created a receipt in 08/30/18, closed the Inventory Period. I then walked through the persons example where I left the posting open in August and posted the invoice in September. I received an error saying the inventory period was closed.

I then set my posting on both G/L and user setup, and tried to post in September, but got the posting date not in range (because it was trying to post back on 08/30. So I have sent in a support request to MS asking if they have changed Inventory Periods because what it is doing now is not good. I would have to open it up so it would let me post back into August, which defeats the purpose of Inventory Periods.”

And finally, Jon gets to the bottom of it. “In 2013R2 and greater, I've experienced results which suggest that Commits are happening after each Item is processed. I proved that by adding errors after each item for testing purposes on long running items (unrelated project). The item in question took hours to process. I was surprised to find that, when running the same item again, it took seconds. An error would typically result in rolling back all DB inputs, unless a Commit occurred, implying here, that a Commit indeed does occur during the Adj. Cost process.

I tracked it down to a Commit buried somewhere in one of the codeunits. The Commits are not obvious and are not in the usual Adj. Cost reports or codeunits, i.e., ‘R795 Adjust Cost - Item Entries and C5895 Inventory Adjustment.’

Also, I didn't note the codeunit that had the Commit as I wasn't concerned about it at the time. My intention was to ADD a Commit after each xx items, but, it turned out to not be necessary, since, MS has obviously already added them somewhere in the process.”

Leadership Lines

Consensus? No, Good Decisions Require “Respectful Disagreement”

At Toyota, “respectful disagreement” is one of the tenets of the Toyota Way. Toyota’s goal is to foster a culture in which diverse views get freely expressed, because they consider every worker’s own individual perspective to be an important ingredient for strengthening corporate decisions. The saying at Toyota is:

If two workers always agree, then one of them is redundant.

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

ArcherPoint Dynamics Developer Digest - vol 138

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 138Developer Dude

The NAV community, including the ArcherPoint technical staff, is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Microsoft Won’t Support Certain Intel CPUs

In Windows 10 LTSB (Long-Term Servicing Branch), Microsoft won’t support Intel Cannonlake and Coffee Lake CPUs, as reported by Digiworthy. Users running these CPUs will need to have a regular Current Branch (CB) Windows 10 version. The issue is being discussed internally, with no resolution as of now.

Team Foundation Server and Visual Studio 2017

A stripped down version of Visual Studio is available for free. Bill Warnke notes that this only has functions for accessing source control functions and work items.

Configuring Visual Studio to Use Your Program of Choice

Bill Warnke shares his favorite program (and recommended), Beyond Compare, when configuring Visual Studio to use your Diff/Merge program of choice. You’ll need to configure Visual Studio for both a compare and a merge.

Extension: .txt
Command: C:\Program Files (x86)\Beyond Compare 4\BComp.exe
Compare Arguments: %1 %2 /title1=%6 /title2=%7
Merge Arguments: %1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9

Beyond Compare is a multi-platform utility that combines directory compare and file compare functions in one package. You can use it to manage source code, keep directories in sync, compare program output, and more.

Power BI Desktop: April Feature Summary

Microsoft introduces Quick measures (an update to Quick Calcs), data connectivity and query editing updates, and an innovative new way to add columns in your query editor. Additionally, the matrix preview has been extended.

You can see the March Power BI update here.

Leadership Lines

When we tell people to do their jobs, we get workers. When we trust people to get the job done, we get leaders.

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

NAV Coffee Break: Dynamics NAV 2017 Database Locks Viewer Page

$
0
0

NAV Coffee Break: Dynamics NAV 2017 Database Locks Viewer Page Developer Dude

How many times has this happened to you…you are working in Dynamics NAV 2017 and ready to save the customer record you have been editing and NAV gives you an error message? It says it cannot save the record because that record is locked. It can be maddening. This short video walks you through how to determine who has locked the record. Once you know the “who” you can take this information and figure out the “why” so you can get back to your work.

 

You can view this video and many other video tutorials for Dynamics NAV at ArcherPoint's YouTube Channel.

For your convenience, a transcript of this video follows:

Hi everybody.

I just wanted to show you today how the NAV 2017 database locks viewer page works.

Of course, in order to do that I have to first set up a lock.

So, I've done that through a little set of code and locked the customer table.

It'll unlock when I click this so we're going to hold off on doing that.

I'm going to come into another version, or instance, of the NAV 2017 client and I'm going to just edit the customer record.

So, let's just change his name a bit and try to close out of that.

And, as we see, we're being delayed while I try to operate within the lock... and can't.

The operation could not complete because a record in the customer table was locked by another user.

Ah! Go figure. Okay.

So, if we come into the development client and we use tools, debugger, database lock, it will show us who has locked the table and the code unit that was running and the number that is locking that table.

And now, what would we do if you're in a large company and you have a hundred different people and you're seeing job after job get locked?

When you see this one which is locking the sequel lock request has been granted, then you would go to this person and maybe not, you know, cause bodily harm, but you would probably inquire "Why are they running this? And how long will it take? Is it going to finish soon? Could you run it after hours?"

Those kind of conversations can happen to make sure that the database locks don't continue.

And that's all for today.

Thanks for watching this ArcherPoint video. If you found it helpful, make sure to check out our website and blog at www.ArcherPoint.com. Additionally, if you have any questions regarding our products, services, or information in this video, feel free to email us at info@archerpoint.com

Thanks.

Blog Tags: 

ArcherPoint Dynamics Developer Digest - vol 140

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 140Developer Dude

The NAV community, including the ArcherPoint technical staff, is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

UTC Setting on Web Services for eCommerce Sales Orders

Ed asks for a little advice regarding the UTC setting on web services. “From what I have read UTC time is the desired setting on services. All date time logic should convert to the local date time. What I have noticed is on sales orders entered through Sana Commerce via web service, we are getting undesirable results.

Orders coming in after 7:00PM on 04/11/17 will get an Order Date of 04/12/17. That is the result of standard NAV code on INSERT of an order. The system believes WORKDATE is 04/12/17. I have a user field created that also fires on INSERT for date/time entered using CURRRENTDATETIME. It returns 04/11/17 7:00PM. Also on the INSERT it triggers a separate field called Time Received is populated on the same trigger with the TIME function. It returns 1:00AM instead of 7:00PM. All manually entered orders are fine.

The issue, in addition to a wrong Order Date, is that orders entered through Sana Commerce after 10:00AM will then use a TIME five hours later when running calculations for Promised Delivery. Because 3PM is the cutoff for next day delivery, the system will calculate the following day. So, for example, if a medical company ordered on Tuesday AM before 3:00 they would expect delivery Wednesday. If their order comes from Sana Commerce at 11:00 the TIME is 6:00PM and they miss Wednesday delivery. Can and should the Services Default Time Zone be changed?”

The answer Ed found to work is changing the setting to "Server Time Zone," which corrected all of the issues. He also found out that functions like CURRENTDATETIME will work with UTC and always converts to the local time. Functions like DATE or TIME will not. So a sales order entered through a web service would get the standard NAV code of "Order Date" := WORKDATE and pick up the incorrect date of 04/12/17 when a field like "Date/Time Entered" would get 04/11/17 8:51 PM. A corresponding field populated with TIME would get 1:15 AM.

Converting C/AL Code to AL

A number of new features were introduced in the NAV development environment last month, per the NAV Blog from Infoma. Of note is C/AL code now being called “traditional” and at long last “Where used” is being introduced. Author Tobias Fenster walks you through his first conversion of C/AL code to AL.

Microsoft Trashes Spaghetti Code

In his LinkedIn article, Jeff Landeen shares his excitement that Microsoft has finally gotten rid of spaghetti code in Dynamics NAV core processes. We agree that this is cause for celebration!

Dynamics NAV Performance Tooling

This post busts the myth of the “SmartSQL Bogeyman” who sometimes shows up when snooping for massive queries to pinpoint performance issues.

Localize Objects with PowerShell

In this blog, theDenSter explains how to localize objects with PowerShell and VSCode, using PowerShell to extract the correct objects and merge them, and then use Visual Studio Code to resolve conflicts in the merged code. This blog is the second in a series. If you missed it, the first on how to create a NAV environment with PowerShell is worth the read.

Leadership Lines

"When dealing with people, remember you are not dealing with creatures of logic, but creatures of emotion." 
- Dale Carnegie
 
"When a person applies enthusiasm to their job, the job will itself become alive with exciting new possibilities." 
- Norman Vincent Peale

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

ArcherPoint Dynamics Developer Digest - vol 141

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 141Developer Dude

The NAV community, including the ArcherPoint technical staff, is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

End of Support Years for Dynamics NAV

In case you haven’t seen this in a while, the end of support by Microsoft for Dynamics NAV by year:

  • 2018: NAV 2013 and NAV 2013 R2
  • 2020: NAV 2015
  • 2021: NAV 2016
  • 2022: NAV 2017

Of course, many partners will continue to support older NAV versions beyond when Microsoft stops. Just know that the partners cannot get support from Microsoft on these versions after the posted year.

Dynamics NAV Developer Resources

Dynamics NAV Architecture Question – Reports

Question

Assume you are working in a modern (2015 or newer) version of NAV, if I run a report that goes through a lot of data, something like an Inventory Valuation, where does the data have to go? Is it just between the SQL server and the NST? Or, does some or all of the dataset have to come to the RTC because that is where the report RDLC is being done?

Asked another way, if I am running the RTC far away from my NST, over a slow internet link, will that make my report run slower?

Answers

A1: The only data coming back to the client would be the resultant data set while 2-tier it would be any data coming back from SQL. This is why you'd see the 'out of memory' errors on older RCLC reports with really large data sets.

Yes, it could make it slower. Some options might include pairing the data set down and doing more processing NST side, via remote desktop or remoteapp.

A2: Agree. If it's NAV 2017, you might look at the new Task Scheduler feature where a report can be queued up by the user and delivered as PDF via e-mail. Another option is subscription-based SSRS, again where a PDF could be e-mailed.

A3: As I understand it, the resultant "dataset" is a compressed xml file. I don't think it would cause much of a problem unless your slow internet connection isn't even good enough to host RDP protocol. The out of memory errors for RDLC was from 2015 and older when RTC was 32-bit, if the uncompressed dataset was larger than ~1.7GB, it would crash, 2016 and 2017 have 64-bit RTC.

Response: This is 2016 so everything is 64 bit. The actual report that I'm having performance problems with winds up sending 200 pages of output. That is why I am concerned about the slow link between the RTC and the NST. I get that the actual dataset stays between the NST and SQL server, but that 200 pages has to move to the printer somehow.

Do you have anything to add to this conversation? Post in the comments below and we’ll keep you informed!

Leadership Lines

The Chick-fil-A way of Handling a Complaint: customer service at its best!

Acting Quickly Without Sacrificing Critical Thinking: another great blog from Harvard Business Review.

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 
Viewing all 372 articles
Browse latest View live