August 22, 2025

Github copilot for D365FO development

Hi Folks, 

GitHub Copilot is transforming how developers write code. For those working with Dynamics 365 Finance and Operations (D365FO) in Visual Studio, Copilot can be a powerful assistant—helping with boilerplate code, documentation, and even plugin development. In today’s post let’s understand all about GitHub Copilot and how this can make your day-to-day development experience awesome.

Licensing & Pricing

First thing first, Lets understand

Ø  How much will it cost me?

Ø  What all licenses are there?

Ø  What license do I need to use?

(One more license to buy 😊)

GitHub Copilot offers several tiers:
- Copilot Free: $0 - Limited completions and chat (2,000 completions, 50 chats/month)
- Copilot Pro: $10 - Unlimited completions and chat, access to GPT-4o
- Copilot Business: $19/user - Team management, advanced features
- Copilot Enterprise: $39/user - Enterprise-grade AI features and integrations

(Official Pricing Guide for more information)

How to Enable GitHub Copilot in Visual Studio

To install Copilot in Visual Studio 2022 (v17.10+):
1. Open Visual Studio Installer
2. Select your installed version → Click Modify
3. Choose any workload (e.g., .NET desktop development)
4. Under Optional Components, check GitHub Copilot
5. Click Modify to install

Sign in with your GitHub account

Another option could be , on the top right corner you will get the option to login with Github Copilot




Here is detailed Installation Guide

Copilot for D365FO Development

Copilot can assist with many things, below are some areas which I explored so far,
- X++ boilerplate generation
- Documentation comments
- Plugin development using Copilot Studio
- OData integration summaries

Give suggestion on best practice on selected object or selected piece of code.

Example: Summarize Sales Order in X++

public void summarizeSalesOrder(str salesOrderId)
{
    SalesTable salesTable = SalesTable::find(salesOrderId);
    info(strFmt("Sales Order %1 for customer %2 has total amount %3",
        salesTable.SalesId, salesTable.CustAccount, salesTable.TotalAmount));
}

Best Practices (From Microsoft Learn)

Here are some tips to maximize Copilot’s effectiveness:
- Use clear comments to guide Copilot
- Keep relevant files open—Copilot uses them to infer context
- Use Inline Chat (Alt + /)
- Refer to files using #filename or /intent
- Always review suggestions for accuracy and security
Copilot Fundamentals: https://learn.microsoft.com/en-us/training/paths/copilot/
Prompt Engineering Module: https://learn.microsoft.com/en-us/training/modules/introduction-prompt-engineering-with-github-copilot/


-Harry Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta

August 18, 2025

WorthKnowing: WHS vs WMS Prefixes in D365FO Warehouse Management

Hi folks,

If you've worked with Warehouse Management in Dynamics 365 Finance and Operations (D365FO), you might have come across two different prefixes in the system: WHS and WMS. Ever wondered why both exist and what they signify? Let’s break it down.

The Basics: WHS vs WMS

Both WHS and WMS stand for Warehouse Management System, but they refer to different generations of warehouse management solutions within Microsoft Dynamics.

WMS – The Legacy System

Objects prefixed with WMS belong to the legacy warehouse management system, which was part of earlier AX versions. This system supports basic warehouse operations, such as:

  • Inventory location tracking
  • Simple picking and receiving
  • Basic location control

Examples of WMS objects:

  • WMSLocation – Stores warehouse locations
  • WMSOrderTrans, WMSJournalTable, etc.

While functional, the legacy WMS lacks the flexibility and scalability required for complex warehouse scenarios. It’s generally not recommended for new implementations.

WHS – The Advanced System

With the release of AX 2012 R3, Microsoft introduced a more robust and feature-rich warehouse management solution, which continues to evolve in D365FO. Objects prefixed with WHS are part of this advanced warehouse management system, designed to handle complex warehouse processes, including:

  • Mobile device integration
  • Work creation and execution (e.g., picking, putaway)
  • Location directives, work templates, and wave processing

Examples of WHS objects:

  • WHSWorkTable – Stores work headers
  • WHSWorkLine – Stores work lines
  • WHSInventEnabled, WHSParameters, etc.

This system is highly configurable and supports modern warehouse operations across industries.

Summary

  • Use WHS objects for advanced, scalable warehouse management in D365FO.
  • WMS objects are legacy and suitable only for basic scenarios or backward compatibility.

Understanding the distinction between WHS and WMS helps ensure you're building solutions on the right foundation, especially when designing or extending warehouse functionality in D365FO.

-Harry Follow us on Facebook to keep in rhythm with us. https:fb.com/theaxapta