acumatica
Cambios significativos en la API entre versiones
Buscar..
PXSelectGroupBy y Bit Values en Acumatica 5.1 y 5.2+
El método de generación de SQL a partir de las vistas de datos BQL PXSelectGroupBy<>
se ha cambiado en Acumatica Framework 5.2.
Las siguientes secciones ilustran las diferencias usando el ejemplo de PXSelectGroupBy<FinYear, Aggregate<GroupBy<FinYear.finPeriods>>>.Select(graph)
:
Acumatica Framework 5.2 y posteriores
SELECT Max([finyear].[year]),
Max([finyear].[startdate]),
Max([finyear].[enddate]),
[finyear].[finperiods],
-- Attention!
CONVERT (BIT, Max([finyear].[customperiods] + 0)),
--
Max([finyear].[begfinyearhist]),
Max([finyear].[periodsstartdatehist]),
Max([finyear].[noteid]),
( NULL ),
( NULL ),
( NULL ),
Max([finyear].[tstamp]),
Max([finyear].[createdbyid]),
Max([finyear].[createdbyscreenid]),
Max([finyear].[createddatetime]),
Max([finyear].[lastmodifiedbyid]),
Max([finyear].[lastmodifiedbyscreenid]),
Max([finyear].[lastmodifieddatetime])
FROM finyear FinYear
WHERE ( finyear.companyid = 2 )
GROUP BY [finyear].[finperiods]
ORDER BY Max([finyear].[year])
Acumatica Framework 5.1 y anteriores
SELECT Max([finyear].[year]),
Max([finyear].[startdate]),
Max([finyear].[enddate]),
[finyear].[finperiods],
-- Attention!
( NULL ),
--
Max([finyear].[begfinyearhist]),
Max([finyear].[periodsstartdatehist]),
( NULL ),
( NULL ),
( NULL ),
Max([finyear].[tstamp]),
( NULL ),
Max([finyear].[createdbyscreenid]),
Max([finyear].[createddatetime]),
( NULL ),
Max([finyear].[lastmodifiedbyscreenid]),
Max([finyear].[lastmodifieddatetime])
FROM finyear FinYear
WHERE ( finyear.companyid = 2 )
GROUP BY [finyear].[finperiods]
ORDER BY Max([finyear].[year])
Explicación
De forma predeterminada, el agregado Max()
se aplica a todos los campos que no se mencionan explícitamente en una declaración BQL.
Sin embargo, en Acumatica 5.1 y anteriores, excluye los campos CreatedByID
, LastModifiedByID
y bool
. Cuando se traducen a SQL, estos campos siempre serán null
menos que los agrupe explícitamente.
A partir de la versión 5.2, Max()
también se aplicará de forma predeterminada para ellos.
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow