Here is a quick rundown of how to invoke a report for the current record in the various levels of SLX.
In 7.54
btnPreview.OnClientClick = "ShowReportByName('Sales Order:SalesOrder Detail'); return false;";
In 8.0
btnPreview.OnClientClick = @"require(['Sage/Reporting/Service'],
function (Service) {
var oReporting = Sage.Services.getService('ReportingService');
oReporting.showReportByName('Sales Order:SalesOrder Detail'); return false;});";
In 8.1
btnPreview.OnClientClick = @"var oReporting = Sage.Services.getService('ReportingService');
oReporting.showReport('Sales Order:SalesOrder Detail', 'SALESORDER', Sage.Utility.getCurrentEntityId());
return false;";
Please note that somewhere along the way I think the family that reports are saved in my have changed from SalesOrder to Sales Order. Those parts of the code are shown in bold. Si if one doesnt work try with or without the space.