Skip to main content

Posts

Understanding and How to use APIs Business Central - 2

Introduction:
In my last blog post (Business Central API -1 ) on Creating API in Business Central, we discussed all the commonly used properties of the page, query, and controls like field and data-item. In today's blog, we will be diving deeply into the validation of the data passed through the API endpoint, how it enters into the source tables and is manipulated to be inserted/modified into single or multiple tables.
Also, I will be demonstrating how APIs are to be used.

Pre-requisites:
Microsoft Dynamics Business Central (SaaS)VS Code(https://code.visualstudio.com/download)AL Language Extension(https://tinyurl.com/yyvzxwkb)API V1 from Business Central On-Premise DVD
Books & References:
API V1 from Business Central On-Premise DVDAPI(V1.0) for Business Central (Click Here)API(Beta) for Business Central (Click Here)
Theory:
Understanding API in Business Central 1. BINDSUBSCRIPTIONS: Use to trigger IntegrationEvent for the Codeunit stated in parameters whenever the function calling BI…
Recent posts

Bug in NAV / Business Central when Cancelling Posted Sales Credit Memo

Introduction: With the evolution of Microsoft Dynamics 365 Business Central from Microsoft Dynamics NAV, many of us did not get the chance to completely explore Business Central to its entirety.
One such bug that I found in Business Central is when you Cancel a Posted Sales Credit Memo, system throws an error. Let take a closer look at the bug.

Pre-requisites: Microsoft Dynamics 365 Business Central
Microsoft Dynamics NAV

Demonstration: When Cancelling a Posted Sales Credit Memo, the error I get is
 'The General Posting Setup does not exist. Identification fields and values: Gen. Bus. Posting Group='DEFAULT',Gen. Prod. Posting Group='''



When I created a General Posting Setup with Gen. Business Posting Group as 'DEFAULT' and Gen. Prod. Posting Group as '' I get an error  'Gen. Prod. Posting Group must be filled in. Enter a Value.'


This in not only related to Posted Sales Credit Memo but all the Financial Documents that do not use Gen. Produ…

Permission Issues on Posting after deploying Extension in Business Central Production Tenant

Introduction:
Issues when you deploy your app in Business Central Production VS Business Central Sandbox. Let us what are the implications of the statement.
In my last blog () I have already pointed out the difference in Profile as to how can create new Profile in Business Central Sandbox but the same is not possible in Business Central Production.
Pre-requisite:
Microsoft Dynamics Business Central (SaaS)
Demonstration: 1. I was working with General Journals after deploying the App in Production Environment. Suddenly during posting I go this error.


2. To Verify this issue is not of Permission Set, I gave the User SUPER Permission and tried again.

I got the same error despite giving SUPER Permission. Again the same the error, so I checked the Effective Permissions.

I noticed that Table G/L Entry has an Indirect Permission. I replicated the same Production in Sandbox. But I didn’t find any issue like this.

3. Moreover, I noticed that when I uninstall the App, the Production works perfectly and …

Issue in Event Subscribers: Expected VS Bug

Introduction: Today, as I was playing around in Business Central with some of my customization for General Journals where I wanted to flow a field from General Journal to G/L Entries using Event Subscriber, I noticed something weird.

Pre-requisites:
Microsoft Dynamics Business Central

Solution:
As I was looking for an Event which will trigger when General Journal Entries are posted, I found these entries by browsing through Codeunit 12 Gen-Jnl Post.I found that 'OnAfterRunWithoutCheck' event works. So I proceeded to confirm by adding a Simple Hello World Message in the Event Subscriber and the message didn't pop. Thus, I wasn't sure if that was the specific event to subscribe to.I tried with a list of Event Subscribers and also, Table Triggers(OnBeforeDelete, OnAfterInsert) do not work during postingFrustrated unable to find the issue, I realised I missed using Event Recorder. Trying Event Recorder again popped up the same event () I was working on earlierI added Error th…

How to actually use Profile Objects in Business Central

To 'Whomsoever This May Concern',
When I was working on a Production Deployment for one of my clients, I noticed that I could not create a Profile in Business Central Production Tenant. I was able to create new Profile in Sandbox.


Then I tried using configuration Package and modify the contents of 2000000178 Profile Table and as always configuration package blocked it.



There was no way of dealing with this other thancontacting Microsoft Support and this is the answer I get from a Support Engineer

I was on the verge to give my clients a link pointing to a specific page i.e https://businesscentral.dynamics.com/?page=50150

After being a little creative, I figured out that developing profile objects might help.

And this resolved this issue for me.




What do you do when your NAV 2017 Job is not triggering through Job Queue Entries

Introduction:
Working with failed Scheduled Jobs can be a tiresome process. This is exactly the case where one of my client has an Invoicing & Payment Jobs which run once a day and Job Queue Entries fail to trigger these Jobs. No Errors in the Logs, No Execution Entry, Simply No Way of Figuring it out as to why Job didn't trigger.
Contacting Microsoft Support, they are asking to simply Upgrade the Application to latest version.
Which is not a preferred option as the database size is around 200GB.
Let's see how to resolve this in a smarter way.

Pre-requisites:
Microsoft Windows Task Scheduler
Microsoft Windows Powershell
Microsoft Dynamics NAV(Administration Module for PowerShell & Development Environment)

Books & References:
https://docs.microsoft.com/en-us/powershell/module/microsoft.dynamics.nav.management/?view=businesscentral-ps

Demonstration:
1. Building Objects to Run through a Codeunit:
As you know that Job Queue Entries support Reports and Codeunits and NAV Admi…

TIP: Working with changing Field DataTypes and Deleting fields in Business Central

Introduction:
Imagine a scenario where as per the requirements provided by your clients, you have set up the Database structure in NAV/Business Central.
Then comes a requirement in Phase 2 which completely redefines the database structure which was provided by you and you need to delete a few fields in a table and move it to another table.

Pre-requisites:
Microsoft Dynamics NAV
Microsoft Dynamics Business Central

Books & References:
https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/properties/devenv-obsoletestate-property

Solution:
1. In Microsoft Dynamics NAV, there was a flexibility to delete fields, tables, and keys and using  Force-Sync, you can directly delete the field, table, and keys from SQL Database.


2. Whereas in Microsoft Dynamics Business Central, you cannot delete the fields, keys, and tables.
In order to deploy this deleted change, you need to mention this field, table, and keys with Obsolete State Removed.


After you mention the field as…

General Journal Views in Microsoft Dynamics Business Central

Introduction:
Recently In Business Central, I have observed the format for General Journals where the unnecessary fields are hidden inorder to avoid confusion.

Pre-requisites:
Microsoft Dynamics Business Central

Demonstration:
There are 2 Views of General Journal in Business Central.
1. Limited field view:

2. All field view:

3. Switching to Limited Field View:

4. Switching to All Field View:

Conclusion:
Thus, this limited view from all field view is helpful to avoid confusion during data entering but it has drawback.
If you are entering Account No. as G/L Account and want to switch the Customer as Account Type, there is no way of doing it from Limited field view.This is because in General Journal functionality, Business Central automatically selects the Account Type from previous entry causing this drawback.

How to Run Reports when report processing takes long to cause Session Time-out.

Introduction:
I've observed that when NAV is used for a very long time, the report which needs heavy processing takes long enough to cause Session Time-out. So, fetching reports becomes tedious by manually querying the table.

Pre-requisites:
Microsoft Dynamics NAV
Microsoft Dynamics Business Central

Solution:
The solution is simple, export the Report as an Excel or PDF depending on the data and send Email to the User as an attachment after the processing is complete.

Code:
1. Create the Report in Excel Using Excel Buffer.


2. Export the Excel Buffer contents to an XLSX file.


3. Email the Exported Files to appropriate User. In this case, I have hard coded the user email to my email.


Output:


Conclusion:
Thus adding a piece of code to send email to the User, can save a lot of hassle. In Business Central, however, it is not possible to modify an existing report. So, you need to export the existing report and merge it in AL using Text-To-Al.

How to use RSS Feeds - MS Flow - Microsoft Dynamics Business Central to get your blogs synchronized in Business Central

Introduction:
Today, as I was thinking about tracking blogs posted on to my blog post. There is a system in our company to check with the blogs submitted by a person by exporting MySQL database and then importing into PowerBI to generate the reports.
Recently, I got my blog published on dynamics community and it uses RSS Feeds to syndicate blogs from different websites.
So, this blog is about an experiment can I use the combination of both in Business Central and MS Flow to track the blogs posted on a Website/Blogspot.

Pre-requisites:
Microsoft Flow
Microsoft Dynamics Business Central / NAV
VS Code
AL Language Extension

Solution:
Creation of Flow:
In Microsoft Flow there is a default template for RSS Feeds, change the RSS Feed URL to your own Blog RSS Feeds URL. Also, add Email to Gmail with appropriate data from RSS feeds.

You will need to publish a blog with relevant fields as you want.

Creation of Extension in Business Central (Refer https://github.com/olisterr/Blog-Integration-using-R…