Search This Blog

Editing a non-editable field in a table

When a field on a table is set to Editable = No, the field is not editable in the RTC.
So if you want the field editable, you would need to change the table and the field becomes editable.

It seems there is a workaround for this. Other than using a CodeUnit to update there is an alternative method as well.

If you look at a page field, you will see that the field has an editable property defaulting to <False>.
When you change the property to True explicitly, you can actually edit the field on the page, even though the table has the editable property as No.

Here is one of the blog posts that describes this in detail.

http://mibuso.com/blogs/kriki/2011/05/09/edit-a-non-editable-field/

Import Excel File in Navision using Excel Buffer

 The post is to import the data in a table From an Excel File.
Most of us know this feature is there in standard objects of Microsoft Dynamics NAV from a long time.
If you are one of those who don't know about it please go through the article.

Let`s say i have a table with following fields as shown below -

And the Excel file that i want to import as shown below -

The Target is to import the data from excel in the Navision Table.

I have Created a Page to view imported entries and on the same page there is an action of Import From Excel.
For Importing data from Excel we will be using Standard ReadSheet Function in Excel Buffer Table in a Report. The Report will be Processing Only and will have options to Add the Entries or Replace the Entries.

Below is the code that have been used to achieve desired result -

First the Report Checks the option that user selected in Request Page of Replacing Entries or Adding Entries.
Then using Standard Function of Excel Buffer the Excel File Selected by User is Opened.
Then Using ReadSheet Function Excel Buffer Reads the Data in Selected Excel File.
Then System using a function try to get No. of Rows and Column in Selected Excel Sheet.
As First Row in Our Case Contain Caption, so it start inserting data in table from Row No 2 To Last Row.
What system does in Function GetLastRowandColumns -
What system Does in Function Insert Data -

System read the data in a row and assign it to actual table fields.
To Open Excel File and Sheet Selection Code on Request Page is -


Now let's try to execute the process from the Page -

Select Import From Excel and Select Option to Add / Replace Entries. Once Clicked Ok System will ask for the Excel File to Import, as shown below -


Once File is selected and Excel File have multiple sheets, System will prompt to select the sheet also.
If everything goes well a confirmation message will appear and the data will be updated as shown below.


Hope you find above post helpful.

For Objects used in this post please download same from my Google Drive.
Click Here to Download - Prateek.ExcelImport#NAV

OLE or Automation Error: "F9043C85-F6F2-101A-A3C9-08002B2F49FB" not found

How to Resolve OLE or Automation Error


How many times do you got an error when we are trying to do a Data Migration here's the message below:


Could not create an instance of the OLE control or Automation server identified by 
GUID-{F9043C85-F6F2-101A-A3C9-08002B2F49FB}. 
Check that the OLE control or Automation server is correctly installed and registered.

What this message is trying to tell you is that something has not been installed correctly on this client
That something is a file which is not Register with the Client i.e. "comdlg32.ocx".

The error you have {F9043C85-F6F2-101A-A3C9-08002B2F49FB} refers to the GUID for 

Microsoft Common Dialog Control, v6.0. It is typically placed here in the below given folders : 

'C:\WINDOWS\System32\comdlg32.ocx' and C:\Windows\SysWOW64\comdlg32.ocx'


Solution :

Step 1 :- Download the OCX file from the given link below 

https://drive.google.com/file/d/0B39tCHSFl7BLZFUtbHIzVnJPN0U/view?usp=sharing

Step 2 :- Copy File to both Folders :-
               C:\Windows\System32
               C:\Windows\SysWOW64 

Step 3 :- Go to Start and type in CMD in the search space.
               [IMPORTANT] Right click CMD and click "Run as administrator".

Step 4 :- Copy and Paste the below given command on CMD & press Enter to Run it
               (the following depending on sysWOW 64 or System32).

First Command :
               regsvr32 c:\Windows\system32\comdlg32.ocx




After pressing Enter you will get below Confirmation Message.  
        



Now Second Command :
                regsvr32 c:\Windows\SysWOW64\comdlg32.ocx



After pressing Enter you will get below Confirmation Message.  




Hopefully Error will be Resolved after Registering above OCX file.


Note :- Usually you will also get an error if you try to compile Codeunit 412...
Hope it helps :-)

How to Convert Every First letter of a Field into Uppercase by Default

If a Name is entered  into Name Field in Customer Card like for example "prateek gupta" it should automatically convert into "Prateek Gupta"

Global Variables :
Name              Data Type          Length
Indx                 Integer                            
NewValue         Text                     20
Cap                  Boolean


##Code on Trigger : OnValidate (on a Table Field that you wish to apply this code on)





How to Convert First Letter Capital in NAV Field

This will capitalize your first letter and lowercase the rest.

If varName is your variable

## Code :

newval := UPPERCASE(COPYSTR(varName,1,1)) + LOWERCASE(COPYSTR(varName,2));

##Output :
If the Input is "prateek Gupta"
then Output will be "Prateek gupta"

Method 'PageXXXX.a60Action1102601028a62_a45_OnAction' not found

How many of you have faced this issue when 
you click on statistics or Release button ?

Method 'Page9304.a60Action1102601028a62_a45_OnAction' not found

##On sales return order page when you click on Statistics button system will give you below error.



STEPS TO ORIGINATE ISSUE :

Steps to Follow are given below

•    <Step #1: > Open Navision RTC 2013 R2

•    <Step #2: > Open Sales Return Order

•    <Step #3: > Generate New Sales Return Order by filling all the required Fields in header and line.

•    <Step #4: > Click on  Statistics Action Button, you get the error

RESOLUTION :

This happens because action button and method is not linked properly.

To fix this issue design the “Page ID – 6630” and then go to page actions.

Change Old Action Name “Statistics” to “<Action1102601028>”.





Important Note: - Now to know in which Page ID What Action Name is to be given to a particular Action Button.

Read the Error Message Carefully : - (See the Yellow color highlighted first  is Page ID & Second is Action Name)

[Method '    Page9304     .a60     Action1102601028    a62_a45_OnAction' not found.]
Well rename the Name to the action with <Action> and the issue is solved.

How to Calculate Week No. Month Wise from a Date NAV RDLC (Starting Weekday "SUNDAY")

In Navision RDLC if we want Week No. Month Wise i.e. if a invoice is posted on 15/04/2016 then Week no. should come 3.

Note : Initially week starts from Monday but what if we want week no. of a month where week starts from Sunday.

When you are developing a Report in NAV with a Requirement that with Posting Date you also have to provide Week No. in which that particular Posting Date comes. (Month Wise with starting week day "Sunday").


As per the above requirement given below are the required Variables & Code for the same.


##C/AL Globals (Variables) :

Name               DataType         Subtype
DateRec          Record                   Date
WeekNo          Integer
StartDate         Date
EndDate          Date
Ctr                   Integer
PDStartDate    Date
PDEndDate     Date
PDStartBLN   Boolean
DStartDate      Date
DEndDate       Date


##Code on Trigger (On After Get Record) :