OTK Störung - IONOS als Mailserver®
Alle Hinweise und Informationen finden Sie unter folgendem Link.

KEINE Freigabe der macOS Version Sequoia für tomedo®
Alle Hinweise und Informationen finden Sie unter folgendem Link.

Warum bekomme ich bei diesem Skript einen Fehler? "Das Skript ist Fehlgeschlagen?"

returnvalue = 0

pruefziffer = '03221H'

leistungen = kvleistungen

leistungen = select(leistungen, startQuartal=heuteQuartal-0.25, endQuartal=heuteQuartal)

for leistung in leistungen:
 	if leistung['code'] == pruefziffer:
       		returnvalue = 1
	else
		returnvalue = 0

 

Gefragt von (3.7k Punkte)
0 Punkte

2 Antworten

Weil hinter "else" der Doppelpunkt fehlt.

 

Abgesehen davon wird das Skript aber nicht das machen, was Sie erwarten: In der For-Schleife setzen Sie für jede leistung in leistungen den returnvalue neu. Es gewinnt also die letzte leistung. Was Sie aber eigentlich wollen (vermutlich) ist herrausfinden ob die pruefziffer in den leistungen mindestens einmal vorhanden ist. Das lässt sich so erreichen:

returnvalue = 0

pruefziffer = '03221H'

leistungen = kvleistungen

leistungen = select(leistungen, startQuartal=heuteQuartal-0.25, endQuartal=heuteQuartal)

for leistung in leistungen:
 	if leistung['code'] == pruefziffer:
       		returnvalue = 1

 

Noch ein Nachtrag: Etwas verständlicher (zumindest nach meinem Empfinden), wäre auf die For-Schleife zu verzichten:

returnvalue = 0

pruefziffer = '03221H'

leistungen = kvleistungen

leistungen = select(leistungen, startQuartal=heuteQuartal-0.25, endQuartal=heuteQuartal)

leistungsziffern = [leistung['code'] for leistung in leistungen]

if pruefziffer in leistungsziffern:
    returnvalue = 1
Beantwortet von (2.7k Punkte)
Bearbeitet von
0 Punkte

geht leider immer noch nicht

returnvalue = 0

pruefziffer = '03221H'

leistungen = kvleistungen

leistungen = select(leistungen, startQuartal=heuteQuartal-0.25, endQuartal=heuteQuartal)

for leistung in leistungen:
 	if leistung['code'] == pruefziffer:
       		returnvalue = 1
	else:
		returnvalue = 0

 

Sie müssen außerdem in den erweiterten Modus wechseln und dort testen, da das Skript kein Einzeiler ist. Siehe außerdem meine bearbeitete Antwort oben zum Inhalt des Skriptes im Allgemeinen.
Sorry geht nicht! wir können gerne einen TV Session machen
Könnten Sie das fertige Script dann bitte posten?
Beantwortet von (21.2k Punkte)
0 Punkte
Das oben vom mir gepostete Skript sollte funktionieren. Der Fehler bezog sich auf ein anderes Skript, Da beim Testen immer alle Skripte getestet werden, kam es zu Verwirrung.
17,992 Beiträge
26,223 Antworten
46,913 Kommentare
24,869 Nutzer