Skip to main content

Microsoft Dynamics NAV 2016 - New Function CURRENTCOMPANY.

Hi All,

Today in NAV 2016 I was writing a piece of code using Events & Subscriptions.

Below are some details of that -

I want to write some details on another company when a Item is inserted in a particular company but also wanted to fire OnInsert Trigger of Item in another company too.

Yes we all know how it is done in Navision C/AL Code, using CHANGECOMPANY and TRANSFERFIELDS.

But The Issue was the Subscriber was called again when the Insert was happening in the another company and it was looping through it. At the end it was generating an error message.



TO CUT THE STORY SHORT - 
"I was having troubles with Identifying the Company Where My Subscriber Should not Execute."

What's New & How Issue was Resolved ?

Till NAV 2015 The Function COMPANYNAME was the only function to get the Company Name, But this will always give you the company name where the code is being executed.

SO If I have 2 Companies (Cronus USA & Cronus INDIA) and I am writing below piece of Code and Executing in Company Cronus USA.

//CODE
MySecondCompany := 'Cronus INDIA'

Message(COMPANYNAME);
Customer.CHANGECOMPANY(MySecondCompany);
Message(COMPANYNAME);

//CODE

Both Message will End UP With 'Cronus USA'. What I need is Cronus India.

With NAV 2016, There is a New Function available which is CURRENTCOMPANY that will return me the company name corresponding to the Record or RecordRef.

So Now If I do Like - 

//CODE
MySecondCompany := 'Cronus INDIA'

Message(COMPANYNAME);
Customer.CHANGECOMPANY(MySecondCompany);
Message(Customer.CURRENTCOMPANY);
//CODE

My Output will be - 

Cronus USA.
Cronus INDIA.

Sounds Cool, at least it sounds cool for me :)

Hope you can use it in future. If you still have doubts read details here in MSDN (Record) and read details here in MSDN (RecordRef)

Regards,
+saurav dhyani
saurav-nav.blogspot.com

Comments

Popular posts from this blog

VIEW SERVER STATE permission on SQL Server?

Hi all, Sometime While trying to Login into a database we face an error message as shown below. --------------------------- Microsoft Dynamics NAV Classic --------------------------- You cannot start Microsoft Dynamics NAV Classic because you do not have the VIEW SERVER STATE permission on SQL Server. Contact your system administrator. --------------------------- OK    ---------------------------

BC 21 and Higher - PowerShell Cmdlet (Replacement of Business Central Administration).

Hi Readers, As discussed in last article about deprecating of Business Central Administration, there are few common actions that we use in administration till Business Central 20. For our on-prem customers, we will still require doing activities. As Microsoft suggest we need to start using PowerShell cmdlet.    Let's see how to do those via PowerShell, or Administration Shell. I will be keep adding commands as you comment to this article.

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing -