Domino 9 und frühere Versionen > Entwicklung

Nochmal Passwortdatenbank

<< < (4/4)

hmarco:
Hallo,

ich habe Performence's Skripte etwa geändert,
jedoch bekomme ich jetzt bekomme ich in den Zeilen
11 - 17 eine Endlosschleife. Kann mir anhand dieses Skriptes jemand sagen warum?  ???

Mfg Marco

P.S. Performence: Musste deine DB etwas nach der gewünschten Rechtestruktur umschreiben.


Sub Querysave(Source As Notesuidocument, Continue As Variant)
   
   Set doc = Source.Document
   Set coll = doc.Responses  ''' erste response hierarchie
   
   If Not coll Is Nothing Then  
      REM hole die Autoren und setze sie in die Autoren/Lesefelder der childs
      Call  SetAutorenUndLeser
      
      Set resp = coll.GetFirstDocument
      
      While Not resp Is Nothing
         If techniker(0) <> "" Then
            If resp.HasItem( "Kundenbetreuer" ) Then Call resp.RemoveItem( "Kundenbetreuer")
            Set item = New NotesItem( resp, "Kundenbetreuer", techniker, AUTHORS )
            item.IsSummary = True                        
         End If
   Wend
End If

If techniker(0) <> "" Then  Call resp.Save(True,True)

Set coll2 = resp.Responses  ''' zweite response hierarchie
If Not coll2 Is Nothing Then  
   Set resp2 = coll2.GetFirstDocument
   
   While Not resp2 Is Nothing
      If techniker(0) <> "" Then
         If resp2.HasItem( "Kundenbetreuer" ) Then Call resp2.RemoveItem( "Kundenbetreuer")
         Set item = New NotesItem( resp2, "Kundenbetreuer", techniker, AUTHORS )
         item.IsSummary = True
      End If
      If techniker(0) <> "" Then  Call resp2.Save(True,True)
      
      Set resp2 = coll2.GetNextDocument(resp2)
   Wend
End If
Set resp = coll.GetNextDocument(resp)

End Sub

Till_21:
Hier deine schleife :

Set resp = coll.GetFirstDocument
     
      While Not resp Is Nothing
         If techniker(0) <> "" Then
            If resp.HasItem( "Kundenbetreuer" ) Then Call resp.RemoveItem( "Kundenbetreuer")
            Set item = New NotesItem( resp, "Kundenbetreuer", techniker, AUTHORS )
            item.IsSummary = True                        
         End If
   Wend

Vor das wend sollte noch ein "Set resp = coll.GetNextDocument(resp)" um das naechste dok zu bearbeiten.
aber mal abgesehen von der schleife, sie bearbeitet zwar fleissig das feld kundenbetreuer, und macht die aenderung, diese wird aber nicht gespeichert, geht somit verloren
till

Performance:
@marco

Ich habe nichts dagegen wenn du meinen Vorschlag zerpflückst und verbesserst.
Ich schlage aber vor das du dir ein "Was wäre wenn" oder auch Test - Szenario erstellst - auf dem Papier.
z.B.:
1 - Passwörter Ansicht Aktionen (ich würde keine Umlaute im Namen verwenden)
    - welche Aktionen sollen hier rein
    - gibt es Plausibilitäten die zu beachten sind (darf ich ein AntwortAuf Antwort dok direkt auf das Hauptdok erstellen)
    - können die Aktionen auch shared sein
    - usw
2 - neuen Kunden anlegen
    - wer darf Kunden erstellen ?
    - welche Felder sind Mussfelder ?
    - was geschieht beim speichern ?
    - gibt es Besonderheiten ?
 usw
- dann  musst du dir Gedanken machen wie die ACL aussehen soll, enforce consistent acl, was geschieht bei einer Replication

Ich weiss es ist nicht immer leicht wenn man unter Strom steht und dann in sehr kurzer Zeit eine gute Arbeit abliefern soll, aber ich habe auch gelernt das gewisse Arbeitsvorbereitungsschritte bei jedem Task erfolgen, so kann man verhindert das schon in der Entstehungsphase/Pflichtenheft falsche Vorgaben entstehen.
Ich habe schon oft den Satz gehört von Entwickler/Designer "Ja ich dachte das könnte man so besser machen weil......"
Das ist eine falsche Prämisse die unweigerlich zu Problemen führen kann.  Aber genug gelabert....

cu






hmarco:
Hallo,

ich habs hinbekommen.  :o

Vielen Dank an euch alle die mir soviel geholfen haben.

Mfg Marco

hmarco:
Hallo,

ich habe grade noch einen Bug festgestellt.

Wenn ich im Hauptdokument einen Kundenbetreuer lösche und vorher noch ein Antwortdokument lösche, dann kommt die Fehlermeldung "Notes error: Dokument wurde gelöscht"

Ich hänge mal die DB an.

Mfg Marco

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln