Hi all,
During Upgrade From 2009 or Previous to NAV 2013 or Later we miss some of our best Friends.
There is a new Label (Group) is created on the Blog "Discontinued Components". This will contain how to use these discontinued components with NAV 2013 and Later using DOT NET Component.
I find this as a query from most of the blog readers.
So we start with one of my best friend which is missing in NAV 2013 and later i.e "INPUT BOX".
How we used to use it in NAV 2009 Classic or Before -
Below is the code that we used to write for using InputBox to accepts inputs from User. In this case i will store the results in CustomerNo Variable as shown.
Here is what we have when i tried to run this codeunit.
Let's Move this codeunit to NAV 2013 R2 and try to Run the Same.
It did compiled as shown below -
But Let's see what happens when i tried to run the same. Oh this ends up with an error message saying - "The Input Method is Obsolete".
How we can use it in NAV 2013 and Later?
DOTNET have the Same Funtion with a minor Change which can be used as Input Box.
I will Change the Paramter as Below -
--------------------OLD----------------
Name = Window
DataType = Dialog
SubType = ''
--------------------OLD----------------
--------------------NEW-----------------
Name = Window
DataType = DOTNET
SubType = Microsoft.VisualBasic.Interaction.'Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
------------------NEW--------------------
* Make Sure You change the Property RunOnClient = TRUE for the Variable Window, as shown below.
Let's Do Code Changes. The InputBox Now Accepts following Parameter -
>Prompt - Message You Want to Display.
>Title - Title of Input Box.
>DefaultResponse - Response That should be Filled Intially.
>XPos & YPos - X & Y Axis Position of Input Box.
It Returns a Text Value as Output.
Below is the New Code -
CustomerNo := Window.InputBox('Input Customer No:', 'INPUT', '', 100, 100);
Let's Run It. You might get a Confirmation Window to allow component to Run.
If Required you can download the sample Codeunit from My SkyDrive.
File Name - NAV2013_2013R2_SauravNAV.InputBox.rar
Hope It Helps. For Further Reading about Dotnet Input Box Refer the Link Below.
Assembly : Microsoft.VisualBasic
Read Details on MSDN
During Upgrade From 2009 or Previous to NAV 2013 or Later we miss some of our best Friends.
There is a new Label (Group) is created on the Blog "Discontinued Components". This will contain how to use these discontinued components with NAV 2013 and Later using DOT NET Component.
I find this as a query from most of the blog readers.
So we start with one of my best friend which is missing in NAV 2013 and later i.e "INPUT BOX".
How we used to use it in NAV 2009 Classic or Before -
Below is the code that we used to write for using InputBox to accepts inputs from User. In this case i will store the results in CustomerNo Variable as shown.
Here is what we have when i tried to run this codeunit.
Let's Move this codeunit to NAV 2013 R2 and try to Run the Same.
It did compiled as shown below -
But Let's see what happens when i tried to run the same. Oh this ends up with an error message saying - "The Input Method is Obsolete".
How we can use it in NAV 2013 and Later?
DOTNET have the Same Funtion with a minor Change which can be used as Input Box.
I will Change the Paramter as Below -
--------------------OLD----------------
Name = Window
DataType = Dialog
SubType = ''
--------------------OLD----------------
--------------------NEW-----------------
Name = Window
DataType = DOTNET
SubType = Microsoft.VisualBasic.Interaction.'Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
------------------NEW--------------------
* Make Sure You change the Property RunOnClient = TRUE for the Variable Window, as shown below.
Let's Do Code Changes. The InputBox Now Accepts following Parameter -
>Prompt - Message You Want to Display.
>Title - Title of Input Box.
>DefaultResponse - Response That should be Filled Intially.
>XPos & YPos - X & Y Axis Position of Input Box.
It Returns a Text Value as Output.
Below is the New Code -
CustomerNo := Window.InputBox('Input Customer No:', 'INPUT', '', 100, 100);
Let's Run It. You might get a Confirmation Window to allow component to Run.
If Required you can download the sample Codeunit from My SkyDrive.
File Name - NAV2013_2013R2_SauravNAV.InputBox.rar
Hope It Helps. For Further Reading about Dotnet Input Box Refer the Link Below.
Assembly : Microsoft.VisualBasic
Read Details on MSDN
Regards,
Saurav Dhyani
many thanks! it helped me a lot.
ReplyDeleteWelcome
DeleteHi Saurav
ReplyDeleteThat worked a treat :-)!
Is the a Dotnet routine that excepts keyboard input back to Nav one character at a time?
WOW ! Thanks !!!
ReplyDeleteWelcome.
DeleteThank you. Works fine on Nav BC :)
ReplyDeleteGreat to hear that and thanks for your comment.
DeleteGreat help...
ReplyDeleteWelcome Heaven.
Delete