public void setRanges(Query _query)
{
QueryBuildDataSource qbds;
InventJournalTable inventJournalTable;
FormDataSource fds;
qbds = _query.dataSourceTable(tablenum(InventJournalTable));
while (qbds.findRange(fieldNum(InventJournalTable, JournalId)))
{
qbds.clearRange(fieldNum(InventJournalTable, JournalId));
}
if (this.parmArgs())
{
switch (this.parmArgs().dataset())
{
case tableNum(InventJournalTable):
inventJournalTable = this.parmArgs().record();
fds = inventJournalTable.dataSource();
if (inventJournalTable.isFormDataSource() && inventJournalTable.dataSource() && fds.anyMarked())
{
for (inventJournalTable = fds.getFirst(fds.anyMarked()); inventJournalTable; inventJournalTable = fds.getNext())
{
qbds.addRange(fieldNum(InventJournalTable, JournalId)).value(inventJournalTable.JournalId);
}
}
else
{
//nessun record selezionato, prendi il record corrente
qbds.addRange(fieldNum(InventJournalTable, JournalId)).value(inventJournalTable.JournalId);
}
break;
default:
throw error(strFmt("@SYS19306",funcName()));
}
}
}
mercoledì 6 marzo 2019
AX 2012 - Impostare il filtro di una query di un report in base ai record selezionati su una grid
Molto spesso capita di dover lanciare un report filtrandolo per i record selezionati su un grid. In questo esempio vogliamo stampare il report del giornale/i inventariale selezionati. Nel metodo prePromptModifyContract() della nostra controller possiamo creare un metodo set range che costruisce il range in base ai record selezionati dall'utente sul grid:
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento