Dynamics 365 Finance and Operations Archives - Impulz Technologies LLC https://impulztech.com/tag/dynamics-365-finance-and-operations/ Microsoft Dynamics and Power Platform consulting company Mon, 23 Oct 2023 12:21:59 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.3 https://impulztech.com/wp-content/uploads/2022/08/cropped-impulz-tech-32x32.png Dynamics 365 Finance and Operations Archives - Impulz Technologies LLC https://impulztech.com/tag/dynamics-365-finance-and-operations/ 32 32 How To Setup A Connection Between Azure DevOps & LCS https://impulztech.com/how-to-setup-a-connection-between-azure-devops-lcs/ Mon, 23 Oct 2023 12:21:59 +0000 https://impulztech.com/?p=3231 Transferring software deployable packages to the Asset Library is actively enabled by the connection between DevOps and LCS. Here I am describing each step in detail that how can you setup connection between Azure DevOps & LCS so it will be easy for you to deploy your dynamics packages easily in LCS Environment. 1-Workflow: After […]

The post How To Setup A Connection Between Azure DevOps & LCS appeared first on Impulz Technologies LLC.

]]>

Transferring software deployable packages to the Asset Library is actively enabled by the connection between DevOps and LCS. Here I am describing each step in detail that how can you setup connection between Azure DevOps & LCS so it will be easy for you to deploy your dynamics packages easily in LCS Environment.

1-Workflow:

After you configure an Azure DevOps subscription in Microsoft Dynamics Lifecycle Services (LCS), you can use LCS to deploy developer VMs or build/test VMs. LCS configures a developer VM, which can be linked to an Azure DevOps project. Additionally, LCS sets up a build VM, automatically associating it with an Azure DevOps project. This build VM includes a build agent/controller responsible for compiling modules from the Azure DevOps project and executing automated tests through an external validation endpoint. This workflow includes an LCS deployment of a developer VM and a build/test VM in Azure.

  • LCS creates developer and the build/test environments in Azure. To create a build/test environment, LCS must be able to determine where the source code for the Azure DevOps project is.
  • Developer works on source code on the developer VM, and the work is synced to the Azure DevOps project.
  • The build process synchronizes the code from Azure DevOps onto the build/test VM and produces deployable packages that you can apply to sandbox and production environments. The source code doesn’t flow directly from the development VM to the build/test VM. They are synced through Azure DevOps.

1.1-Create a new Azure DevOps project

  • Go to https://www.visualstudio.com/.
  • Click Sign in in the upper-right corner.
  • Sign in by using an AAD account that is in the tenant that your subscription is linked to. If the browser already has your credentials, you won’t see the sign-in page and should instead click your name in the upper-right corner.
  • On the right side of the page, under Accounts, click Create a free account now.
  • Specify an account URL, and then click Create Account.
  • Name your project, and specify a process template. Your project should now be created.

2-LCS project settings: Set up Azure DevOps:

2.1-Create a personal access token

To connect to an Azure DevOps project, LCS is authenticated by using a personal access token. Follow these steps to create a personal access token in Azure DevOps.

  • Go to https://www.visualstudio.com, sign in, and find your Azure DevOps project.
  • In the upper-right corner, hold the pointer over your name, and then, on the menu that appears, select Security.
  • Select Add to create a new personal access token.
  • Enter a name for the token, and then specify how long the token should last.
  • Select Create Token.
  • Copy the token to your clipboard.

2.2-Configure your LCS project to connect to Azure DevOps

  • In this step we see how to setup connection between Azure DevOps & LCS
  • In your LCS project, select the Project settings tile.
  • Select Azure DevOps, and then select Setup Azure DevOps. This configuration is required by many LCS tools. If you’ve already configured LCS to connect to your Azure DevOps project, you can either skip this procedure or select Change to change the existing configuration.
  • Enter the root URL for your Azure DevOps account, and the personal access token that you created earlier, and then select Continue.
  • Select your Azure DevOps project.
  • LCS requires entering the Azure DevOps root URL in the legacy format. The legacy format is and .
  • Specify the mapping between LCS/BPM items and the associated Azure DevOps work item types.
  • Select Continue, review your changes, and then select Save.

3-Set up Azure Service Connection in Azure DevOps:

