acumatica
Znaczące zmiany interfejsu API między wersjami
Szukaj…
PXSelectGroupBy i wartości bitów w Acumatica 5.1 i 5.2+
Metoda generowania kodu SQL z widoków PXSelectGroupBy<>
BQL PXSelectGroupBy<>
została zmieniona w programie Acumatica Framework 5.2.
Poniższe sekcje ilustrują różnice na przykładzie PXSelectGroupBy<FinYear, Aggregate<GroupBy<FinYear.finPeriods>>>.Select(graph)
:
Acumatica Framework 5.2 i nowsze wersje
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 i wcześniejsze
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])
Wyjaśnienie
Domyślnie agregacja Max()
jest stosowana do wszystkich pól, które nie zostały wyraźnie wymienione w instrukcji BQL.
Jednak w wersji Acumatica 5.1 i wcześniejszych wyklucza ona pola CreatedByID
, LastModifiedByID
i bool
. Po przetłumaczeniu na SQL pola te zawsze będą miały null
chyba że zostaną one pogrupowane jawnie.
Począwszy od wersji 5.2, dla nich również domyślnie będzie stosowana Max()
.
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow