Category: Uncategorized

How to Create Assisted Setup -Business Central

As you aware that with new version of business central comes up breaking changes which actually change the way of writing few points like assisted setup and many more.

Today we will see how to create assisted setup in wave 2 with new events. In this document have created one of the most simple assisted setup.

Step 1 :- Create New table

table 50100 "SetupTable"
{
    DataClassification = CustomerContent;

    fields
    {
        field(1; GroupCode; Code[10])
        {
            DataClassification = CustomerContent;

        }
        Field(2; "Group Description"; text[100])
        {
            DataClassification = CustomerContent;
        }
    }

    keys
    {
        key(PK1; GroupCode)
        {
            Clustered = true;
        }
    }



}

2. Create New page

page 50100 "SetupPage"
{
    PageType = ListPart;
    SourceTable = SetupTable;
    layout
    {
        area(content)
        {
            repeater(SetupGroup)
            {
                field(GroupCode; GroupCode)
                {
                    ApplicationArea = All;
                    ToolTip = 'Select the specified group code';
                }
                field("Group Description"; "Group Description")
                {
                    ApplicationArea = All;
                    ToolTip = 'Specifies a description.';
                }
            }
        }
    }
}

Step 3 :- Now use new assisted setup module to create assisted setup as below

codeunit 50100 "SetupTableAssistedSetup"
{

    var
        AssistedSetup: Codeunit "Assisted Setup";
        AssistedSetupGroup: Enum "Assisted Setup Group";
        CurrentGlobalLanguage: Integer;
        SetupWizardTxt: Label 'Set up Table';
        SetupWizardLinkTxt: Label 'https://google.com', Locked = true;

        AlreadySetUpQst: Label 'Setup is already set up. To change settings for it, go to the setup again.Do you want go there now ?';

    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Assisted Setup", 'OnRegister', '', false, false)]
    local procedure SetupInitialize()

    begin
        CurrentGlobalLanguage := GlobalLanguage();
        AssistedSetup.Add(GetAppId(), PAGE::SetupPage, SetupWizardTxt, AssistedSetupGroup::Extensions, '', SetupWizardLinkTxt);
        GLOBALLANGUAGE(1033);
        AssistedSetup.AddTranslation(GetAppId(), PAGE::SetupPage, 1033, SetupWizardTxt);
        GLOBALLANGUAGE(CurrentGlobalLanguage);
        GetInformationSetupStatus();
    end;

    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Assisted Setup", 'OnReRunOfCompletedSetup', '', false, false)]
    local procedure OnReRunOfCompletedSetup(ExtensionId: Guid; PageID: Integer; var Handled: Boolean)
    begin
        if ExtensionId <> GetAppId() then
            exit;
        case PageID of
            Page::"Assisted Company Setup Wizard":
                begin
                    if Confirm(AlreadySetUpQst, true) then
                        Page.Run(PAGE::SetupPage);
                    Handled := true;
                end;
        end;
    end;

    local procedure GetAppId(): Guid
    var
        Info: ModuleInfo;
        EmptyGuid: Guid;
    begin
        if Info.Id() = EmptyGuid then
            NavApp.GetCurrentModuleInfo(Info);
        exit(Info.Id());
    end;


    local procedure GetInformationSetupStatus()
    var
        SetupTab: Record SetupTable;
    begin
        SetupTab.SetFilter(GroupCode, '<>%1', '');
        If SetupTab.IsEmpty() then
            exit;
        AssistedSetup.Complete(GetAppId(), Page::SetupPage);

    end;
}




Publish the extension and you will see following result.

Hope this will help you….

Business Central Wave 2- Menu Suite

New feature added in business central Menusuite where in one can explore all modules just like earlier . You can check from below.

But at the moment this page in preview mode and subject to change in upcoming updates… Till then we can explore ….

Extension Source code download issue resolved in NAV 2018 CU8

updateimage

Till NAV 2018 CU 7 even if we set property ShowMyCode property to false in app.json  we will be able to download source code of extension

This issue is now resolved in NAV 2018 CU8 and now you can not download source code for extension

platformfix

Stay tuned for more…

 

CU Summary for NAV -August 2018

updateimage

Cumulative Update includes all application and platform hotfixes and regulatory features that have been released for Microsoft Dynamics NAV.

NAV 2018 :- Cumulative Update 08 for Microsoft Dynamics NAV 2018

NAV 2017 :- Cumulative Update 21 for Microsoft Dynamics NAV 2017

NAV 2016:- Cumulative Update 34 for Microsoft Dynamics NAV 2016

NAV 2015:-Cumulative Update 46 for Microsoft Dynamics NAV 2015

Before you install a cumulative update in a production environment, take the following precautions:

  1. Test the cumulative update in a non-production environment.
  2. Make a backup of the system or computer where the cumulative update is to be installed.
  3. This Cumulative Update can require a database upgrade.

Stay tuned for more..

How to Protect IP Code in Business Central

15Now I know you already started developing app using VS Code and now questions is that how to protect app for viewing the code while debugging or downloading.

However extension development package provide setting for IP protection for viewing or downloading the code of extensions but you can also control by just adding one line code  in app.json file.

app.json file containing setting called showMyCode which controls whether it is possible to debug the code ,By default it is set to false which means debugging in extension code not allowed.

If you want to allow to show extension code then add the line as below in app.json file as by default this setting is not added in app.json file when it is created.

appjson

By adding this setting, you enable debugging into an extension to view the source code when that extension is set as a dependency.

Stay tuned for more.

 

 

 

How to Retain data after publishing App

15

Hope you all started app development and may be wondering how to retain data after publishing app or debugging several times or after adding more sample data.

How do I retain the sample data so every time no need to add the same data.  ?????

In Business central you can synchronize the sample data while publishing several times. This can be done by simple settings in launch .json file.

lanuchjson

Once you mention this settings then the  data synchronize is controlled by this settings.

This settings consist of two options i.e. Synchronize and Recreate .

The default value is synchronize which means data will be retain every time when the app get published.

When schemaupdate set to Recreate mode then all the tables and table extensions are recreated every time and data will get lost.

When schemaupdate set to Synchronize then:

Do’s

  1. Add more field in table
  2. Increase length of field.

Don’t

  1. Don’t delete the field which contains sample data as if the field is removed from table then data can not be synchronize
  2. Don’t decrease the length of field for code and text datatype.

For above points you need to write upgrade code units or set schemaupdate to recreate.

In next blog will see how to write upgrade code units.

Stay tuned for more…

 

 

 

 

 

 

 

 

Dynamics 365 Business Central October ’18 release

With the October ’18 release, Dynamics 365 Business Central is available in the cloud, on-premises, and in hybrid deployments.

Business Central on-premises availability

Business Central gets an on-premises deployment option that serves as a successor to Dynamics NAV. In other words, rather than a new version number for Dynamics NAV, customers can get Business Central on-premises.

Check following links

Overview of Dynamics 365 Business Central October ’18 release

Summary of what’s new in Dynamics 365 Business Central

 

CU Update with NAV 2018

updateimage

New cumulative update release for NAV 2018 CU 7

You can check on this link for more update Check for Details

Download from NAV 2018 CU7

Visit here for more details

https://blogs.msdn.microsoft.com/nav/2018/07/09/cumulative-update-07-for-microsoft-dynamics-nav-2018-has-been-released/

Warning

Before you install a cumulative update in a production environment, take the following precautions:

  1. Test the cumulative update in a non-production environment.
  2. Make a backup of the system or computer where the cumulative update is to be installed.
  3. This Cumulative Update can require a database upgrade.

 

 

 

User and Workspace Settings in Visual Studio Code

I hope you already started working with Visual studio code.

In this section we will see how to do setting for User and workspace in Visual Studio code environment.

It is easy to configure visual studio code as per your likings using various settings. You can change VS code editor ,user interface and functioning by using this settings

There are three ways you can open user and workspace settings

  1. To access you can go to  Click on File–>Preferences–>Settings

User1user2

2) Using Command Palette(Ctrl+Shift+P)  by typing

Preferences: Open User Settings  or Preferences : Open Workspace Settings

user3

3) Use keyboard shortcut (Ctrl+,)

This provides two different settings

  • User Settings – Settings that apply globally to any instance of VS Code you open.
  • Workspace Settings – Settings stored inside your workspace and only apply when the workspace is opened.

Workspace settings override user settings.

How to create user settings 

Once you open settings then you can modify settings as below

Example. If I want to change font size in editor then I can do it from here

 

Change the font size and see the effect on editor.

user6

It shows the effect immediately after saving the file.

Same kind of settings you can do it for AL language extension management

user7These changes get saved in %APPDATA%\Code\User\settings.json

Hope this will help you while extension development

Stay tuned for more…

Cheers…