Comment référencer une table de source de données de rapport à l'aide de x ++
-
05-07-2019 - |
Question
Je ne parviens pas à trouver la syntaxe appropriée pour référencer la table CustInvoiceTrans de la source de données du rapport SalesInvoice.
Voici le contexte: j'ai créé un nouveau champ de classification sur la table InventItemGroup et je dois extraire les données de ce champ pour chaque article de la facture, puis résumer ces données dans l'en-tête de la facture.
La solution
Regardez la méthode fetch () du rapport SalesInvoice.
while (tradeLoopTrans.next())
{
custInvoiceTrans = tradeLoopTrans.get(tablenum(CustInvoiceTrans));
// ....
this.send(custInvoiceTrans);
custInvoiceTrans est une ligne à chaque facture qui sera imprimée dans le rapport.
Examinez ensuite Conception, Groupe de section: CustInvoiceJour - > Groupe de sections: CustInvoiceTrans. Voici tous les champs qui seront imprimés
Vous avez donc besoin de:
-
Sur la table CustInvoiceTrans, créez la méthode d'affichage:
display str getClassification() { InventTable table = InventTable::find(this.ItemId); InventItemGroup grp = InventItemGroup::find(teble.ItemGroupId); ; return grp.new_field }
Cette méthode renvoie votre classification pour chaque commande CustInvoiceTrans.
-
À la conception du rapport, dans la section Groupe de sections: CustInvoiceTrans crée un nouveau champ.
DataSource = CustInvoiceTrans DataMethod = getClassification