Report Limit
Nov08

Report Limit

To ensure the availability and quality of Business Central services, Microsoft put a certain limitation on the reports, such as Max Execution Timeout to prevent report running continuously for days. You can see this limitation when you run any report under Advanced section. If you go over the limit, the report will be canceled. Below is an example where I setup the Maximum Rows as… Continue Reading thatnavguy’s Article on...

Read More
Sandbox Cleanup Event
Nov06

Sandbox Cleanup Event

When a sandbox is created as a copy of a production environment, BC will do the following things automatically: The job queue is stoppedAny base application integration settings are clearedOutbound HTTP calls from extensions are blocked by default and must be approved for each extension. This is done to prevent any unwanted email / result coming from your sandbox. What happen if… Continue Reading thatnavguy’s Article on...

Read More
Checking Lot Numbers in Bin Content
Oct12

Checking Lot Numbers in Bin Content

When we use Item Tracking, BC will capture the Serial or Lot Number by Location in the Item Ledger Entries table, and by Bin in the Warehouse Entries table (if we enable “Lot Warehouse Tracking”). However, when you look at the Bin Content, it only tells you the quantity on that Bin. It doesn’t tell you which Serial or Lot Number is currently on that bin. If you click on Quantity… Continue Reading...

Read More
Page OnLookup Trigger
Sep23

Page OnLookup Trigger

