Autor Thema: Aktion in eingeb. Ansicht  (Gelesen 1477 mal)

Offline celsp

  • Junior Mitglied
  • **
  • Beiträge: 63
Aktion in eingeb. Ansicht
« am: 09.01.06 - 08:27:53 »
Hallo, ich möchte mich mit folgendem Problem an euch alle wenden. Ich beschreibe kurz was ich tun möchte:
In einem Notesuidokument ist eine eingebettete Ansicht enthalten. Diese eingeb. Ansicht enthält Dokumente und Aktionen in der Aktionsleiste. Ich möchte nun ein Dokument in der eingebettetne Ansicht mit Doppelklick öffnen, bearbeiten, speichern und wieder schließen. Ohne weiteren Zwischenschritt starte ich jetzt eine Aktion aus der Aktionsleiste der eingebetteten Ansicht, welche auf die geänderten Inhalte des Dokumentes zugreifen möchte. Diese neuen Inhalte sind leider nicht da!
Wenn ich das UI Dokument schließe und neu Öffne, sind diese Inhalte da!
Kann mir jemand weiter helfen woran das liegen kann?

Vielen Dank im Voraus!


Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Aktion in eingeb. Ansicht
« Antwort #1 am: 11.01.06 - 08:23:38 »
hmmm.. Die Beschreibung ist schon mal ziemlich ausführlich, trotzdem kann man ohne code nix zu Deinem Problem sagen und nur raten:

poste mal den für diese Aktion massgeblichen Code und schreibe, an welcher Stelle im Code auf die "alten" Daten zurückgegriffen wird, dann kann man Dir vielleicht helfen.

Ohne code keine Hilfe (geht halt nicht).

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline celsp

  • Junior Mitglied
  • **
  • Beiträge: 63
Re: Aktion in eingeb. Ansicht
« Antwort #2 am: 13.01.06 - 10:39:25 »
Hallo, ersteinmal vielen Dank für Deine Antwort!
Ich füge den entsprechenden Code ein:

Set ns = New NotesSession
Set db = ns.CurrentDatabase
Set ws = New NotesUIWorkspace
Set uidoc = ws.CurrentDocument
Set uiview = ws.CurrentView
Call ws.ViewRefresh()
Set dc = uiview.Documents
If dc.Count = 1 Then      
 Set doc = dc.GetFirstDocument   
End If
Set docDummy = db.CreateDocument ()
Call docDummy.MakeResponse( doc)
With docDummy
 .ReplaceItemValue "txtfragen", ""      
 .ReplaceItemValue "dspErfasstVonAProdma",   
               ns.CommonUserName   
 .ReplaceItemValue "dspErfasstAmAProdma", Today   
 .ReplaceItemValue "txtNummerAUDPma", doc.diaNummerPA
  (0)      
 .ReplaceItemValue "txtNummerAUDFRKAT", 
 doc.txtNummerAUDFRKAT (0)
 .ReplaceItemValue "txtfragen", doc.txtalleFragen (0)
End With
'Dialogbox
rc = ws.DialogBox ( "CreateMapad",True,True,True,True,False,_
False,"Erstellen Liste",docDummy,True,True,False)
Call ws.ViewRefresh()

Das Problem tritt bei "txtfragen" auf, welche aus "doc.txtalleFragen" gefüllt werden soll. Unmittelbar vorher wurde "doc.txtalleFragen" im entsprechenden Dokument geändert. Die letzte Änderung ist in der Dialogbox dann nich vorhanden.

Vielen Dank im Voraus!

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Aktion in eingeb. Ansicht
« Antwort #3 am: 13.01.06 - 12:23:47 »
leider entnehme ich Deinem Code nicht, WO txtAlleFragen in doc geändert wird, und wie die Änderung gespeichert wird, deshalb kann ich noch ncihts zu dem Thema sagen...
Ausserdem wird noch nicht klar, was "ohne weiteren zwischenschritt" bedeutet: passiert das "öffnen, bearbeiten, speichern und wieder schließen" und der gepostete Code alles aus einer Aktion, oder wird zuerst das Dokument bearbeitet und geschlossen, und DANN der Button mit dem geposteten Code manuell aufgerufen ?

Ganz nebenbei fehlt Dir eine Abfrage, ob doc vielleicht nothing ist, bzw. Du setzt doc nur, wenn dc.Count = 1 ... kannst Du denn sicher sein, dass dc.count immer 1 ist !? Vielleicht liefert ja uiview.Documents eine leere Collection zurück, weil der Focus verloren geht (nur mal so ne Vermutung, könnte ja immerhin sein...

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline celsp

  • Junior Mitglied
  • **
  • Beiträge: 63
Re: Aktion in eingeb. Ansicht
« Antwort #4 am: 13.01.06 - 14:14:31 »
Hallo, der gesamte Code zum setzen von doc sieht so aus:

If dc.Count = 1 Then      
Set doc = dc.GetFirstDocument   
    If doc.form(0) <> "frmFragen" Then
    Messagebox "Sie haben ein falsches Dokument gewählt! "
    Exit Sub
    End If
Else
If dc.Count > 1 Then
Messagebox "Bitte nur ein Dokument auswählen!"
Else
Messagebox "Sie müssen ein Dokument auswählen!"
End If   
End If
Das Dokument doc wird vom Nutzer in einer eingebetteten Ansicht in der Auswahlspalte ausgewählt und geändert. Danach betätigt der Nutzer eine Aktion der eingeb. Ansicht welche den dargestellten Code ausführt. Der Inhalt von doc ist da, der Formname wir erfolgreich abgefragt, nur die lezte Änderung in doc ist nicht verfügbar. Doc wird mit Doppelklick aus der eingeb. Ansicht heraus geöffnet und bearbeitet. Danach wird es miitels Button OK gespeichert.
Der Button OK führt Änderungen im aktellen Dokument, also in doc aus, startet einen Agenten, welcher ebenfalls in doc Änderungen ausführt. Dann wird doc gespeichert und geschlossen. Der Code für Speichern und schließen sieht so aus:
Set agent = db.GetAgent( agentname )
agent.Run
Call .save(True, True )
uwsCurrent.CurrentDocument.Document.nOKCancel = "1"   
Call uwsCurrent.CurrentDocument.Close ()

Das Problem ist also das alle Inhalte von doc verfügbar sind, nur die letzte Änderung nicht. Wenn ich uidoc schließe und wieder öffne ist auch die letzte Änderung da. Ich kann aber nicht vom Nutzer verlangen, das uidoc immer zu schließen. Er will sofort weiter arbeiten.
Ich kann es mir einfach nicht erklären!

Vielen Dank im Voraus!


Offline celsp

  • Junior Mitglied
  • **
  • Beiträge: 63
Re: Aktion in eingeb. Ansicht
« Antwort #5 am: 16.01.06 - 09:37:58 »
Hallo, Ich habe das Problem vorerst umgangen. Ich hole mir aus dem Dokument in der eingeb. Ansicht die doc ID und hole mir das Dokument dann nochmal an Hnad der doc ID aus einer anderen, verborgenen Ansicht. Dort sind alle Infromationen vorhanden!

Vielen Dank für die Unterstützung!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz