server static void lookupResponsable(object cont,FormDataSource fdsf,date fecha_Inicio,date fecha_fin)
{
SysTableLookup myLookup =
SysTableLookup::newParameters(tablenum(SMAGSTempserviceObject),cont);
Query query = new Query(querystr(SMAServiceOrderTableLine));
QueryBuildDataSource qbds;
QueryBuildRange qbr;
str rangos;
SMAServiceOrderTable _SMAServiceOrderTable;
SMAServiceOrderLine _SMAServiceOrderLine;
queryrun qr;
SMAGSTempserviceObject _SMAGSTempserviceObject;
RecordInsertList _SMAGSTempserviceObjectList;
//tcDateTime fecha_ini_t;
//UtcDateTime fecha_fin_t;
;
rangos = strfmt("%1..%2",Date2StrXpp(fecha_Inicio)+" 12:00:00 am",Date2StrXpp(fecha_fin)+" 11:59:59 pm");
qbds = query.dataSourceTable(tablenum(SMAServiceOrderTable));
qbds.addRange(fieldnum(SMAServiceOrderTable,ServiceDateTime)).value(rangos);
qbds.addGroupByField(fieldnum(SMAServiceOrderTable,Responsible));
qr=new queryrun(query);
while(qr.next())
{
_SMAServiceOrderLine=qr.get(tablenum(SMAServiceOrderLine));
_SMAServiceOrderTable=qr.get(tablenum(SMAServiceOrderTable));
_SMAGSTempserviceObject.ServiceObjectId=_SMAServiceOrderTable.Responsible;
_SMAGSTempserviceObject.descripcion= _SMAServiceOrderTable.ServiceResponsibleName();
_SMAGSTempserviceObject.doInsert();
}
myLookup.addLookupField(fieldnum(SMAGSTempserviceObject,ServiceObjectId));
myLookup.addLookupField(fieldnum(SMAGSTempserviceObject,descripcion));
myLookup.parmTmpBuffer(_SMAGSTempserviceObject);
myLookup.performFormLookup();
}
Yo tengo otras opciones para filtrar con rangos en www.dynamicsaxlatino.com/rangos-en-un-query-personalizados/
ResponderEliminarHola tengo esta opcion si quieres un lookup para seleccionar una persona de la libreta de contactos para Dynamics AX 2012
ResponderEliminarhttp://www.dynamicsaxlatino.com/crear-lookup-de-contacto-de-la-libreta-de-contactos-ax-2012/