Autor Thema: Ansicht Mehrfachwerte getrennt anzeigen - Darstellung einzelner Werte  (Gelesen 3900 mal)

Offline FiRe

  • Frischling
  • *
  • Beiträge: 2
Hallo zusammen,

ich habe eine Frage bzgl. der Mehrfachwerte anzeige ein einer Ansicht, wozu ich bisher leider keine Anwort im Forum gefunden habe.

Bisher habe ich eine Anischt erstellt, die auch die Mehrfachwerte anzeigt. Auch die Sortierung habe ich entsprechend nach der netten Beschreibung von Manfred Dillmann (http://madicon.de/tippstricks/index_files/000141.php
) eingerichtet.

Soweit funktioniert das auch.

Nun ist mein Problem, dass ich gerne die Summierung in der Ansicht aktivieren möchte und teilweise aber auch "Einfachwerte" habe, die nun doppelt angezeigt und daher auch doppelt gerechnet werden.
Ich möchte allerdings, dass die "Einfachwerte" nur in einmal angezeigt werden.

Hier mal ein kleines Beipiel zur Verdeutlichung:

In der Ansicht werden Datensätze aus unserem Reklamationsmanagement angezeigt und soll zur Auswertung dienen.
Ein Datensatz (Document) stellt einen Vorgang dar.
Zu einem Vorgang können mehrere Leistungsträger gehören, die jeweils einen Teil der Gesamt-Reklamationssumme übernehmen können.

Dazu gibt es zwei Multivalue-Felder, die mit Semikolon getrennt sind:

+------------------------+-------------------------------------+
| Feldname               | Wert                                |
+========================+=====================================+
| Leistungstraeger       | LeistungsträgerA; LeistungsträgerB  |
+------------------------+-------------------------------------+
| BetragLeistungstraeger | 150,00; 80,00                       |
+------------------------+-------------------------------------+

Zusätzlich kann es einen Eigenanteil geben, der von unserer Firma übernommen werden muss.
Dieser errechnet sich aus Gesamt-Erstattungssumme, die an den Kunden geht, abzüglich der Einzelbeträge, die von den Leistungsträgern übernommen werden.

Diese beiden Werte stehen in "nicht-Multivalue-Feldern":

+------------------+---------+
| Feldname         | Wert    |
+==================+=========+
| Erstattungssumme | 300,00  |
+------------------+---------+
| Eingenanteil     | 70,00   |
+------------------+---------+


In der Ansich stellt sich das nun vereinfacht wie folgt dar (die Beachtung gilt der Summenbildung):

+----------------------+--------------------+------------------------+---------------+------------------+
| Vorgangsnummer       | Leistungsträger    | Anteil Leistungsträger | Eigenanteil   | Erstattungssumme |
+======================+====================+========================+===============+==================+
| ABC123               | LeistungsträgerA   | 150,00                 | 70,00         | 300,00           |
+----------------------+--------------------+------------------------+---------------+ -----------------+
| ABC123               | LeistungsträgerB   | 80,00                  | 70,00         | 300,00           |
+----------------------+--------------------+------------------------+---------------+------------------+
                                              230,00                   140,00          600,00
Richtig wären diese Werte:                    230,00                   70,00           300,00

Da wir letzendlich nicht nur von einem Vorgang, sondern von hunderten sprechen und die Ansicht zur Auswertung von Jahres- und Monatssummen dienen soll ist das Darstellen von "Einfachwerten" in dieser Art sehr unpraktisch.

Ich hatte schon mal Versucht die Spalte in der Ansicht entsprechend zu berechnen und so eine Werteliste an Hand der Anzahl der Leistungsträger zu erstellen, kam aber nie auf ein adäquates Ergebnis.

Hier die verwendete Formula:

tmpLeistungstraeger := @GetField("Leistungstraeger");
tmpEigenanteil      := @GetField("Eingenanteil");

@For(i:=1; i <= (@Elements(tmpLeistungsträger)-@Elements(tmpEigenanteil)); i := i+1; tmpEigenanteil:0,00);

tmpEigenanteil


Hat jemand schon mal damit zu tun gehabt und/oder einen Lösungsvorschlag / eine Idee?


Vielen Dank schon mal
René

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Neulich fand ich einen Betrag zu einem ähnlichen Thema hier im Forum, da ging es allerdings im Texte.

Folgende Formel in der Spalte mit den Mehrfachwerten Einfachwerten funktioniert bei mir (Feldname für das Mehrfachwertefeld ist "Mehrfach", das andere heißt "Einfach"). Die Spalte muss auch Mehrfachwerte getrennt anzeigen:

@If (@Elements (Mehrfach) > 1; Einfach : @ToNumber (@Trim (@Explode (@Repeat (":0"; @Elements (Mehrfach) - 1); ":"))); Einfach)

Der Trick besteht darin, den anzuzeigenden Wert in der Spalte des einfachen Wertes mit genausovielen Werten auszustatten, wie den Mehrfachwert. Alle "überflüssigen" Werte erhalten 0 und werden dadurch mit 0 angezeigt und auch addiert.
« Letzte Änderung: 30.07.12 - 16:06:25 von Peter Klett »

Offline FiRe

  • Frischling
  • *
  • Beiträge: 2
Hallo Peter,

vielen Dank, so funktioniert es.
Die Logik bildet ja ähnlich meine For-Schleife ab, die allerding snicht funktioniert hat. :-\

Viele Grüße
René

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Stimmt, Dein Ansatz war der gleiche (hatte mir die Formel nicht wirklich angesehen).

Zwei Gründe, warum Deine Formel nicht funktioniert haben könnte:

1. Verwendung von @GetField in einer Spalte

Habe ich noch nie benutzt, ist auch unnötig, da man direkt den Feldname benutzen kann

2. 0,00

Du fügst 0,00 hinzu. Ich bin mir nicht sicher, ob das evtl einen Fehler gibt. Dezimaltrennzeichen könnte auch der Punkt "." sein (nur aus dem Bauch heraus). Unabhängig davon hätte 0 genügt, da das Anzeigeformat in der Spalte definiert wird, und nicht im Wert

Ansonsten ist Dein Ansatz vollständiger, da er auch berücksichtigt, dass mehrere Eigenanteile existieren könnten. Das Problem kommt dann erst, wenn es mehr Eigenanteile als Leistungsträger gibt, aber das Problem ist ja wohl nur theoretischer Natur ...
« Letzte Änderung: 31.07.12 - 12:31:08 von Peter Klett »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz