Créer un jeu de données d’état à l’aide d’une requête
Les requêtes vous permettent d’extraire des enregistrements d’une ou plusieurs tables ou sources de données, puis de combiner les données en lignes et colonnes dans un seul jeu de données. Les requêtes peuvent également effectuer des calculs sur les données, par exemple rechercher la somme ou la moyenne de toutes les valeurs d’une colonne du jeu de données.
Au lieu de créer le jeu de données d’état directement à partir de tables, vous pouvez également utiliser un objet de requête. Pour ce faire, vous devez effectuer les tâches suivantes :
Ajouter une variable globale qui pointe vers l’objet de requête
Utiliser un nombre entier dans la définition de l’élément de données
Ajouter les déclencheurs OnPreDataItem et OnAfterGetRecord
Voici un exemple d’objet de requête qui récupère plusieurs champs de la table Élément :
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) { }
}
}
}
L’exemple suivant montre comment utiliser cette requête comme source de données pour un jeu de données d’état.
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;
}
Pour tester cet état, depuis le client Business Central, vous pouvez exporter les résultats de l’état sous forme de données brutes vers un fichier Microsoft Excel. Le fichier comporte toutes les colonnes du jeu de données, mais sans la présentation appliquée. À l’aide du fichier, vérifiez que l’état renvoie les données attendues et assurez-vous que les contrôles de présentation d’état correspondent aux types de valeur du jeu de données. Pour exporter un état, exécutez-le et sélectionnez Envoyer à > Document Microsoft Excel (données uniquement) sur la page de requête.