Domino 9 und frühere Versionen > ND8: Entwicklung

Dokument verschieben und gleichzeitig ähnliche Dokumente ausblenden

(1/3) > >>

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