Dieser Beitrag bezieht sich auf die Versionen:
Axapta 2.5, Axapta 3.0, Dynamics AX 4.0, Dynamics AX 2009, Dynamics AX 2012
Axapta 2.5, Axapta 3.0, Dynamics AX 4.0, Dynamics AX 2009, Dynamics AX 2012
Kommentar hinzufügen
|
|
|
|
|
|
Dieser Beitrag bezieht sich auf die Versionen:
Axapta 2.5, Axapta 3.0, Dynamics AX 4.0, Dynamics AX 2009, Dynamics AX 2012 Kommentar hinzufügen
|
Im folgenden ein Beispiel, wie man bei einer FormDataSource einen QueryBuildRange aufbaut, welcher nur tagesaktuelle Datensätze anzeigt.
Im Beispiel enthält unsere FormDataSource namens DataSourceName zwei Datumsfelder namens FromDate und ToDate und es sollen abhängig von einer Checkbox nur Datensätze angezeigt werden, die "heute" gültig sind.
{
queryBuildRange qbr;
qbr = sysQuery::findOrCreateRange(DataSourceName_ds.queryBuildDataSource(), fieldNum(DataSourceName, recId));
if( !ShowExpiredCheckBox.checked())
{
qbr.value(strfmt('('+
'((%5.%2 <= %1) && (%5.%3 >= %1)) || ' +
'((%5.%2 == %4) && (%5.%3 == %4)) || ' +
'((%5.%2 <= %1) && (%5.%3 == %4)) || ' +
'((%5.%3 >= %1) && (%5.%2 == %4)) ' +
')',
Date2StrXpp(systemDateGet()),
fieldstr(DataSourceName, FromDate),
fieldstr(DataSourceName, ToDate),
Date2StrXpp(dateNull()),
tableId2name(tableNum(DataSourceName))));
}
else
{
qbr.value(SysQuery::valueUnlimited());
}
}
Der Aufruf obiger Methode kann beispielsweise in der executeQuery() der Datasource erfolgen.