You need to use Visual Studio Code and AL, create new report ID XXX, create the dataitem and use the report layout that you've exported from D365BC.
An example on how to create a report in AL:
report 50110 CustomSalesOrder
{
DefaultLayout = RDLC;
RDLCLayout = 'CustomSalesOrder.rdl'; <-- HERE YOU NEED TO USE YOUR REPORT LAYOUT
dataset
{
// This is Sales Header DataItem
dataitem("Sales Header";"Sales Header")
{
DataItemTableView=WHERE("Document Type"=CONST(Order));
PrintOnlyIfDetail=true;
RequestFilterFields="No.", "Sell-to Customer No.","Posting Date";
column(Sell_to_Customer_No_;"Sell-to Customer No.")
{
}
column(CompanyName;CompanyName)
{
}
// This is Sales Line DataItem
dataitem("Sales Line";"Sales Line")
{
// DataItem Properties
DataItemLinkReference="Sales Header";
DataItemTableView=sorting("Document Type","Document No.","Line No.") order(ascending);
PrintOnlyIfDetail= false;
DataItemLink = "Document Type"=FIELD("Document Type"),"Document No."=FIELD("No.");
// Adding Column from Sales Line Dataitem
column(Quantity;Quantity)
{
}
column(No_;"No.")
{
}
// Sales Line DataItem Triggers
trigger OnAfterGetRecord()
begin
if "Sales Line".Quantity = 0 then
UnitePriceToPrint:=0
else
UnitePriceToPrint:=Round("Sales Line"."Line Amount" / "Sales Line".Quantity,0.00001);
AllTotalAmount:=UnitePriceToPrint + UnitePriceToPrint;
PaymentNewDescription:=PaymentTerms.Description;
end;
}
// This is DataItem 1 Sales Header Triggers;
trigger OnPreDataItem()
begin
PaymentNewDescription:=PaymentTerms.Description;
CompanyName:=CompanyInfo.Name;
end;
}
}
trigger OnPreReport()
begin
CompanyInfo.Get();
end;
// All the Global Variable are here
var
CompanyInfo:Record "Company Information";
UnitePriceToPrint :Decimal;
CompanyName:Text [50];
}