Newsgroup: it.comp.appl.notes-domino
Titolo: LotusScript: trovare un doc con un campo vuoto

Ciao a tutti
devo creare un'applicazione con Lotus Notes che serve a controllare i 
movimenti di un certo numero di conti correnti (purtroppo non miei...), 
ognuno visualizzato nella sua vista.
Avrei bisogno di trovare un modo per aggiornare il computo progressivo 
del saldo scalare, ma il numero dei movimenti e' abbastanza grande da 
scoraggiare chiunque a fare il ricalcolo di tutti i documenti 
all'apertura della vista (e per giunta e' possibile che vengano inseriti 
movimenti effettuati nel passato), quindi ho pensato di creare uno 
script che:
- trova il _primo_ documento che ha il campo "Scalare" vuoto nella vista;
- crea una notesdocumentcollection di tutti i documenti da aggiornare;
- fa un getprevdocument e legge il valore del campo "Scalare" del 
movimento precedente;
- ne somma il valore con l'importo del movimento corrente;
- lo inserisce nel campo "Scalare" dello stesso
(...e ripete il calcolo fino all'ultimo documento della collection).
Sorge un problema: in LotusScript non esiste il corrispondente di un 
SELECT in SQL: come faccio a trovare il primo documento della vista che 
ha il campo "Scalare"=""? Potrei tentare con db.search o qualcosa del 
genere (mi hanno detto che e' un metodo un po' lento e poco affidabile)?
Tenete presente che, visto il discreto numero (circa 20, in crescita...) 
di conti, vorrei evitare il proliferare di viste nascoste...
Ringrazio in anticipo chi vorra' rispondermi
Maurizio





 all'apertura della vista
Cosa vuol dire abbastanza grande??
Io ho delle viste con 21.000 documenti con campi numerici che vengono
calcolati e di cui viene fatto il totale;
il tutto senza problemi e senza rallentamenti.
E poi quante persone lavorano CONTEMPORANEAMENTE sui database dei
conticorrenti?
Non mi sembra un problema il fatto che un solo utonto (o comunque pochi)
debba aspettare 3 secondi x l'apertura di una vista
Gildo

Prevedo circa 35.000 movimenti all'anno. Il problema non e' il ricalcolo 
del singolo documento: ho problemi a trovare una soluzione alternativa 
al ricalcolo dell'intera vista. Se ogni volta devo ciclare 5.000 
documenti per ricalcolarli l'attesa diventa fastidiosa.


Prevedo circa 35.000 movimenti all'anno. Il problema non e' il ricalcolo
del singolo documento: ho problemi a trovare una soluzione alternativa
al ricalcolo dell'intera vista. Se ogni volta devo ciclare 5.000
documenti per ricalcolarli l'attesa diventa fastidiosa.
Difficilmente ci lavorera' piu' di una vittima ...ehm... persona alla 
volta, ma puo' essere che altri (max altri 2) lo consultino.


Se il problema è quello di trovare i docs con il campo vuoto, fatti una
vista di lavoro (nascosta) con la formula di selezione che preveda
quella caratteristica. A quel punto i docs li prendi scorrendola
sequenzialmente.
--
Juda of 3AM - juda(strudel)
despammed.com
/---------------/
Nella mia condizione di base sono piuttosto acido, ma difficilmente
rimango di sale.

Dimenticavo: perche' visualizzando nella sua form un documento di una 
vista (nella form si scorrono i documenti della vista con [Invio] e con 
[backspace]) il seguente codice produce un errore "Il documento non e' 
nella Vista nome_vista_di_origine"?!?
Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
Dim thisdoc As notesdocument
Dim prevdoc As notesdocument
Dim viewname As String
Dim view As notesview
Set thisdoc=Source.document
viewname="nome_vista_di_origine"
Set view=db.getview(viewname)
Set prevdoc=view.getprevdocument(thisdoc)
End Sub

Dimenticavo: perche' visualizzando nella sua form un documento di una
vista (nella form si scorrono i documenti della vista con [Invio] e con
[backspace]) il seguente codice produce un errore "Il documento non e'
nella Vista nome_vista_di_origine"?!?
Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
Dim db As notesdatabase


Dimenticavo: perche' visualizzando nella sua form un documento di una
vista (nella form si scorrono i documenti della vista con [Invio] e con
[backspace]) il seguente codice produce un errore "Il documento non e'
nella Vista nome_vista_di_origine" (che esiste)?!?


 nella Vista nome_vista_di_origine" (che esiste)?!?
Non so se un doc non preso dalla vista lo puoi utilizzare nel getprev...
e poi se è già il primo?


 e poi se è già il primo?
Si', hai ragione, ma io in quel momento sto visualizzando un documento 
_della_vista_, come dimostra il fatto che posso scorrere tutti i 
documenti della vista con [invio] e [backspace]: mi sembra incredibile 
che non sia la stessa cosa in lotusscript.
Per quanto riguarda il resto hai certamente ragione, ma e' un problema 
che si pone solo se il resto funziona! ;-)
Mau