3.1-Create an App Registration

  • Now create a new “App Registration” under Azure Active Directory with a name like “D365 – DevOps to LCS”
  • Under “Supported account Types” please select “Accounts in this organizational directory only (“Your company” only – Single tenant) 
  • Now click “Registrer”
  • Create an app registration and make a note of the Application (Client) Id.
  • Proceed to the ‘Authentication’ section within the app registration.
  • Choose ‘Yes’ for the option to ‘Treat the application as a public client.’
  • You can adjust this setting before moving on to ‘Add a platform’ if necessary..
  • When you now “Add a platform” select the “Mobile and Desktop application”
  • Set a checkmark by the native URL … and click on ‘Configure’
  • Now ‘Save’ your “App Registration”
  • Now open the “API permissions” and “Add a permission”
  • Click on the tab ‘APIs my organization uses” and search for “Dynamics”, select “Dynamics Lifecycle services”
  • Now select “Delegated permissions” make sure the checkmark is set by permissions at “user_impersonation” and click “Add permissions”
  • Now click on “Grant admin consent for <Your Company>” and select ‘Yes’

3.2-Create the Service Connection in DevOps

To create a service connection in DevOps it is required that you have installed the extension “Dynamics 365 Finances and Operations tools” (it’s free) into the DevOps, you can find it here:

https://marketplace.visualstudio.com/items?itemName=Dyn365FinOps.dynamics365-finops-tools

Once it is installed you can verify it by going to the Organization settings and in extension column like this

Now open you Project settings in your DevOps and select ‘Service Connections*’

Click ‘ New service connection’ and select “Dynamics Lifecycle Services” and click Next.

and now fill out the Username , Password and the Application Client Id. Click Save and you are done.

4-Set up Azure Connecter in LCS:

4.1-Create a new role in Azure Portal

  • On your Azure Portal, go to your Azure Subscription.
  • Go to IAM Settings tab, and then click create a new role button.
  • Give new role Contributor access.
  • For Assign Access to Select Azure Ad user, service principals.
  • Then select Dynamics Deployment Services [wsfed-enabled].
  • You can go to LCS and then on Project Settings column select Azure Connector.
  • Here you click Add and then simply fill the naming field of your own choice, for Subscription ID you have to add your Active Subscription ID where you had created a role and then select Yes to configure to use ARM.
  • In the Authorization Page, download the required certification file for authenticating LCS with your Azure Environment.
  • Navigate to the ‘Management Certificates’ tab in your Azure Subscription and upload the certificate acquired from LCS, which will serve as the authentication credential. After the successful upload of the certificate, go back to your LCS environment.
  • Click ‘Next,’ select your preferred region, and finally, click ‘Connect’ to complete the setup.

In this way we setup connection between Azure DevOps & LCS Environment and setup the pre-requisite of our Build and Development Environment in Azure DevOps.

The post How To Setup A Connection Between Azure DevOps & LCS appeared first on Impulz Technologies LLC.

]]>
Dynamics 365 Finance and Supply Chain: Access development environment https://impulztech.com/dynamics-365-finance-and-supply-chain-access-development-environment/ Wed, 18 Oct 2023 13:35:12 +0000 https://impulztech.com/?p=3156 Microsoft has changed how the admin user is setup in Dynamics 365 Finance and Supply Chain development virtual machine in order to access the Dynamics 365 development environment after the release of the VHD for version 10.0.24 in LCS. Prior to this version, user just needed to provide a valid domain email in Admin User […]

The post Dynamics 365 Finance and Supply Chain: Access development environment appeared first on Impulz Technologies LLC.

]]>

Microsoft has changed how the admin user is setup in Dynamics 365 Finance and Supply Chain development virtual machine in order to access the Dynamics 365 development environment after the release of the VHD for version 10.0.24 in LCS. Prior to this version, user just needed to provide a valid domain email in Admin User Provisioning tool to access the Dynamics 365 development environment. But now, when you instantly try to execute the Admin User Provisioning Tool with the domain user, it will give the following error.

Now you need to run a script that will create self-signed certificates to be used on the virtual machine, and a customer-provided application registration ID for authentication. After successfully running the script, the environment will be ready for use.

Reason to introduce App registration

App Registrations enable custom-built or third-party applications to use Microsoft Entra ID security features. By using these features, organizations can ensure that their applications and resources are accessed securely and only by authorized users.

App Registrations can be used to grant permissions to users and groups, configure SSO, and define custom API permissions that the application can request. They also enable administrators to monitor and audit application usage, view application-specific logs, and set up alerts and notifications for suspicious activity.

By using previous approach if we run the AdminUserProvisioning tool we will encounter above error while configure VHD setup for D365 FO 10.0.24 version or later.

Steps to set up for new 10.0.24 version or later

There are some steps required before you can assign it to your Domain:

1. Go tohttps://portal.azure.com > Microsoft Entra ID > App Registration and register a new App

Note: Microsoft has renamed Azure Active Directory (Azure AD) to Microsoft Entra ID for the following reasons:

    • to communicate the multicloud, multiplatform functionality of the products,
    • to alleviate confusion with Windows Server Active Directory, and
    • to unify the Microsoft Entra product family.
    • Register a new application in Microsoft Entra ID

2. Provide the One-Box URL as reponse address eg: https://usnconeboxax1aos.cloud.onebox.dynamics.com/

3. Copy the AppID to your clipboard will use later

4. App Registration for Dynamics 365 FO 10.0.24 One-Box Environment completed.

5. Execute the “Generate Self-Signed Certificates” PowerShell script from the Desktop

6. Provide the AppID copied from the App Registration

7. Execute the Admin Provisioning Tool and provide your Domain account address

8. Open https://usnconeboxax1aos.cloud.onebox.dynamics.com/ in Edge and login

Thanks.

 

The post Dynamics 365 Finance and Supply Chain: Access development environment appeared first on Impulz Technologies LLC.

]]>
Microsoft Dynamics 365 Finance and Operations: Importing deployable package to UAT/Production using Lifecycle Services https://impulztech.com/microsoft-dynamics-365-finance-and-operations-importing-deployable-package-to-uat-production-using-lifecycle-services/ Mon, 10 Apr 2023 08:26:21 +0000 https://impulztech.com/?p=3086 Overview In Microsoft Dynamics 365 Finance and Operations, development and customization can be done within development environment and deployed to UAT / Production environment. In this blog we are going to discuss how these changes can be deployed to UAT / Production environment Steps for deploying changes using Lifecycle Services Step -1: Create Deployable package […]

The post Microsoft Dynamics 365 Finance and Operations: Importing deployable package to UAT/Production using Lifecycle Services appeared first on Impulz Technologies LLC.

]]>

Overview

In Microsoft Dynamics 365 Finance and Operations, development and customization can be done within development environment and deployed to UAT / Production environment. In this blog we are going to discuss how these changes can be deployed to UAT / Production environment

Steps for deploying changes using Lifecycle Services

Step -1: Create Deployable package and save it in a folder.

Step -2: Go to https://lcs.dynamics.com and enter your credentials

Step-3: Click on your implementation project. Then go to Asset Library using 3 bars icon as shown in the below screenshot.

Step-4: Go to Software deployable package Tab in Asset Library. Then add the new package here which we have created from dev environment.

What is a deployable package?

Let’s first define what a development environment package or a deployable package is, before we dive into the deployment process. A deployable package is a collection of customizations and extensions that have been developed in a development environment. This package contains the code, metadata, and configurations that can then deploy to the UAT or Production environment.

Step-5: As we can see in below screenshot, we need to give name for uploading our package into Asset Library first. Then the package will be eligible to deploy to UAT or Production.

Step-6: Once package is added into asset library and if you want to publish it in the UAT environment, click on the highlighted option in the screenshot below.

Step-7: Now go to navbar Maintain and click on Apply updates

Step-8: Provide unique name for you Package. Such as write package name with date and then select the package uploaded in asset library and click on Apply 

Step-9: It can take about 1 to 3 or more hours depending on the size of the package.

Step 10: After successful deployment we can check the Activity status completed or Rollback. If we get any errors during the deployment, it will be rollback and we need to fix it in development environment. Afterwards the whole process of deployment will repeat.

Best Practices for Deploying a Development Environment Package to UAT/Production

To ensure a successful deployment, it’s important to follow these best practices:

    1. Always test the deployment in a non-production environment first.
    2. Include all the required models and packages in the deployable package.
    3. Properly configure the target environment so that it can meet the requirements of the customizations and extensions.
    4. Take a backup of the target environment before deploying the package.
    5. Monitor the deployment progress and resolve any issues that arise during the deployment process.

Good luck.

 

The post Microsoft Dynamics 365 Finance and Operations: Importing deployable package to UAT/Production using Lifecycle Services appeared first on Impulz Technologies LLC.

]]>
Postman Best Practices for Microsoft Dynamics 365 Finance and Supply Chain Management https://impulztech.com/postman-best-practices-for-microsoft-dynamics-365-finance-and-supply-chain-management/ Thu, 23 Feb 2023 07:00:43 +0000 https://impulztech.com/?p=3073   Postman, has been in use by the web development community for more than a decade now. When it comes to the Microsoft Dynamics community, more specifically, Microsoft Dynamics Finance and Supply Chain consultants, it can be a comparatively new tool. The majority of Microsoft Dynamics professionals (including myself) have a background in Microsoft Dynamics […]

The post Postman Best Practices for Microsoft Dynamics 365 Finance and Supply Chain Management appeared first on Impulz Technologies LLC.

]]>
 

Postman and Dynamics 365

Postman, has been in use by the web development community for more than a decade now. When it comes to the Microsoft Dynamics community, more specifically, Microsoft Dynamics Finance and Supply Chain consultants, it can be a comparatively new tool. The majority of Microsoft Dynamics professionals (including myself) have a background in Microsoft Dynamics AX. In Dynamics AX, very limited tooling was available apart from the AOT and the only kind of web services supported were SOAP endpoints.

I am personally a great advocate of developers’ productivity and more use of the open-source and community tools in the typical Dynamics development flows. Fortunately, Microsoft Dynamics 365 Finance and Supply Chain provides a richer and more modern infrastructure to support data migration and application integration scenarios than its predecessor, Microsoft Dynamics AX.

Postman, becomes handy while you are testing the custom APIs or just want to check the call to an OData APIs. Since, Microsoft Dynamics 365 Finance and Supply Chain, is now actually an Azure cloud application, this adds some complexity in different kind of pre-reqs in setting up the Postman. The purpose of this blog post is not to discuss the steps required to setup a Postman for Dynamics 365, as this is already well covered by Microsoft. You can read more about it here. Here, I am just going to focus on some of the best practices that are going to make the use of Postman even more effective.

Always create a collection

Always consider creating a new collection. With collections, you can:

  • Organize your requests.
  • help you make use of the variables, which improve maintenance and increase reusability.

Make effective use of Postman variables

Postman is quite flexible when it comes to the variable definition, and you can define it at various levels, depending upon your needs. Think about defining because:

  • It helps with reusability.
  • Improves maintenance.

Consider defining the following as environment variables or collection variables in the case of Dynamics:

  • Tenant id.
  • Application id.
  • Authorization end point.
  • Authorization token, which you are going to receive from Azure AD.
  • Client secret.
  • Base API URL of your Dynamics 365 Finance and Supply Chain environment.

Consider checking in the file into your Azure DevOps repository

Export the Postman and periodically check-in to your Azure DevOps TFS repository. Alternatively, you can also consider the share feature within the Postman.

Test your APIs using test scripts in Postman

As a solution architect, I have been required to test the APIs. In most of the times, it all works without a need of a test scripts. Test scripts become handy for me while testing custom APIs, especially when the development is still ongoing. You can find a complete reference on how to write test scripts in Postman here.

Please note that writing a test script requires basic knowledge of JavaScript.

About Impulz Technologies LLC

Impulz Technologies, is a Silver Certified Microsoft Partner company. We specialize in the implementation, consulting and development of Microsoft Dynamics and Microsoft Power Platform. Impulz Technologies also provide staff augmentation services all across the US. For more information please contact us at 630-540-6302 or email us at info@impulztech.com. You can also contact us through our website.

The post Postman Best Practices for Microsoft Dynamics 365 Finance and Supply Chain Management appeared first on Impulz Technologies LLC.

]]>
Microsoft Dynamics 365 Finance and Operations: Customization of non-extendable code https://impulztech.com/microsoft-dynamics-365-finance-and-operations-customization-of-non-extendable-code/ Tue, 18 Oct 2022 14:53:19 +0000 https://impulztech.com/?p=2736 In Dynamics 365 Finance and Operations customization in standard objects is done through extension-based development. But there are some scenarios where a class method which needs to be customized through CoC (Chain of Command) is having Hookable attribute set as False. In that case you cannot create a CoC of that method. For example, there […]

The post Microsoft Dynamics 365 Finance and Operations: Customization of non-extendable code appeared first on Impulz Technologies LLC.

]]>

In Dynamics 365 Finance and Operations customization in standard objects is done through extension-based development. But there are some scenarios where a class method which needs to be customized through CoC (Chain of Command) is having Hookable attribute set as False. In that case you cannot create a CoC of that method.

For example, there is a class with a run method’s Hookable property set as false.

Public class CredManCreditLimitAdjGenerate extends RunBase
{
    [Hookable(false)]
    public void run()
    {
        if (!this.validate())
        {
            throw error("@SYS18447");
        }
    if (deleteExistingLines && CredManCreditLimitAdjTrans::exist(journalId))
        {
            CredManCreditLimitAdjTrans::deleteAllJournalLines(journalId);
        }
    this.processQueryRun();
    }
}

In this scenario the requirement is to execute some logic after this class’s run method execution is done. If it was a Hookable[true] method then you can simply create an extension of the class CredManCreditLimitAdjGenerate, create a CoC of run() and perform your new logic after the next call of run method. But in this case, you cannot do so.

In order to achieve this requirement technically you just create a new class CredManCreditLimitAdjGenerate_Impulz and set it as a child of CredManCreditLimitAdjGenerate class. Then override run() and include all the parent code with your required logic in it. Below is the code:

Public class CredManCreditLimitAdjGenerate_Impulz extends CredManCreditLimitAdjGenerate
{
    [Hookable(false)]
    public void run()
    {
        if (!this.validate())
        {
            throw error("@SYS18447");
        }
        if (deleteExistingLines && CredManCreditLimitAdjTrans::exist(journalId))
        {
            CredManCreditLimitAdjTrans::deleteAllJournalLines(journalId);
        }
        this.processQueryRun();

        //Write your required new logic here
    }
}

The additional thing you have to do is to change the reference of the original class to your new class by initializing its object or if the class is called from a menu item/button, then simply hide the menu item/button and add a new one with you new class reference.

Using the above approach you can also completely remove the standard run method logic and just add new logic which cannot be possible in case of CoC as you do have to call next() before or after new logic unless the method has the attribute Replaceable[true]. Replaceable[True] allows to skip next call in the extended method.

Note: If the class is private or internal or final then it cannot be extended so in that case you have to entirely copy the class with new name and change the reference in code.

The post Microsoft Dynamics 365 Finance and Operations: Customization of non-extendable code appeared first on Impulz Technologies LLC.

]]>
Microsoft Dynamics 365 Report Viewer Export Button https://impulztech.com/microsoft-dynamics-365-report-viewer-export-button/ Mon, 15 Aug 2022 12:41:15 +0000 https://impulztech.com/?p=2588 By default the export button in Microsoft Dynamics 365 Finance and Supply Chain report viewer export button is disabled in the development VM as shown below: To enable the export function, you have to login as System Administrator and then browse to the module ‘System Administration’ and click the workspace ‘Feature Management’ as shown below: […]

The post Microsoft Dynamics 365 Report Viewer Export Button appeared first on Impulz Technologies LLC.

]]>
Microsoft Dynamics 365

By default the export button in Microsoft Dynamics 365 Finance and Supply Chain report viewer export button is disabled in the development VM as shown below:

Report Viewer

To enable the export function, you have to login as System Administrator and then browse to the module ‘System Administration’ and click the workspace ‘Feature Management’ as shown below:

Feature Management in Dynamics 365

Search for the feature named ‘Enable Export on Report PDF viewer’ and then enable this feature.

Dynamics 365 enable feature

This will enable the export feature on report viewer. If you like to learn more about our services then please feel to contact us by filling in a simple form.

 

The post Microsoft Dynamics 365 Report Viewer Export Button appeared first on Impulz Technologies LLC.

]]>