Newsgroup: it.comp.appl.notes-domino
Titolo: EDIT MODE

Come faccio ad intercettare quando l'utente clicca due volte su un form 
e lo manda in edit mode? 
Ho creato un'operazione(EDITA)  che mi mette il documento in modifica e 
mi imposta alcuni campi subito dopo. 
Vorrei:
- o evitare che l'utente possa mettere il documento in modifica 
cliccando sopra il form due volte ma obbligandolo a premere il tasto 
EDITA - oppure fare in modo che quando l'utente clicca due volte sul 
form attivando quindi il modo modifica vengano fatte alcune delle 
operazioni presenti nel tasto edita. 
Entrambi le soluzioni mi vanno bene.
aspetto illuminazioni 
grazie
--
absolute

 
Forse ho trovato.......nella parte POSTMODECHANGE metto il codice che 
mi interessa. 
L'ho azzeccata?
--
absolute

> L'ho azzeccata?
Bravo!!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 mi interessa. 
Se vuoi evitare che l'utente vada in modifica puoi usrae anche querymodechange e 
   gli dici 0.
-- 
Dr.Ugo Gagliardelli,Modena,ItalyCertifiedUindoscrasherAñejoAlcoolInside
Spaccamaroni andate a cagare/Spammers not welcome/Spammers vão à merda
Spamers iros a la mierda/Spamers allez vous faire foutre
Spammers loop schijten/Spammers macht Euch vom Acker

    gli dici 0.
Voto per Ugo, anche se, naturalmente, devi mettere il codice di 
controllo per restituire 0. 
--
@ --> Juda of 3AM - juda(strudel)
despammed.com
KP --> Non esiste l'impossibile. L'impossibile non esiste.
YG --> 
http://it.groups.yahoo.com/group/scarver
CISNK --> tessera n° 17

 querymodechange e   gli dici 0.
Attento perchè se hai un pulsante di modifica sulla vista, allora devi 
gestire anche il tentativo di andare in modifica nel postopen (in 
pratica se nel postopen il documento è in modifica, lo rimetti in lettura).

 
Ritorno sul problema perchè nel portare a termine il db la soluzione 
che avevo trovato nel mettere il codice nel postmodechange non va bene. 
Per intenderci la situazione "banalizzata" è questa:
L'utente ha a disposizione 2 operazioni per la modifica OPERAZ1 e 
OPERAZ2 
OPERAZ1
Set uidoc = workspace.EditDocument( True )
Set doc=uidoc.document
If doc.mc_action(0)<>1 Then
		Set notesItem = doc.ReplaceItemValue( "mc_respA", session.
commonusername ) 	Set notesItem = doc.ReplaceItemValue( "mc_dataA" , 
Today()) End If
OPERAZ2
mette il doc in modifica e compila i campi D E F con altri dati
Quindi voglio obbligare l'utente a cliccare o OPERAZ1  o OPERAZ2 e  
voglio evitare che facendo doppio clic sul form entri in modifica del 
doc (poichè nessuno dei due codici verrebbe eseguito) 
cosa posso fare?
--
absolute

Scusate riposto tra un attimo perchè ho premuto un invio di troppo
--
absolute



Oggi non è giornata!!!!!!!!!!!!!!!!
Ritorno sul problema perchè nel portare a termine il db la soluzione 
che avevo trovato nel mettere il codice nel postmodechange non va bene. 
 
 
 Per intenderci la situazione "banalizzando" è questa:
 
 
 L'utente ha a disposizione 2 operazioni per la modifica OPERAZ1 e  
 OPERAZ2 
OPERAZ1
Set uidoc = workspace.EditDocument( True )
Set doc=uidoc.document
If doc.mc_action(0)<>1 Then
 Set notesItem = doc.ReplaceItemValue( "mc_respA", session.
 commonusername ) 	 
Set notesItem = doc.ReplaceItemValue( "mc_dataA" , Today())
End If
OPERAZ2
Set uidoc = workspace.EditDocument( True )
Set doc=uidoc.document
If doc.mc_action(0)<>1 Then
 Set notesItem = doc.ReplaceItemValue( "mc_respB", session.
 commonusername ) 	 
Set notesItem = doc.ReplaceItemValue( "mc_dataB" , Today())
End If


 absolute
Puoi sempre impostare un campo di comodo nel document e non nel uidocument, 
prima di EditDocument( True ) e controllarne l'esistenza e/o valore  nell'evento 
querymodechange, poi nel query close lo resetti.


 
In questo modo?
OPERAZ1
Set doc=uidoc.document	
doc.comodo="A"
Set doc=uidoc.document
Set uidoc = workspace.EditDocument( True )
End If
OPERAZ2
Set doc=uidoc.document	
doc.comodo="B"
Set doc=uidoc.document
Set uidoc = workspace.EditDocument( True )
End If
....
querymodechange
set doc=source.document
if doc.comodo="A" THEN
......
else
....
end if
Non credo vada. Ho un po' di confusione
grazie
--
absolute

 Non credo vada. Ho un po' di confusione
Va benissimo,  perché?
Metti il campo solo in visualizzazione perce non sia salvato e sei a 
posto. Devi mettere del codice anche in apertura in modo che non possa 
venir aperto in edit e quello della querymodechange deve tenere conto 
del modo di partenza e di arrivo. 


 
Se faccio cosě funziona
Set doc=uidoc.document	
doc.comodo="A"
Call doc.save(False,False)
Set doc=uidoc.document
Set uidoc = workspace.EditDocument( True )
quindi nel querymodechange
Set doc= source.document
	If  doc.comodo(0)="A" Then
		continue=1
	Else
		continue=0
	End If
č ok?
--
absolute

 č ok?
Direi di sě, almeno da questa parte, ma toglierei il save e 
controllerei il change in che direzione č: se va da edit a view 
reimposterei il campo di comodo. 


 
Ok, tolgo il save.
c'č qualcosa che mi sfugge perň:
come faccio a recuperare un valore dal documento di back-end
perchč nel querymodechange ho il source che č quello di front-end
se io faccio 
set doc=source.document
mi svuota il campo che io prima avevo impostato
Sono alle prime armi e le idee mi si stanno schiarendo piano piano......
...... --
absolute

 mi svuota il campo che io prima avevo impostato
Secondo me non dovrebbe farlo, ma al momento la cosa mi sfugge, sono 
con la testa altrove... 


 
Speriamo che sia presente qualcun altro!!!
Grazie cmq per l'aiuto
ciao
--
absolute