Autor Thema: DocumentContext und GetPrevDocument  (Gelesen 5353 mal)

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
DocumentContext und GetPrevDocument
« am: 06.11.02 - 13:58:13 »
Hi, ich mal wieder.

Bin gerade mal wie vernagelt, warum funkt das nicht?

Set docCurrent=session.DocumentContext
Set docPrevious=vw.GetPrevDocument(docCurrent)

Kriege immer den Fehler:
"The document is not in view xyz"

Ist es aber doch, auch ansonsten stimmt alles.

Hülfäääh!
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:DocumentContext und GetPrevDocument
« Antwort #1 am: 06.11.02 - 14:20:36 »
Hi,

kann es sein das es kein Vorgängerdokument in der Ansicht gibt ?

Was willst du denn damit erreichen ? Poste bitte mal den gesamten Code


Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:DocumentContext und GetPrevDocument
« Antwort #2 am: 06.11.02 - 14:25:12 »
... das Dokument kommt nicht aus der View, sondern über den Browser => DocumentContext...
Grüßle Toni :)

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:DocumentContext und GetPrevDocument
« Antwort #3 am: 06.11.02 - 14:33:08 »
Hi ata,

Danke für die Hilfe in der Not.

Nein, es ist eine Client-Anwendung, der View ist derselbe, der gerade sichtbar ist (dort sehe ich auch den Vorgänger), das dort markierte Dokument ist korrekt unter DocumentContext verfügbar, alles im Debugger geprüft.

Erreichen will ich eine Sortierungsänderung, also vertauschen einer laufenden Nr die die Sortierung im View vorgibt.


PS: Neuer Link
Individuelle Suchformulare auf dem Notes Client - der Königsweg
http://www.sns1.de/partner/flamme/wflamme.nsf/Shortcut/TweakSB
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:DocumentContext und GetPrevDocument
« Antwort #4 am: 06.11.02 - 15:00:44 »
... ich würde versuchen das Dokument anders zu initialiseren, über db.UnprocessedDocuments zum Beispiel und das vorherige/nachfolgende über vw.GetDocumentByKey(Nr) einer Ansicht, die in der ersten Spalte nach der Nummer sortiert ist....

ata
Grüßle Toni :)

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:DocumentContext und GetPrevDocument
« Antwort #5 am: 06.11.02 - 17:49:14 »
... ich würde versuchen das Dokument anders zu initialiseren, über db.UnprocessedDocuments zum Beispiel

Gerade das wollte ich nicht, da ich das aktuell markierte Doc verschieben wollte, nicht irgendwelche angehakten. Das markierte ist nämlich auch sichtbar aufgeschaltet.

und das vorherige/nachfolgende über vw.GetDocumentByKey(Nr) einer Ansicht, die in der ersten Spalte nach der Nummer sortiert ist....

Wollte ich vermeiden, da mir diese Ansicht eben genau die gewünschte und zu manipulierende Reihenfolge präsentiert.
Die 2. Ansicht müßte also prinzipiell genauso aussehen wie die Erste...
Habe etwas anderes probiert (neben GetPrevSilbling, was auch nicht klappte):
Set docAlt=GetDocumentByUNID(docContext.UniversalID)
Set docPrevious=vw.GetPrevDocument(docAlt)
in der Vermutung, DocumentContext könnte als In-Memory-Dokument irgendwie was spezielles sein - wieder nichts, dh der gleiche Fehler.

Kann es sein, daß ein 'Quereinstieg' in einen View prinzipiell nicht möglich ist und man sich nur nur beginnend mit vw.GetFirstDocument durchhangeln kann?
Worin (verflixt nochmal) unterscheidet sich dann die von vw.GetFirstDocument zurückgelieferte Dokumentreferenz von einer anderen Dokumentreferenz?

Ziemlich ratlos...
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:DocumentContext und GetPrevDocument
« Antwort #6 am: 06.11.02 - 18:43:34 »
ich denke, daß Du es Dir schon oben irgendwo selbst beantwortet hast.

Ein anhand der documentcontext Methode aus der Session Klasse fixiertes Dokument ist anscheinend nicht im Rahmen einer View über GetPrevDocument zu gebrauchen. Denn, woher soll das referenzierte Objekt der Session Klasse wissen, wie die "Reihenfolge" der entsprechenden NotesView aussieht, um sein nächstes Doc zu erkennen? Da fehlt irgendwie noch ein "Jump" zwischen den Methoden DocumentContext und GetPrevDocument.

Fixiert man dagegen ein Doc über GetFirstDocument spricht man aus der NotesView kommend ziemlich sicher den Viewindex an und damit auch die Möglichkeit, auf vorhergehende und nachgerückte Docs über den Index = u.a. "Sortierung" zuzugreifen.

Sprich?
Machs halt anders da  ;)
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:DocumentContext und GetPrevDocument
« Antwort #7 am: 06.11.02 - 19:01:48 »
@Rob

... so wollte ich das auch ausdrücken...

ata
Grüßle Toni :)

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:DocumentContext und GetPrevDocument
« Antwort #8 am: 07.11.02 - 05:15:57 »
ich denke, daß Du es Dir schon oben irgendwo selbst beantwortet hast.

Ein anhand der documentcontext Methode aus der Session Klasse fixiertes Dokument ist anscheinend nicht im Rahmen einer View über GetPrevDocument zu gebrauchen. Denn, woher soll das referenzierte Objekt der Session Klasse wissen, wie die "Reihenfolge" der entsprechenden NotesView aussieht, um sein nächstes Doc zu erkennen? Da fehlt irgendwie noch ein "Jump" zwischen den Methoden DocumentContext und GetPrevDocument.

ACK.
Allerdings - und das fuchst mich - hat ja auch das nicht funktioniert:
  Set docAlt=GetDocumentByUNID(docContext.UniversalID)
  Set docPrevious=vw.GetPrevDocument(docAlt)

Es liegt also nicht daran, mit welchem Dokument ich in den View einsteige, sondern wie.
D.h. aber dann doch, daß das von vw.Get.....Document zurückgegebene Dokument kein 100%iges NotesDocument ist sondern noch irgendwelche zusätzlichen Thread-Infos beinhaltet, die man beim Quereinstieg in den View so nicht bekommt.

Da will ich mehr drüber wissen, denn das ist mir absolut neu!
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:DocumentContext und GetPrevDocument
« Antwort #9 am: 07.11.02 - 08:46:54 »
... das sieht ganz danach aus, daß Notes sich bei der Initialisierung der View die Dokumente der View "nummeriert", bzw. das doc seine Position aus der es der view "entnommen" wird merkt...

ata
Grüßle Toni :)

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:DocumentContext und GetPrevDocument
« Antwort #10 am: 07.11.02 - 09:18:26 »
was mich mal interessieren würde:

geht denn statt
"Set docAlt=GetDocumentByUNID(docContext.UniversalID)
Set docPrevious=vw.GetPrevDocument(docAlt)"

möglicherweise
"Set docAlt=GetDocumentByUNID(UNID_aus_Frontend)
Set docPrevious=vw.GetPrevDocument(docAlt)"

dann auch nicht?

Denn in beiden Fällen wird kein einziges mal der Viewindex zwecks "Abfrage" der Reihenfolge für GetPrevDocument angesprochen, wenn man der Logik der vorigen Postings dann folgt.
« Letzte Änderung: 07.11.02 - 09:19:42 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:DocumentContext und GetPrevDocument
« Antwort #11 am: 07.11.02 - 10:40:49 »
... probiers mal in der Weise...

   Dim session As New NotesSession
   Dim dbThis As NotesDatabase
   Dim vw As NotesView
   Dim doc As NotesDocument
   Dim docPrev As NotesDocument
   
   Set doc = session.DocumentContext
   Set dbThis = doc.ParentDatabase
   Set vw = dbThis.GetView("ByNumber")
   Set doc = vw.GetDocumentByKey(doc.Nr(0))
   Set prevDoc = vw.GetPrevDocument(doc)
   Msgbox prevDoc.Nr(0)

... so funktionierts...

ata
Grüßle Toni :)

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:DocumentContext und GetPrevDocument
« Antwort #12 am: 07.11.02 - 11:11:44 »
was mich mal interessieren würde:

geht denn statt
"Set docAlt=GetDocumentByUNID(docContext.UniversalID)
Set docPrevious=vw.GetPrevDocument(docAlt)"

