Jump to content

Überprüfung, ob Wiederholungsgruppe einen Eintrag erhält


Rolf Thielmann
Go to solution Solved by Rolf Thielmann,

Recommended Posts

Hallo allerseits,

ich baue gerade an einer Smap zur Erfassung eines Leistungsbelegs für unsere Servicetechniker.

Die Smap ist in mehrere Abschnitte unterteilt, die immer erst angezeigt werden, wenn der vorhergehende Abschnitt bearbeitet wurde.

In einem Abschnitt geht es um das eingesetzte Material.
Hier habe ich eine Wiederholungsgruppe angelegt, in der Artikel ausgewählt werden und dazu die Mengeneinheit und die Anzahl erfasst wird.
Je nach Mengeneinheit wird für die Anzahl ein Zahleneingabefeld für ganze Zahlen oder Kommazahlen angezeigt.
Am Ende der Wiederholungsgruppe habe ich einen Zahlenergebnisbaustein, mit dem ich überprüfe, ob in einem der beiden Anzahlfelder etwas eingegeben wurde. Formel für den Baustein lautet 

IF(AND(EMPTY({Anzahl_Ganzzahl}), EMPTY({Anzahl_Kommazahl})), 1, 0)

Für den nächsten Abschnitt habe ich dann die nachfolgende Aktivierungsregel

WENN  
EQUALS(SUM({WG_Materialeinsatz.Kontrollergebnis_Material}), 0))

Dann 
ABSCHNITT ist aktiviert

Das funktioniert soweit gut, wenn mindestens ein Artikel ausgewählt ist.
Wenn bei einem der Artikel keine Menge eingegeben ist, ist die Summe der Kontrollergebnisse größer 0 und der nächste Abschnitt wird nicht angezeigt.

Leider wird der nächste Abschnitt aber auch nicht angezeigt, wenn kein Material eingesetzt wurde.
Dann zeigt die Summe aller Kontrollergebnisse (ich habe dafür vorerst noch einen Zahlenergebnisbaustein eingebaut) "kein Ergebnis berechnet" (s.u.) und der nächste Abschnitt wird nicht angezeigt.
image.png.8bebfbf56bc09d7e6a14519aa64a6600.png
image.png.fd45df3b9047fada97be0420e79be42a.png

 

Hat jemand eine Idee, wie ich abfragen kann, ob überhaupt ein Eintrag in der Wiederholungsgruppe erstellt wurde?

VIELEN DANK im Voraus

Link to comment
Share on other sites

Hallo Rolf,

wie soll die Regel üblicherweise aussehen?

Die Formel besagt ja durch das "AND" wenn beide Bedingungen leer sind, dann nimm den Wert 1,  ansonsten 0

vor 21 Minuten schrieb Rolf Thielmann:
IF(AND(EMPTY({Anzahl_Ganzzahl}), EMPTY({Anzahl_Kommazahl})), 1, 0)

 

Hier in der Regel verweist du auf den Baustein "Kontrollergebnis_Material", obwohl du oben im Bild im Baustein "Kontrolle_Material" eigentlich die gleiche Abfrage machst. ist das so gewollt?

vor 27 Minuten schrieb Rolf Thielmann:
WENN  
EQUALS(SUM({WG_Materialeinsatz.Kontrollergebnis_Material}), 0))

Dann 
ABSCHNITT ist aktiviert

 

Link to comment
Share on other sites

Hallo Bülent,

die erste Formel "IF(AND(EMPTY({Anzahl_Ganzzahl}), EMPTY({Anzahl_Kommazahl})), 1, 0)" ist der Wert, den der Baustein {Kontrollergebnis_Material} innerhalb der Wiederholungsgruppe annimmt. Normalerweise würde man wohl 0 verwenden, wenn beide Eingabebausteine leer sind und 1, wenn einer der Bausteine einen Wert enthält. Aber ich hatte gehofft, dass die Summe in der Aktivierungsformel des nächsten Abschnitts "EQUALS(SUM({WG_Materialeinsatz.Kontrollergebnis_Material}), 0))" auch 0 ergibt, wenn gar keine Werte in der Wiederholungsgruppe eingegeben sind...

Link to comment
Share on other sites

Ich glaube, dann müsstest du mit "OR" arbeiten, falls es reicht wenn eine Bedingung True ist.

Denn mit "AND" müssen beide Bedingungen, also Ganzzahl UND Kommazahl zutreffen, damit deine Abfrage auf 1 geht. Wenn nur eine Bedingung wahr ist dann landest du immer bei 0.

Link to comment
Share on other sites

Hallo Bülent,

ich habe bewusst die AND-Funktion verwendet.
Wenn beide Eingabebausteine leer sind, erhält die Formel des Kontrollbausteins den Wert 1 und nur wenn die Summe aller Kontrollbausteine in der Wiederholungsgruppe 0 ist, wird der nächste Abschnitt aktiviert.

Das Problem liegt nicht in der Formel des Kontrollbausteins, sondern darin, dass die Summe aller Kontrollbausteine keinen Wert liefert, wenn keine Einträge in der Wiederholungsgruppe vorhanden sind.

Darum frage ich mich, ob bzw. wie man feststellen kann, ob in einer Wiederholungsgruppe überhaupt ein Eintrag vorhanden ist.

Link to comment
Share on other sites

  • Solution

Hallo Manuel,
hallo Bülent,

VIELEN DANK für Eure Tipps!

Ich habe es etwas anders umgesetzt, weil der folgende Abschnitt nur eingeblendet werden soll, wenn kein Eintrag in der Wiederholungsgruppe vorhanden ist, bzw. alle vollständig ausgefüllt sind.

 

Hier nochmal meine Version:

image.thumb.png.a4fbba47b97c7a2b77703a385820a22b.png

image.thumb.png.22c116129e57d83386daec975d67c0a4.png

image.thumb.png.691ea860d4c4a95ee26c6ea9bb8daf65.png

  • Like 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...