Search This Blog
November 13, 2023
Color code the cell in Excel export
October 24, 2023
[Solved]Error while importing/Exporting opening balances DIXF (No active format for data entities has been set up)
October 03, 2023
[Solved] Parameter issue with SSRS report
September 15, 2023
QuickFix: Company doesn't exit error on report
September 06, 2023
Supercharging Dynamics 365 F&O implementation with Azure DevOps
August 22, 2023
QuickFix: Error while build SSRS report
July 31, 2023
[Solved] Unable to find a feature in 'Feature management' workspace
July 10, 2023
QuickFix: Golden config database promotion to UAT
July 03, 2023
A complete Guide - Configuring Power BI in Dynamics 365 Finance and Operations (D365FO)
Introduction:
Power BI is a powerful business intelligence tool that
enables users to visualize and analyze data from various sources. When
integrated with Dynamics 365 Finance and Operations (D365FO), Power BI can
provide insightful reports and dashboards, empowering organizations to make
data-driven decisions. In this blog post, we will walk you through the process
of configuring Power BI in D365FO, allowing you to harness the full potential
of these two Microsoft tools.
There are many default Power BI report available, and you
can also develop and integrate your own reports. Let's follow the below steps to configure
this in a Tier 2 environment as Microsoft doesn’t support Tier 1 environments
for Power BI anymore.
Step 1: Accessing the Power BI service:
To begin the configuration process, you need to have access
to the Power BI service. Visit the Power BI website
(https://powerbi.microsoft.com/) and sign in using your Microsoft account
credentials. Make sure you use the same account for all the below steps as well.
Step 2: Register the Power BI application:
In the Power BI configuration form, click on the "Register
new app" button. This step will prompt you to sign in with your Power BI
account credentials and authorize D365FO to access your Power BI resources. Check
this post for step by step guide for app registration.
Once the app is registered you need to enable below API permission,
I. Content :
Content. Create
II. Dashboard
Dashboard.Read.All
III. Dataset
Dataset.Read.All
Dataset.ReadWrite.All
IV. Report
Report.Read.All
V. Workspace
Workspace.Read.All
Step 3: Grant Permissions in Power BI Service:
Switch back to the Power BI service and navigate to "My
workspace" or the desired workspace where you want to embed D365FO
reports. Click on "Settings" and then "Admin portal." In
the admin portal, select "Workspace settings" and choose the
workspace where D365FO reports will be embedded. Under "Members," add
the D365FO user account or security group that requires access to the Power BI
reports.
Step 4: Setup Power BI Integration in D365FO:
In the D365FO environment, navigate to System Administration
> Setup > Power BI configuration. Enable the Power BI integration by
checking the "Enable Power BI Integration" checkbox.
Add application id and client secrete id which you got from
App registration. Do the authentication on Power BI.
Step 5: Deploy Power BI Reports in D365FO:
Navigate to System Administration > Setup > Deploy Power BI files. Select your required report and on the top action pane, select ‘Deploy Power BI file’. You may get an error like below
‘Deployment failed for <Report Name>’, this is because you didn’t log in to PowerBI.com yet. Please follow step 1 and validate if
you are able to see ‘My workspace’ at the bottom left of the screen.
Step 7: Embed Power BI Reports in D365FO:
In D365FO, open the desired workspace where you want to
embed the Power BI report. Click on "Options" and select
"Personalize this form." Edit the form and add a Power BI tile to the
desired location. Provide the "Report URL" or "Dashboard
URL" for the Power BI report you want to embed. Additionally, you can
specify filters and parameters based on your requirements.
You may get an error on the workspace similar to below
QueryUserError
To fix this issue you need to make sure the respective entity store is refreshed successfully. If you are facing an issue with the refresh, check out this post.
Step 8: Save and Publish the Changes:
Save and publish the changes made to the form in D365FO. The
Power BI report tile will now be visible to users in the designated workspace,
allowing them to access and interact with the embedded reports.
Conclusion:
Configuring Power BI in Dynamics 365 Finance and Operations
opens up a world of data analysis and visualization possibilities. By following
these step-by-step instructions, you can seamlessly integrate Power BI with
D365FO, enabling your organization to leverage insightful reports and
dashboards to make informed decisions. Remember to ensure appropriate
permissions and access control settings to maintain data security and
governance. With Power BI and D365FO working together, you can unlock valuable
insights and drive business success.
June 17, 2023
Step-by-Step Guide to Azure App Registration Process
Introduction:
Azure App
Registration is a crucial step when developing applications that integrate with
Azure services. It allows your application to authenticate and access resources
securely within the Azure ecosystem. In this blog post, I will provide a
comprehensive, step-by-step guide to the Azure App Registration process,
helping you understand the necessary steps to register your application.
App registration
is required for a lot of purposes in D365FO, for example
1. To set up Warehouse mobile
2. Setup out of box Power BI report
3. Postman configuration
4. Various integration scenarios
Prerequisite: Just one, get the admin account and
use the same account for all the steps, this account should have access to D365FO
as well. (I know it's not mandatory but I
would recommend this.)
Step 1:
Access the Azure Portal:
To begin the
Azure App Registration process, log in to the Azure Portal
(https://portal.azure.com) using your Azure account credentials. Once logged
in, you'll have access to the Azure dashboard.
Step 2:
Navigate to Azure Active Directory:
From the
Azure dashboard, locate and select "Azure Active Directory" from the
list of available services. Azure Active Directory is a comprehensive identity
and access management solution provided by Microsoft. (To make sure you choose the right directory).
Step 3:
Choose "App Registrations":
Within Azure
Active Directory, navigate to the "App registrations" section. This
section allows you to manage all your application registrations. You can search for the same in the top search bar.
Step 4:
Click "New Registration":
Click on the
"New Registration" button to initiate the app registration process.
You will be prompted to provide essential details about your application.
Step 5:
Fill in Application Details:
In this
step, you need to provide the following details:
-
"Name": Enter a unique name for your application.
-
"Supported account types": Choose the appropriate account type (such
as "Accounts in this organizational directory only" or "Accounts
in any organizational directory"). Mostly it will be within the same organization.
-
"Redirect URI": Specify the URI where Azure will redirect users after
authentication. This is typically the URI of your application. In our case, it
will be the URL of D365FO environment.
Step 6:
Register the Application:
After
providing the necessary details, click on the "Register" button to
create the application in Azure. Azure will generate a unique "Application
(client) ID" that you will need to use during the development and
configuration of your application.
Step 7:
Configure API Permissions:
To access
Azure resources from your application, you need to grant it appropriate
permissions. In the app registration page, navigate to "API
permissions" and click on "Add permission." Here, you can
select the APIs and permissions required for your application. This section is used if you are going to use this for Power BI.
Step 8:
Grant Admin Consent:
Once you
have configured the necessary API permissions, you need to obtain consent from
an Azure administrator. Click on the "Grant admin consent for <your
organization name>" button to initiate the consent process.
Step 9:
Generate Client Secrets:
If your
application requires a client secret, such as when using the OAuth 2.0 client
credentials flow, navigate to the "Certificates & secrets"
section within the app registration page. Here, you can create and manage
client secrets securely. Copy the value securely as it will not visible after
this step and you need this for most of the applications eg. the Warehouse mobile
app, and Power BI configuration.
Step 10:
Application Configuration (Optional):
After
completing the app registration process, you can configure additional settings
specific to your application, such as branding, authentication options, and
more. Explore the app registration page and adjust the settings as per your
requirements.
Conclusion:
The Azure
App Registration process is a vital step when building applications that
integrate with Azure services. By following this step-by-step guide, you can
successfully register your application in Azure Active Directory, configure
necessary permissions, and obtain the required credentials for secure
authentication and access to Azure resources. Properly registered applications
can take advantage of various Azure services and APIs while ensuring a
streamlined and secure development process.
June 09, 2023
How to add security on a specific control on form
Here's a standard approach
to achieving this. Please follow the steps below:
1.
Begin by
navigating to the form design and selecting the desired form control to which
you want to add additional security privileges.
a. Set the property 'Need permission' to 'Yes'.
This step will make the field available in Step 5.
2. Create a new privilege. If an existing one suits your
requirements, feel free to use it.
3. Within the privilege settings, locate the 'Form control
permission' section.
4. Add a new form here.
5. Include the control on this form and adjust its properties
accordingly.
By following these steps, you can implement enhanced security measures for specific form controls.
June 06, 2023
Simplifying Data Retrieval with D365FO X++ Lookup Method
Simplifying Data Retrieval with D365FO X++ Lookup Method
Introduction
Microsoft Dynamics 365 for Finance and Operations (D365FO) is a powerful ERP system that offers robust customization capabilities. One such customization option is the ability to write X++ code for lookup methods. These methods can greatly simplify data retrieval and enhance the user experience within the application. In this blog post, we will explore the lookup method in D365FO X++ code and provide a sample code snippet to demonstrate its usage.
Understanding the Lookup Method
The lookup method in D365FO X++ code allows developers to retrieve data from related tables or data sources based on specified criteria. It enables users to select a value from a predefined set of options, providing a seamless way to populate fields with accurate and relevant information. The lookup method essentially acts as a search functionality within the application, making it easier for users to find and select the desired data.
Sample Code
public static void lookupDemo(FormStringControl _control)
{
SysTableLookup sysTableLookup;
QueryBuildDataSource queryBuildDataSource;
QueryBuildRange queryBuildRange;
sysTableLookup = SysTableLookup::newParameters(tablenum(CustTable), _control);
queryBuildDataSource = sysTableLookup.addDataSource(tablenum(CustTable));
// Adding a range to filter the lookup results
queryBuildRange = queryBuildDataSource.addRange(fieldNum(CustTable, AccountNum));
queryBuildRange.value("1001"); // Setting the filter value
sysTableLookup.performFormLookup(); // Opening the lookup form
}
Explanation
In the above code, we start by creating a new instance of the SysTableLookup
class, passing the target table and the control where the lookup will be displayed as parameters. In this case, we use the CustTable
table and the _control
argument, which represents the form string control.
Next, we add a data source to the lookup using the addDataSource()
method. Here, we specify the table we want to retrieve data from (in this case, CustTable
).
To filter the lookup results, we add a range using the addRange()
method on the queryBuildDataSource
. In this example, we filter the results based on the AccountNum
field and set the filter value to "1001".
Finally, we call the performFormLookup()
method on the sysTableLookup
object, which opens the lookup form for the user to select the desired value.
Conclusion
The lookup method in D365FO X++ code provides a convenient way to retrieve and display data from related tables or data sources. By implementing lookup functionality, developers can enhance the user experience by simplifying data selection and ensuring the accuracy of entered values. The code snippet provided above serves as a starting point for utilizing lookup methods in your D365FO customization projects. Experiment with different tables, filters, and fields to tailor the lookup functionality to meet your specific business requirements.
-Harry Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxaptaMay 19, 2023
Configuring Azure Key Vault Parameters in Dynamics 365 Finance and Operations
Configuring Azure Key Vault Parameters in Dynamics 365 Finance and Operations
Introduction:
In this blog post, I will guide you through the process of configuring Azure Key Vault parameters in Dynamics 365 Finance and Operations (referred to as FinOps). This configuration is particularly useful for integration scenarios where sensitive data, such as security keys or certifications, needs to be securely stored. By leveraging Azure Key Vault, we can ensure data encryption and proper management of cryptographic keys and certificates.
Prerequisite Steps:
Before we dive into the configuration, let's go through some prerequisite steps to set the stage for a seamless setup:
- Create a Key Vault: Begin by creating a Key Vault in the Azure portal and make a note of the Value URI, which can be found in the overview tab. This Value URI will be needed during the configuration process.
- Add Certificates, Secrets, and Keys: Next, add the necessary certificates, secrets, and keys to your Key Vault. These items are essential for secure data storage and retrieval.
- App Registration in Azure: Perform an app registration in the Azure portal and store the generated Client ID and Secret Key. This registration will enable secure communication between Dynamics 365 Finance and Operations and the Azure Key Vault.
Configuration Steps:
Now that we have completed the prerequisite steps, let's proceed with the actual configuration of Azure Key Vault parameters in Dynamics 365 Finance and Operations:
- Navigate to D365FO: Go to the D365FO application and access the System Administration module.
- Open Key Vault Parameters: Within the System Administration module, locate and open the "Key Vault Parameters" form.
- Create a New Record: Create a new record in the Key Vault Parameters form, and fill in the required details for the configuration.
- Certification Tab: Switch to the Certification tab within the Key Vault Parameters form. Here, you will add the necessary information for each certificate, including Name, Description, Secret, Secret Type, and Version (if applicable). The Secret field should contain a reference to the certificate in the format: vault://<KeyVaultName>/<SecretName>/(Version if any). Set the Secret Type to "Certificate."
- Validate Configuration: Click on the Validate button to ensure the settings are properly configured and functioning as expected.
Code Example:
To demonstrate how to access the configured certificate in your code, consider the following sample code snippet:
public class TheAxaptaAccessKeyVault
{
public static void main(Args _args)
{
KeyVaultCertificateTable kvcTable;
str value;
kvcTable = KeyVaultCertificateTable::findByName("TestKeyVault");
value = KeyVaultCertificateHelper::getManualSecretValue(certTable.RecId);
info(value); // This will retrieve the value stored in the certificate.
}
}
Conclusion:
Congratulations! You have successfully configured Azure Key Vault parameters in Dynamics 365 Finance and Operations. Now you can securely store and access sensitive data, such as certificates and keys, ensuring the highest level of data protection. Implementing this configuration will greatly enhance your integration scenarios and data security practices within the Dynamics 365 environment.
Happy configuring and coding!
#Dynamics365 #Azure #KeyVault #DataSecurity #Integration #Configuration
-Harry Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxaptaApril 30, 2023
Azure Key vault parameter setup in D365FO
April 12, 2023
Unable to restore database into DEV/Tier-1 instance
March 04, 2023
QuickFix: Set default browser in Visual studio for debugging
February 25, 2023
Best way to do Postman setup with D365FO
7. Name this request as 'Authorization', you can name it as per your use like getting public entities details or get a specific entity data or metadata. In the post request paste below as is.
Now you see we parameterize most of things and you don't need to create multiple request for different environments, you can simple change the environment from right top corner.