Quantcast
Channel: ArcherPoint, Inc. - Developer
Viewing all 388 articles
Browse latest View live

ArcherPoint Dynamics NAV Developer Digest - vol 165

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 165Developer 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 Docker and Dynamics NAV

The buzz in the Microsoft Dynamics NAV developer world is all about Dynamics NAV images now available on Docker. While this is super cool for developers, some of our other readers may be like me, a layperson, looking for a more basic understanding of what this really means. From the ArcherPoint Yammer thread, we get this:

Jim: For the laymen among us, can you provide a short explanation of Docker and what it brings to our party? I went to the Docker website and it is a bit obtuse to say the least.

Matt: Here is my poor man's explanation, which I may not explain well…Imagine our customer. They have a SQL Server, a NAV Service tier, and clients installed in miscellaneous places. Today we remotely connect to their servers to do development. The future looks different for how we develop for and support these customers.

Docker is a container manager (not at all like our containers modification). Each container holds something, like a piece or set of software. When you want to do development, you launch a new Docker instance and configure what you want (or use a preloaded configuration). So maybe you want SQL Server 2012, with NAV 2013 CU12, with a Job Queue, the development tools, and Visual Studio. Each of those things might be a container, and they stack to build an environment in seconds / minutes.

Then we do our development, deploy it to the user's test environment through the service tier, test it in a web client, and release it. All without ever logging into their system.

Kyle: Think of them as miniature virtual machines that are very portable. You can take the same system (in this case, Windows Server 2016 Core with SQL Express and NAV 2018) loaded into a Docker image, publish it on the internet (as Microsoft did with this announcement), and then easily download and run that Docker image. The Docker image can also be put onto several different platforms. It can run locally on Windows/Mac/Linux (with the Docker application), or on AWS, GCP, or Azure without any modification. It's the portability and the publish/subscribe model that make them useful.

Jim: This helps (a little). I am guessing that there is potential time and cost savings for those managing apps that run in and are deployed in different environments. And these apps can be quickly reconfigured for various permutations as well. Correct me if I am wrong here.

Suresh: Docker is a tool to create and work with containers, whereas Container is lightweight alternate to Virtual Machines, containers are kind of a replacement to Virtual Machine whereas Virtual Machine uses its own operating systems and resources, but Container uses the resources of Host Operating System and it is very quick and easy to spin up a new software.

They are used for deployment of our application and to have uniform environment in DEV, TEST, and PROD Systems. For example if the development team used version NAV 2013 R2 with cumulative update 20, and when they deployed into test the user got an error related to a command which was introduced in CU 20 because the TEST system is running NAV 2013 R2 with Cumulative Update 19, to fix the issue we need to change the code or upgrade the TEST System. Whereas if we use Docker to create a container with all the dependencies and the software which are used for the development and distribute it and then the same container can be used in all our environments which will avoid those kind of dependency errors. It will also help us to spin various versions of NAV using container without conflict and the deployment size is very small compare to Virtual Machines.

Jon: The future is here! And it's magical. Referencing It Has Never Been Easier blog by Freddy.

Kyle notes: There are a few tricks if you want to run this in a VM, since you have to convince the guest OS that it is running on actual metal rather than in a VM and references the How to Run Hyper-V Nested in VMware Workstation article.

What is your experience with NAV on Docker? Tell us in the comments below!

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.

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

Read more "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 166

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 166Developer 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.

Appending a Document to a Printed Purchase Order in Dynamics NAV

Kyle: I have a customer that needs a large extra page of Terms and Conditions to be appended to a printed Purchase Order. This extra page is an entire page of 6-point font legalese. I currently have that stored as a PDF in a BLOB, and then right after the report prints, I have the system print the PDF. This works fine for printing, but not so well for attaching to an email since you wind up with two separate files.

I can't figure out a way to inject a PDF into a SAVEASPDF report.

So I am thinking of switching the PO report layout to Word, converting the Terms and Conditions from PDF to Word (so the BLOB is now a Word document), and then using DotNet Microsoft Word calls to combine the two and generate a single file.

Thoughts? Commentary? Personal insults?

Michael: Does the PDF have to appear with a particular format, or is it just raw text that could be read from a table and appended as an extra data item on an extra page of the report?

Kyle: It has to appear in a particular format. Parts are bolded, parts are italicized. And it is enough text that even if I could ignore the formatting, I'd have to make it BIGTEXT and somehow parse out each line and hope it wraps correctly.

Suresh: One way is to store the file in the specified format in a specific location as PDF, so that it is easy to modify the file if needed and then use the merge tool to merge the PO report PDF with that file. See this thread on adding another page on a PDF file.

Bill: If you paired the Blob Text Set and Get functions with an HTML Placeholder on the report, that might get you what you need, see Waldo’s entry on HTML on Reports.

Not sure about an HTML text editor to edit the text in NAV, but I've seen various add-in controls over the years. At worst, you could cut/paste the HTML out of a WYSIWYG editor.

Tom: I did something like this for a client some time ago, but I didn't have to deal with special formatting like bold/italic fonts. I did it by putting all the terms/conditions in a table, and then looping through the table and putting the text on a line. There was also a "Line Break" Boolean that let the invoice report know that it needed to break before a line. But with special formatting, you might just have to make it an image and then print that.

Kyle: I managed to get the two documents combined into one using DotNet and Word, but Word's PDF converter isn't 100% accurate, so it mangles the layout a bit.

I am going to have to cave and turn this into an image.

How about you, NAV developers? Have you run into this need? How did you deliver your solution?

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.

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

Read more "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 168

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 168Developer 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 Report in Microsoft Dynamics NAV 2009 Takes too Long to Run