möglicherweise
"Set docAlt=GetDocumentByUNID(UNID_aus_Frontend)
Set docPrevious=vw.GetPrevDocument(docAlt)"

dann auch nicht?

Denn in beiden Fällen wird kein einziges mal der Viewindex zwecks "Abfrage" der Reihenfolge für GetPrevDocument angesprochen, wenn man der Logik der vorigen Postings dann folgt.

Hab's noch nicht probiert, aber bin fast sicher, daß es nicht klappt. Ich sehe nämlich keinen Unterschied darin, woher der String für die
UNID nun stammt.

Instinktiv tippe ich mal, ata und ich haben mit der Vermutung recht, daß an einem Dokument, was über einen View angesprochen wurde noch irgendwie ein Verweis auf das vorige und nächste Dokument in diesem View hängt. Und nur wenn mit dieser Zusatzinfo in den View hineingesprungen wird, kann man von diesem Dokument aus im View navigieren.
Dazu paßt auch, daß GetNthDocument sich intern an diesem Thread entlangzuhangeln scheint statt das Dokument direkt anzuspringen (wie Laufzeitbeobachtungen nahelegen).

Kurios!
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:DocumentContext und GetPrevDocument
« Antwort #13 am: 07.11.02 - 11:47:48 »
wobei die letztere Lösung von ata Dir doch den "Königsweg" nun aufgezeigt hat, aus dem aktuellen Document UND der Context Methode dennoch aufs vorige zu jumpen. Oder?
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:DocumentContext und GetPrevDocument
« Antwort #14 am: 07.11.02 - 13:51:33 »
wobei die letztere Lösung von ata Dir doch den "Königsweg" nun aufgezeigt hat, aus dem aktuellen Document UND der Context Methode dennoch aufs vorige zu jumpen. Oder?

Leider nicht so einfach...
Die Ansicht hat eine Kategorisierung in der 1. Spalte, die 2. enthält die Dokumentennummer. Und die ist leider nur eindeutig innerhalb der Kategorie, nicht innerhalb der Ansicht.
Also muß ich wohl eine Hilfsansicht mit einen eindeutigen Hilfsschlüssel aus Kategorie+Nr bilden, was ich eigentlich vermeiden wollte.

Es gibt zwar schlimmeres, aber ich will eben gerne wissen, was da im Hintergrund abläuft, so daß in diesem Falle Doc!=Doc ist.  Leider ist mein C eher rudimentär, denn allmählich habe ich das Gefühl, daß ich beim Nachbohren ohne NotesAPI nicht mehr über die Runden komme.


Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:DocumentContext und GetPrevDocument
« Antwort #15 am: 07.11.02 - 13:58:00 »
... ich würde zunächst mit der Hilfsansicht arbeiten, denn es ist immerhin ein Weg. Wenn du dann in den Tiefen noch etwas findest, dann interessiert mich das natürlich auch - doch zunächst würde das schon mal funktionieren...

ata
Grüßle Toni :)

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:DocumentContext und GetPrevDocument
« Antwort #16 am: 07.11.02 - 18:32:44 »
ata,
jetzt steh' ich schon wieder auf dem Schlauch!
Also ich ändere per ViewAction die Dokumente in der Hilfsansicht (dh schreibe die Sortierung im Backend neu), dann refreshe ich die Hilfsansicht und die akt. Ansicht per Script.
Aber im UI tut sich nix ... bis F9..

Das ist doch nicht normal, ist das Ding korrupt?
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:DocumentContext und GetPrevDocument
« Antwort #17 am: 07.11.02 - 18:36:55 »
... hast du die Dokumente nach der Zuweisung der Werte gespeichert?

... wie machst du den Refresh der View's... im UI ?

ata
Grüßle Toni :)

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:DocumentContext und GetPrevDocument
« Antwort #18 am: 07.11.02 - 18:48:02 »
ata,
hat sich erledigt, Danke!
(war gespeichert, vw-Backend refreshed, uiws refreshed)

Lösung: 1x Booten  8)
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:DocumentContext und GetPrevDocument
« Antwort #19 am: 07.11.02 - 19:29:42 »
... solltest du doch noch in die Tiefe der Hintergründe abtauchen und etwas bergen - lass es mich wissen...

ata
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz