Tag: Extensions

Business Central :How to Customize Base App

This blog explains how to customize the base app of business central (old fashion) .

Please Don’t customize the base app, Use extension wherever possible

Step 1 :- Copy Base Application from installer

Step 2 :- Unzip in designated folder .This contains app.json file where in target set to onprem

app.json will look like this

Step 3 :- Download the symbols

Step 4:- Add the following in either user settings/workspace settings . This is required for .NET DLL used in application

Step 5 :- Unpublish the base application and dependencies or else you will get an error stating that extension already deployed on tenant

Use following PowerShell command

Unpublish-NavApp -Name “Base Application” -ServerInstance BC150

Step 6:- Import license file and publish the modified app.

Hope this will help you.

Business Central : Deprecated and Obsolete Fields

With the new version of business central wave 2 ,number of fields have been deprecated or obsolete

1) Fields moved to an extension by Microsoft

2) Fields marked as Obsolete:Pending

3) Fields no longer in use in Microsoft code

Impact of this is to refactor your solution as soon as possible

For more information of which field get deprecated visit this link Deprecated Fields

Hope this will help you…

Business Central 2019 Spring Release Available to Download

While Directions Asia 2019 getting wrap up we have spring release of Business Central available to download

You can download from following links

Microsoft Business Central Spring 2019 Release

Lets try and blog about new features

Cheers

How to upload File from URL using Extension in Business Central

Today we will see how we can upload picture from live URL on item card with extension.

For the above process created extension by extending item card.

Lets see how extension work to upload the picture from URL.

  1. Create new AL file with required name and by using page extension snippet extend Item card Page as below

2. Create a function to upload the file 

In the above function used HttpClient and HttpResponseMessage method to upload the file from URL.

3. Call this function on action on item card 

While passing parameter in function passed directly the URL from where I need to upload the picture on item card.

4. Compile and publish the extension and check the result.

5. Once you click on Upload file it will automatically upload the picture from URL on Item card.

This way you can upload the picture from URL rather than downloading on local drive and upload.

Isn’t it cool..

How Do I Upgrade to Business Central (on-premise)

Here are steps to upgrade to Business central .This is old way that is merging the objects into standard objects . Anyway not recommended to do this and it is better to create extension and publish it

Listed here some of the steps to upgrade business central from NAV 2018

  1. Merge all customization of old database to business central on-premises. Merging can be done using PowerShell(recommended) or manually (not recommend)
  2. Rectify all the errors and keep the object ready for upgrade.
  3. Take full SQL backup of old database.
  4. Install the Business Central from DVD.
  5. Uninstall allthe existing extensions from old database.
  6. Upload business central partner license into the old database.
  7. Delete all object except tables from old database.
  8. Clear all server instance and debugger breakpoints records from the old database.
  9. Make sure user with whom upgrade is carried out should have privileges of DB_Owner in Sql.
  10. Open business central development environment as an Administrator.
  11. Open the old database in Business central, which will ask for convert.
  12. Skip the schema synchronization at this point of upgrade.
  13. Import the upgraded objects on converted database in business central with selection of Replace All.
  14. Skip the schema synchronization at this point of upgrade.
  15. Import appropriate upgrade code unit from product DVD.
  16. Connect new database to appropriate NAV service.
  17. Increase SQL command time out to maximum number.
  18. Compile all objects with schema synchronization.
  19. Execute data upgrade process and import permission set.
  20. Make pages searchable by using ‘Build object search Index’ option from developer environment.
  21. Remove all unwanted objects
  22. Get Ready to face customer queries from new database 


NAV Tech Days Recorded Session

NAV TechDays is the name of a conference, organized by mibuso.com. This conference meant  technical only and highly relevant – sessions, related NAV and Business Central.

NAV TechDays is the place where some of the best developers and MVP’s exchange ideas and provides more insight of NAV world (oops Business Central)

Few of the session which I think more useful for everybody which listed here on my blog and you can visit them

Practical approaches for upgrading your NAV database and moving to extensions

The future for developers and consultants

Performance: Business Central reloaded for the Cloud

What’s new in Developing for Business Central

Evolution of a titan: a look at the development of NAV from an MVP angle

Business Central: The new face of the client

Crazy mix of integrations: Dynamics 365 Business Central and Azure services

Hope you guys will find it useful 

Business Central Web Client: Page Action Visibility

In year 2017 I blogged about switching of controls based on visibility property and during those days we have to press ‘F5’ to refresh the web client. You can visit the blog here https://navseenbyamol.tech.blog/2017/01/20/nav-client-development/

Now today when I am checking in Business client this problem has been solved and now we no need to press F5 to refresh the page and it automatically switch the controls based on conditions or visibility property set. This changes will surely help me in app development which I am working on.

Nice improvement in web client

Cumulative Update 01 for Microsoft Dynamics 365 Business Central on-premises

15

Cumulative Update 01 for Microsoft Dynamics 365 business central on-premises released

Download from following link

Microsoft 365 Business Central :- Business Central CU01

This cumulative update includes all hotfixes and regulatory features that have been released for Microsoft Dynamics 365 Business Central, including hotfixes and regulatory features that were released in previous cumulative updates.

This cumulative update replaces previously released cumulative updates. You should always install the latest cumulative update.

 

 

 

How to handle CodeUnit 1 Logic in Business Central upgrade

15

As you all are aware that Codeunit 1 (Application Management) has been removed and it is replace with new system codeunits. By moving this there is no functionality changes but this process will affect upgrade process for NAV.

All these functions has been changed  to different event including publishers and subscribers that means instead of calling Codeunit 1 functions business central will use system codeunits.

Following tables will illustrate mapping between codeunit 1 triggers and event publishers.

Codeunit 1 trigger
New Codeunit ID
New method
CompanyClose
LogInManagement
CompanyClose
CompanyOpen
LogInManagement
CompanyOpen
GetSystemIndicator
LogInManagement
GetSystemIndicator
OnAfterCompanyClose
LogInManagement
OnAfterCompanyClose
OnAfterCompanyOpen
LogInManagement
OnAfterCompanyOpen
OnBeforeCompanyClose
LogInManagement
OnBeforeCompanyClose
OnBeforeCompanyOpen
LogInManagement
OnBeforeCompanyOpen
FindPrinter
ReportManagement
GetPrinterName
ApplicationVersion
Application System Constants
ApplicationVersion
CustomApplicationVersion
N/A
N/A
ReleaseVersion
Application System Constants
ReleaseVersion
ApplicationBuild
Application System Constants
ApplicationBuild
CustomApplicationBuild
N/A
N/A
ApplicationLanguage
LanguageManagement
ApplicationLanguage
DefaultRoleCenter
Conf./Personalization Mgt.
DefaultRoleCenterID
MakeDateTimeText
TextManagement
MakeDateTimeText
GetSeparateDateTime
TextManagement
GetSeparateDateTime
MakeDateText
TextManagement
MakeDateText
MakeTimeText
TextManagement
MakeTimeText
MakeText
TextManagement
MakeText
MakeDateTimeFilter
TextManagement
MakeDateTimeFilter
MakeDateFilter
TextManagement
MakeDateFilter
MakeTextFilter
TextManagement
MakeTextFilter
MakeCodeFilter
TextManagement
MakeTextFilter
MakeTimeFilter
TextManagement
MakeTimeFilter
AutoFormatTranslate
AutoFormatManagement
AutoFormatTranslate
ReadRounding
AutoFormatManagement
ReadRounding
CaptionClassTranslate
CaptionManagement
CaptionClassTranslate
GetCueStyle
Cue Setup
GetCueStyle
SetGlobalLanguage
LanguageManagement
SetGlobalLanguage
ValidateApplicationlLanguage
LanguageManagement
ValidateApplicationLanguage
LookupApplicationlLanguage
LanguageManagement
LookupApplicationLanguage
GetGlobalTableTriggerMask
GlobalTriggerManagement
GetGlobalTableTriggerMask
OnGlobalInsert
GlobalTriggerManagement
OnGlobalInsert
OnGlobalModify
GlobalTriggerManagement
OnGlobalModify
OnGlobalDelete
GlobalTriggerManagement
OnGlobalDelete
OnGlobalRename
GlobalTriggerManagement
OnGlobalRename
GetDatabaseTableTriggerSetup
GlobalTriggerManagement
GetDatabaseTableTriggerSetup
OnDatabaseInsert
GlobalTriggerManagement
OnDatabaseInsert
OnDatabaseModify
GlobalTriggerManagement
OnDatabaseModify
OnDatabaseDelete
GlobalTriggerManagement
OnDatabaseDelete
OnDatabaseRename
GlobalTriggerManagement
OnDatabaseRename
OnDebuggerBreak
Debugger Management
ProcessOnDebuggerBreak
LaunchDebugger
Debugger Management
OpenDebugger
OpenSettings
Conf./Personalization Mgt.
OpenSettings
OpenContactMSSales
SaaS Log In Management
OpenContactMSSales
InvokeExtensionInstallation
ExtensionMarketplaceMgmt
InvokeExtensionInstallation
CustomizeChart
Generic Chart Mgt
CustomizeChart
HasCustomLayout
ReportManagement
HasCustomLayout
MergeDocument
ReportManagement
MergeDocument
ReportGetCustomRdlc
ReportManagement
ReportGetCustomRdlc
ReportScheduler
ReportManagement
ScheduleReport
OnBeforeOpenSettings
Conf./Personalization Mgt.
OnBeforeOpenSettings
OnAfterGetApplicationVersion
Application System Constants
OnAfterGetApplicationVersion
OnRoleCenterOpen
Conf./Personalization Mgt.
OnRoleCenterOpen
OnAfterGetSystemIndicator
Sales-Post and Send
OnAfterGetSystemIndicator
OnAfterFindPrinter
ReportManagement
OnAfterGetPrinterName
OnAfterGetDefaultRoleCenter
Conf./Personalization Mgt.
OnAfterGetDefaultRoleCenter
OnAfterMakeDateText
N/A
N/A
OnAfterMakeTimeText
N/A
N/A
OnAfterMakeText
N/A
N/A
OnAfterMakeDateTimeFilter
TextManagement
OnAfterMakeDateTimeFilter
OnAfterMakeDateFilter
TextManagement
OnAfterMakeDateFilter
OnAfterMakeTextFilter
TextManagement
OnAfterMakeTextFilter
OnAfterMakeCodeFilter
N/A
N/A
OnAfterMakeTimeFilter
TextManagement
OnAfterMakeTimeFilter
OnAfterAutoFormatTranslate
AutoFormatManagement
OnAfterAutoFormatTranslate
OnAfterCaptionClassTranslate
CaptionManagement
OnAfterCaptionClassTranslate
OnAfterGetGlobalTableTriggerMask
GlobalTriggerManagement
OnAfterGetGlobalTableTriggerMask
OnAfterOnGlobalInsert
GlobalTriggerManagement
OnAfterOnGlobalInsert
OnAfterOnGlobalModify
GlobalTriggerManagement
OnAfterOnGlobalModify
OnAfterOnGlobalDelete
GlobalTriggerManagement
OnAfterOnGlobalDelete
OnAfterOnGlobalRename
GlobalTriggerManagement
OnAfterOnGlobalRename
OnAfterGetDatabaseTableTriggerSetup
GlobalTriggerManagement
OnAfterGetDatabaseTableTriggerSetup
OnAfterOnDatabaseInsert
GlobalTriggerManagement
OnAfterOnDatabaseInsert
OnAfterOnDatabaseModify
GlobalTriggerManagement
OnAfterOnDatabaseModify
OnAfterOnDatabaseDelete
GlobalTriggerManagement
OnAfterOnDatabaseDelete
OnAfterOnDatabaseRename
GlobalTriggerManagement
OnAfterOnDatabaseRename
OnAfterHasCustomLayout
ReportManagement
OnAfterHasCustomLayout
OnAfterReportGetCustomRdlc
Edit MS Word Report Layout
OnAfterReportGetCustomRdlc
OnBeforeOnDatabaseInsert
GlobalTriggerManagement
OnBeforeOnDatabaseInsert
OnBeforeOnDatabaseModify
GlobalTriggerManagement
OnBeforeOnDatabaseModify
OnBeforeOnDatabaseDelete
GlobalTriggerManagement
OnBeforeOnDatabaseDelete
OnBeforeOnDatabaseRename
GlobalTriggerManagement
OnBeforeOnDatabaseRename
OnEditInExcel
ODataUtility
OnEditInExcel
OnInstallAppPerDatabase
N/A
N/A
OnInstallAppPerCompany
N/A
N/A
OnCheckPreconditionsPerDatabase
Data Upgrade Mgt.
OnCheckPreconditionsPerDatabase
OnCheckPreconditionsPerCompany
Data Upgrade Mgt.
RaiseOnCheckPreconditionsPerCompany
OnUpgradePerDatabase
Data Upgrade Mgt.
OnUpgradePerDatabase
OnUpgradePerCompany
Data Upgrade Mgt.
OnUpgradePerCompany
OnValidateUpgradePerDatabase
Data Upgrade Mgt.
OnValidateUpgradePerDatabase
OnValidateUpgradePerCompany
Data Upgrade Mgt.
OnValidateUpgradePerCompany

Hope this helps you

 

 

 

 

 

 

 

How to record Events in Business Central

I know you all started working with AL development and extension. As you are converting your product or customization every time need to deal with base application code as during C/AL days you already added business logic in required codeunits,tables,pages etc.

Now when you are dealing with extension you need to move your customization to AL development using events subscription. It is always painful to find events associate with every business process and need to search right event to write customization did.

In business central there is feature available to see which events are executed during process you ran and one can record this events using event recorder .These events are not stored like permission set .This will disappear once you close the page.

We will see how we can use this . For recording you need to have two browser open in which one will do recording and other will execute business process.

  1. Search for Event recorder.

SearchEventR

2. Click On Event recorder which will show as below

EventScreen

3. Click on Record Events–> Start

EventStart

Go to another browser and start executing the required process . In this example I am creating one purchase order

PurchaseOrder

Now go back first browser and click on record Events–>Stop

StopEvents

Once you click ‘Yes’ then it will display all events executed during purchase order creation.

EventRecorded

Go to the last columns i.e. Get AL Snippets where you will get AL code for the events

Snippets

This will really helpful while moving your program to AL from C/AL

Too Cool.

Stay tuned for more updates.