Tom: Does anyone know about the Adjust Cost-Item Entries report to help me out with a problem a client is having? The issue is that there are a handful of items that have so many Value Entry records that Adjust Cost-Item Entries does not run in a timely manner. (I've been running the report for my test item for over five hours, and I'd estimate that it's not quite halfway done.) Is there a way I can tell it to process some of the activity for an item instead of all the activity? Is there something else I can do to speed it up? Any advice is helpful.

Matt: Average Costing? Adjust Cost has gotten better over the years and I see they are still on NAV 2009. You could get someone to look in SQL to see if there are any recommended indexes to add or remove. Generally, it should not take five hours to process an item every time. So if they are running it regularly there's not an issue.

Kyle: Doesn't the process mark Value Entries as it goes along so it does not have to do as much work the next time it runs? Maybe the process isn't completing correctly. If you run the report by hand, you can specify some filtering like locations or item number ranges.

Tom: It is not that the report is taking five plus hours to process every item; it is that it is taking five plus hours to process a few specific items, and I need to get those specific items processed.

It's one of those things where they have a shipping charge that's put on the order as an item, and so it goes on nearly every order, and then Adjust Cost has to grind through every order to get the adjustments made. (Side note: I wish customers would use Resources or G/L Accounts or really anything other than items for this.) 

Kyle: So write a small bit of code that runs adjust cost for a single item and run that during off-hours. Once it makes it through successfully, it should not need to touch those five-hour entries again.

Tom: If it were only that simple. By my estimate, the item that we're having trouble with will take 20+ hours to run Adjust Cost. Is there a way (or would there be any damage) if I could tell Adjust Cost to go after a specific number of Value Entries for an item?

Kyle: Someone smarter than me would have to answer that question. The only safe and sure way that I know is to find that 20 hours. All day Sunday, the next holiday, something like that.

And suggest they get a better server.

Jon: This is an age-old problem for customers. Modifying the report has not given performance increases relative to the amount of time it takes to make the modifications and analyze the data (it goes beyond the report and the data). I have made modifications that allow running a single Item (with COMMIT after a certain range as desired). That is just a band-aid, but it does log time metrics per item and can give insight into what items are actually causing issues. Even that can be a red herring. The customer will get very frustrated if you spend 40 - 100 hours with little performance gain. Unfortunately, I know this from experience.

What has worked for me:

  • Upgrading to the latest version of NAV
  • Upgrading the drives to Solid State (or better)
  • Upgrading the CPU speed (fractions can give dramatic increases in performance)
  • Upgrading to SQL Server Enterprise (I know it's expensive, but so are you)
  • Running the Adj. Cost nightly
  • Ensure proper VM Farm Resource Allocation (this can be huge)

So, when I am tasked with a request to solve a long running Adj. Cost report, and I've seen 48+ runtimes, I always ask stupid questions about their VM farm to determine if they have properly allocated their resources. And by stupid I mean I prod them until they reveal exactly how they've allocated their VM's. You'd be surprised at how confident a Senior Level Sys Admin can be until you prod them, only to find that they overlooked something obvious, like allocating 380 GB of RAM to the SQL Server, when the physical server only has 286, or they have a version of SQL Server that can't even use half of what is allocated. Brian Winfrey can help in this area.

Kyle: I think a key point is still getting lost. Correct me if I am wrong, but I though that once Adjust Cost had churned through its 20+ hours and made whatever corrections, that the next iteration would be much faster. It doesn't have to go back and look at every single value entry each and every time. So I still think if you can get it to run once and correct whatever 20 hour thing is out there, then you can turn it on nightly and it will stay caught up without taking too long.

Jon: You would think so, but, when it get's really bad, there's nothing you can do except try the suggestions I stated above. Customer A and Customer B, for instance. Before they upgraded their system, the Adj. Cost would take 40+ hours. If they run it immediately after it finishes it's 40 hour runtime, it takes a few seconds. But, at the end of the week, it churns for 40+ hours. For some reason, Customer A didn't want to run it daily, Customer B ran it every night, manually, and it would take 10 to 12 hours. They would kill it before users start their day, rolling back to the last item processed. They would catch up on the weekend, running it for 40 hours. There was literally not enough time in a week to run it fully every 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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

ArcherPoint Dynamics NAV Developer Digest - vol 169

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 169Developer 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.

Did You Miss Microsoft Tech Days?

If so, you can now view the NAV Tech Days 2017 Application SaaSification video on YouTube. Additionally, MSDynamicsWorld’s Jason Gumpert wrote a nice summary of what NAV developers are most excited about with the upcoming modern development tech in his article Dynamics NAV Developers Celebrate Broader Microsoft Tech Landscape (login required).

Dynamics NAV Cumulative Updates for November 2017

Sowkarthika shares the latest updates for Dynamics NAV from Microsoft:

Cumulative Update 12 for Microsoft Dynamics NAV 2017 (Build 18976)

Cumulative Update 25 for Microsoft Dynamics NAV 2016 (Build 49424)

Cumulative Update 37 for Microsoft Dynamics NAV 2015 (Build 49425)

Cumulative Update 49 for Microsoft Dynamics NAV 2013 R2 (Build 49431)

Cumulative Update 56 for Microsoft Dynamics NAV 2013 (Build 49426)

Dynamics NAV Developers Collaborate in Real-Time

Suresh shares Visual Studio Live Share, which enables developers using Visual Studio 2017 or Visual Studio Code to collaborate in real-time.

Bill is intrigued: “Wow. The collaborative debugging is pretty wild.”

Processing-Only Reports in Dynamics NAV

Kyle: Nav 2015+: I did not know that processing-only reports do not have to have a data item at all. You can put code in either the Pre or Post Report triggers, but it gets you a free request page if you need to prompt for something. See C83 as an example.

Suresh: Many of the processing-only reports are like that, even in older version we have those. For example Copy Sales or Purchase document reports, Carry out function report for requisition.

Code Question of the Day

Kyle asks a “silly code question of the day.”

If I do this:

FOR X := 1 TO STRLEN(SomeString) DO BEGIN

Does it call that STRLEN function every time it goes back to the top of the FOR loop?

Matt T: Yes, because there is no guarantee that the length of SomeString did not change within the code inside of the loop. When you write it as a WHILE loop it's easier to see that the condition needs to be re-evaluated each time through.

X := 1;

WHILE X <= STRLEN(SomeString) DO BEGIN

X += 1;

//If I did this it would cause the initial stored value to be incorrect

//SomeString := COPYSTR(SomeString, 2);

END;

Kyle: Since I know the string will not change, this would be more efficient than my initial code.

Y := STRLEN(SomeString)

FOR X := 1 to Y DO BEGIN

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

Refactoring to Dynamics NAV Events...Now

$
0
0

Refactoring to Dynamics NAV Events

Refactoring Dynamics NAV customizations to Events

To say there is a lot going on in the world of Dynamics NAV would be an understatement. However, it would also be a moot point as there is always a lot going on in the NAV world. However, now more than ever, I am urging a refactoring to events movement. And, not to incite panic, but I would do it now before it is too late and you are forced to do it.

Change is Coming

In the spring of 2018, NAV Cloud will be released. The name is yet to be determined. NAV2018R2, Tenerife, Navision, it does not matter. The important point here is that in this version of NAV, C/AL will be an option, but will eventually go away completely and AL will be the code base. Visual Studio (VS) will be the development environment and base NAV code will be locked down completely. (Note, this is yet to be confirmed and in fact will not be the case in the near future.) In the interim, it seems highly likely that we will be able to code in both AL and C/AL against the same code base.

In addition, in VS, you develop against what MS is calling a "package." It is essentially your base NAV/Addon code all packaged up as a set of assemblies and available in Visual Studio. It is still unclear to me now, but releases will be extensions for sure. I am just not sure about the release strategy for custom extensions. Will each customer have one extension of hundreds? We will see. It may be personal preference.

Update from Microsoft

The idea of a “package” and “locked down code” was disturbing to us at ArcherPoint. Therefore, I submitted a ticket to MS. They do state, "NAV will not be locked", but then later state "likely including the rules you mention not to modify core parts of NAV except via extensions." Those statements are up for interpretation as far as I can tell. I am waiting for clarification.

Clarification from Microsoft

"Of course things can change, but at least currently this is the status: we will continue to have the current development environment, and partners will continue to be welcome to build vertical solutions and customizations as they have so far. The environment may change, especially the current development client as this is based on the old NAV client, but then the same features will just move into another environment, and NAV will not be locked as far as customizations are concerned.

What will change is that we will have new offerings over time. Hosting NAV in the cloud opens up for new economies of scale, and this is where we will have a range of options, from individualized customized solution for a specific customer, to standard-solutions that will fit lots of customers, and the option to choose of course will decide at what price we can sell.

So as a partner you can stay with the current model. Or set up your own hosting solution on Azure, and you will still have full control. Or, if you go with some of the new offerings where MS hosts all or part of the platform/infrastructure, and then take the restrictions and options that come with this, likely including the rules you mention not to modify core parts of NAV except via extensions. On the other hand, this method brings economies of scale, so opens up new opportunities and new markets.”

The only thing that I can say for sure is that there will be new options and new choices to make, but this will more be business choices than tech choices, and at least for now there are no plans to take away any options including the option where you customize NAV for one specific customer. Only to introduce new options.

More from Microsoft: "There are no plans to stop partners from modifying NAV. But you can see it as an option to transform gradually and get your developers used to using Extensions when possible, which will also have a side effect of making upgrades easier. So it should be more of a journey than a hard point in time when you must move from one way of doing things to another."

Maybe things will not be changing as radically as we had feared. Nevertheless, I would still say it is better to refactor to events sooner rather than later.

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

Read more "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 170

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 170Developer 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 2018

NAV 2018 has been released and available for download. You will find the various country versions here as well as a plethora of other resources for Dynamics NAV 2018 including this list of system requirements.

Shrink Your Database with this SQL Script

Our friend Mark Brummel shared this on LinkedIn:

When you work a lot with CRONUS databases to test, develop, and train you have noticed that they always have FULL recovery model and it eats up your disk space. This link has a SQL script that changes all user databases to SIMPLE recovery and shrinks the log.

Defining Labels in a Dynamics NAV Report

Kyle notes, “I learned something new today. In a report, you can define Labels which are a quick and dirty way to get text constants into a report layout without having to define Text constants and then add them to the dataset. They show up in Visual Studio as Parameters. See attached screen snaps. They also support multiple languages.”

Set Parameters in Visual Studio Code for Dynamics NAV report
Figure 1 – Visual Studio Parameters

Figure 2 - Report Label Descriptions
Figure 2 – Report Label Descriptions

Figure 3 - View Labels
Figure 3 – Development Client View Labels

Suresh responds, “If you are using data item column and want to use that caption then IncludeCaption on the column can be set, which is available in the same Parameters.”

“System.Out Of Memory Exception” Issue on Inventory Valuation Report

Adrian reaches out for assistance: Is anyone aware of any hotfix or solutions to solve the "System.Out Of Memory Exception" issue for the inventory valuation report in NAV 2013 R2? A client has a customized report based on the NAV inventory valuation report and the issue occurs from time to time. The report may work pretty well sometimes, but if the As-Of-Date changes, the report first gives the out-of-memory error and then it is printed with issues (the data is not correct, the title is missing, etc.). Thanks for your help in advance!

KC responds: Have you looked at the dataset for the report?  I'm wondering if more lines are being sent to the report and the report is totaling them. 

If that is the case, then total the lines in the code and only send the total to the report. That will save memory and increase the speed of the report.

Darren chimes in: Have you reviewed the NAV 2013R2 Cumulative Update summary that Sowkarthika Rajendran published? It would list all the little hotfixes and patches fixed.

Adrian found the hotfix, update rollup 1 for Microsoft Dynamics NAV 2013 R2.

Dynamics NAV 2018 – NAV Easy Security Update

Gwen provides an update for NAV Easy Security:

The NAV 2017 code has been tested and works when compiled in NAV 2018. Field Level and Data Security works in the same manner as before. Mergetool will deliver the permission sets two months after the NAV 2018 release date from Microsoft.

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 171

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 171Developer 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 Development Preview – December 2017

Updates include the AL Formatter, which gives you the option to format your source code automatically; Show My Code, which specifies if the source code must be visible when other extensions debug it; and a new property called UsageCategory, which specifies how objects will appear in search results.

AL Extensions: Importing and Exporting Media Sets

This blog covers some of the changes with Extensions v2; specifically working with media and media set file types. Changes are covered and streams are introduced.

How to Connect SQL Server Management Studio to NAV 2018 on Docker

This is a quick how-to article that shows how to connect SQL Server Management Studio to a Dynamics NAV database on Docker.

Setting Up Power BI Without Using Azure AD

Ginny asks, “Does anyone know if Power BI can be setup without using the Azure AD?”

Saurav responds, “There are two ways:

  1. We can have Power BI Desktop, which the developer uses to develop the report. This can also be used to run reports.
  2. I think we can use Power BI without NAV on Azure. If I am not wrong, we were using Power BI in our internal NAV instance before we moved to Azure.

But by using any of the above ways Power BI cannot be integrated inside Dynamics NAV.”

He continues, “Ginny, I don't think it is possible to setup Power BI without Azure AD. I am assuming they have local AD to manage users and groups. There are options to sync up local AD with Azure AD, but for power BI to work you need to have Azure AD. Here are couple of articles explaining it, Understanding Azure Active Directory and Azure Active Directory and Power BI.”

Trick for Reducing the Memory Usage of Images on Reports

Kyle notes, “I cannot claim credit for this trick. I found it in one of Suresh Kulla's reports, so credit goes to him.

If you have an image in a report, that image will get stored on every single record of the resulting dataset. If your image is large, say an entire page of Purchase Order Terms and Conditions at 1200 dpi, you don't really want it on every dataset row. It will consume a lot of memory and make the report slower.

In your main data item OnAfterGetRecord, do something like this:

RecordCounter += 1;
If RecordCounter > 1 THEN
CLEAR(Image);

Then just make sure your RDLC does a First(Image).”

A Trip Down Memory Lane

Erik shares a bit of nostalgia with us on DUG in his article, “My New Love Affair with an Old Flame.”

Just How Many New Objects are in NAV 2018?

Saurav says “lots.” Curious? See his post, NAV 2018 – Lots of New Objects!

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 172

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 172 ArcherPoint's Developer Digest Weekly Blog

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 Wow Factor of Dynamics NAV 2018

The blogosphere is abuzz with many articles on NAV 2018. Roberto Stefanetti shares the things that made him say “Wow!” about NAV 2018, now that the release is generally available. In a nutshell, most impressive for end users are:

  • User personalization and web client, including ability to position freeze panes
  • Preview reports on the web client
  • Excel reports menu option in the ribbon menu
  • User tasks
  • Embedded Microsoft Flow

And for the technical / developer users:

  • Choose your development environment (C/SIDE and C/AL or VS Code and AL)
  • Extensions 2.0 publishable / installable
  • Default and Service Language
  • Change server without restart
  • Obsolete state for tables, fields, keys
  • PowerShell cmdlets
  • Universal App and Windows 10 Continuum
  • ASP.NET core
  • OData V4 bound actions

Check out the full article for all the details. Login to MSDynamicsWorld required.

Establishing Inventory Periods

Alan reaches out to the team with this issue:

“I am working with a customer, and trying to institute Inventory Periods for them. The problem is that in 2008 they deleted a bunch of Items. Now my understanding is that NAV goes through and removes the Item Number from the Item Ledger and Value entries.

I am getting an error trying to close an Inventory Period, because an item has been deleted.

Is there any magic or voodoo to work through this error? Have you encountered this and can you advise me on how to setup and use Inventory Periods, even though quite a few items have been deleted?”

Kyle responds, asking, “Have you confirmed that you actually have entries that have a blank Item No.?”

Gwen chimes in, “Just a casual, quick thought. What if you give her what she wants? If Navision wants an item number, give it to her. Can you import a null item record, and rename it so it grabs all the deleted item data?”

Kyle responds, “That is why I'm asking about the actual entries. Either they are blank, in which case I'm not sure what you do. Create a single item card and then set all of the blank entries to be owned by that one item, close your period, and then put them back to blank? If they aren't blank, you'll have to create each missing item number. A developer may help you on your quest.”

Alan answers, “Yes I do have Item Ledger and Value entries with no Item Number. I will try Gwendolyn's suggestion, but it may be onerous, as there are about 72k without items.”

Farewell to 2017

I just want to say thank you for your readership and wish you all a most prosperous 2018!

Happy New Year Everyone!

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 173

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 173 ArcherPoint's Developer Digest Weekly Blog

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.

Can I Run NAV 2015 (and earlier) on Docker?

Suresh asks the question and shares Freddy’s answer in his blog post.

Bill W. wasn’t successful the first time and replies “Huh, I'll have to try again, I was getting errors trying do a 2015 container.”

Suresh: Try the latest CU or above CU 7.

Bill: I was doing CU 16 and then the latest. Had to isolate an issue with the latest CU so this was a total pain to have to install into a new VM. Have you done this successfully?

Suresh: Yes, but I had trouble with RTC needed to troubleshoot. Dev client and webclient are working fine. You need to make sure you have generic image downloaded.

I even got RTC working when I use the container IP address, I might have to update my host file to use the name.

Bill: Tried again, I had to unblock the zip file before I extracted it.

Updating Currency Using Currency Exchange Rate Web Service

Roger asks, “I’m looking for information on Updating Currency using the Currency Exchange Rate Service. It looks like NAV introduced this in 2016. Does anyone have any experience with it?”

Alan L responds, “It appears that YAHOO no longer offers a free service for the currency updates. As a result Microsoft found another service: Float Rate.

Attached is a RAPIDSTart package and Instructions to set this up in a 2017 database. I have tested this in a test environment, and it seems to work well.”

Helle shared a RapidStart package that creates a Currency Exchange Rate Service called FLOATRATES and a Data Exchange Definition called CURRENCY0002. She wasn’t sure why, but it also creates CURRENCY0003 and links that one to FLOATRATES. In order to correct, "Data Exch. Def Code" field in Curr. Exch. Rate Update Setup must be updated accordingly (i.e. CURRENCY0002 instead of CURRENCY0003). FYI, the field is not on the card by default.

Another "interesting snafu": TryFunction works differently in NAV2017 vs. in NAV2016. The way currency exchange rates now get updated with FloatRates (because the URL returns all currency codes vs. Yahoo Finance, where the URL only returned values for the currency codes in the company), it is necessary to use codeunit 1280 Map Currency Exchange Rate from NAV2017 if you're using NAV2017 executables.

Apparently, there's also a parameter on the service that can be changed from its default value, so TryFunction will work in "2016 mode." I did not try to change that.”

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 174

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 174ArcherPoint's Developer Digest Weekly Blog

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.

Multiple Discounts in Dynamics NAV

Adrian asks, “NAV selects the highest sales line discount among the multiple effective sales line discounts covering a sales line. Is there a way to add sales line discount on the top of another on the same line? Thanks for your ideas in advance!”

Todd replies, “…one of our clients has something like this but you have to add a new table to hold the multiple discounts for each line. You then sum up the discounts in this new table to arrive at "Line Discount %". We can review if you want. It's a little involved. Maybe others have done something easier.”

Michael adds that another client has customizations for an interface with a 3rd party discount application. He explains, “Records are pushed into a custom table in NAV. The Job Queue runs a codeunit that "sums" the multiple, active discount records into the Sales Line Discount table.”

How to Print Dynamics NAV Code

Bill shares How to print (like on real paper) from Visual Studio Code and from Dynamics NAV C/AL.

Dynamics NAV Table Relationship Diagrams: Two Sources

Adrian shares that he found a website for a free NAV 2016 table relationship diagrams

Bill adds that by right clicking on a table in Prism and picking "Explore Table Relations" gets you something similar. He elaborates, “If our customer's Master branches are up to date in source, you'll have what this offers plus all of the customization.”

Packt Books and Videos Now on Sale

Suresh found on Twitter that every Packt eBook and video are only $5. Time to grab a book and do some learning! 

KC notes that they provide a free daily book from PacktPub, but it is temporarily unavailable while the $5 sales is going on. Make a bookmark for future reference. 

Standard Cost by SKU in Dynamics NAV

Sherry has a client looking to implement standard costs by SKU and asks if we ever done this customization for another client.

Rick Dill states that he does not recommend it. “Standard Cost by SKU is a huge modification, and to be honest should be avoided. Let me make a partial list of the things that would be involved:

  1. NAV does not let you store BOM and routing by SKU so you cannot have different bills or routing by SKU/location.
  2. NAV does not store the "single level and rolled up" cost fields by SKU, these fields are important, as they are used to calculate variances. (Note there is a roll process on the Item card that would need to be changed as well to make sure it updated the SKU card.)
  3. The standard cost roll from the standard cost worksheet is the only way that costs should be rolled and implemented (to make sure inventory is revalued correctly). The standard cost worksheet is not designed to accommodate location/variant differences in cost (in part because of points 1 and 2), so the cost worksheet would need to be modified to accommodate cost by variant.
  4. Maybe the most significant reason of all is that the transfer process/logic is not designed to handle different costs per SKU. NAV would not know how to handle the cost change between location/variant when it is transferred, Keep in mind that the transfer process must move from one location to another, and the costs must remain the same. Therefore, a modification would need to be made to know what cost element had changed, (material/labor/overhead/subcontracted/MFG Overhead), and then logic would need to be added somewhere that would generate G/L entries to account for the cost difference, and where the difference should post.
  5. Production Order variances are calculated during the "Change Status" to finish, and adjust cost entries would need to be changed to know how to calculate the variances and post the variances based on the fact that the Cost elements are stored on the Item card, not the SKU card (which would have to be changed if there are different costs).

This is such a huge change, and really changes the core of the financial logic of NAV, that I have never suggested to a customer that they go this route. The integrity of the costing logic is so interweaved, that it is almost impossible to find every place that the code would need to be changed.”

Do any of our readers know of an ISV solution for this request? If so, please comment below.

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 175

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 175 ArcherPoint's Developer Digest Weekly Blog

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.

NAV 2017 Item Sales Statistics Report Issue with Breakdown By Variant Filter

Gwen C: Has anyone ever looked at Report 10135 Item Sales Statistics in NAV 2017? No mods have been made to the report. There is a filter to choose “Breakdown By Variant” when you execute the report. When I click the filter before I execute the report, all detail goes away but I can see through watching in debugger that the Item Variant code is being executed and data exists. If I don't click the filter, I get detail by Item. Any help would be appreciated. Thanks. 

Kyle: That sounds like something a CU might have addressed. Since they are cumulative, you can get the changed-object list for the application update from the latest CU and delta the code. 

Setting Up a Maximum Quantity for Line Item Discounts in Dynamics NAV

Adrian: Is there a way to set up a "Maximum Quantity" for Sales Line Discounts? For example, a line discount would only apply to a sales line with quantity of 12. If the quantity is 13, 12 of them would get discounts while 1 is still charged with the regular price. Thanks for your ideas in advance. 

Trish: I don't think there's a way to do this without a modification. The standard Sales Line Discounts functionality has a Minimum Quantity field that can be used to define 'layers' of discounts based on the document Quantity.

However, the logic simply looks at the Quantity vs. the Minimum Quantity and, if met, populates the Line Discount % field on the sales document line. It's not cumulative, where you can say at 12 calculate a 5% discount and on the 13th unit ordered calculate a zero % discount. There may be an add-on that does this, or perhaps we've already written something similar for another client that I'm not aware of. 

Adrian: Hi Trish, thanks for your ideas. I added a field "Line Disc Increment" to the Item Card to set the number of increment, and a field "Max Line Disc Qty" to the sales line to indicate the Maximum Quantity (calculated based on the increment) to which discounts would be applied. For example, the increment for item is 12. When we put 25 quantity on the sales line, the 5% discount is applied to the quantity of 24, and the total discount amount is $113.4 (24*94.5*5%). The line amount is $2249.1 (24*$94.5*95%+1*$94.5). 

An Odd Positive Pay Request

Gwendolyn: Positive Pay export: does anyone know how to filter out manual checks so they are not included in the Positive Pay export? 

Kyle: I think that may have to be a code change, or just suggest a different payment journal batch for each payment type. But why wouldn't you want manual checks included? The bank will still want the Positive Pay confirmation before processing the payment.

Gwen: I was thinking the same thing. Why wouldn't the bank want those as well? The client says they do not, but it's not sitting well with me. 

Developer Quip of the Day

Kyle: Programming is like writing a book, except if you leave out a semicolon on page 127, the entire story makes no sense.

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 176

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 176 ArcherPoint's Developer Digest Weekly Blog

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 Security, Customer and Vendor Updates

Gwen Brit shares:

Here's a little heads-up related to security and functionality. In version NAV 2017 (and only NAV 2017) there is a piece of code that updates the Customer or Vendor address on their Card if the address fields are blank and you enter an address on their Sales or Purchase headers, respectively.

In other words, if you create a Customer Card and intentionally leave the address blank, then create a Sales Order and fill in the address information on the Sales Header, without prompting, NAV will update the Customer Card with the address from the Sales Header. If the order creator does not have permission to modify the Customer Card, they will receive a permissions error.

Here's the code from the Purchase Header Table (38), the OnModify trigger:

OnModify()
UpdateVendorAddress;

LOCAL UpdateVendorAddress()
IF Vendor.GET("Buy-from Vendor No.") THEN
IF NOT Vendor.HasAddress THEN
CopyBuyFromVendorAddressFieldsFromPurchaseDocument(Vendor);

IF "Pay-to Vendor No."<> "Buy-from Vendor No." THEN
IF Vendor.GET("Pay-to Vendor No.") THEN
IF NOT Vendor.HasAddress THEN
CopyPayToVendorAddressFieldsFromPurchaseDocument(Vendor);

Therefore, if the Vendor does not have an address, it tries to update it with what was put in the Purchase Invoice, even if nothing is there. It is important to note that this feature was removed in Dynamics NAV 2018.

Statical Prism

Statical Prism is an easy-to-use productivity tool that offers benefits for just about anyone using Dynamics NAV. Dynamics NAV consultants, developers, QA consultants, supporters, and architects, download Statical Prism today.

Microsoft Dynamics NAV Changes in Service Tier

In Saurav Dhyani’s recent blog, he compares the changes in the Dynamics NAV service tier between NAV 2017 and NAV 2018 and details the changes on each tab within the service tier: General, dDtabase, ODATA, Azure Active Directory, Task Scheduler. He also gives a rundown of what’s in the new Development tab.

Dynamics NAV SQL Server Support Matrix

Kyle notes that Microsoft released their support matrix for SQL Server 2017 versus versions of NAV. Kyle explains, “I upgrade my local server from 2016 to 2017 without any issues at all, running against five different builds of NAV. The summary is that 2015 through 2018 are supported.”

Dynamics NAV 2016 and NAV 2017 CRM Online Connection Failures

This applies only to these two versions of Dynamics NAV. You may need to apply this hotfix due to the security protocol for CRM Online services being updated to TLS 1.2.

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 178

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 178 ArcherPoint's Developer Digest Weekly Blog

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.

Having Trouble Setting Up SQL Server 2016 on Docker?

We thought others might have the same issue Tim had setting up his server on Docker, so we’re sharing this internal conversation here for your benefit:

Tim: Hey all, I've been looking into Docker myself, but I'm puzzled what I'm missing when building my own Server 2016 to run Docker.

First, for background, I had begun on Azure and was able to load Tenerife and the first release of NAV 2018 with no problem. However, building my own 2016 server (on my VMWare), I'm running into domain problems. Currently I'm looking into gMSA. Does anyone know what Azure has that I'm missing in my own server 2016 build?

Kyle: Without knowing what your actual problem / error message is, not sure how to help. I have 2018 running in my own local Docker container

Windows 10 -> VMware 12 -> Server 2016 -> Docker - Server Core 2016 with NAV 2018

Tim: We'll drill in. I'm getting the following SQL Server error or errors: 18452,"28000",[Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.

I am able to ping the container by name and IP. I installed SSMS and am able to access the NAV db using the IP address using the SA account.

Kyle: Inside the container itself, there is a directory c:\run. This has the PowerShell scripts that are executed when you first run an image to create a new container (after a pull).

It looks like navstart.ps1 has all of the specifications for authentication that is used. However, if you are making a stand-alone container that you pulled from Microsoft, it shouldn't be trying to locate a domain controller. Did you take your Azure container and copy it locally and that is what you are trying to run?

Tim: Nope, I didn't copy anything from the Azure container. It was a fresh pull on my local server. I haven't gone through the scripts yet, but wouldn't the authentication be declared in Freddy's new-navcontainer script?

Kyle: It would. My latest pull just worked without any modifications at all. Maybe destroy your container and image, and redo a pull from this:

docker pull microsoft/dynamics-nav:2018-rtm-na

Bill: Do you also have the infrastructure in place to support gMSA? Otherwise, you're looking at win auth hacks or SQL Server auth, NavUserPassword authentication.

Tim: What do I need beside a domain controller? Otherwise, I am in the process of using NavUserPassword authentication to test. No results yet though.

Kyle: If he is just pulling the vanilla NAV 2018 image, it shouldn't need or want anything for authentication. The NST and SQL server are on the same machine, so the only authentication you need is for the NAV clients.

Bill: I didn't see the need for that (a domain controller) for my personal Docker setup. gMSA is going to be useful for a team environment and managing many logins across multiple different Docker instances.

Server 2016 is the best environment for Docker on Windows if you can run it on your machine. However, most people will be stuck with Windows 10, which can be difficult. Managing networks across Hyper-V and Docker can be a nightmare if you try to use both.

Kyle: I have Server 2016 running inside of VMware running on Windows 10. Let me know if you need assistance. There are a couple of particular settings that have to be done in VMware to lie to the guest OS to think it is on real iron.

Tim: Kyle, about the real iron setting, are you talking about the "Virtualize Intel VT-x/EPT or AMD-V/RVI" setting, under Processors setting for VMWare. The one that handles nested vm's?

Kyle: Correct. That has to be turned on for Windows Server 2016 to think it is on real metal.

We hope you find this helpful! 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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 179

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 179 ArcherPoint's Developer Digest Weekly Blog

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 2018’s API (Application Programming Interface)

ArcherPoint’s Saurav Dhyani has written a series of blogs that explores the 44 APIs in Dynamics NAV 2018, and how to add your own APIs.

  1. NAV 2018 API Part 1 shows the new page types available, the APIs that are already available, and uncovers a new field
  2. NAV 2018 API Part 2 shows the steps needed to configure API in NAV 2018
  3. NAV 2018 API Part 3 shows how to consume the APIs using Postman

New PowerShell cmdlets in Dynamics NAV 2018

ArcherPoint’s Suresh Kulla shares the new PowerShell cmdlets that Microsoft introduced in NAV 2018 in his blog.

Extracting NAV 2013 G/L Balances by Dimensions

Jamie asked for help and recommendations to pull NAV 2013 GL balances by DIM out to load into a new version of NAV.

Matt T. suggests doing a consolidation, which would do balance by dimension and then use the import consolidation feature. This assumes accounts are already setup, etc. in the new database.

Kyle says this could also be a basic account schedule without any begin or end totals.

Share your suggestions in the comments below.

Sending Test Emails from a Local Dynamics NAV Test Environment

KC asks, “I would like to send test emails from her local NAV test environment. Does anyone know how to configure database mail on SQL Server?”

Saurav shares his previous post on how to configure database mail in SQL Server.

“Thank you Saurav. This is what I thought I needed. But it turns out I just needed to setup up the SMTP settings in NAV. I had input the incorrect server information in NAV. Kyle provided the correct information, so I am up and running now. But thank you for your information.”

Announcing Integration of Azure Backup into VM Create Experience

Trinadh Kotturu from the Microsoft Azure team recently announced the ability to enable backup of virtual machines. This is an “enterprise-grade” backup solution from the moment of VM creation. It gives customers the ability to setup backup with one click, select or create a vault in-line, and manage the backup policy for the VM.

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 180

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 180 ArcherPoint's Developer Digest Weekly Blog

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 Cumulative Updates

The latest cumulative updates for Microsoft Dynamics NAV are now available:

Importing Symbols in New or Upgraded Databases with Dynamics NAV 2018

Did you know that symbols are not created or imported automatically when you upgrade, or create a new database in Dynamics NAV 2018? It is mandatory to complete the task of importing symbols in your database to develop extensions with Visual Studio Code. This Dynamics NAV Team Blog, Import Symbols in New or Upgrade Databases with Microsoft Dynamics NAV 2018, will give you the information you need to do so.

You can also read this post if you need to generate symbols in Dynamics NAV 2018.

Office 365 Integration in a Dynamics NAV Hosting Environment

There are so many components involved that require proper setup and configuration to be able to take advantage of new functionality in Dynamics NAV like Edit in Excel, Outlook Business Inbox, Single Sign On, and more. You need to understand the requirements and this post goes into great depth to help explain these requirements.

Your Feedback is Invaluable – As Long as You Share in the Right Places

This blog from Waldo is a great resource. I recommend you bookmark it. If you are working with Dynamics products, and would like to share your feedback with the people that can actually effect change with your suggestions, you have many options including GitHub, PartnerSource, MSCollaborate, Yammer, and of course at the many conferences that our community has throughout the year. Read I Have Feedback – What Do I Do? for the details.

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 181

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 181ArcherPoint's Developer Digest Weekly Blog

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.

Tips for Managing Users on a Dynamics NAV Azure Deployment

Many companies have opted to deploy Dynamics NAV on Azure due to the very attractive subscription-licensing model. With the subscription model you have named users as opposed to concurrent, and with that you may come across some questions on how to manage users, like counting the named subscription users in Dynamics NAV and how to add new users. In Part 2 of Totovic’s Dynamics Blog, he explains how to disable users temporarily, determine the difference between limited and full users, and how to add additional users.

Personalization in Dynamics NAV 2018

In this blog, Enable Personalization in the Dynamics NAV 2018 Web Client, you will learn that the personalization is not enabled by default (and how to enable it), as well as two options for changing the configuration. Thanks, NAV Bits and Bytes!

Upgrade and Reinstall Dynamics NAV Extensions without Data Loss

As things evolve with NAV 2018, you should be aware of how to retain table data after publishing an extension. This blog explains how data synchronization works and the options available, setting up schema update mode to recreate, and more.

Developer Quote of the Day

Kyle is always good for a great quote:

"Luck is the residue of design."
- Branch Rickey

 

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

ArcherPoint Dynamics NAV Developer Digest - vol 182

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 182ArcherPoint's Developer Digest Weekly Blog

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.

FedEx and Dynamics NAV

Jamie posts, “Looking for help from anyone that has hooked up FedEx with NAV. FedEx has a link to ODBC or SQL, and scripts to pull the sales order ship-to address, then write back a master tracking number and freight cost. Has anyone done this before?

Tim wants to know if Jamie has their API available from their web site, if it's available. Is this to a FedEx shipping computer that's on the customer site, or something like that?

Kyle points out, “At the risk of calling attention to something you already know, we have ISV options that already do this, such as Lanham and ChargeLogic.

Tim further notes that it sounds like a Master Data error to push addresses to a FedEx machine. And agrees, “True that an ISV solution would likely be a better choice.”

Kyle adds that it already sounds like three interfaces: address verification, rate shopping, and shipment tracking numbers. “It was a long time ago, but I think we went down this road with another client. And they ended up buying a whole lot of development hours and then switching to eShip a couple of years later. Each year that FedEx updates their interfaces (which they do often), you get to develop again. I'm not saying this is a bad idea for this specific customer. I'm just saying there may be more behind this request than it seems.”

Transaction Types for Dynamics NAV Reports

Kyle wants to know if it is a good idea to always set the TransactionType for a report. He thinks it should be set to Snapshot most of the time (read-only and only committed data), unless you need uncommitted data too, in which case, use Browse. He continues with an explanation of each transaction type option for NAV reports.

Browse

This is a read-only transaction. Modifications cannot occur within the transaction. All read operations are performed with READ UNCOMMITTED locking. Therefore, no locks are added and locks that are added by other sessions are not honored. This means that the transaction may read uncommitted data.

For more information about READ UNCOMMITTED locking, see SET TRANSACTION ISOLATION LEVEL (Transact-SQL) in the MSDN Library.

Snapshot

This is a read-only transaction. Modifications cannot occur within the transaction. All read operations are performed with REPEATABLE READ locking. Therefore, shared locks are added on all data and are maintained until the end of the transaction. This prevents other transactions from modifying any rows that have been read by the current transaction.

For more information about REPEATABLE READ locking, see SET TRANSACTION ISOLATION LEVEL (Transact-SQL) in the MSDN Library.

UpdateNoLocks

This is an update transaction. Modifications can occur within the transaction. All read operations are performed with READ UNCOMMITTED locking until the table is either modified by a write operation or locked with the LOCKTABLE Function (Record). From this point until the end of the transaction, all read operations are performed with UPDLOCK locking.

For more information about UPDLOCK locking, see Table Hints (Transact-SQL) in the MSDN Library.

This transaction type improves concurrency for all tables that users access within the transaction by delaying locking as much as it can. However, the disadvantage is that you must know when to lock the tables for the required transaction behavior.

This is the default transaction type if you have not specified a type with the CURRENTTRANSACTIONTYPE Function (Database).

Update

This is an update transaction. Modifications can occur within the transaction. All read operations are performed with REPEATABLE READ locking until the table is either modified by any write operation or locked with the LOCKTABLE function. From this point forward, all read operations are performed with UPDLOCK locking.

This transaction type provides full transaction isolation from the start of the transaction, regardless of the lock status of tables that users access within the transaction.

Matt T agrees that Snapshot probably is to set to Snapshot, but admits that it's one of those properties everyone forgets about. “I know I have never changed it and I don't think I have ever seen anyone else change it. Definitely curious as to what others think.”

Michael states that he wouldn't use the iterative data item to write. “If a write was necessary, I'd retrieve that record by using a second variable to set filters on the primary key values and retrieve with FINDSET(TRUE).”

Tell us about your experience! Do you set the TransactionType on your Dynamics NAV reports? Or is this a “forgotten” setting?

 

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

Compress Item Ledger Entries in Dynamics NAV

$
0
0

Compressing Item Ledger Entries in Dynamics NAVHow To Compress Item Ledger Entries in Dynamics NAV

There are different ways to reduce the size and speed of a Dynamics NAV upgrade. This blog will cover one component, compressing item ledger entries that may prove useful. However, it is important to note that with any major change such as this, it requires thorough testing of the solution and mapping out a blue print for the plan.

To begin, it is important ask yourself:

  1. Is this part of an upgrade plan to a new version of Dynamics NAV, or are is the client trying to do this in an existing database?
  2. Is the client planning to try to keep some of the historical data in the system for historical purposes for reporting and analysis? Alternatively, are they planning to clean the slate and go back to the historical data in a copy of the historical database prior to the process being run if any historical analysis is required?

Summary of Compressing Item Ledger Entries through an Upgrade Scenario

The following is a summary of what I have discussed with partners who have done the process through an upgrade scenario. In particular, this was completed often when moving from 2.X to 3.X Versions due to the significant change in data structure, which was a result of the introduction of the Value Entries in Version 3.X and prior. As a result, the process below requires modifications depending upon what data exists – i.e. Manufacturing, Assembly (2013 and later), Kit Data (2009 and earlier), open Orders – Sales/Purchase/Production/Assembly, Warehouse Entries, Location Setup, etc.

In the Database

Make sure all SO’s and PO’s are invoiced (no received/shipped not invoiced) and run the Adjust Cost Item Entries and Post Inventory Cost to G/L. This may entail having to use the Undo Receipt Shipment or Undo Receipt if the orders cannot be invoiced. This is key so that you do not delete Item Ledger Data that has dependencies on existing outstanding order status as well as any unprocessed adjustments for quantity or value.  NOTE: Further challenges come into play with Manufacturing Production Orders. The best practice is not to have partially processed transactions prior to deleting Item data, which can get to be quite challenging.

  1. Run Inventory calculation to find out what is on hand and export this to a file. (E.g., Dataport or XML Port would be required to export Quantity by Location/Variant/Lot No. /Serial No.)
  2. Make a backup of the base ILE object and Value entry Objects.
  3. Renumber the ILE and Value Entry Table to a table in the 50000 range with a new name if history is going to be retained in the database for reporting.
  4. Import the ILE and VE object again. Do this because there are usually too many records in the ILE to start copying them to another table. This is fast and easy. (It is also easier to write Reports and Forms of these Tables with pre-upgrade data. As a result, the upgrade will take hours instead of days.)
  5. Delete the Item Ledger (T-32), Item Register (T-46), Item Application Entries (T-339), Value Entries (T-5802), Average Cost Adjustment Entry Point (T-5804), Post Value Entry to G/L (T-5811 – should be cleared with Post cost in step 1), G/L - Item Ledger Relation (Table-5823 includes link of T-5802 to T-17- G/L Entries. Other possible Tables include Inventory Adjmt. Entry (Order) (T-5896) if NAV 203 or later, Reservations Entries (T-337), Capacity Ledger Entries (T-5832), Warehouse Entries (T7312).
  6. Complete the upgrade without Inventory, then import the qty. on hand (with serial and lot) and post it. This also makes a great opportunity to cleanup items not used anymore.
  7. Run a Dataport and Import into an Item Journal after the upgrade together with the Quantity on Hand with Unit Cost ($) desired)

The primary goal of this process is to be able to import and export data in the system and generate through Dataports the Item Journals to establish new Inventory data beginning quantity and cost.

The biggest challenge is managing some of the additional details, such as Item Tracking (LN and SN Data), Manufacturing, Assembly (or Kitting depending on Version), and other data linked to the existing ILE and VE data.

I hope this gets to a place to where there is a vision for the processing required. Again, I would test the process extensively because removal of data and identifying all related dependencies is an extremely challenging endeavor. I suggest referring to the Inventory Costing in Microsoft Dynamics NAV white paper. This is a good reference as a beginning point for consideration with the data structure for inventory posting and costing data analysis. While the paper was written for Dynamics NAV 2013, the fundamentals are still the same.

I wish to keep in mind that this is kind of a theoretical discussion. I have never blown away item data and then rebuilt it with the process. Through interactions with partners along the way, this has become kind of a moving document for how to manage the process. We would like to hear your thoughts and ideas. Please comment below.

For more Microsoft Dynamics NAV development related topics, please subscribe to our NAV Developer blog where you will find a plethora of development-related tips, how-to’s, and NAV-related discussions.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 183

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 183ArcherPoint's Developer Digest Weekly Blog

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.

Creating and Editing Dynamics NAV 2018 RDLC Reports

Kyle wants to know about creating and editing RDLC reports in Dynamics NAV 2018. He shares the NAV 2018 system requirements for creating and editing RDLC report layouts as either Report Builder for SQL Server 2016 or one of the versions of Visual Studio.

He asks, “Have any of you attempted to do reports in Report Builder for SQL Server 2016 rather than VS?”

Matt T. replies, “Yes, all of the time when the customer doesn't have Visual Studio. I haven't found anything I couldn't do yet. Granted I'm not exactly creating a lot of reports day to day.”

Michael H. states, “I’ve used Report Builder quite often over the past few years. There's a couple of things Visual Studio does that make it nicer, but overall Report Builder is very usable.”

Saravanan adds, “We used either in older NAV versions, but in Report Builder there is one thing I don’t like, which is that it will not show the line numbers for the datasets that we keep in Textboxes. For example, in Base Sales Invoice or any document report you will find the hidden textbox as a container to keep all page header stuff behind, and in Report Builder you need to copy those and paste in Word to be able to find it.”

Kyle replies, “I do not like those hidden textbox things and do everything I possibly can to avoid (or remove) them.”

Editing Default Reports for Sales Reports in Dynamics NAV

Bill asks, “In NAV 2017 the default reports for Sales Documents has changed from the old 10074, 10075, etc. reports to new "Standard Sales" reports (1303-1307). The DefaultLayout is set to Word. By default what would you edit? The Word layout? There are now four of them that you can use. It seems like going down the road of editing Word layouts and having to promote them through databases could be a nightmare. What is everyone else doing?”

Len responds, “The nice thing they added is the ability for customers to do their own modifications to reports by using custom report layouts. When it comes to customers, it is usually much easier for them to use Word than to use RDLC. For that reason, I have seen that customers implemented in our cloud are using the Word layouts. There are certain limitations to Word layouts that we've seen, so for some customers we have had to move to RDLC reports. But in any case, it is simple to Export/Import those custom layouts and move to another database. So, it seems they are getting closer to making things easier for customers but like all else, they still have a ways to go. So, for now, we are having customers play with the Word layouts and when they get stuck, we train them. If they want very complex things where Word is getting too difficult, they pay us to create RDLC reports for them or pay for training. Thus far, we have been doing all the RDLC creation.”

Dynamics NAV Development Preview for February 2018

The NAV Development Preview for February 2018 from Microsoft includes synchronize data on F5, adjustable column width in the web client, Intellisense suggestion for the next available object ID, report RDL and Word layout development with AL, integration tables that can be used in extensions, and multi-root support.

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 

ArcherPoint Dynamics NAV Developer Digest - vol 184

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 184ArcherPoint's Developer Digest Weekly Blog

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.

Announcing Microsoft Dynamics 365 Business Central

Alysa Taylor, GM, Business Apps & Strategy for Microsoft, announces the upcoming release of Dynamics 365 Business Central. She states that the product will be generally available (GA) on April 2, 2018 in 14 countries.

Business Central continues Microsoft on the stated path to offer business without silos, actionable insights, and solutions that are built to evolve for customers. The value of this release includes the ability to customize or extend for specific industry needs with PowerApps, Microsoft Flow, and Power BI. It also brings the full power and product maturity of Dynamics NAV to the cloud.

Dynamics NAV and General Data Protection Regulation (GDPR)

Totovic shares a slew of resources around the recent EU legislation known as GDPR and Dynamics NAV. Among those resources are whitepapers and FAQ from Microsoft and blogs on classifying data in Dynamics NAV from the Dynamics NAV Team Blog.

Regardless of whether you work or have clients in the EU countries, you need to be aware of the new regulation and the impact and repercussions of not complying with GDPR legislation. If you don’t want to read the entire 261 pages of the legislation, you may want to start with what you should include in your privacy notice.

Partial Shipments Allowed (Or Not) By Customer in Dynamics NAV

Here’s the scenario for one NAV user: some of their customers don’t want items put into back order status if they don’t have the product and others do want unavailable items put on backorder.

Alan asks, “in Dynamics NAV 2017, can this capability be defined by client vs. globally on or off? Maybe we have this capability today but just don’t realize it?”

Darren responds that it is possible by client, “On the Shipping tab of the Customer card, you can specify if the client will accept partial shipments or only complete orders. This does prevent shipping if the order is not complete. You might want to take a look at that see if this fits your needs.” Darren references this documentation on theshipping advice field on the Dynamics NAV customer table.

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.

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

Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV.

Blog Tags: 
Viewing all 388 articles
Browse latest View live