Skip to main content

How DO I - Calculate Working and Nonworking Day in #MSDynNAV & #MSDyn365bc.

Hi Readers,

In Last article we understand how to setup Base Calendar in #MSDynNAV & #MSDyn365bc. 

In this article we will see how we can utilize base calendar to check Working and Non-Working Days based on Calendar. 

This is actually a question during last #bcopendiscussion from Shahid Ullah.

Question - How to find the Workings Days in a month or from a given date range?

For the Demo, I will create a Page which will allow user to input a Start Date and End Date.

And the Result after the calculation will be -

  • Total No. of Days between Date Range.
  • Working Days between Date Range.
  • Non-Working Days between Date Range.

To achieve that we can use the Base Microsoft "Calendar Management" Codeunit.

Calendar Management have a function - CheckDateStatus which will check Date Status based on a Base Calendar Code specified. 

This Function will provide the Date Status as Working or Non Working. The Example that we discussed is from Business Central 14 C/AL Version.

For Business Central AL, the base Microsoft code is changed.

In Business Central a new function is added -

  • IsNonworkingDay
    • This function requires a date input that you want to check with Customized Calendar Change Record.
  • To invoke this function we first need to setup the Customized Calendar Change record for which there is a function to SetSource.
    • SetSource Requires a Record from where calendar code need to be picked and a Record for Customized Calendar Change.

You Can download Source Code from GitHub.

C/AL Version

Extension Version

If you would like to have access to code You can download that from GitHub.

Hope you find the article useful. 

Let me know your views as comment to this article.

Regards,
Saurav Dhyani
http://www.sauravdhyani.com/

Comments

Popular posts from this blog

VIEW SERVER STATE permission on SQL Server?

Hi all, Sometime While trying to Login into a database we face an error message as shown below. --------------------------- Microsoft Dynamics NAV Classic --------------------------- You cannot start Microsoft Dynamics NAV Classic because you do not have the VIEW SERVER STATE permission on SQL Server. Contact your system administrator. --------------------------- OK    ---------------------------

RTC Report It is not possible to instantiate the Visual Studio bridge.

Hi all, As a Navision developers I have Multiple Versions of Navision running in single Machine. As discussed Earlier in the post how to run multiple Version of RTC in single machine. So my machine have following details for RTC Versions - NAV 2009 R2    - is installed. NAV 2009 SP1  - is copied at C:\Program Files (x86)\Microsoft Dynamics NAV\60\NAV 6.0 SP1 IN\ NAV 2009         - is copied at C:\Program Files (x86)\Microsoft Dynamics NAV\60\NAV 6.0 IN\ This approach has been working great for execution of Classic and RTC Clients. However, after installing Dynamics NAV 2009 R2, if i tried to view the Layout for an NAV 2009 SP1 Report i was getting the following error: ---------------------------  Microsoft Dynamics NAV Classic  ---------------------------  It is not possible to instantiate  the Visual Studio bridge.  ---------------------------  OK    --------------------------- After searching for the error i figured out the issue was due to - Design change in NA

NAV 2013 R2 - Cumulative update 12 Released.

Hi all, Please find below the details of  Cumulative Update 12 released for Microsoft Dynamics NAV 2013 R2. Title - Cumulative Update 12 for Microsoft Dynamics NAV 2013 R2 Build No. - 38053 Release Date - October, 2014 Local Version Included - AU, AT, BE, CH, DE, DK, ES, FI, FR, IS, IT, NA, NL, NO, NZ, SE, UK, RU Download Link Note: Implementing this cumulative update will require a database conversion unless you have already implemented update rollup 5.