I report per cui è disponibile la "gestione stampa" sono memorizzati nella tabella PrintMgmtReportFormat.
Se per questi report proviamo ad impostare via codice il report tramite il metodo parmReportName() verrà comunque stampato il design standard.
In questo esempio aggiungiamo un nuovo layout al report della fattura che verrà stampato solo se la company è italiana
Ecco quello che occorre fare:
1) Aggiungere al metodo populate() della tabella PrintMgmtReportFormat una nuova entry così
case #isoIT:
addAX(PrintMgmtDocumentType::SalesOrderInvoice, #isoIT);
break;
che aggiunge un nuovo record nella tabella PrintMgmtReportFormat . Verificare nella nuova riga che il flag "System" sia attivo, se non lo è attivarlo
2) Aggiungere alla classe PrintMgmtDocType metodo getDefaultReportFormat() una nuova entry così: (indivituate il blocco che riguarda la fattura):
if (SysCountryRegionCode::isLegalEntityInCountryRegion([#isoIT]))
{
return ssrsReportStr(SalesInvoice, CustomLayout);
}
Si consiglia ota di rigenerare la tabella PrintMgmtReportFormat cancellando prima tutti i record
e poi abdare in
Account receivable -> setup -> form -> form setup
andare sul tab general e cliccare sul pulsante "Print management"
A questo link https://technet.microsoft.com/en-us/library/dd309660.aspx alla sezione "Specify conditional settings for an original or copy record" potete trovare una soluzione alternativa che non richiede codice, ma è necessario che l'utente in fase di stampa del report clicchi sulla voce "Usa gestione stampa":
Nessun commento:
Posta un commento