Suche…


PXSelectGroupBy und Bitwerte in Acumatica 5.1 und 5.2+

Die Methode der SQL-Generierung aus BQL- PXSelectGroupBy<> -Sichten wurde in Acumatica Framework 5.2 geändert.

In den folgenden Abschnitten werden die Unterschiede am Beispiel von PXSelectGroupBy<FinYear, Aggregate<GroupBy<FinYear.finPeriods>>>.Select(graph) :

Acumatica Framework 5.2 und höher

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 und früher

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]) 

Erläuterung

Standardmäßig wird das Aggregat Max() auf alle Felder angewendet, die nicht explizit in einer BQL-Anweisung angegeben sind.

Doch in Acumatica 5.1 und früher, schließt sie die CreatedByID , LastModifiedByID und bool Felder aus . Bei der Übersetzung in SQL sind diese Felder immer null wenn Sie nicht explizit nach gruppiert werden.

Ab Version 5.2 wird auch Max() standardmäßig für sie angewendet.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow