AL extension release · 12.2 · pre-releaseAL Developmentofficial - Microsoftderived - from the source, no model text

AL Language extension 12.2

AL Language extension 12.2 for Business Central 2023 release wave 2 (BC23): no upload of it left in the marketplace gallery; 7 changelog entries, 1 GitHub issue linked.

Changelog on the Visual Studio Marketplace · Business Central 2023 release wave 2 · BC23

PromptDialog page

Introducing the new page type PromptDialog, which allows developers to seamlessly integrate Copilot capabilities into their custom scenarios. Use this page to create generative AI experiences that look and feel unmistakably Copilot, including signature visuals, and built-in safety controls for customers. You can build these pages directly in AL using a special page syntax, which includes new area and action controls, as described in the code sample below. To get started, simply type tpage and pick the Page of type Prompt Dialog snippet.

page 50100 MyCopilotPage
{
    PageType = PromptDialog;
    PromptMode = Prompt; // Specify the starting prompt mode. Default value is Prompt.
    IsPreview = true;
    SourceTable = TempInputData;

    // Mandatory properties
    SourceTableTemporary = true;
    Extensible = false;

    layout
    {
        area(Prompt) { /*The input to Copilot. Accepts any control.*/ }

        area(Content) { /*The output of Copilot. Accepts any contol.*/ }

        area(PromptOptions) { /*The input options. Only accepts option fields.*/ }
    }

    actions
    {
        area(SystemActions)
        {
            // Pre-defined system actions (Generate, Regenerate, Attach, Ok, Cancel). Can only use system actions on this page.
            systemaction(Generate)
            {
                trigger OnAction()
                begin
                    // The code triggering the Copilot interaction.
                end;
            }

            systemaction(Ok)
            {
                Caption = 'Accept the suggestion'; // The Caption and Tooltip of system actions can be modified.
            }
        }
    }

    trigger OnInit()
    begin
        // The prompt mode can be changed at runtime.
        // CurrPage.PromptMode := PromptMode::Generate;
    end;
}

Sparkle Image

Added a new option to the Image property, Sparkle, which you can use to highlight the presence of your AI-powered features. For example, place it on actions that open a prompt dialog page.

AppSourceCop

  • Added rule AS0008 for reserved namespaces check.

PerTenantExtensionCop

  • Added rule PTE021 for reserved namespace check.

UICop

  • AW0016 - The page type PromptDialog accepts a rich text editor control as an immediate child of the Content area. For other page types the rich text editor control still needs to be inside a top level group.

Github issues

  • #7467 Missing compiler error on declaring TableNo in an upgrade codeunit. - New error introduced.

Miscellaneous

  • Fixed an issue on resolving the correct line on GoToDefinition (F12) when debugging DAL files. If you are running on CU1 on premise and are experiencing issues in line resolution while debugging a dependency app, make sure you run the Repair-NavApp command on the dependency app.
  • The properties ContextSensitiveHelpPage and HelpLink are available for query objects.
  • Fixed “go to definition” for field group changes in table extensions.
  • Added various snippets related to fieldgroups.
  • Fixed hovering over field group fields in table extensions.
  • Fixed IntelliSense on fieldgroup names to suggest the available fieldgroups.

Source: Visual Studio Marketplace, ms-dynamics-smb.al changelog, Microsoft’s text unchanged. Dates from the gallery’s upload records.