All Dynamics events in 2020 are going virtually

All Dynamics events until the end of 2020 will go virtually… or they are cancelled. I don’t know what to say… if it is a good or bad. Definitely virtual event cannot replace live one and I’ll try to explain why. But with given circumstances, I think that going virtual is the best possible option… on the first place because of our health and not losing community work.

Right now, we have the following situation with all our Dynamics events:

  • First, we will start with D365 Community Summit. It will go virtual instead in Nashville and it will be held in period October 7-9, 2020. Agenda is already ready and if you didn’t register, you can see details and register here.
  • Directions EMEA and Directions Asia, instead of Prague and Bangkok will be organized as a common virtual event in period November 3-5, 2020. More information here.
  • Directions NA, Orlando is unfortunately canceled for this year. But as Directions EMEA and Asia will go virtually, it means there is not any limitations for colleagues from North America to join this even.
  • NAV TechDays is canceled somewhere on the beginning of Corona crisis and we will not have opportunity to meet before next year.

OK, I wanted to explain why I’m not a fan of virtual events… but to be honest it is probably better to have them in comparison with cancelation all these events. With virtual event you can still have an opportunity to listen prepared content and this is good. But… attending conferences is not all about content… content is important of course, but more important is an opportunity to openly ask what you need and not to get an answer only from presenter. You have an opportunity for discussion on sessions, but probably more important during the pauses. All these networking is not possible to be created in a virtual world… minimum it is not possible in this moment. And communication between presenter and attendees actually doesn’t exist in the virtual event. And when I’m talking about all of these, this is not problem only for attendees, it is not inspiring for lecturers as well (it is not the same when you have people in the front of you and when you have camera and laptop).

But again, with these circumstances, this is much better to have virtual events than not having them at all. And I must admit in a few digital events I’ve already participated, organization was really the best possible what somebody can make in a virtual world… and probably beyond my expectations. But again, this is not the same ☹.

And on the end, our hopes for the next year are that we can see each other in a live. I hope we will have much better health situation and we will attend minimum these already scheduled events:

  • Directions Asia, April 15-16, 2021 – Bangkok, Thailand
  • Directions NA, April 25-28, 2021 – San Diego, CA, US
  • Directions EMEA, October 7-9, 2021 – Milan, Italy,
  • NAV TechDays, November 16-19, 2021 – Antwerp, Belgium
  • …and hope others will schedule events soon.

How to Build Power Portal connected with Business Central

Introduction

When I think about new Dynamics 365 Business Central (in the future, I’ll use only ‘Business Central’ or just ‘BC’) features, the first things in my mind are openness and integrations. Then one of the most common limits in Business Central (and in Dynamics NAV before) was lack of portal connected with the database. Of course, you could develop portal from the scratch or use one of existing solutions and develop integration… But what is common in both of these cases? You need to pay in the first case for development (not so cheap) and in the other case for IP or license (again not so cheap).

But with Power Platform we got something more. Now we have Power Portal and as you have Power Platform included in your user’s subscriptions, you don’t need to pay something more (minimum, not such a big amount of money). Only what you need to pay is using portal, but this is really not so costly (100USD per month for 100,000 page views for unauthenticated users or 200USD per month for 100 daily login sessions for authenticated users. More details here: https://powerapps.microsoft.com/en-us/pricing/). And yes… we have an issue here… Power Portal is based on Dataflex Pro (formerly known as Common Data Service). But this is an opportunity, not a limitation. And this is the topic of this whitepaper.

Start with building entities in Power Platform

First as I already mentioned, this is necessary to build solution in Dataflex Pro and that means you need to create entity(ies) you want to connect with Business Central. That means you need to run Power Apps: https://powerapps.microsoft.com/. After that, I’ll continue with task. In this example, I’ll use Employee entity as we already have Employee table in BC.

To do this, you need to start from Entities (Data > Entities in the left navigation pane) or you can start with Solutions and create new entity from there. In the new entity, enter Display name and enter primary name.

Click Done when you enter that. After that, you need to add new fields using Add fields command. When you finish with all fields, click Save Entity to save all changes.

When you finish with all details in creation of entity you can start with building connection with Business Central. But keep in the mind that you need to make something more here and we will come back later. Right now, only one thing you can add is Key just to avoid having duplicates and my recommendation is to copy keys from BC table.

Connecting Business Central with portal

OK, connection with the Business Central can be done on a few different ways and I’ll try to explain all of them here.

Business Central customizing an integration with Common Data Service

From the Wave 1 2020, Business Central supports an integration by default with a set of entities in the Dataflex Pro default database, but you can make customization through extension and add more. For developing extensions that integrate Business Central with Dataflex Pro, system uses extensibility capabilities where proxies to Dataflex Pro tables can be created in Business Central, and these will be made extensible. This allows for custom attributes to be synchronized and for additional tables to be added to the default synchronization process.

When you create this extension, only what you need to do is mapping tables with entities as well as mapping fields in Business Central and Dataflex Pro.

I don’t want to write in details how you can do it as Microsoft already published completely documentation how to build this kind of extension and how to configure it. For more details, open this page: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/administration-custom-cds-integration.

When you finish with developing an extension, you can find here how to map tables and fields: https://docs.microsoft.com/en-us/dynamics365/business-central/admin-how-to-modify-table-mappings-for-synchronization.

When you connect entities in Dataflex Pro and Business Central, you can continue with building Power Portal.

Integration using webservices and Power Automate

Previous way of integration is native, but it requires some development knowledge. But what if you are not developer and still want to build portal based on Business Central? Do you think it is possible? Yes… this is an answer.

From the Entity page in Power Apps, just click Get Data and in the Power Query window choose OData tile. Go next and then you need to stop yourself there. You should move to the Business Central. Open Web services page and add page you want to use in synchronization. In our case, this is page 5200… just click New, as Object type choose Page and add this page number; enter Service name you want to use and click on Publish field. Copy OData V4 URL value.

Move back to the Power Apps and in the Connection setting paste this value to the URL field. Choose Organizational account as an Authentication kind. Confirm your credentials and go to the next page. Click Next until you open the following page.

Now you need to choose Load to existing entity option and in the Destination entity choose entity you created (in my example BCEmployees).

In the Field mapping part of window (right side), you need to map fields from web service in Business Central as a Source column with Destination fields (fields in our entity). When you finish it, just click Next and you will find a page where you can configure refresh settings. That means you need to choose how often system will synchronize data from Business Central web service to the entity. Click Create and you have been finished with integration.

But something will miss here. As you are using just refresh model, that means you will get records from Business Central, but you cannot insert there. Actually, you can insert to entity, but system will not insert them to BC. To solve this, you can create very simply flow in Power Automate. Actually… you will need as many flows as you want actions.

You can see on previous picture that I chose When a record is created and it will be OK if you want to have only Insert from portal. But if you want more action, you need to use the following triggers:

  • For ModifyWhen a record is updated,
  • For DeleteWhen a record is deleted.

In this example you will see flow for inserting, but I think you can easily understand how to create two additional flows based on well-known parameters.

Keep in the mind that you need to use the following parameters in the trigger:

  • Environment – choose an environment you used for building solution in Power Apps
  • Entity name – entity you created
  • ScopeOrganization

Now when you save it, your solution is finished. I would just like o mention that instead of web service integration you could choose API integration as well:

Configuration in both of cases is very similar and there is not a reason to repeat completely process.

Building a portal

Power Portal

Now when we made an integration using one of the models, we can continue with building our portal.

To finish with this process, we need to open Power Apps again and to start with creation new Power App. You can start from Home or from Create and you need to choose Portal from blank option.

Enter the name of your portal and carefully choose Address for your portal. This is place where you can also choose a language.

When you select Create, you need to be ready to wait some time until system create portal. It usually takes a few minutes, sometimes more, sometimes less… but be a patient. When an app is created, open it in the edit mode. You will see we have prebuilt portal, but we want to add new page with our data. To do this, select New page and choose Blank.

System will create new blank page and we need to add necessary components. Select Components icon in the left-side menu and locate List. This is logical if you want to start with a list view.

Now you need to configure some details. As we will create new component, choose Create new display and as Entity choose your entity (BC Employee in my example). The next important step is to choose a view as each entity has more views. I think that Active {items} are logical choice here.

OK, this is how we can create a list. But if you want to have possibilities to create new entry or to edit or delete it from here, you have an opportunity to do it immediately here. In the right-sided pane you will see a few options appear.

You can choose if you want to add the following features here: creating, viewing, editing and deleting. If you switch-on any of these options, you will get an opportunity to choose which form will be run to make this action. This is very easy for configuration, but what is important is that you need to have these forms already built.

OK, now you need to select Sync Configuration command to see result. But you can see that you have only two columns here in your list and this is not what you want. This is because, when system creates entity, views are created automatically but only with the main field plus Created On. But this is not problem as you just need to customize your view.

View customization

To customize view, you should go back to Power Apps and entity you previously created. There you need to select View tab and from the list of all view to select one you want to customize. In our case it is Active BC Employees.

When you open this view in edit mode, you need to add fields you want to see on your view. I’ll add Name, Surname, Address and City and resize it as I would like to see on the screen.

When you finish with adding and/or moving fields, you need to click first Save and after that Publish commands. Keep in mind that if you didn’t publish it you cannot use it.

Test

Now we can say we finished with everything. Go back to the Power Apps and choose Apps on the left-side pane. You will see completely list of your apps. Just choose app (portal) you just created. When you run it, choose the page we created and that’s it. You can see the window in portal with our data from Business Central.

Business Central Certification Exam and more…

Yesterday on the first day of Microsoft Inspire (this year in digital format), we had an opportunity to see some long time waited news. We will finally have certification exam for Business Central. It will be MB-800 exam – Microsoft Dynamics 365 Business Central Functional Consultant and this exam will be available from October 2020. It will cover the following processes of implementation: set up Business Central, configure Financials, configure Sales and Purchasing, set up operations, and of course how to use Power Platform components. More about the exam here. When you pass this exam, you will become Microsoft Dynamics 365 Business Central Functional Consultant Associate.

But this is not all. We have more news in certifications. As Power Platform takes more and more spaces in solving business issues, we will get two new exams for Power Platform and they will be available from September 2020:

How to integrate Business Central with Dynamics 365 Talent – part 2 (configure BC & Talent)

If you’ve already read my previous article about introduction in BC and Talent integration, then you probably expect the next part. I cannot put everything in one blogpost as it will be a huge one and it can be confused to track all details, so I decided to write it in parts. Today, I’ll write how to prepare Business Central and Talent and how to locate data/entities you will handle with.

As I’ve already mentioned in previous post, as we don’t need all HR capabilities in Business Central and we will use all of them in Talent, we will enter data directly to Talent and move to BC only data necessary for other areas in BC. We will move data to Employee table as this table will be used in other parts of BC.

As we will create new employees in Talent, we need to configure No. Series to be fit with Talent requirements. If you want automatic numbers, you need to be careful and to make it exactly the same as in Talent, but I’ll recommend to configure Employee number series as Manual Nos.; this will keep the same numbers in Business Central as we have in Talent and you will avoid all potential risks.

As connectors with Business Central, we will use API’s. Employee table, for example already exists as an API, but if you would like to connect something more, you will probably have to create custom API and custom connector.

What we can synchronize? As I said, minimum we need in BC is Employee table. And you need to find entity as a source in CDS (I’ll explain later). You can connect entities as following:

Business CentralTalent / CDSBC API
EmployeeWorker …employee
Alternative AddressWorker Addresscustom
QualificationSkill Typecustom
 

If you want to find all details about Workers data in Talent, the best is to use the following Worker entity relationship model. But the best is to integrate only what is really necessary… only what you will really use in Business Central.

As we need to locate Talent entities, you need to open list of CDS entities in PowerApps platform (you don’t need to do nothing in Talent environment and you can use it only if it will help you to better understand environment; for all integration purpose you will use CDS – PowerApp). When you open PowerApps web page, you need to choose environment created for Talent.

After that, you need to open Data and Find Entities. In Entities, you can easily find Worker entity as this is a place where we can find our information.

Opening this entity, you can address all necessary fields you want to use in integration. And how to do it, you will see in the following post.

Sessions from NAV TechDays – day 2

As I’ve promised a few days ago in my previous post, I’m completing the collection of all session from NAV TechDays 2019.

Let’s see what we had in the second day of this amazing NAV/BC event:

Leveraging the power of the cloud

Build, test, deploy and deliver your app by one file

NAV/BC for high demanding environments

{Connect app}²

Business Central with Power Platform – more than ERP solution

…and of course, this is my session where I’ve talked about PowerPlatform with BC together with an MVP Renato Fajdiga… expect feedback here 🙂

The Power Platform for Business Central Techies

If you liked my and Renato session, I’ll highly recommend to continue with this session from Arend-Jan Kauffmann.

Make the most out of Business Central on Docker

Migrate your customers to the cloud, and manage them there

How to make AI work for your Business… Central

Directions NA 2020 and what we heard

Directions NA 2019 has just finished and I’m writing this article in a plane on my way to home. It was great opportunity to meet 925 Dynamics professionals and not only from North America. It was amazing event and I’m happy because I had opportunity to speak here. We got a lot interesting information regarding Business Central Spring Release and to listen about experience of implementations of this solution here in US.

If you were there, you know what I’m talking about. If you were not be there, you can find all that news on Microsoft official document here. I’ll only emphasize some facts we hear from Jannik and Claus on a closing session as well as they will have a big impact on a future of BC.

  • In the future, ISV scenarios will include 15 objects for Team Members
  • From July 1st, we will get device license – CSP pricelist = 40USD
  • For On-prem transition to BC, user ratio is changed to 1:3 (for each concurrent user in NAV/GP user, they will get 3 named BC users) and this time this includes limited users as well
  • On-premises partners will get more internal users licenses
  • On-premises license will include one CAL for external accountant and one CAL for a system administrator, the same as we have in a subscription

If you read only these few facts, you can understand how important it is for partners and for clients as well.

We also heard that we will get new certification exams for Business Central functional consultants in FY20 as well as better differentiation through the Cloud Business Applications Competency and/or the Small and Mid-Market Cloud Solutions competency. Also, there will be secondary transition journey for clients who want to stay on-premises and to use cloud benefits or to migrate to the cloud (stay on BREP and purchase Midterm Offer).

And on the end, Directions NA 2020 (April 19-22) will be again in Orlando in Hyatt Regency Grand Cypress and for me it has a special place in my hearth, because in this place a few years ago, I had an opportunity to speak on Direction North America for the very first time.

Business Central – Spring & Fall ’19 Release

In my previous post, I’ve introduced you with the news from Directions ASIA and Business Central spring release. As I said in this previous post, there are a lot of improvements. Some of them are on this slide, and as very important improvements in performance, reliability and scalability, we can find that now we have

  • 50% faster Role Center load time
  • 40% faster in Lead to Cash scenarios
  • 2x improvement in RapidStart

Of course, there are a lot of other improvements. I’ve recently had a session about this topic in eXtreme 365, but this time I’ll not write about them, because you can find all of them in the following:

In total, there are more than 100 enhancements and some of them are extremely usable.

But what is also interesting? We got some hints what will be in Fall ’19 release. And as I mentioned yesterday, the first things – there will not be Windows Client and C/SIDE anymore; only Modern Client (web) and AL with VS Code. But in on-prem, you will get full BC code as an app and you can change this code as you used to work with that in old Development Environment. Not exactly the same, but you can do it. But even if you can do it, this is not recommendation as we heard that in one moment in the future we will continue with extensions only even on on-prem. Nobody can say when exactly, but this is a future. Because of that, start with extensions immediately.

Of course, team will continue to improve proficiency, to reduce ISV friction, enhance migration tools, to improve service fundamentals… and now we can see plans for CDS in 2020 and further.

What is not so good information (especially for countries without MS official localization) is that team announce that we can expect expanding localizations after October release, not before that ☹. But on the other side, team will invest in really cool things in this period.


And on the end, Directions NA will come in May and we will see if we have stil something new regarding all these topics.