Utilizar una consulta para crear un conjunto de datos de informes

Completado

Las consultas le permiten recuperar registros de una o más tablas u orígenes de datos y, luego, combinar los datos en filas y columnas en un único conjunto de datos. Las consultas también pueden realizar cálculos sobre datos, como encontrar la suma o el promedio de todos los valores en una columna del conjunto de datos.

En lugar de crear el conjunto de datos del informe directamente a partir de tablas, también puede utilizar un objeto de consulta. Para ello, haga lo siguiente:

  • Agregue una variable global que apunte al objeto de consulta

  • Utilice un número entero en la definición del elemento de datos

  • Agregue los desencadenadores OnPreDataItem y OnAfterGetRecord

A continuación, se muestra un ejemplo de un objeto de consulta que recupera varios campos de la tabla Elemento:

al-languageCopy
query 70100 "Items"
{
    Caption = 'Items.Query';
    QueryType = Normal;

    elements
    {
        dataitem(Item; Item)
        {
            column(No; "No.") { }
            column(Description; Description) { }
            column("Type"; "Type") { }
            column(UnitPrice; "Unit Price") { }
            column(UnitCost; "Unit Cost") { }
            column(Inventory; Inventory) { }
        }
    }
}

El siguiente ejemplo muestra cómo puede utilizar esta consulta como origen de datos para un conjunto de datos de informe.

al-languageCopy
report 70100 Items
{
    UsageCategory = ReportsAndAnalysis;
    ApplicationArea = All;
    Caption = 'Items based on Query';

    dataset
    {
        dataitem(Integer;Integer)
        {
            column(ItemNo; Items.No)
            {}
            column(Description; Items.Description)
            {}        
            column(Type; Items.Type)
            {}
            column(UnitCost; Items.UnitCost)
            {}
            column(UnitPrice; Items.UnitPrice)
            {}
            column(Inventory; Items.Inventory)
            {}

            trigger OnPreDataItem()
            begin
                Items.Open();
            end;

            trigger OnAfterGetRecord()
            begin
                if not Items.Read() then
                    CurrReport.Break();
            end;
        }
    }
    var
        Items: Query Items;
}

Para probar este informe, desde el cliente de Business Central, puede exportar los resultados del informe como datos sin procesar a un archivo de Microsoft Excel. El archivo incluye todas las columnas del conjunto de datos, pero sin el diseño aplicado. Utilice el archivo para ayudar a validar que el informe devuelve los datos esperados y para asegurarse de que los controles de diseño del informe coincidan con los tipos de valor del conjunto de datos. Para exportar un informe, ejecútelo y seleccione Enviar a > Documento de Microsoft Excel (solo datos) en la página de solicitud.