How to Post Transactions using Configuration Package in business central

Two days back one of the customer asked me is there any way that I can post sales transactions using configuration package and I said yes it is possible to do that by using processing rules in configuration package. Today’s blog post will explain how it is possible.

In this blog post we will see how we can post sales transaction using configuration package.

Step 1:- Create configuration package for table sales header and sales line.

Step 2 :- Select required fields in each table .

I select required fields as below in each table as below

Step 3 :- Set the parent table id against Sales Line Table

Step 4 :- Set up the processing rules.

Select table 36 and click on table –> Processing rules.

Step 5:- Set up Action and processing filters.

In Processing rules select desire action as below and set up processing filters.

I set filter for document type =order and set action as Ship

Filters

Action

Step 6 :- Export the package in excel

Step 7 :- Add the required data in excel file

Step 8 :-Import the data back in package

Step 9 :- Apply the package

Step 10 :- Navigate to posted shipment to check the posted shipment.

That’s it so now we don’t need to write xmlport and code unit to import data and post.

Isn’t that cool ???

Stay tuned for more.

How to Extend Preview Posting in business central

Do you know one of the great feature provided by Navision called as Preview posting.

When posting journals or documents with a large number of entries, accountants want to make sure that the posting will be correct beforehand. Previewing the posting helps prevent the need for corrections, making accountants more productive.

In upcoming version of Business Central Wave 2 2021 preview posting is extended to show more details and it is also setup based.

To setup the preview posting navigate to General Ledger Setup

If Posting preview type is selected as standard then it gives an overview of entries group by type.

Posting Preview type :- Standard

Posting preview type :- Extended

In the above screenshot one more option provided to see the Hierarchical View

After selecting the option Show Hierarchical View

Hopefully this feature will help accountant

Stay tuned for more.

How to Setup default document line type for Sales transaction in business central

This is one of new feature going to be in October release of Business central.

On Sales transaction user need to select the line type such as Item, G/L Account ,Fixed asset etc. but sometime users says can we have default type as Item on every new sales orders rather than selection .

With upcoming business central version it is possible to set default line type as setup.

Go to Sales & receivables setup and select document Default line type as below

Select the desire value from dropdown list and go to sales order to create new transaction.

May be this small change will make difference for end users

Stay tuned for more features for upcoming versions.

Business Central Wave 2 2021 Preview available

The preview of Business Central 2021 Wave 2 (release 19) was released

It is only possible to create Sandbox preview and non-production environments; the preview environments are for demonstration purposes only and to have their functionality tested, they are removed at most thirty days after the official release of the product.

Now lets get ready to explore new features with Wave 2 2021

Stay tuned for more.

What is planned for Business Central Wave 2 2021 release

As we are gearing up for new release of business central and already the buzz is started for new version . Here I will list few upcoming features which I am looking forward in new version.

Following features I am looking forward.

Richer access control for extension source in cloud environments

Add additional columns through personalization in various pages to gain more insight

List of trusted partner apps

Profiling AL performance with snapshot debugger

Transactional installation and sync of extensions on-premises

Restarting environments

Unhindered data entry across rows

Decimal separator on numeric keypad matches region setting

Discovering reports and administration areas in Role Explorer

Copying environments of different types

Do let me know yours…

How to add XML comments in AL Code :- Business Central

With the release of Business Central Wave 1 2020 XML comments is available in AL code.

If you would like to add documentation to your code then you can use XML documentation .The documentation comment must immediately before the object such as codeunit,table,functions etc.

The syntax for adding XML comments in your code is triple slashes /// followed by one of the supported XML tags. There is IntelliSense support for writing documentation comments. Most importantly providing a template documentation comment when writing the third slash in the triple slash.

These documentation comments are visible when hovering over source symbols.

Advantage :

  1. XML document comment will improve readability ,add useful information about the code implementation and help others take over your code .
  2. With XML comments it also enable intellisense in AL objects that you add in your code as a help to other developers who is going extend your code.

Let sees an example how we can add the xml comments.

Created one simple code unit where we can add documentation comments.

Please note that If you have the showMyCode setting in the app.json file set to false and download an app package; the app package will not contain any XML comments.

Hope this will help you.

How to Delete extension data in business central

With the release of Business Central Wave 1 2020 new feature added to delete the extension data from production or sandbox. Prior to that we can uninstall the extension but data still there for the extension.

This feature will be useful when

1) Application is not in use.

2) Customer have desire to reinstall the extension data from scratch.

Let see how to uninstall and delete the extension data.

1) Launch the business central and search for extension management.

2) Select the required extension for uninstall. In this you can see new option added for delete extension data .

3) After selecting the option then you will get following warning message.

4) After click ‘YES’ then you can see ‘Delete Extension Data’ will get enable as follows

5) After that you can click on Uninstall then system will again warn before starting deleting data from extension.

6) If you are sure then click ‘YES’ and it will start processing to delete the data. This can not be undone.

Hope this will help and stay tuned for more.

If you like my blog then please connect me on

Blog :-https://ammolhsaallvi.blog/

Twitter :-https://twitter.com/ammolhsaallvi

LinkedIn :-https://in.linkedin.com/in/amolsalvi

How to Use SetLoadFields in Business Central for performance

With the release of Business Central Wave 1 2020 the partial records capability is available.

The partial records capability is allows for loading a subset of normal table fields when accessing the data source based on SQL.

To access the data source we use GET ,FIND NEXT. When we use these methods then runtime it load all fields and will hamper the performance while fetching the records.

Now from business central wave 2 2020 we can use ‘Partial records’ capability.

To accommodate partial records following methods available in business central. These methods are avaaible on RecordRef and Record datatype in AL. These methods are loaded in two groups i.e. Subsequent loads and Current load

MethodDescription
SetLoadFieldsSpecifies a set of fields to be initially loaded when the record is retrieved from its data source.
AddLoadFieldsAdds fields to the current set of fields to be initially loaded when the record is retrieved from its data source.
AreFieldsLoadedChecks whether the specified fields are all initially loaded.
LoadFieldsAccesses the table’s corresponding data source to load the specified fields.

Lets See few examples of these methods

Following example is for summation of Quantity fields from Item Ledger Entry .In this we would like to make calculation of only Quantity fields and not require the others fields to be loaded.

If you see SetLoadFields is call before data fetching operation starts. This will determine which fields needed for Find Set Call.

Advantage of this is that it gives you ability to load only those fields which are required to perform the operation which will make execution of code faster and give more performance. This feature is recommended to use while fetching the records and not for Insert,Modify or Delete operation.

Using the above method we added the required fields but what will happen to other fields which hasn’t been loaded .In such cases platform does an implicit GET and loads the missing fields, called as JIT Loading (Just in Time).

When JIT loading occurs, another access to the data source is required. These operations tend to be faster because they’re GET calls. GET calls can often be served by the server’s data cache or become clustered index seeks on the database.

Iterating over records in the database, enumerator is created based on selected fields and row is fetched when NEXT is called. but certain operations will not follow enumerator like if we passing a record by value and not by VAR .This operation actually creates new copy of the record and original records and copy of the record not share the filters ,selected field for loading. That means to access unloaded fields it need to trigger JIT load and but it will not update enumerator which means for future iterations also require JIT load.

To overcome such situations we can do following

  1. Pass the record reference using VAR.
  2. Call AddLoadFields on the original records before passing by value.
  3. Use SetLoadFields before calling FIND,GET,NEXT.

Hope this will help you to understand for partial records and stay tuned for more updates.

For more updates you can follow my blog on following channels.

Use of implicit ‘with’ will be removed in the future :-Business Central

Though above warning was informed by MS long time back but it has introduced in latest version of AL.

With the update of new version of AL extension this warning is populated in AL code.

Once you update above AL language version then you will find below warning

Now this warning will become error in near future that means we need to correct it anyhow . If your app contain more than 100 pages then it will be too much efforts to make it manually and tedious task.

To make it superfast work we have one extension available in marketplace which will help you to resolve it within seconds.

Once you install the extension then Press ‘F1’ and run following command

‘Fix Implicit with usages’

Just have look at the following file

Now run above command and relax as it will fix the warning in all pages.

Result of the file after running command

It will fix the all warning in all the files.

Hope this will help you

Stay tuned for more update

The ID Range ‘[50000..99999] is not valid : Business Central

Today morning I update AL extension with the latest version as below

After update I found following issue for Per Tenant app and was not able to find any clue for this issue

To resolve the issue decided to roll back to latest update and it works fine but it is not giving the latest updates for AL

Then I decided to ask our beloved community

MVP https://twitter.com/ajkauffmann gave the solution to resolve this

Actually I was doing mistake in App Source Analyzer that I enabled both AppsourceCop and PerTenantExtensionCop for PerTenant App which was not correct

This is actually not correct because we need enable code analyzer like

If developing App within Certified App range (70M) then enable AppsoureCop and if developing app for Tenant then enable PerTenantExtensionCop.

This resolve my issue.

Hope this will help you..

You can go through the twitter thread.