www.navisioncanbefun.com

Hi Guys. Thanks for following me for so many years and enriching my knowledge with your valuable comments and queries. it was always an wonderful experience.

Due to my hectic work schedule as well as I wanted to spend more time with my infant daughter, I have not written much here in last 2 years. In these years, so many things have changed (in Navision itself) and probably now is the time when I should take this blog forward further with the newer topics, newer features of newer NAV.

I got some spare money to spend on migrating this blog to my custom domain and maintain it at least for next 3 years. And I have budgeted it that way Smile

So I have migrated all the posts from this blog to my new address Navision - the fun starts here but I am going to keep this blog alive for the time being. All my new posts will happen from my new blog address but you can always refer to my old posts either in the blogger domain or my new domain.

Unfortunately in the migration process, I could not migrate my followers (as Google friendConnect is discontinued) to new address. So those who used get automatic notification about my new post (and their avatar used to get displayed in header part of my blog), will no longer receive them. But dear followers, you can always subscribe to my new posts in my new domain.

You can check out my new blog in the following link -

Navision - the fun starts here

New features will be -

  • topics on the newer version of NAV
  • Videos
  • Downloads on some interesting presentations / documents
  • better reading window / option
  • social sharing / follow option
  • easy to subscribe

Happy New year and Happy reading

Quit, Break, SKIP, EXIT

One of my student asked the following question few days back and I just tried to answer them in simple language. You may already know those answer right.


"can u please tell me the diff. in quit/break/skip/exit in NAV & how to use it properly........"




Just to answer your question -

1. Quit 

Quit can only be used in Report, Dataport or XMLport. (Like Currreport.quit). It quits (come out from) the report or dataport or XMLPORT. If some processing of data happened before the quit statement, all of those data manipulations will be reversed (rolled back).

2. Break

Break can be used in 2 places -

a. in any loop (repeat..until) - This statement will break the loop and come out of the loop without further processing. All the data manipulation before this statement will remain intact.

b. In a report or dataport or XMLport. This statement will take you out from any trigger (like on prereport, Onpresection etc)

3. SKIP 

SKIP is only used in Report / Dataport / XMLPORT. This statement skips the iteration of a dataitem.

4. EXIT

EXIT normally used in functions / triggers to return a value. (say a function returns a numeric value -

Myfunction(integer A, Integer B) Integer---

EXIT(A+B);

-------------------------------------------------

Hope the above answer helps you. I will try to send a more detailed answer to you (with example) soon. Keep writing me your problems and ask ur freinds to send their problems to me too.



You can also send me a mail to snehanshu.mandal@gmail.com

Navision - How to find out Square Root / Cube Root?

We all know how to raise a number to the power n. Use the powerful nummeric function 'Power'.

NewNumber := POWER(Number, Power);
So Power(4,2) will result in 16.


But how to find out the roots (square, cuber or nth root)?

Simple use the same Power function - And just change the 'Power' parameter of the function.

So to find out the square root of say 16, use

Power(16,1/2); This will result in 4

to find out the Cube root of say 8, use

Power(16,1/3); This will result in 2.

to find out the nth root of any number just use -

NewNumber := Power(Number,1/n);

How to indent multiple lines of code in Navision

What to do if you need to indent several lines of Code (Just because youmade the changes in code lately) in any Navision Object? Will you do it manually one line at a time?

Don't despair. There is a simple way to do it -

To indent several lines of code, select those several lines and press TAB. The code indents with two spaces to the right, every time that TAB is pressed.

To indent several lines of code to the left, select those lines, and press SHIFT+TAB. This indents the code with one space to the left, every time that SHIFT+TAB is pressed.

Block indentation enables developers to indent several lines of code in only three keystrokes (one for highlighting the code and two for pressing SHIFT and TAB.)

How to Send SMTP mail from Navision Application

2 Steps to use it -

1. Setup the SMTP mail in Navision.
2. Use the functions avaliable in Codeunit 400 (SMTP Mail)

1. Setup the SMTP mail in Navision:

Go to Administration> IT adminisration > General Setup > SMTP Setup. The following screen will open -


You need a SMTP server address (IP or link). I have used my office SMTP server. If your SMTP server permits anonymous mailing, you can choose authentication as 'Anonymous' where you don't need to mention any user id and password.

If your SMTP Server does not allow anonymous mailing, you need to choose authentication as 'Basic' and need to mention one valid User id and Password.




2. Use the functions available in Codeunit 400 (SMTP Mail) :

Once the setup is done, you can start mailing using the functions available in SMTP mail codeunit.

a) Take a new form and take a command button on it. On clicking of that button the mail will be send (Just for the example)
b) Take a global variable 'SMAIL' of data type 'Codeunit' and subtype 'SMTP mail' codeunit. This will give you the access to the functions available in that codeunit.

c) Now the actual code. Write the following code on 'On Push' trigger of the command button

--------------------------------------------------------------------
CLEAR(SMAIL);
SMAIL.CreateMessage('Snehanshu','snehanshu.mandal@gmail.com','snehanshu.mandal@gmail.com','Warning - Inventory', 'Item 50005 has a inventory below minimum inventory level',FALSE);
[Syntax for the Createmessage function - Createmessage([sender's name] ,[sender's id],[recipient's id or ids],[subject] ,[body line] ,[html formatted or not]]
SMAIL.AddAttachment('d:\Sales Invoice.xlsx');
SMAIL.Send;
MESSAGE('mail send');
-----------------------------------------------------------------------------------

That's it. Now click on the command button, and the mail will be sent to the recipients.

Note:

1. There can be multiple recipients. Just put them as comma separated text in the recipient parameter.
2. You can add more body lines using 'AppendBody' function.
3. You can also mark a CC or BCC copy of the mail using 'AddCC' 'AddBCC' functions.


If you are not sure about the SMTP server, just search in google how to use, rediffmil, Gmail or Hotmail or any other mailing system as your smtp server.