Autor Thema: Embedded View mit Single Category, die ein Dokument NICHT anzeigen soll  (Gelesen 1833 mal)

Offline SD

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Guten Tag allerseits!

Vielleicht ist hier ja schon mal jemand auf das Problem gestoßen. Ich habe ein Dokument, da steht ein Name drin. In einer Embedded View werden per Show single category alle anderen Dokumente angezeigt, die auch diesen Namen drin stehen haben. Leider ist in der Liste das aktuell offene Dokument aber auch dabei. Ich hätte aber gerne nur alle ANDEREN Dokumente, außer das aktuelle.

Mir fällt leider kein Trick ein, wie ich das machen könnte. Nur das aktuelle anzeigen, wäre kein Problem. Ich könnte als category einen String aus dem Namen und der ID des Dokuments zusammenbauen und dann nur das aktuell geöffnete Dokument anzeigen lassen, aber das Gegenteil, also alle AUßER dieses Dokument, ist schon schwieriger. Gibt es da vielleicht eine Chance, die mir gerade nicht einfällt?


Mein Plan-B wäre gewesen das aktuell geöffnete Dokumente per ColorColumn anders darzustellen, z.B. in hellgrau. ColorColumns funktionieren im Prinzip. Habe ich anderswo auch schon benutzt. Dieses spezielle Konstrukt habe ich aber nicht hinbekommen.

Ich habe z.B. eine ColorColumn mit einem Profildokument, in dem diese Formel steht: @If(Feld != ""; 150:150:150; -1:-1:-1)
In der View werden alle Dokumente grau angezeigt, in denen in "Feld" etwas drinsteht.

Ich bräuchte jetzt im Grunde das gleiche so ungefähr in der Form von @If(ID = ID; 150:150:150; -1:-1:-1). Allerdings müsste das eine Feld "ID" aus dem Dokument in der View sein, das andere "ID" aber aus dem Dokument, das gerade im Frontend geöffnet ist, in dessen Maske die View embedded ist. Ich schätze mal in so einer Formel für eine ColorColumn kann ich keine Informationen aus dem aktuell geöffneten UIDocument verwenden, oder?


Gruß
Stefan

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Das was Du willst geht mit Ansichten fast nicht... Du müsstest Dir mit einem Ordner behelfen. In den Du dynamisch die richtigen Dokumente schiebst.... ist aber auch ein ziemlicher Hack...

Das einzige was mir einfallen würde:

Erst berechnest Du in einem "MyID"- Feld für jeden Namen die Position für das Dokument (das erste Dokument mit dem Namen bekommt eine 1, das zweite eine 2, usw. ).

Also: Fritz_1 fürs erste Fritz- Dokument, Fred_1 fürs erste Fred- Dokument und Hans_5 fürs fünfte Hans- Dokument

Jetzt berechnest Du ein Listenfeld:

_alleNummern = "1" : "2" : "3" : "4" : "5" : "6" : .... : "100".
_alleNamen := Name + "_" + _alleNummern;

@Trim( @Replace( _alleNamen; MyID ; "" ) );

Jetzt hast Du in dem Feld alle IDs ausser der eigenen und kannst in der SingleCategory jetzt "MyID" angeben...

Wenn Dokumente gelöscht werden können oder Namen umbenannt, ist das mit der ID- Berechnung ein wenig wie Flöhe hüten, müsste aber klappen nach dem Ansatz:

_lkpIDs := @DBLookup alle IDs mit meinem Namen

@Subset( @Trim( @Replace( _alleNamen; _lkpIDs ; "" ) ) ; 1 )

Damit kriegst Du immer die erste freie ID...

Einzige Voraussetzung: Deine Anzahl von Dokumenten mit dem selben Namen dürfen nicht mehr werden als Deine _alleNamen- Liste...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz