Autor Thema: warten auf das Speichern  (Gelesen 1746 mal)

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
warten auf das Speichern
« am: 15.10.04 - 09:36:13 »
wieder ein Problem mit wem ich nicht alein fertig wird und eure Hilfe brauche  ;D

Für ein Dokument Doc1 aus db1 soll ein Wiedervorlage Doc2 in der db2 generiert werden.
Mit ComposeDocument erstelle ich das Dokument in db2 und setze ein Link in Doc2 zu Doc1... bisher kein Problem
Diese Agent wäre mit sein Arbeit fertig wenn mein Chef nicht andere Wünsche hätte.
Er will dass in Doc1 ein Link zu Doc2 steht. Allerdings zur Laufzeit ist Doc2 noch nicht gespeichert, dann kein ID, dann kein Speichern

Wie kann ich mein Agent "warten lassen" bis Doc2 gespeichert wurde bzw. abgebrochen wurde???

Wenn jemand ein Idee hätte, wäre ich sehr dankbar  :D

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: warten auf das Speichern
« Antwort #1 am: 15.10.04 - 09:47:47 »
Hi,

meines Wissens gibt's dafür keine Lösung. Ich stand vor einem ähnlichen Problem und hab keine Lösung gefunden.


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

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: warten auf das Speichern
« Antwort #2 am: 15.10.04 - 11:44:16 »
ok ich habe mich entschieden in db2 beim Speichern der Dokument ein Flag zu setzen in Doc1 von db1. Ich dachte eigentlich dass es nicht schwierig wäre allerdings komme ich an die Infos von Doc1 nicht dran...

Ich habe ein Feld "Link" vom Type RichText wo mein Link eingefügt wurde mit Value "" und ValueLength 328??? komisch!

Ich habe ein andere Feld "$Links" (automatisch von Notes eingefügt) vom Type NoteLinks mit Value "" und ValueLength 44???

ich finde nicht wie ich die ID von db1 und Doc1 rauslesen kann...

ist da jemand der sowas schon gemacht hat?

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: warten auf das Speichern
« Antwort #3 am: 15.10.04 - 12:13:42 »
Hi,

ich weiss nicht wie du über einen Doclink an die ID kommst. Wenn du aber das Doc2 aus dem Doc1 heraus generierst, dann hast du doch die ID und kannst sie beim Anlegen mit in das Dokument einfügen. Oder sehe ich das was falsch.

Ein paar mehr Infos, wo du was wie machst wären schon nicht schlecht.

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

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: warten auf das Speichern
« Antwort #4 am: 15.10.04 - 12:34:31 »
Hallo Axel,

hier in mein Doc1:
Zitat
   Set uidocWV = uiwsCurrent.ComposeDocument( server, file, "WVDoc")
   Set docWV = uidocWV.Document   
   docWV.Subject = docSource.Subject(0) + "  [Auftragsverwaltung]"
   
   Call uidocWV.GotoField( "Link" )
   Call uidocWV.Paste   
   
   Set AAdb =    docSource.parentdatabase
   
   Call uidocWV.Refresh

damit wir ein Doc2 in db2 erstellt. Nach dem Refresh wollte ich warten... aber wir haben gesehen dass es nicht geht.

Wenn mein Link in Feld "Link" eingefügt ist, wollte ich beim Speichern der Doc2 wiederum Doc1 öffnen und ein Link einfügen zu Doc2. Blos ich kann keine Wert aus diese Feld(er) lesen (siehe oben)


klaussal

  • Gast
Re: warten auf das Speichern
« Antwort #5 am: 15.10.04 - 12:43:32 »
Warum nicht folgende Vorgehensweise:

In DOK1 eine Schaltfläche: generiere DOK2, speichere es ab, etc. So hab ich doch die IDs von DOK1 + 2 und kann dann alles damit machen....
Ich halte den Weg per Agent nicht für elegant.

klaus

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: warten auf das Speichern
« Antwort #6 am: 15.10.04 - 12:46:30 »
Hi,

Du braucht in der Maske von Doc2 ein Textfeld mit Namen ParentID (kannst du aber auch anders benennen).

Deinen Code erweiterst du wie unten dargestellt.
 
Code
Set uidocWV = uiwsCurrent.ComposeDocument( server, file, "WVDoc") 
   Set docWV = uidocWV.Document   
   docWV.Subject = docSource.Subject(0) + "  [Auftragsverwaltung]"

'Einfügen der ID
   docWV.ParentID = docSource.UniversalID

   Call uidocWV.GotoField( "Link" )
   Call uidocWV.Paste   
   
   Set AAdb =    docSource.parentdatabase
   
   Call uidocWV.Refresh


Damit hast du die ID und kannst dann darüber auf des Dokument zugreifen.


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

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: warten auf das Speichern
« Antwort #7 am: 15.10.04 - 13:56:42 »
@klauss

Du hast im Prinzip Recht aber ich möchte dass mein Anwender die Möglichkeit hat diese Dokument zu bearbeiten bzw. die Aktion abzubrechen.

@Axel

Ich danke dir aber wie kann ich auf ein Document zugreifen der in ein andere db liegt? Sehe ich das richtig dass ich auch server und file brauche bzw. ReplikaID?
das schlimmste ist dass zur Laufzeit alles noch offen ist und ich sehe kein Möglichkeit auf das Dokument zu zugreifen der schon in ein andere Fenster offen ist

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: warten auf das Speichern
« Antwort #8 am: 15.10.04 - 14:18:44 »
Hi,

in ganz allgemeiner Form skizziert kannst du so auf ein Dokument in einer andere Datenbank zugreifen.

Code
Dim db As Notesdatabase
Dim docThis As NotesDocument
Dim parent As NotesDocument

Set db = New NotesDatabase("Name des Servers", "Name der Datenbank")
Set parent = db.GetDocumentByUNID( docThis.ParentID )
...



Weitere Infos findest du auch in der Designer-Hilfe


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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz