Progettazione della pagina di richiesta
Per impostazione predefinita, quando si aggiunge un elemento di dati al set di dati del report, questo elemento di dati diventa disponibile nella pagina di richiesta del report.
Ad esempio, se si dispone del seguente set di dati:
dataset
{
dataitem(Customer; Customer)
{
column(CustomerNo; "No.") { }
column(CustomerName; Name) { }
column(City; City) { }
column(BalanceLCY; "Balance (LCY)") { }
}
}
La seguente pagina della richiesta viene generata quando si esegue il report.
La sezione Filtro principale mostra i campi di filtro predefiniti usati per delimitare i record da includere nel report. Per aggiungere un filtro, scegliere l'azione + Filtro, digitare il nome del campo in base al quale si desidera filtrare o selezionare un campo dall'elenco a discesa.
La sezione Filtra totali per consente di regolare varie dimensioni che incidono sui calcoli nel report. Per aggiungere un filtro, scegliere l'azione + Filtro, digitare il nome del campo in base al quale si desidera filtrare o selezionare un campo dall'elenco a discesa.
Quando si modifica il set di dati del report come segue:
dataset
{
dataitem(Customer; Customer)
{
PrintOnlyIfDetail = true;
column(CustomerNo; "No.") { }
column(CustomerName; Name) { }
dataitem(CustomerLedgers; "Cust. Ledger Entry")
{
DataItemLinkReference = Customer;
DataItemLink = "Customer No." = field("No.");
column(CustomerLedgersCustomerNo; "Customer No.") { }
column(CustomerLedgersAmountLCY; "Amount (LCY)") { }
}
}
}
La seguente pagina della richiesta viene generata quando si esegue il report.
Come si vede, una tabella supplementare è stata aggiunta alla pagina di richiesta, consentendo agli utenti di applicare filtri anche alla seconda tabella aggiunta al set di dati. Tuttavia, questo non è sempre il comportamento desiderato. L'aggiunta di tutte le tabelle del set di dati del report alla pagina di richiesta può confondere alcuni utenti. Questo è il motivo per cui è possibile progettare la pagina di richiesta usando le proprietà del report per determinare come deve essere generata.
È possibile progettare i filtri nelle pagine di richiesta usando le seguenti proprietà di report:
RequestFilterHeading
Questa proprietà di report imposta una didascalia per la scheda della pagina della richiesta correlata a un elemento di dati di un report o a un elemento di tabella di XMLport.
RequestFilterHeadingML
Questa proprietà di report imposta il testo usato come proprietà RequestFilterHeading per una scheda della pagina di richiesta.
RequestFilterFields
Questa proprietà di report specifica quali campi vengono inclusi automaticamente nella scheda della pagina di richiesta correlata a un elemento di dati di un report o a un elemento tabella di XMLport. L'utente può impostare filtri in questi campi.
UseRequestPage
Determina se una pagina di richiesta viene presentata all'utente. Se UseRequestPage è falso, la pagina di richiesta non viene visualizzata. L'utente non può scegliere un ordinamento o impostare filtri.
Per impostazione predefinita, per ogni elemento di dati nel report, viene creata una Scheda dettaglio per la definizione dei filtri e l'ordinamento nella pagina di richiesta. Per rimuovere una Scheda dettaglio da una pagina di richiesta, non definire alcuna proprietà RequestFilterFields per l'elemento di dati o l'elemento di tabella e impostare la proprietà DataItemTableView in un report per definire l'ordinamento. Viene visualizzata la pagina di richiesta, ma non è presente alcuna scheda per questo elemento di dati o elemento di tabella.
Ad esempio, quando si aggiunge un ordinamento nel secondo elemento di dati usando la proprietà DataItemTableView:
dataset
{
dataitem(Customer; Customer)
{
PrintOnlyIfDetail = true;
column(CustomerNo; "No.") { }
column(CustomerName; Name) { }
dataitem(CustomerLedgers; "Cust. Ledger Entry")
{
DataItemLinkReference = Customer;
DataItemLink = "Customer No." = field("No.");
DataItemTableView = sorting("Customer No.");
column(CustomerLedgersCustomerNo; "Customer No.") { }
column(CustomerLedgersAmountLCY; "Amount (LCY)") { }
}
}
}
La seguente pagina della richiesta viene generata quando si esegue il report.
La tabella Mov. contabili clienti non è quindi più visualizzata nella pagina di richiesta.
I campi definiti come RequestFilterFields sono visualizzati nella pagina di richiesta e possono essere usati per filtrare i dati prima di visualizzare o stampare il report. La definizione della proprietà RequestFilterFields nella parte dataitem() del codice del report viene eseguita come illustrato nel seguente esempio di codice.
dataset
{
dataitem(Customer; Customer)
{
PrintOnlyIfDetail = true;
RequestFilterFields = "No.", "Search Name", "Customer Posting Group";
column(CustomerNo; "No.") { }
column(CustomerName; Name) { }
dataitem(CustomerLedgers; "Cust. Ledger Entry")
{
DataItemLinkReference = Customer;
DataItemLink = "Customer No." = field("No.");
DataItemTableView = sorting("Customer No.");
column(CustomerLedgersCustomerNo; "Customer No.") { }
column(CustomerLedgersAmountLCY; "Amount (LCY)") { }
}
}
}
Quando si esegue il report, viene generata la seguente pagina della richiesta.
È consigliabile aggiungere campi che gli utenti finali del report filtrano con maggiore frequenza.