
Hi all,
We are currently running an implementation of Business Central for a client, and have had some difficulty with building custom reports.
Using MS Report Builder, it seems that the datasets for Ship-to address do not actually pull the ship-to information from the sales order or blanket sales order.
We have tried populating the ship-to on the order with all three options (default (Sell-to address), Alternative Shipping Address and Custom Address), but still get no data on the report itself.
Has anyone else encountered a similar issue?
Any advice we could receive would be greatly appreciated.
Thanks,
Dominic
It’ll be data related. The order confirmation report has a Boolean called ShowShippingAddr. On the RDLC report that will control if the data is visible or not. Expect your missing some data that it believes is necessary. Note this check can be bypassed with a modification. I’d start by checking over the sell to country as that is the usual data missing that causes this one
This function is run as part of the report:
procedure SalesHeaderShipTo(var AddrArray: array[8] of Text[100]; CustAddr: array[8] of Text[100]; var SalesHeader: Record "Sales Header") Result: Boolean
var
CountryRegion: Record "Country/Region";
SellToCountry: Code[50];
Handled: Boolean;
begin
OnBeforeSalesHeaderShipTo(AddrArray, CustAddr, SalesHeader, Handled, Result);
if Handled then
exit(Result);
with SalesHeader do begin
FormatAddr(
AddrArray, "Ship-to Name", "Ship-to Name 2", "Ship-to Contact", "Ship-to Address", "Ship-to Address 2",
"Ship-to City", "Ship-to Post Code", "Ship-to County", "Ship-to Country/Region Code");
if CountryRegion.Get("Sell-to Country/Region Code") then
SellToCountry := CountryRegion.Name;
if "Sell-to Customer No." <> "Bill-to Customer No." then
exit(true);
for i := 1 to ArrayLen(AddrArray) do
if (AddrArray[i] <> CustAddr[i]) and (AddrArray[i] <> '') and (AddrArray[i] <> SellToCountry) then
exit(true);
end;
exit(false);
end;