microsoft / microsoft/AL

RAD publish fails if change is made in Report RequestPage

Open
#8,222 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

accepted
Dominant language
PowerShell
Stars
881
Forks
285
Avg merge
3d 36m
Merged PRs (30d)
1

Description

1. Describe the bug
When doing a RAD publish after a full publish (Ctrl + F5) took place and a change was made in a report request page, the RAD publish fails with:
error AL0670: Fast publishing failed because the RAD file has specified a non-existing application object of type : 'RequestPage' name: 'RequestOptionsPage' ID: '' to be added or modified. Please do a full publishing before issuing a fast publishing again.

I do understand the documentation for RAD saying that RAD changes include application objects and that a RequestPage technically isn't considered an application object like page, report, table, but since it's part of a report, I'd still expect this functionality to work.

2. To Reproduce
Steps to reproduce the behavior:

  1. Create an example report like below
report 50100 "My Awesome Report"
{
    Caption = 'My Awesome Report';
    ProcessingOnly = true;
    ApplicationArea = All;
    UsageCategory = None;

    requestpage
    {
        layout
        {
            area(Content)
            {
                group(Settings)
                {
                    Caption = 'Settings', Comment = 'DEU="Einstellungen"';

                    field(RequestFilterField1; RequestField1)
                    {
                        ApplicationArea = All;
                        Caption = 'Filter 1';
                        ToolTip = 'Specifies filter 1 for the report.';
                    }
                    field(RequestFilterField2; RequestField2)
                    {
                        ApplicationArea = All;
                        Caption = 'Filter 2';
                        ToolTip = 'Specifies filter 2 for the report.';
                    }
                    field(RequestFilterField3; RequestField3)
                    {
                        ApplicationArea = All;
                        Caption = 'Filter 3';
                        ToolTip = 'Specifies filter 3 for the report.';
                    }
                }
            }
        }
    }

    var
        RequestField1: Text;
        RequestField2: Text;
        RequestField3: Text;

    trigger OnPreReport()
    begin
        this.DoStuff();
    end;

    local procedure DoStuff()
    begin
        Message('I''m doing very awesome stuff!');
    end;
}
  1. Do a full publish of the app.
  2. Make a change to one of the fields in the request page, add/update one of its properties like Visible or Editable.
  3. Do a RAD publish without debug (Ctrl + Alt + F5)

Note: Because the developers need to copy and paste the code snippet, including a code snippet as a media file (i.e. .gif) is not sufficient.

3. Expected behavior
I would expect the RAD publish to finish successfully.

4. Actual behavior
The RAD publish fails with error AL0670.

5. Versions:

  • AL Language: 16.3.2065053
  • Visual Studio Code: 1.112.0
  • Business Central: OnPrem 26.6 DE
  • List of Visual Studio Code extensions that you have installed:
  • Operating System:
    • Windows
    • Linux
    • MacOS
Final Checklist

Please remember to do the following:

  • Search the issue repository to ensure you are reporting a new issue

  • Reproduce the issue after disabling all extensions except the AL Language extension

  • Simplify your code around the issue to better isolate the problem

Internal work item: AB#629347

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the AL Language extension's RAD publish flow and the AL0670 diagnostic. Reproduce the issue using the report requestpage sample: full publish, change a request page field property, then run RAD publish without debug. Done means the RAD publish completes successfully instead of reporting the RequestPage as a non-existing application object.

Written by the indexing model from the issue text.

Assessment

Tech stack
vscode
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.