Domino 9 und frühere Versionen > ND8: Entwicklung
Dokument verschieben und gleichzeitig ähnliche Dokumente ausblenden
Boox:
Hallo alle zusammen! Ich brauche etwas "Starthilfe" von Euch. Ich habe eine Datenbank mit Betreuungseinheiten und zugeordneten Kunden, ein Kunde kann mehreren Einheiten zugeordnet sein. In der Ansicht sieht das etwa so aus:
Betreuungseinheit A
- Kunde 1
- Kunde 2
- Kunde 3
Betreuungseinheit B
- Kunde 2
- Kunde 4
- Kunde 6
Betreuungseinheit C
- Kunde 1
- Kunde 2
- Kunde 6
....
Für jeden Eintrag gibt es ein Dokument, also ich gehe nicht über Mehrfachwerte (das führte an anderer Stelle zu Problemen, daher ist dieser Weg besser für mein Vorhaben). Nun möchte ich eine Schaltfläche bauen um Kunden in eine andere Einheit zu verschieben, also beispielsweise Kunde 6 in die Einheit A. Gleichzeitig möchte ich aber auch, dass der Kunde 6 aus der Betreuungseinheit C entfernt (bzw. aus der Ansicht ausgeblendet) wird, also anschließend nur noch in A vorhanden ist.
Das Verschieben von B nach A ist ja kein Problem und auch mit Formelsprache machbar (@SetField("Einheit"; Zieleinheit), für den Rest benötige ich vermutlich Script?! Da bin ich allerdings (immer) noch Anfänger...
Ich möchte hier nicht um "fertigen Code" betteln, ich benötige einfach nur ein paar Denkanstöße über welche Klassen/Methoden das am besten zu bewerkstelligen ist :)
Viele Grüße
Gregor
ascabg:
Hallo,
Prinzipiell ist dein Vorhaben auch mit @Formeln realisierbar.
Nur eine kleine Frage haette ich.
Was passiert, wenn du z.B. deinen Kunden 1 der Betreuungseinheit B und C zuordnen willst?
Andreas
Boox:
Halo Andreas,
ich habe vergessen zu erwähnen: Am Ende soll ein Kunde nur in einer Einheit auftauchen. Also man würde ihn dann einfach nur verschieben!
Viele Grüße
Gregor
Peter Klett:
Wenn ein Kunde nur einer Einheit angehört, hast Du doch kein Problem, denn wenn Du die Einheit des Kunden 6 von C auf A änderst, steht der Kunde nicht mehr unter C.
In Deinem Beispiel hast Du aber mehrere Einheiten einem Kunden zugeordnet. Falls das Altlasten sind, müsste da wohl jemand mal drin aufräumen.
EDIT: Falls das das Problem ist, was Du lösen willst
Mit NotesDatabase.Search nach den doppelten Dokumenten suchen (gleicher Kunde), die dann löschen (wäre fatal, wenn das ginge, denn dann hätten die User Löschrechte in der Datenbank) bzw. mit einem Flag versehen, dass die nicht mehr in den Ansichten erscheinen und später von einem Admin oder periodischen Agenten gelöscht werden.
Als Search übergibst Du eine Selektionsformel, wie in einer Ansicht. Also alle Dokumente mit der gleichen Kundennummer, wie der des aktuellen Dokuments, aber nicht mit der ID. Etwa so
Set col = db.Search (|Kunde = "| & doc.Kunde (0) & | " @Text (@DocumentUniqueID) != "| & doc.UniversalID & |"|, Nothing, 0)
Danach ein Flag mit StampAll einfügen oder mit RemoveAll alle löschen (siehe oben)
Boox:
Hallo Peter,
Genau um das Aufräumen geht es ja ;) Oder besser gesagt: Neustrukturierung.
Zu deinem Hinweis: Dann steht der Kunde aber noch unter B. Und das soll möglichst "automatisch" gelöst werden, ohne dass ich den Kunden 6 unter B nochmal anfassen muss. In dem Beispiel ist das ja schnell gemacht, aber es gibt Kunden, die in 20 Einheiten sind.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln