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.