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)
September 06, 2023
Supercharging Dynamics 365 F&O implementation with Azure DevOps
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 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/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 04, 2023
QuickFix: [Solved] SSRS Report Deployment failed - The number of defined parameter is not equal to the number of cell definitions in the parameter panel
January 10, 2023
[Solved] Issue with Database import in Dev Box
December 13, 2022
Validate financial dimension combination
November 11, 2022
Useful links for OData and Rest API integration
August 22, 2022
Azure DevOps Demo data generator
August 05, 2022
Create Code extension in D365FO
July 24, 2022
[Solved] Debugger not working, Symbols not loaded
April 20, 2022
Table event methods
March 21, 2022
Useful commands to manage models
Export
model -
ModelUtil.exe
–export –metadatastorepath= packages path –modelname="ur model
name" –outputpath="where the model is to be saved"
Example
: ModelUtil.exe –export –metadatastorepath=K:\AosService\PackagesLocalDirectory
–modelname="Model1" –outputpath="D:\BackupModel"
Import
model -
ModelUtil.exe
-import -metadatastorepath=packages path -file="path where u want to save
with model name"
example
: ModelUtil.exe -import -metadatastorepath=K:\AosService\PackagesLocalDirectory
-file="C:\TheAxapta\Dev_To move\Model1.axmodel"
Delete -
ModelUtil.exe
-delete -metadatastorepath=package path –modelname="name of ur model
to delete"
example
: ModelUtil.exe -delete -metadatastorepath=C:\AOSService\PackagesLocalDirectory
–modelname=
February 16, 2022
[Solved] Application login redirects to other domain than customer's domain #MSD365FO
December 03, 2021
[Solved] Your connection is not private, issue while browsing DEV box
Your connection is not private
Attackers might be trying to steal your information from