Domino 9 und frühere Versionen > Entwicklung
Nochmal Passwortdatenbank
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