Diseñar la página de opciones de solicitud
Cuando crea un nuevo informe, se crea automáticamente una página de solicitud para este. Además, puede crear opciones personalizadas en la página Solicitud. Puede hacerlo agregando una sección requestpage.
La sección requestpage tiene la siguiente sintaxis:
requestpage
{
layout
{
area(Content)
{
group(GroupName)
{
field(Name; SourceExpression)
{
ApplicationArea = All;
}
}
}
}
actions
{
area(processing)
{
action(ActionName)
{
ApplicationArea = All;
}
}
}
}
En esta sección, puede establecer la propiedad SaveValues en True para guardar los valores que el usuario final introduce en la página de solicitud. Cuando se vuelve a ejecutar el informe, el usuario final puede utilizar filtros definidos previamente.
En los informes, además de definir las opciones de filtro estableciendo la propiedad RequestFilterFields, puede agregar una sección requestpage. En esta sección, puede establecer la propiedad SaveValues en verdadero para guardar los valores que el usuario final introduce en la página de solicitud. Cuando se vuelve a ejecutar el informe, el usuario final tendrá la opción de usar filtros definidos previamente.
También puede agregar un diseño a la página de solicitud, especificando una sección Opciones para realizar comprobaciones.
Puede usar la propiedad SaveValues junto con la propiedad AllowScheduling para configurar la página de solicitud y admitir varias vistas previas. Cuando ambas propiedades son verdaderas, los usuarios pueden obtener una versión preliminar del informe desde la página de solicitud tantas veces como quieran, sin tener que cerrar la página de solicitud. Esta capacidad permite a los usuarios cambiar los filtros, ver el aspecto del informe generado y volver a intentarlo. Si una propiedad se establece en false, el informe no admitirá varias vistas previas, y la página de solicitud se cerrará cuando el usuario obtenga una vista previa del informe. En ese caso, la página de solicitud incluye un botón Vista previa y cerrar en lugar de Vista previa.
requestpage
{
SaveValues = true;
También puede agregar un diseño a la página de solicitud, especificando una sección Opciones para realizar comprobaciones.
El siguiente ejemplo agrega un campo a la pestaña Opciones de la página de solicitud para mostrar u ocultar los clientes bloqueados.
report 50102 Example_DataItems_Join
{
UsageCategory = ReportsAndAnalysis;
ApplicationArea = All;
//RDLCLayout = './other/Example_DataItems_Join.rdl';
DefaultLayout = RDLC;
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)") { }
}
trigger OnPreDataItem()
begin
if HideBlockedCustomers then
Customer.SetRange(Blocked, Blocked::" ");
end;
}
}
requestpage
{
SaveValues = true;
layout
{
area(Content)
{
group(Options)
{
field(HideBlockedCustomers; HideBlockedCustomers)
{
ApplicationArea = All;
Caption = 'Hide Blocked Customers?';
}
}
}
}
}
var
HideBlockedCustomers: Boolean;
}
Se genera la siguiente página de solicitud al ejecutar el informe.
Cuando el usuario selecciona la opción ¿Ocultar clientes bloqueados?, solo los clientes que no están bloqueados se agregan al conjunto de datos.