It is currently 19 November 2019, 7:50 Advanced search

Report dentro videata popup

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Report dentro videata popup

Postby d.damico » 8 November 2019, 15:43

Vorrei fare una cosa.
In una videata vorrei fa partire una stampa, ma vorrei che questa comparisse "dentro" un'altra videata che si apre a popup. Non ci riesco
Ho creato la videata (non parte del desktop) , ho copiato il libro che voglio stampare qui dentro e l'ho trascinato dentro la videata.
Nella load della videata poi ho messo
Mio_Libro.printDestination = SCREEN
Mio_Libro.print(1, -1)
In anteprima di progettazione la videata si presenta come voglio io, vedo la videata e dentro vedo il report. Ma quando premo il pulsante che fa partire questa videata ho un errore:
com.progamma.idre.CIDREObj.GetReportColumn
EMAIL.BUK_LIBRORAPPORT_RPT_REPORTRAPPOR_InitQuery(EMAIL.cs:691)
EMAIL.BUK_LIBRORAPPORT_RPT_REPORTRAPPOR_Init(EMAIL.cs:705)
EMAIL.Init(EMAIL.cs:264)
MyWebEntryPoint.Show(MyWebEntryPoint.cs:3499)
TESTATERAPPORTINI.BTNMAIL(TESTATERAPPORTINI.cs:1067)
d.damico
 
Posts: 98
Joined: 17 September 2019, 16:20

Re: Report dentro videata popup

Postby d.damico » 8 November 2019, 17:00

Ho trovato l'errore.
Copiando il report, mi ha riportato delle where sbagliate, perchè puntavano ai valori della videata chiamante e mi sembra di capire che così non va bene
Allora ho fatto così.
Il mio report deve avere in una where un particolare valore di un campo della videata chiamante. Allora nella videata di destinazione ho creato una procedura che prende in input un valore (che gli passa la videata chiamante) e lo piazza in una variabile globale dentro la videata
Quando poi stampo il libro nella where ci metto il valore di questa variabile globale.

Purtroppo qualcosa va storto e non so cosa
Nel debug (con un DTTLogMessage vedo che questa variabile globale è valorizzata nel modo giusto, ha dentro il valore che mi aspetto debba esserci.
Ma poi la master query è come se non la leggesse.
Non posso mettere una variabile globale dentro una masterquery di un report per fare una where?
d.damico
 
Posts: 98
Joined: 17 September 2019, 16:20

Re: Report dentro videata popup

Postby eurekapv » 9 November 2019, 9:45

Il metodo che consiglio è questo:
Videata POPUP
Creo una Tabella IMDB Monoriga con dentro un campo ad esempio IDANAGRAFICA

Nella Master Query del Report scrivo where ID = IDANAGRAFICA (Campo della IMDB)

Creo una funzione
Code: Select all
function void ApriPer(int pIDAnagrafica) {
    IDANAGRAFICA(imdb) = pIDAnagrafica;
   
    Libro.printDestination = SCREEN
    Libro.refreshQuery();
    Libro.print(1, -1);
}


Dalla videata di partenza richiamo
Code: Select all
VIDEATAPOPUP.show(Popup);
VIDEATAPOPUP.ApriPer(100);  //Cosi stampo l'anagrafica numero 100


Consiglio: Utilizza sempre nelle WHERE Campi di Tabelle IMDB invece che variabili globali
User avatar
eurekapv
 
Posts: 2330
Joined: 2 November 2010, 22:16
Location: Vigevano

Re: Report dentro videata popup

Postby d.damico » 9 November 2019, 13:00

Infatti col campo IMDB funziona perfettamente. Io pensavo che la variabile globale facesse proprio al caso mio.
Grazie.
d.damico
 
Posts: 98
Joined: 17 September 2019, 16:20


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: montano.michela and 19 guests