Domino 9 und frühere Versionen > ND6: Entwicklung

Categorien Zentral Verwalten

(1/3) > >>

Madmission:
Hallo zusammen  ;D

Ich eine frage an euch, gibt es irgendwo ein notes standart Db oder ähnliches, wo man die Kategorien Zentral verwalten kann.?????

Was ich möchte ist alle Kategorien zentral in einer view verwalten so das wenn kategorie oder die sub kategorie geändert wir es auch im Notes Dokument geändert wird. Nun so weit habe ich es geschaft.

Nun wenn ich aber z.b. "categorie\sub\sub" auf "categorie New\sub\sub" abänder das dann alle anderen unteren kategorien auch geändert werden.
Eins solltet ihr wiesen es sind alles einzelne Dokument und keine responses.

Ist es möglich das ich nur den string bis zur änderung in einer view suche und das erstze???

Ich weiss es tönt komisch, aber wenn ihr mehr infos braucht meldet euch.

Ich danke euch jetzt schon im voraus.

Gruss Madmission

m3:
Das kommt nun drauf an, WIE die Kategorien in deinen Dokumenten gespeichert sind.

Die eine Stimme in meinem Kopf meint, dass Du die Kategorien händisch vorgegeben hast (im Feld einfach eingetragen). Dann musst Du
a) die Vorgaben ändern
b) Mit einem Agent alle Felder durchwassern und über Stringersetzung alle alten Werte auf die neuen ändern.

Die andere Stimme meint, dass Du eine Datenbank hast, in der die Kategorien verwaltet werden. Ein Eintrag sieht dort so aus:
categorie\sub\sub|4242
Daher wird in den Dokumenten nur der ID-Code der Kategorie angezeigt. Hier reicht es, wenn Du die Beschriftung des Kategoriecodes änderst, wenn man das Dokument öffnet, wird der Text gleich angezeigt.

Madmission:
Hallo m3

Danke für deine 2 super stimmen, die 1 idee gefällt mir aber besser nur die frage wie mann sowas macht.
Hast du auch noch en paar stimmen

Gruss Madmission

Lossa:
hi,

@m3
Im Prinzip ist das mit dem Alias so richtig, jedoch wird dieser Alias auch in Ansichten ausgegeben, weil das ist ja der Feldinhalt. Dein Vorschlag b wäre i.O. wenn du nur die Dokumentinhalte so geändert haben willst.
Es wird nichts anderes möglich sein, als mit einem kleinen Agenten alle Dokumente mit der alten Kategorie, mit der neuen Kategorie zu füllen.

Madmission:
Hallo zusamenn

das ist der code den ich schon geschrieben haben damit wenn die categorie ändert auch es in den entsprechenden Dokumenten geändert wird.

Das einzige problem wo ich habe ist wie ich den anderen Subcategories den eintrag ändere.

beim ersten loop gehe ich auf die dokumente und ändere die categorie da ich bei allen dokumente ein allias hinterlegt habe

Und beim 2 loop gehe auf die categorien nur leider niemd er mir die categorien wo der gleiche inhalt haben, das heisst "categorie" mit "categorie".  und wenn ich irgendwelche sub noch hinten habe wie z.b "categorie\sub" dan ändert er es nicht mehr.

hier der Code

Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim resultCollection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim resultDoc As NotesDocument
   Dim prof_field As String
   Dim prof_field1 As String
   
   Set db = session.CurrentDatabase
   Set doc = Source.Document
   prof_field = doc.prof_categorie(0)
   prof_field1 = doc.prof_categorie_comp(0)
   
   If prof_field <> prof_field1 Then
      Set view = db.GetView( "($lup_categorie)" )
      Set resultCollection = view.GetAllDocumentsByKey (doc.prof_alias(0), True)
      If resultCollection.Count > 0 Then
         Set resultDoc = resultCollection.GetFirstDocument
         Do While Not resultDoc Is Nothing
            resultDoc.Categories = prof_field
            Call resultDoc.Save(False, False)
            Set resultDoc = resultCollection.GetNextDocument(resultDoc)
         Loop
      End If
   End If
   
   If prof_field <> prof_field1 Then
      Set view = db.GetView( "($lup_alias)" )
      Set resultCollection = view.GetAllDocumentsByKey (doc.prof_categorie(0), True)
      If resultCollection.Count > 0 Then
         Set resultDoc = resultCollection.GetFirstDocument
         Do While Not resultDoc Is Nothing
            resultDoc.Categories = prof_field
            Call resultDoc.Save(False, False)
            Set resultDoc = resultCollection.GetNextDocument(resultDoc)
         Loop
      End If
   End If

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln