Newsgroup: it.comp.appl.notes-domino
Titolo: Estrarre tutti i documenti lotus dal Database

Sto cercando di estrarre tutti i documenti lotus da un database e
salvarli in formato RTF. Ho scritto un agente (di nome "prova") molto
semplice (in linguaggio formula) che apre il  database pippo.nsf ed
estrae un singolo documento,e si sposta su quello successivo
Ho impostato l'agente come segue:
1)Eseguire manualmente dal menů Operazioni
2)Esegui una volta (consenti comandi @)
Ecco il codice:
@Command([FileOpenDatabase]; "":"c:\\pippo.nsf";"");
@Command( [ViewCollapseAll] ) ;
@Command([OpenDocument]);
Path := "C:\\pippo.rtf";
@Command([FileExport];"Micro";Path);
@Command([FileCloseWindow]);
@Command( [NavigateNextMain] );
@All
E' possibile riuscire ad estrarre tutti i documenti del database?
Partendo da questo codice? Magari creando un ciclo.Da quanto ne so io
,non č possibile creare un ciclo con il linguaggio formula.Ho cercato
allora di richiamare questo agente da un programma scritto in
lotusScript tramite l'uso di un notesagent
Dim Agent As Notesagent
.....
Set Agent = Db.GetAgent("prova")
Call Agent.Run
purtroppo non funziona,durante l'esecuzione quando deve eseguire
l'agente ho il seguente errore:
"Funzione @ non valida in questo contesto".
Qualcuno mi puň dare un suggerimento,o postare del codice,darmi
qualche esempio.
Voi che dite, E' possibile estrarre tutti i documenti ?
Tra l'altro non sono riuscito in nessun modo a far eseguire un agente
scritto in formula e che utilizza @command,in un programma scritto in
lotus script.
Qualche aiuto?
Grazie a tutti,vi prego fatemi uscire da questo incubo ciao :-)
---------------------------------------------------------------------------------
Grazie dei consigli precedenti sul post "Problema con il campo
riservato $Links"
a Ema e Paperoga,ma ho risolto usanto un software
commerciale.(
www.geniisoft.com
)
---------------------------------------------------------------------------------

 Voi che dite, E' possibile estrarre tutti i documenti ?
certo :))
di solito utilizzo LS con delle NotesDocumentCollection (oppure delle
NotesViewEntryCollection)...
ti consiglio di dare un'occhiata all'help a queste keyword: Open,
Write, Print, Close.
tipo, cosě a memoria...
Dim S as NotesSession
Dim db as NotesDatabase
Dim view as NotesView
Dim docs as NotesDocumentCollection
Dim doc as NotesDocument
Dim fileNum as Integer
...settaggio di db, view, docs...
Set doc = docs.getfirstdocument
do while not(doc is nothing)
fileNum% = FreeFile()
Open "c:\pippo.rtf" for Append as fileNum%
Write #fileNum%, "Prima linea: " + doc.campo1(0)
Write #fileNum%, "Seconda linea: " + doc.campo2(0)
Write #fileNum%, "Terza linea: " + doc.campo3(0)
Close fileNum%
set doc = docs.getnextdocument(doc)
loop
msgbox "Fatto... :))"
se ho fatto tutto giusto dovrei aver creato un file denominato
pippo.rft...
spero di esserti stato utile...
ciao
gn

 @Command([FileExport];"Micro";Path);
--
http://www.depquest.net

Grazie del supporto Paperoga :-) ma così facendo non risolvo il mio
problema,
riuscirei ad esportare i singoli campi ma non il documento nella sua
totalità.
Ho bisogno di un qualcosa come il comando Esporta che si trova nel
menu file,
e che è possibile richiamare utilizzando il linguaggio Formula.
Il database con cui ho a che fare è piuttosto complesso e contiene
oltre 3000 documenti con immagini ed allegati,nel processo di
esportazione devo riuscire a mantenere anche la formattazione del
documento.E' un bel casino!
dei risultati li ho ottenuti (tramite OLE e copia/incolla) ma sono
scadenti.
Devo riuscire ad applicare quel comando Esporta presente nel menù
File,ci riuscirò? :-) inizio a credere propio di no....

File,ci riuscirň? :-) inizio a credere propio di no....
Prova e mi dirai.
-- 
Ciao./ Zio Ciano.
Born to run Unix
Windows NT: Designed for the Internet. The Internet: Designed for Unix.
http://www.fsf.org/philosophy/no-word-attachments.it.html
(Fare bene non e` bene, fare male non c'e` male.-)

 File,ci riuscirò? :-) inizio a credere propio di no....
Ok, forse ci siamo... purtroppo però sono a casa e ho fatto le prove
solo in locale, devo ancora reinstallare il server.
Allora: ho modificato la tua formula come segue
@Command([FileOpenDatabase]; "":"TestDb.nsf";"");
@Command( [ViewCollapseAll] ) ;
@Command([OpenDocument]);
Path := "C:\\TEST\\"+ NomeFile +".rtf";
REM {NomeFile è una variable, o meglio un campo del documento che stai
estraendo. Ogni estrazione genera un file diverso};
@Command([FileExport];"Micro";Path);
@Command([FileCloseWindow]);
@Command( [NavigateNextMain] );
@Command([ToolsRunMacro];"Nome_di_questo_agente") ;
REM {In questo modo richiamo questo stesso agente, non pensavo che
funzionasse};
Questa formula cosi modificata esegue in loop se stessa, al termine
della sua esecuzione, quindi, si sposta sul documento successivo: lo
apre, lo estrae, lo chiude e si sposta sul documento successivo... e
così via. Manca ovviamente qualcosa, bisogna chiudere il loop. Per
questo potresti usare un profile field come contatore che incrementi
all'inizio della formula... oppure un environment, anche se toccare il
notes.ini non è mai bello. Vedi te. Non ho avuto troppo tempo per
provare, ma ad occhio direi che si può fare.
L'unica pecca: ogni documento estratto equivale ad un file... però è
già qualcosa, ed è anche un po' lento... un po' troppo forse. Però
sono riuscito ad estrarre tutti i documenti della vista... :)))
scusa il mio primo post, probabilmente avevo sottovalutato il
problema. Spero d'aver riparato con questo mio.
ciao
gn