It is currently 22 April 2025, 10:18 Advanced search

Limitare a un elemento la loadCollection

Domande e risposte su come utilizzare Instant Developer Cloud al meglio

Limitare a un elemento la loadCollection

Postby mromini » 3 December 2018, 12:41

Ciao, avrei la necessità di limitare a 1 il numero di elementi caricati dalla loadCollection di un documento. Precisamente dovrei fare questa cosa in caso di lettura del documento da webapi. Io ho fatto in questo modo (e pare funzionare) vorrei però sapere se è il modo corretto o se si può fare meglio.

Code: Select all
App.BESYNC.Doc.prototype.beforeLoad = function (collection, options)
{
  if (app.isWebApiRequest() && options.loadType === App.Document.loadTypes.loadCollection) {
    collection.dataPageSize = 1;
    collection.dataPagingMode = App.DataMap.dataPagingModes.keyset;
    collection.addFilter(App.BESYNC.Doc.SentToClient, false);
  }
};


La necessità è quella di ritornare soltanto l'ultimo documento non ancora inviato al client.

Ciao,
Mario.
mromini
 
Posts: 464
Joined: 6 November 2012, 9:38

Re: Limitare a un elemento la loadCollection

Postby m.sirri » 3 December 2018, 13:42

Perché usi la collection per recuperare questo dato? Non ti conviene usare un metodo apposito?
Mi sembra un modo strano di operare.
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8574
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: Limitare a un elemento la loadCollection

Postby mromini » 3 December 2018, 13:46

Ciao Matteo, ho fatto così perché volevamo mantenere l'endpoint della webapi con il nome del documento. In altre parole volevamo un url della chiamata tipo:

https://sito.com/letture

Ciao,
Mario.
mromini
 
Posts: 464
Joined: 6 November 2012, 9:38

Re: Limitare a un elemento la loadCollection

Postby m.sirri » 3 December 2018, 13:51

Se usi un metodo non statico l'endpoint rimane lo stesso.
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8574
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: Limitare a un elemento la loadCollection

Postby mromini » 3 December 2018, 13:59

L'esigenza di ritornare un solo record è nata in un secondo momento. Prima la web api ritornava tutti i record della load collection non inviati al client ordinati per data inversa. Abbiamo già comunicato l'end point ad alcuni partner che stanno già utilizzato il servizio. Ci piacerebbe continuare ad utilizzare l''end point comunicato modificando però il funzionamento della web api in modo che ritorni solo un record (che sia un'operazione corretta o meno sono problemi nostri).

Si può fare o no?

Come l'ho fatto io va bene o c'è un modo migliore per farlo?

Ciao,
Mario.
mromini
 
Posts: 464
Joined: 6 November 2012, 9:38

Re: Limitare a un elemento la loadCollection

Postby m.sirri » 3 December 2018, 14:24

Come ti dicevo: mi sembra strano come approccio.
Secondo me è una forzatura, ma come sempre: se funziona tienilo così.
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8574
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: Limitare a un elemento la loadCollection

Postby mromini » 3 December 2018, 14:26

Perfetto, grazie!!

Ciao,
Mario.
mromini
 
Posts: 464
Joined: 6 November 2012, 9:38


Return to Tips & Tricks - Cloud

Who is online

Users browsing this forum: No registered users and 13 guests