There are multiple ways in BC to create a Lookup button for a variable in a page or report. Generally speaking, I have seen three following methods being done to achieve the lookup button. 1. Using Table Relation field(fieldItemCode1; ItemCode) { ApplicationArea = All; Caption = ‘Item Code 1’; TableRelation = Item.”No.”; trigger OnValidate() begin … Continue Reading thatnavguy’s Article on their...

Read More
Get Client Type in AL
Sep02

Get Client Type in AL

If you want to know, if a user accessing BC from a device, desktop, or API, you can use the Client Type. Let’s say for an example, you want to limit user modifying from from tablet or phone, you can use CurrentClientType method. field(12; “Item No.”; Code[50]) { Caption = ‘Item No.’; DataClassification = CustomerContent; trigger OnValidate() begin if… Continue Reading thatnavguy’s Article...

Read More
Docker Desktop Failed to Initialize
Aug16

Docker Desktop Failed to Initialize

After updating the Docker Desktop to the latest version successfully, the docker was acting up and refused to start up. To fix this issue, try to delete below folders. %USERPROFILE%AppDataLocalDocker%USERPROFILE%AppDataRoamingDocker%USERPROFILE%AppDataRoamingDocker Desktop Once deleted, you should be able to start Docker Desktop as normal. If the docker is stuck at… Continue Reading thatnavguy’s Article on their blog...

Read More
Quickly Navigate to a File in VS Code
Aug12

Quickly Navigate to a File in VS Code

If you are working with hundreds of files in VS Code, you can easily navigate to that file by using “Ctrl + P” (Quick Open) and start typing in the file that you are looking for. Ctrl + P If you want to navigate between all currently opened files in an editor group, Hold Ctrl and press Tab to switch between it. Hold Ctrl + Press Tab Extra tip: You can also use @ to access the file… Continue Reading thatnavguy’s...

Read More
Add Total Page Number to Report
Aug05

Add Total Page Number to Report

To add total page number into RDLC report, you can use =Globals!TotalPages on the textbox. If you want to reset the Total Page, for example when you print a new Document No., you can set the ResetPageNumber to True under the PageBreak properties. Using Report Builder Using Visual Studio Code __ATA.cmd.push(function() { __ATA.initDynamicSlot({ id:… Continue Reading thatnavguy’s Article on their blog Add Total Page Number to...

Read More
Batch Export All Item Pictures to a Zip File
Jul21

Batch Export All Item Pictures to a Zip File

Item Pictures If you want to export Item Picture into a file, you can use below code: DownloadFromStream(FileInStream, ”, ”, ”, FileName);  However, if you try to export multiple pictures, BC will only export the last picture. This is an issue which I hope Microsoft will address in the future. The workaround is to compress it into a zip file using Data Compression… Continue Reading thatnavguy’s Article on...

Read More
Get Started CheckList
Jul06

Get Started CheckList

When you updated your Business Central to 18.1, as part of “Onboarding Experience”, you will now get this “Get Started Checklist” showing up for all users in every company. Every user with Business Manager role center can see the checklist and goes through the steps which can cause issue on the existing configurations. You can skip every steps to make it go away, however, every user… Continue Reading...

Read More
Dampener Quantity
Jun27

Dampener Quantity

On the Item Card, there is a field called Dampener Quantity. What is that field and how to use it ? Microsoft Help describes it as a field to block insignificant change suggestions for an existing supply, if the change quantity is lower than the dampener quantity. The Dampener Quantity is used in relation to Requisition Worksheet or Planning Worksheet. BC is designed with the concept of… Continue Reading thatnavguy’s...

Read More
Business Central IWs License
Jun03

Business Central IWs License

What is IWs license? When assigning Business Central license to the users, you will notice that you have Dynamics 365 Business Central for IWs. What is it and why do you have 10000 of it ? IWs is a demo license / free evaluation license. When you signup for Business Central trial using the self-service sign-up, 10000 IWs licenses are added to your Azure AD. It allows you to assign… Continue Reading thatnavguy’s Article on...

Read More
Using Device License in BC
Apr28

Using Device License in BC

The Dynamics 365 Business Central Device license allows multiple users to simultaneously use a device that is covered by the license. For example, this might be a point of sales, shop floor, or warehouse device. The number of users assigned to the Dynamics 365 Business Central Device Users group can sign in at the same time using device license. Before you set this up, make sure… Continue Reading thatnavguy’s Article on...

Read More
Permission Set Object
Apr20

Permission Set Object

Starting from BC18 (2021 Wave 1), we can use Permission Set Object to write our app permission set. You can still use the XML permission, but we now have option to use Permission Set Object. So much easier, simpler to use. Hello Permission Set Object You can even extend an existing permission set. How good is that ? But there’s more than that. You can even split and join multiple… Continue Reading thatnavguy’s...

Read More
Set Default User Group
Mar23

Set Default User Group

When you get new users in Business Central, BC will automatically assign you the User Group automatically. What if you want to change the default user group ? There is no official way to do this, but there is a trick to do it in BC. The table responsible for it is Table 9007 – User Group Plan. BC assign the default user group based on the user license / plan (essential, premium,… Continue Reading thatnavguy’s Article...

Read More
Looping Through Enum
Mar11

Looping Through Enum

Sometimes you may need to loop through Enum. To do this, you can use List Data Type. local procedure EnumLoop() var MyEnum: Enum "My Enum"; EnumIndex: List of [Integer]; iMax, iLoop : Integer; begin EnumIndex := ScanSource.Ordinals(); iMax := EnumIndex.Count(); If iMax <= 0 then exit; iLoop := 1; repeat //loop here MyEnum :=… Continue Reading thatnavguy’s Article on their blog...

Read More
TLS Issue on NAV2013
Mar07

TLS Issue on NAV2013

Microsoft recently decided to start disabling the Transport Layer Security protocols: TLS 1.0 and 1.1 on Microsoft 365 service. Due to this new policy, one of our clients who currently using NAV 2013 became unable to send email. Every time users try to send an email, they will get the error from SMTP Mail Server saying “Authentication failed because the remote party has closed the transport… Continue Reading...

Read More
Sales Quote Expiry Date
Feb24

Sales Quote Expiry Date

You can specify the Sales Quote expiry date on a field called Quote Valid To Date. If you want BC to calculate the expiry date automatically, you can specify the date formula in the Quote Validity Calculation field on the Sales & Receivables Setup page. If you want to batch delete expired sales quotes, there is a function called Delete Expired Quotes that only accessible from… Continue Reading thatnavguy’s Article on...

Read More
Unit Volume vs Cubage
Feb04

Unit Volume vs Cubage

BC has two places to put Volume or Cubage information: the Item Card and Item Units of Measure. Why and which one to use for your business process ? Item Units of Measure – CubageThe cubage field is automatically calculated from the Item Unit of Measure’s width, length and height and is predominantly used in WMS documents (pick, put-away, movement, etc) to calculate if an item can be… Continue Reading...

Read More
Change Default Map From Bing to Google Maps
Dec14

Change Default Map From Bing to Google Maps

Business Central uses Bing as the default online map. You can change the default from Bing to Google Maps from the Online Map Setup. You will need to add a new Map Parameter Setup Code. Create a new GOOGLE code with below parameters.Maps Service : http://www.google.com/maps/search/?api=1&query={1}+{2}+{4}Directions Service :

Read More
Drag and Drop File in BC
Dec04

Drag and Drop File in BC

Drag and Drop As of now, BC still does not have an official way to do drag and drop for file. However, there is a hidden workaround it. When the Choose File dialog box appears (before the actual Windows file picker), you can actually drag and drop your file onto the “Choose…” button. Make sure you put the file on the button. The file will get imported straight away. Continue Reading thatnavguy’s Article on their blog...

Read More
Error on Posting Purchase Invoice – Item Entry Relation does not exist
Dec02

Error on Posting Purchase Invoice – Item Entry Relation does not exist

There are times when BC does not give you a clear error messages. This is one of them. When you try to post purchase invoice for item receipt but not invoiced, the “Item Entry Relation does not exist” error shows up. Upon inspection, the issue is actually coming from the Item Tracking Lines. You will see that Qty. to Invoice is zero there. Update the Qty. to Invoice,… Continue Reading thatnavguy’s Article on...

Read More
Batch Schedule Customer Statements
Nov24

Batch Schedule Customer Statements

Scheduled Statements One of the requirements that users asked is the ability to batch email customer statement. Since there is no standard way of doing this in NAV or BC, we always ended up developing an extension for them. Well, not anymore. I noticed recently that there is a new “Scheduled Statements” button on the Customer card. How does it work ? Let’s first talk about the setup…. Continue Reading...

Read More
Human Resource Module in BC
Nov05

Human Resource Module in BC

In Business Central, you have a Human Resource Module. You can keep detailed records of your employees information, such as confidential information, qualifications, absences, and contacts. To start using the Human Resources functionality, you must first set up employees and other basic information. You can then associate various codes to an employee, which allows you to filter information… Continue Reading thatnavguy’s...

Read More
Item List page vs Item Lookup page
Oct28

Item List page vs Item Lookup page

Item Lookup page In BC, there are two pages that list up your items master: Item List page and Item Lookup page. The Item List page contains a lot of fields (with flowfields) and actions. Item Lookup page only contains minimal fields (without flowfields) and Advanced View action. As the name implies, the Item Lookup page is designed to be used when you are doing a lookup on your… Continue Reading thatnavguy’s Article on...

Read More
Posted General Journal
Oct15

Posted General Journal

Posted General Journal In NAV or Business Central, when you post the General Journal, it will create the General Ledger Entries (and the its related entries ), then the journal lines will be deleted. There is no way you can go back to check the General Journal input. Not anymore. From BC 2020 Release Wave 2, there is a new feature called Posted General Journal. With this feature, you can… Continue Reading thatnavguy’s...

Read More
Service Posting
Oct14

Service Posting

When you post the Service Order, BC will give you four options to choose: Ship, Invoice, Ship and Invoice, Ship and Consume. You can actually divide those four options into two categories:– Invoice : Ship, Invoice, Ship and Invoice – Consume : Ship and Consume Notice that there is an option to only post invoice, but there is no option to only post consume. That is because once you… Continue Reading thatnavguy’s...

Read More
Table Type = Temporary
Oct12

Table Type = Temporary

BC17 introduces great new features to increase your BC performance, such as partial record and temporary table type. Creating a temporary table is the concept of holding the data temporarily in the memory which will reduce the load on the network and server. Previously, you can only do this in variable or page. Starting from BC17, you can create a table with Table Type = Temporary. < pre class=”brush: plain; title: ;…...

Read More
Protected Variables in AL
Oct04

Protected Variables in AL

Protected Variables If you want to make a global variable accessible from table to table extension, or from page to page extension, you would normally need to create a procedure to get or set the variables. With protected variables, you no longer need to do that. The protected keyword can be used to make variables accessible between tables and table extensions and between pages and page… Continue Reading thatnavguy’s...

Read More
Create View in AL
Sep30

Create View in AL

If you are tired of typing the same filters over and over again, the Save View is a great way to help you avoid having to set the respective filters over and over again. It will save time and increase your productivity. What if you want to do it for all users, here comes the extension development. Let’s say you want to add a View to Sales Order List for filtering Completely Shipped… Continue Reading thatnavguy’s...

Read More
Undo Shipment
Sep28

Undo Shipment

If you found out that the quantity on your Sales Order has been shipped incorrectly, you can undo the shipment as long as the quantity has not been invoiced yet. You don’t need to undo the whole document, you can undo the quantity per line. To undo the posted quantity:1) Go to the Posted Sales Shipment and find the document.2) Select the line that you want to undo.3) On the lines,… Continue Reading thatnavguy’s Article on...

Read More
Deprecated Features and Fields in BC
Sep16

Deprecated Features and Fields in BC

Business Central is evolving faster than the old NAV. Every 6 months, Microsoft releases a new major version that may or may not break the changes. To keep up with the list of tables and functionalities that are deprecated, Microsoft provides some information about these breaking changes. The following links can provide you with what, why, and how to navigate around these deprecated… Continue Reading thatnavguy’s Article...

Read More
How to Create Reservation Entry in AL
Sep08

How to Create Reservation Entry in AL

If you need to insert reservation, SN, or Lot No to your document, you will need to insert the record to Reservation Entry table. To do that, you can make use of Codeunit 99000830 “Create Reserv. Entry”. Why are we not using Tracking Specification table ? Because BC is using Reservation Entry table to fill in the Tracking Specification table temporarily. That is why we need to fill in… Continue Reading...

Read More
Post Sales Shipment or Invoice using AL
Sep07

Post Sales Shipment or Invoice using AL

If you want to post Sales Shipment or Invoice from your extension, you can use Codeunit 80 Sales-Post. Before you send the Sales Header record to the codeunit, it is necessary for you to tag if you want to post the Shipment or Invoice. You can do this by modifying the fields in the Sales Header record and send the modified Sales Header to the codeunit. First we need to define the… Continue Reading thatnavguy’s Article on...

Read More