RAD publish fails if change is made in Report RequestPage
Nobody has claimed this yet.
- 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:
- 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;
}
- Do a full publish of the app.
- Make a change to one of the fields in the request page, add/update one of its properties like Visible or Editable.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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