Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: W126 am 13.06.12 - 20:25:23

Titel: Fehler bei dem kopieren einer Mail-Adresse
Beitrag von: W126 am 13.06.12 - 20:25:23
Moin, Moin,

wie so oft habe ich das Problem das ich nicht weiß wie ich es Notes sagen soll  ;)
Ich möchte eine eMail-Adresse in ein anderes Textfeld kopieren.

Call uidoc2.GotoField( "hauptemail" )
Call uidoc2.SelectAll
Call uidoc2.Copy

Das Funktioniert mit jedem Inhalt, nur mit der Mail-Adresse bekomme ich diesen Fehler:

       ... wurde in keinem Adressbuch oder Domino-Verzeichnis gefunden. Wählen Sie 'Ok'....   (Anhang)

Der Fehler tritt nach der zweiten Zeile „SelectAll“ auf. Könnt ihr mir einen Lösungsweg zeigen?

Gruß Jörg

Titel: Re: Fehler bei dem kopieren einer Mail-Adresse
Beitrag von: WildVirus am 13.06.12 - 21:36:20
N'abend,

warum kopierst Du nicht via Backend ?

Die Meldung wird daher kommen, dass die Namensprüfung für das Feld aktiviert ist.

CU,
Axel
Titel: Re: Fehler bei dem kopieren einer Mail-Adresse
Beitrag von: koehlerbv am 13.06.12 - 22:08:18
Irgendwas ist da faul. Am Code eh: Nimm das Feld2. Markiere den Inhalt. Bis jetzt ist gar nix passiert. Gar nix. Aber dann kommt es: Kopiere den Inhalt der Zwischenablage. Und was bitte ist in diesem Moment im Clipboard und wird da in das arme Feld2 geworfen? Woher kommt da eine UNID bzw. der Inhalt eines ganzen Dokuments?
Abgesehen vom logisch fehlerhaften Code: Bist Du etwas im ReadMode und hast gerade das ganze Dokument kopiert??

Bernhard
Titel: Re: Fehler bei dem kopieren einer Mail-Adresse
Beitrag von: W126 am 13.06.12 - 22:54:50
Danke für die schnelle Hilfe,

Während der Eingabe kopiere ich einige Daten aus anderen Dokumenten zusammen. Das funktioniert mit acht Felder bist dieser Fehler auftaucht. Nach dem ich den Fehler bestätigt habe, ist auch das Feld korrekt übernommen.
Dieser Code funzt wie gesagt mit acht anderen Felder…

Call uidoc2.GotoField( "KundenWaehrung" )
Call uidoc2.SelectAll
Call uidoc2.Copy
Call uidoc.GotoField(  "formular_waehrung")
Call uidoc.Paste   

Eine Namensprüfung ist ist nicht aktiv?!?

Jörg
Titel: Re: Fehler bei dem kopieren einer Mail-Adresse
Beitrag von: koehlerbv am 13.06.12 - 23:01:31
Hallo Jörg,

sorry: Ich hatte zu schnell gelesen und neben dem Fussballspiel (ohne Fernseher derzeit, nur Liveticker, aber mehr als egal): Du machst ein Copy und kein Paste - das passt also.
Und eine Namensprüfung kann auch nicht stattfinden - Du machst da ja nix.

Mit der Fehlerzeile bist Du Dir sicher?

Dass der Client schreit, dass er in einem Namensfeld (?) eine UniversalID nicht kennt, kommt Dir aber nicht "spanisch" vor? Das müsste doch eigentlich ein Ansatz sein. Der Client denkt sich die an der Stelle ja nicht aus.

Kannst Du uns noch weitere Infos oder mehr vom Code zur verfügung stellen?

Bernhard
Titel: Re: Fehler bei dem kopieren einer Mail-Adresse
Beitrag von: W126 am 13.06.12 - 23:14:59
Ja, ich war auch mehr mit dem Spiel beschäftigt  ;D
Der Fehler kommt auch auf einem anderen Client.
Ich kopiere die Daten, sobald das Feld verlassen wird. >Sub Exiting(Source As Field)<

        Dim s As NotesSession
   Dim ws As NotesUIWorkspace
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim doc2 As NotesDocument
   Dim uidoc As NotesUIDocument
   Dim uidoc2 As NotesUIDocument
   
   Set s = New NotesSession
   Set ws = New NotesUIWorkspace
   Set db = s.CurrentDatabase
   Set uidoc = ws.CurrentDocument
   Set doc = uidoc.Document
   
   Set doc2 = db.GetDocumentByUNID (doc.kunde(0))
   Set uidoc2 = ws.EditDocument(True, doc2)
   
        Call uidoc2.GotoField( "KundenWaehrung" )
   Call uidoc2.SelectAll
   Call uidoc2.Copy
   
   Call uidoc.GotoField(  "formular_waehrung")
   Call uidoc.Paste   
   .
        .
        .
        .
   Call uidoc2.GotoField( "hauptemail" )
   Call uidoc2.SelectAll
   Call uidoc2.Copy

   Call uidoc.GotoField(  "email")
   Call uidoc.Paste   
   
   Call uidoc.Refresh
   Call uidoc2.Refresh
   
   
Was gibt es sonst noch für Daten? Eine einfache Maske...

Jörg
Titel: Re: Fehler bei dem kopieren einer Mail-Adresse
Beitrag von: W126 am 14.06.12 - 00:03:32
???

Wo mein Fehler liegt? Keine Ahnung!
Ich habe alle Felder in eine neue Maske kopiert und schon gibt es keine Fehlermeldung mehr. Ich muss irgendwo noch ein LS oder eine Option gesetzt haben die mir dieses Problem auslöst...

Danke!!!
Titel: Re: Fehler bei dem kopieren einer Mail-Adresse
Beitrag von: Peter Klett am 14.06.12 - 07:45:06
Axel fragte schon in #1, warum Du nicht über das Backend gehst. Das möchte ich nochmal aufgreifen.

Set s = New NotesSession
Set ws = New NotesUIWorkspace
Set db = s.CurrentDatabase
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
  
Set doc2 = db.GetDocumentByUNID (doc.kunde(0))
doc.formular_waehrung = doc2.KundenWaehrung
doc.email = doc2.hauptemail  

Da brauchst Du das Kundendokument nicht zu öffnen, auf dem Schirm springt nichts hin und her, das Script ist kürzer, der Benutzer braucht kein Bearbeitungsrecht auf dem Kundendokument, Du zerstörst dem Benutzer nicht unnötig den Inhalt seiner Zwischenablage usw..

Was ich auch nicht verstehe, ist, warum Du am Ende das Kundendokument refreshst. Du hast dort nichts verändert, nur gelesen, aber das würde eh wegfallen, wenn Du es über das Backend machst.

EDIT: Noch ein ganz wichtiger Punkt gegen Deine Vorgehensweise: Wenn zwei Benutzer die Aktion mit dem gleichen Kunden gleichzeitig durchführen und Dokument-Locking aktiviert ist, kann der zweite Benutzer das Kundendokument nicht in den Bearbeitenmodus bringen. Dann kracht es auf jeden Fall.
Titel: Re: Fehler bei dem kopieren einer Mail-Adresse
Beitrag von: W126 am 14.06.12 - 10:28:27
Moin, Moin,

der refresh ist überflüssig!
Wenn ihr mich so fragt, habe ich keine Antwort. Klar, im Backend wäre es einfacher. Ich werde das ganze nochmal komplett umstellen.

Danke!!!