Autor Thema: Collection.count im Queryopen ?  (Gelesen 3167 mal)

Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Collection.count im Queryopen ?
« am: 30.10.09 - 15:00:03 »
Hallo zusammen,

ich möchte sicherstellen, dass beim erstellen eines Dokuments per Schaltfläche in einer Ansicht genau ein Dokument markiert sein muss, da in dem neu zu erstellenden Dokument Felder aus dem ausgewählten Dokument übernommen werden sollen.

Der Code im Queryopen der Maske ist bisher so...

Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
   Dim Session As New NotesSession
   Dim DB As NotesuiDatabase     
   Dim Doc As NotesDocument
   Dim DC As NotesDocumentCollection
   
   Set DB = Session.CurrentDatabase
   Set DC = DB.UnprocessedDocuments
   
   'Messagebox DC.Count
   
   If DC.Count = 1 Then
      continue = True
   Else
      Messagebox "Bitte nur ein Dokument markieren!", 64, "Hinweis"
      continue = False
   End If
End Sub

Schon die aukommenterte MSGBox zeigt immer eine 0 an auch wenn ich ein Dokument markiert habe ??

Grüße
Wilhelm


Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Collection.count im Queryopen ?
« Antwort #1 am: 30.10.09 - 15:05:48 »
Hallo,

Geht das nicht besser mit

Code
uiview.Documents


Andreas

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: Collection.count im Queryopen ?
« Antwort #2 am: 30.10.09 - 15:08:47 »
Warum frägst du das nicht in der Aktion/Button/Agent ab mit der das neue Dokument erstellt wird?

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

Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Re: Collection.count im Queryopen ?
« Antwort #3 am: 30.10.09 - 15:32:24 »
Hallo

das war mein erster Ansatz. Habe jetzt bemerkt, dass es nicht reicht in einer Kalenderansicht mit der Maus das Dokument zu markieren , sondern es muss mit der Space taste markiert werden um es auszuwählen.

Der folgende Code geht dadurch jetzt auch, aber wie kann ich es in script machen, dass das neue Dokument auch direkt geöffnet wird.

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim WorkSpace As New NotesUIWorkSpace
   Dim uiview As NotesUIView
   Dim Doc As NotesDocument
   Dim db As NotesDatabase      
   Dim DC As NotesDocumentCollection
   Set uiview = WorkSpace.CurrentView
   Set DC = uiview.Documents
   
   Messagebox DC.Count
   
   If DC.Count = 1 Then
      Set db = session.CurrentDatabase
      Set doc = db.CreateDocument
      doc.Form = "X"
   Else
      Messagebox "Bitte nur ein Dokument markieren!", 64, "Hinweis"
      continue = False
   End If
End Sub

Grüße
Wilhelm

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Collection.count im Queryopen ?
« Antwort #4 am: 30.10.09 - 15:37:16 »
Wenn du nur das Dokument haben moechtest, auf dem sich der Select-Balken gerade befindet, sollte dir doch

Code
set doc = db.GetDocumentByID(uiviw.CaretNoteID)

das gewuenschte Ergebnis liefern


Andreas

Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Re: Collection.count im Queryopen ?
« Antwort #5 am: 30.10.09 - 15:51:23 »
das funktioniert auch, aber ich möchte dass das Dokument sich dann auch öffnet und editierbar ist ?

evaluate geht ja mit @command[compose] nicht
« Letzte Änderung: 30.10.09 - 16:02:52 von Wilhelm Weber »

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Collection.count im Queryopen ?
« Antwort #6 am: 30.10.09 - 16:02:55 »
Code
Dim ses As New NotesSession
Dim uiws As New NotesUIWorkspace
Dim uivw As NotesUIView
Dim uidoc As NotesUIDocument

Dim db As NotesDatabase
Dim doc As NotesDocument

'aktuelle View als UIView holen
Set uivw = uiws.CurrentView

'aktuelle Datenbank holen
Set db = ses.CurrentDatabase

'aktuelles Dokument holen
Set doc = uivw.CaretNoteID

'aktuelles Dokument zum Bearbeiten oeffnen
Set uidoc = uiws.EditDocument(True, doc)

Vielleicht hilft das ein wenig weiter.

Andreas
« Letzte Änderung: 30.10.09 - 16:05:41 von ascabg »

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Collection.count im Queryopen ?
« Antwort #7 am: 30.10.09 - 16:04:00 »
NotesuiWorkspace Class

Methode : edit document

und dann das doc mitgeben
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Re: Collection.count im Queryopen ?
« Antwort #8 am: 30.10.09 - 16:17:24 »
das nützt aber ja auch nichts wenn ich durch die Aktion ein neues Dokument mit einer anderen Maske erstellen will, das lediglich einige felder üübernhemen soll.


Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Re: Collection.count im Queryopen ?
« Antwort #9 am: 30.10.09 - 16:21:49 »
Code
Dim ses As New NotesSession
Dim uiws As New NotesUIWorkspace
Dim uivw As NotesUIView
Dim uidoc As NotesUIDocument

Dim db As NotesDatabase
Dim doc As NotesDocument

'aktuelle View als UIView holen
Set uivw = uiws.CurrentView

'aktuelle Datenbank holen
Set db = ses.CurrentDatabase

'aktuelles Dokument holen
Set doc = uivw.CaretNoteID

'aktuelles Dokument zum Bearbeiten oeffnen
Set uidoc = uiws.EditDocument(True, doc)

Vielleicht hilft das ein wenig weiter.

Andreas

Da läuft hier auf einen Fehler...

'aktuelles Dokument holen
Set doc = uivw.CaretNoteID


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz