Domino 9 und frühere Versionen > Administration & Userprobleme
Dokumententyp nachträglich ändern
Driri:
Hi,
also ich habe das jetzt so verstanden, daß Du z.B. 20 Dokumente für Firma XYZ hast, alles Hauptdokumente und Du willst 19 Dokumente davon zu Antwortdokumenten auf 1 verbleibendes Hauptdokument machen, right ?
Die Frage, die sich mir stellt ist, wie kann das verbleibende Hauptdokument selektiert werden ? Gibts da irgendein Merkmal, über das das Dokument auffindbar ist ?
Problem : Du mußt ja irgendwie im Script das Hauptdokument angeben, für das die Antwortdokumente erstellt werden sollen. Wenn Du z.B. die 19 zukünftigen Antwortdokumente markiert hast, reicht der Firmenname nicht als Suchbedingung, denn es gibt ja 20 Dokumente mit dem Firmennamen.
Geri Kuba:
Hallo Driri,
also es ist so. In dieser Datenbank gibt es sogenannte "Customer Profiles" also Kundenprofile, in der die wichtigsten Daten für die Kunden erfasst sind. Dann gibt es dazu 1 bis x Anprechpartner-Profile, also Beschreibungen über Leute die zu dieser Firma gehören. Das wurde interessanterweise auch über Hauptdokumente gelöst, die Zugehörigkeit zur Firma erkennt man nur über den Firmennamen (schauder). Dann gibt es zu jedem Kundenprofil sogenannte "Visit Reports", welche wieder als Hauptdokumente angelegt werden. Die Zugehörigkeit ist wieder nur über den Firmennamen gegeben, allerdings hat jede Dokumentenart einen Dokumententitel, den man ja als Unterscheidung hernehmen könnte.
Ich mache jetzt aus dieser Datenbank eine neue mit etlichen Anpassungen. Warum ich dann diesen Unsinn nicht einfach ändere ? Na ja, lustigerweise muß ich ja etliche vorhandene Dokumente in die neue übernehmen können, und das funktioniert ja nach einem drastischem Design-Wechsel nicht mehr. Ich wollte jetzt einfach so vorgehen: Kundenprofil als Hauptdokument markieren, danach alle die in der view ja richtig angezeigten Ansprechpartner markieren und als Antwortdokumente umdefinieren, detto bei den "Visit Reports". Das wäre vom Arbeitsaufwand nicht mal so schlimm.
Wenn mich jetzt einer fragt warum das Ganze, wenn's eh so einigermaßen funktioniert? Nun, erstens tut's mir richtig weh wenn ich einen solchen Unfug sehe, und zum zweiten kann ich gewisse gewünschte Erweiterungen jetzt nur sehr umständlich oder vielleicht auch gar nicht machen.
Pfuhhh, war das einer langer Text, und das nach einem harten Arbeitstag *hihi*. ;)
Danke für Euer Interesse und liebe Grüße,
Geri
koehlerbv:
Vielleicht brauchst Du ja gar keine Antwortdokumente, da Deine Doks ja über den Firmennamen verbunden sind (dann kostet es aber sehr viel Sorgfalt und Überlegung, diesen Zusammenhang nicht einfach durch Änderung des Firmennamens in einem Dokument aufzubrechen !). In Ansichten kannst Du ja anzeigen, was zusammen gehört (Kategorisierung nach Firmennamen, versteckte Spalte zum (Vor-)Sortieren (DokType = "Firma" -> "0", DokType = "Person" -> "1", DokType = ... usw.).
Ein gangbarer Weg zum Update wäre aber folgender:
- Ein Agent rennt durch eine Ansicht aller Firmendokumente.
- An Hand des Firmennamens sucht er in einer anderen Ansicht (alle ausser Firmen-Dokumente) mit NotesView.GetAllDocumentsByKey die zugehörigen potentiellen Tochter-Dokumente.
- Durch diese Collection - so nicht leer - jetzt wieder "schlaufen" (würde Semaphoros jetzt sagen ;-) und MakeResponse (zum gemerkten Firmen-Dokument) machen.
Da wäre dann - sauberer Datenbestand vorausgesetzt - gar keine Handarbeit mehr erforderlich.
HTH,
Bernhard
Driri:
Hi,
okay, Du kannst also scheinbar die Hauptdokumente herausfiltern. Dann könnte man das Script z.B. so aufbauen, daß Du eine Ansicht hast, in der nur die Hauptdokumente drinstehen, sortiert nach dem Schlüssel (also Firmenname).
Zusätzliche baust Du eine Ansicht, die nur die "Antwortdokumente" (noch sinds ja keine ;)) enthält.
Das Script läuft dann über die Antwortdokumente und fischt jeweils das zugehörige Hauptdokument aus der 1. View. Dann kannst Du damit aus dem "Antwortdokument" ein richtiges Antwortdokument erzeugen.
Dabei mußt Du dann allerdings auf den Aufbau der Ansicht achten, nicht daß die fertigen Antwortdokumente drin stehen bleiben und wieder und wieder verarbeitet werden. Dasselbe gilt für die Ansicht mit den Hauptdokumenten.
koehlerbv:
Ein ähnlicher Ansatz, Driri ;-)
Gefahr besteht aber bei Deinem Procedere eigentlich nicht, solange man sauber einfach durch die Ansicht (bei Dir: Durch die potentiellen ResponseDocs) geht. Das Haupt-Dokument muss man ja sowieso jeweils in der anderen Ansicht suchen.
Nur die Property "Antwort-Dokumente hierarchisch anzeigen" darf man bei Deiner Methode nicht wählen, da das NotesView.GetNextDocument ja sonst ins Leere laufen würde - das frisch erzeugte Antwortdokument verschwindet ja aus der Ansicht.
Ciao,
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln