[gelöst] Gruppenfilter

5. Dezember 2011 12:43

Im Anhang habe ich ein Bild angehangen, welches mein Problem aufzeigt.
Es handlet sich um einen Bericht, der nach bestimmten Kriterien die Einhaltung von Terminen von Aufgaben auswertet. Dieser gibt % Werte zum einen Gruppenbezogen (nach Mitarbeiter (MA)) aus und zum anderen den Gesamt % Anteil.
Der Bereicht an sich läuft gut.

Seltsamerweise habe ich nun etwas festgestellt. Haben alle MA mind. 1 Aufgabe bereits abgeschlossen (egal ob positiv oder negativ) läuft alles super. Taucht dazwischen ein MA auf, der zwar Aufgaben hat, die aber alle noch nicht abgeschlossen sind, so werden die Gruppen % Werte der vorherigen Gruppe übernommen, danach läuft alles normal weiter.

Konkret passiert dies bei Gruppe ) (29,41% => dieser MA hat noch keine Aufgabe abgeschlossen). Hier wird der Weer der vorherigen Gruppe übernommen.

Wie kann man das beseitigen, hier mal mein Code an den besagten Stellen.
OnPre:
Code:
IF (Anzahl_Ja + Anzahl_Nein) > 0
THEN TerminBerechnung2 := (Anzahl_Ja/(Anzahl_Ja+Anzahl_Nein)*100);
TerminBerechnung3 := ROUND(TerminBerechnung2);
TerminBerechnung := FORMAT(TerminBerechnung3) + ' %';

OnPost:
Code:
IF SalespersonCode <> "To-do"."Salesperson Code" THEN BEGIN
  CLEAR(Anzahl_Ja);
  CLEAR(Anzahl_Nein);
  SalespersonCode := "To-do"."Salesperson Code";
END;


CLEAR(Anzahl_Ja);
CLEAR(Anzahl_Nein);


Hatte es auf der OnPostSection mit beidem versucht, aber es klappt nicht.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von misterelektro1981 am 5. Dezember 2011 13:52, insgesamt 3-mal geändert.

Re: Gruppenfilter

5. Dezember 2011 13:01

OnPre (nach Standard formatiert):
Code:
IF (Anzahl_Ja + Anzahl_Nein) > 0 THEN
  TerminBerechnung2 := (Anzahl_Ja/(Anzahl_Ja+Anzahl_Nein)*100);
// kein ELSE-Fall - beabsichtigt? Was soll in so einem Fall mit TerminBerechnung2 passieren?
TerminBerechnung3 := ROUND(TerminBerechnung2);
TerminBerechnung := FORMAT(TerminBerechnung3) + ' %';

Re: Gruppenfilter

5. Dezember 2011 13:48

Super, vielen Dank für den Denkanstoss.