Durante la formazione in Salesforce ho avuto spesso a che fare con la creazione di eventi che mi aprissero pagine visualforce da lightning component.

Sono cose banali, ma quando non le conosci sono insidiose. Ecco perché segno degli appunti che possano essere utili a me e ad altri junior che si affacciano al mondo Salesforce

// url della pagina visualforce
var vfUrl = '/apex/AppointmentsGlobalReportPDF?id=' + 

// parametro ricevuto da lightning component
component.get('v.recordId');

// evento al click del bottone in lightning component per 
// apertura pagina visualforce
var urlEvent = $A.get("e.force:navigateToURL");

// definizione parametri da inviare all'evento
urlEvent.setParams({
  "url": vfUrl
});

// invocazione evento
urlEvent.fire();

Vedi anche Apertura di un lightning component da lightning component padre