Autor Thema: embedded view mit ausgewählten dokumenten  (Gelesen 7374 mal)

Offline ditodotorg

  • Frischling
  • *
  • Beiträge: 17
embedded view mit ausgewählten dokumenten
« am: 29.07.13 - 11:25:24 »
Hallo ihr kleveren Notes-nutzer!

Ein neuer Schrei nach Hilfe....
Möchte gerne, dass auf klick eines Buttons folgendes passiert:
gehe zur view
wähle dort das erste dokument
vergleiche einen feldwert aus dieser view mit einem feldwert aus der geöffneten form
vergleiche einen zweiten feldwert in dieser view mit einem feldwert aus der geöffneten form
wenn beide übereinstimmen, dann lege die dokumente in einen folder

den folder habe ich erstellt und in dem formular als embedded view hinterlegt

habe folgende programmierung des buttons bereits vorgenommen:

Sub Click(Source As Button)
Dim session As NotesSession
Set session = New NotesSession
 Dim db As notesdatabase
Dim view As NotesView
Dim doc As NotesDocument

Set db = session.CurrentDatabase
Set view = db.GetView("Untersuchungskartei")
Set doc = view.GetFirstDocument

While Not (doc Is Nothing)
                If patient_number = profile_bill Then
                          doc.PutInFolder "Untersuchungen"
                End If
      Set doc = view.GetNextDocument(doc)
Wend

End Sub


Das ganze ist natürlich noch nicht zu ende gedacht.... aber ich komm grad auch nicht weiter...... HILFE!

Vielen Dank schonmal....

Grüße
Kathi hats gesagt!

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: embedded view mit ausgewählten dokumenten
« Antwort #1 am: 29.07.13 - 11:49:01 »
Hi.

Hast Du einen Fehler oder fehlt Dir was zu einer Lösung oder....?
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: embedded view mit ausgewählten dokumenten
« Antwort #2 am: 29.07.13 - 11:54:42 »
Hallo Kathi
Zitat
den folder habe ich erstellt und in dem formular als embedded view hinterlegt
und vermutlich kategorisiert mit "singleCategory"-Option (ansonsten nachfolgende Kommetare ignorieren)

Dazu passt natürlich folgender Code nicht:
Zitat
Set view = db.GetView("Untersuchungskartei")
Set doc = view.GetFirstDocument
Weil: Du holst dir die View im Backend (diese weiß nichts von der Einbettung) und holst dir dann das erste Dokument.
Schau dir mal view.getAllDocumentsByKey bzw. den ViewNavigator an. (du musst im Backend nach der selben Kategorie suchen)

an das aktuelle doc kommst du in deinem Button mit "set currDoc = workspace.CurrentDocument.document"
und der Vergleich müsste dann so sein:
Code
                If doc.patient_number = currdoc.profile_bill Then
                          doc.PutInFolder "Untersuchungen"
                End If

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: embedded view mit ausgewählten dokumenten
« Antwort #3 am: 29.07.13 - 13:11:56 »
Code
                If doc.patient_number = currdoc.profile_bill Then
                          doc.PutInFolder "Untersuchungen"
                End If

Das muss aber auch noch "optimiert" werden, sonst gibt es ein Type Mismatch:
If doc.patient_number (0) = currdoc.profile_bill (0) Then
    doc.PutInFolder "Untersuchungen"
End If

Bernhard


Offline ditodotorg

  • Frischling
  • *
  • Beiträge: 17
Re: embedded view mit ausgewählten dokumenten
« Antwort #4 am: 29.07.13 - 19:55:39 »
Hm.... vielleicht liegts an der späten Stunde in Kombi mit dem Laienwissen meinerseits.... aber ich brauch noch ne genauere anleitung  :-[ Sry.... könntet ihr mir das bitte ausführlicher darstellen... ichz weiß nämlich nicht genaus wie und was ich deklarieren muss......

hab bis jetzt folgendes:

Sub Click(Source As Button)
   Dim session As NotesSession
   Set session = New NotesSession
   
   Dim workspace As NotesUIWorkspace
   Dim db As notesdatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim currdoc As NotesUIDocument
   
   Set db = session.CurrentDatabase
   Set view = db.GetView("Untersuchungskartei")
   Set doc = view.getAllDocumentsByKey("profile")
   Set currDoc = workspace.CurrentDocument
   
   While Not (doc Is Nothing)
      If doc.profile_doc (0) = currdoc.patient_number (0) Then
         doc.PutInFolder "Untersuchungen"
      End If
   Wend
   
End Sub
« Letzte Änderung: 29.07.13 - 20:04:11 von ditodotorg »
Kathi hats gesagt!

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: embedded view mit ausgewählten dokumenten
« Antwort #5 am: 30.07.13 - 08:32:19 »
Mach als erstes mal ein "Option Declare" in deinen Options Block (dies sollte man übrigens so gut wie IMMER machen!)
Dann meckert der Compiler schon mal viele Fehler an.

1. currDoc muss ein notesdocument und kein notesUIdocument sein (=ws.currentdocument.document)
2. Sowas geht natürlich nicht:  Set doc = view.getAllDocumentsByKey("profile") => Schau unter der Hilfe zu NotesDocumentCollection
(außerdem übergibst du "profile" als String, dies entspricht nicht einem Feldwert und ist womöglich nicht das was du willst)

3. Dann gibt es noch den Debugger mit dem du den Code schritt für schritt abarbeiten kannt und z.B. prüfen kannst ob die richtigen Dokumente gefunden werden.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline ditodotorg

  • Frischling
  • *
  • Beiträge: 17
Re: embedded view mit ausgewählten dokumenten
« Antwort #6 am: 30.07.13 - 09:55:53 »
So.... habe mich mal schlau gemacht und die anpassungen übernommen.... allerdings will er immer noch nicht mitspielen... :-(

Er möchte die Feldbezeichnung für die collection in der if-schleife nicht annehmen... aber wieso? das versteh ich nicht so richtig.... kann mir da jemand weiterhelfen?

Sub Click(Source As Button)
   Dim session As NotesSession
   Set session = New NotesSession
   
   Dim db As notesdatabase
   Dim view As NotesView
   Dim dc As NotesDocumentCollection

   Dim workspace As NotesUIWorkspace
   Dim currdoc As NotesUIDocument
   
   Set db = session.CurrentDatabase
   Set view = db.GetView("Untersuchungskartei")
   Set dc = view.getAllDocumentsByKey("profile_doc";False)

   Set currDoc = workspace.CurrentDocument.Document
   
   While Not (doc Is Nothing)
      If dc.profile_doc (0) = currdoc.patient_number (0) Then
         dc.PutInFolder "Untersuchungen"
      End If
   Wend
   
End Sub
Kathi hats gesagt!

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: embedded view mit ausgewählten dokumenten
« Antwort #7 am: 30.07.13 - 10:10:06 »
Zitat
...in der if-schleife nicht annehmen...
http://www.if-schleife.de/ ;)

Du vermischt hier Dokumente und die Collection (welche die Dokumente enthält)
Schau dir bitte nochmal die Hilfe zur NotesDocumentcollection an. Durch eine DC geht man wie Folgt durch:

set doc = dc.getFirstDocument
while not doc is nothing
  ....
  set doc = dc.getNextDocument(doc)
wend

außerdem denke ich dass dies immer noch falsch ist:
  Set dc = view.getAllDocumentsByKey("profile_doc";False)
...macht zumindest keinen Sinn, wenn deine Embedded-View kategorisiert ist und nur diese Kategorie angezeigt wird (ist sie das? Diese Frage ist noch offen!)
Wenn ja musst du höchstwahrscheinlich ein Feld angeben:
  Set dc = view.getAllDocumentsByKey( currDoc.kategorie_feld(0) ;False)

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline ditodotorg

  • Frischling
  • *
  • Beiträge: 17
Re: embedded view mit ausgewählten dokumenten
« Antwort #8 am: 30.07.13 - 10:41:09 »
Dank bis hierhn schonmal, vor allem auch für die Geduld mit mir als Anfänger :-)...

Zuersteinmal.... ja categorized ist die view...

nun meint er aber das "object variable not set"... hä? wie denn das jetzt?

meine jetzige button-deklaration:

Sub Click(Source As Button)
   Dim session As NotesSession
   Set session = New NotesSession
   
   Dim db As notesdatabase
   Dim view As NotesView
   Dim dc As NotesDocumentCollection

   Dim workspace As NotesUIWorkspace
   Dim currdoc As NotesUIDocument
   
   Set db = session.CurrentDatabase
   Set view = db.GetView("Untersuchungskartei")
   Set dc = view.getAllDocumentsByKey(currdoc.profile_doc(0),False)

   Set currDoc = workspace.CurrentDocument.Document
   
   While Not (doc Is Nothing)
      If dc.profile_doc (0) = currdoc.patient_number (0) Then
         dc.PutInFolder "Untersuchungen"
      End If
      Set doc = dc.GetNextDocument(doc)
   Wend
   
End Sub
Kathi hats gesagt!

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: embedded view mit ausgewählten dokumenten
« Antwort #9 am: 30.07.13 - 10:46:02 »
Hallo,

Wo wird denn das doc gesetzt? (siehe Deine Schleife)

Und was willst Du hiermit erreichen?
Zitat
If dc.profile_doc (0) = currdoc.patient_number (0) Then


Andreas

Offline ditodotorg

  • Frischling
  • *
  • Beiträge: 17
Re: embedded view mit ausgewählten dokumenten
« Antwort #10 am: 30.07.13 - 10:49:49 »
ups.... das sollte natürlich if doc. ......... heißen
und natürlich auch doc.putinfolder.....
Kathi hats gesagt!

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: embedded view mit ausgewählten dokumenten
« Antwort #11 am: 30.07.13 - 11:01:56 »
Das mag ja sein, aber wo setzt Du denn Dein doc?

Sprich wo erfolgt Dein Set doc = ...


Andreas

Offline ditodotorg

  • Frischling
  • *
  • Beiträge: 17
Re: embedded view mit ausgewählten dokumenten
« Antwort #12 am: 30.07.13 - 11:03:49 »
mh... das hab ich ebenfalls vergessen hier mit hinzuschreiben....
nach set dc.....
kommt set doc = dc.getfirstdocument
Kathi hats gesagt!

Offline cebolina

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
Re: embedded view mit ausgewählten dokumenten
« Antwort #13 am: 30.07.13 - 14:19:00 »
   
Set dc = view.getAllDocumentsByKey(currdoc.profile_doc(0),False)

Set currDoc = workspace.CurrentDocument.Document

Du verwendest in Set dc das currDoc, obwohl es erst später gesetzt wird.

Tausche die Reihenfolge.

Gruß Stefan
Server: Lotus Domino 9.0.1FP4 HF70
Client: Release 9.0.1FP6

Offline ditodotorg

  • Frischling
  • *
  • Beiträge: 17
Re: embedded view mit ausgewählten dokumenten
« Antwort #14 am: 30.07.13 - 14:25:17 »
hab ich gemacht.... das half allerding leider auch nicht :-(
müssen doc und currdoc eigentlich beide als notesdocument bzw als notesuidocument deklariert werden?
Kathi hats gesagt!

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: embedded view mit ausgewählten dokumenten
« Antwort #15 am: 30.07.13 - 14:29:58 »
Also.

Die Hast eine Collection (dc) erstellt.
Willst Du nun auf die einzelnen Dokumente in dieser zugreifen, so musst Du ein NotesDocument haben.

Dim doc As NotesDocument
Set doc = dc.GetFirstDocument

Steht aber auch alles in der Designer-Hilfe, auch mit schoenen Beispielen.


Andreas

Offline ditodotorg

  • Frischling
  • *
  • Beiträge: 17
Re: embedded view mit ausgewählten dokumenten
« Antwort #16 am: 30.07.13 - 14:44:03 »
ich nehme an, dass er folgendes problem hat....

ich bin in der form x
habe dort den button, der die genannte programmirung enthält
nun bezieht sich die programmierung aber auf eine view, dessen dokumente wieder aus einer ganz anderen form her resultieren
alle dokumente sind aber durch eine patienten-id miteinander verbunden....

ich nehme an, dass die bezeichnungen für die patienten-id's sich irgendwie nicht verstehen....
doch was kann ich da tun?
Kathi hats gesagt!

Offline ditodotorg

  • Frischling
  • *
  • Beiträge: 17
Re: embedded view mit ausgewählten dokumenten
« Antwort #17 am: 01.08.13 - 14:57:54 »
Hallo liebe Notes-Experten,

Habe die vorherige Programmierung mal komplett umgewandelt....
Erfolg: Es ist keinerlei Fehler aufgetreten, aber funktionieren tut es trotzdem nicht :-(
Kann bitte jemand drüber schauen?

Sub Click(Source As Button)
   Dim session As NotesSession
   Dim db As notesdatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim ws As notesuiworkspace
   Dim uidoc As NotesUIDocument
   Dim cert As Variant
   Dim bill As String
   Dim docdate As Variant
   Dim uimonth As Variant
   
   Set session = New NotesSession
   Set db = session.CurrentDatabase
   Set view = db.GetView("Untersuchungskartei")
   Set doc = view.GetFirstDocument
   cert = doc.GetItemValue("profile_doc")
   docdate = doc.GetItemValue("date_doc")
   
   Set ws = New NotesUIWorkspace
   Set uidoc = ws.CurrentDocument
   bill = uidoc.FieldGetText("patient_number")
   uimonth = uidoc.FieldGetText("month_bill")
   
   While Not (doc Is Nothing)
      If Cstr(cert(0)) = bill Then
         If Month(docdate(0)) = Month(uimonth) Then
            doc.PutInFolder "Untersuchungen"
         Else
            Messagebox("Bitte geben Sie den Abrechnungsmonat an!")
         End If
         Messagebox("ein fehler ist aufgetreten")
      End If
      ws.ViewRefresh
      Set doc = view.GetNextDocument(doc)
   Wend
   
End Sub
Kathi hats gesagt!

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: embedded view mit ausgewählten dokumenten
« Antwort #18 am: 01.08.13 - 15:46:07 »
Ein ganz einfacher Tipp....

Geh mit dem Debugger drüber und schau nach, ob du a. überhaupt Dokumente zum Verarbeiten hast und ob die b. im Folder landen.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz