Sehr geehrter Herr Mauch,
ich deute ihre Antwort als - in den letzten 4 Quartalen 4 mal abgerechnet.
Ein entsprechendes Skript könnte dann z.B. so aussehen:
returnvalue = 0
code1 = '03220'
code2 = '03220H'
leistungenVorjahr = select(kvleistungen, startQuartal=heuteQuartal-1, endQuartal=heuteQuartal-0.25)
leistungenDiesesQuartal = select(kvleistungen, startQuartal=heuteQuartal, endQuartal=heuteQuartal)
leistungenVorigesQuartal = select(kvleistungen, startQuartal=heuteQuartal-0.25, endQuartal=heuteQuartal-0.25)
abgerechnet = False
# Wurde 03320H dieses Quartal schon abgerechnet?
for l in leistungenDiesesQuartal:
if l['code'] == code2:
abgerechnet = True
break
# Wurde die 03320H letztes Quartal abgerechnet, dann kann sie auch dieses wieder abgerechnet werden
if abgerechnet == False:
for l in leistungenVorigesQuartal:
if l['code'] == code2:
returnvalue = 1
break
# prüfe jetzt ob die Ziffer 4x abgerechnet wurde
if abgerechnet == False and returnvalue == 0:
count = 0
for l in leistungenVorjahr:
if l['code'] == code1:
count = count + 1
if count == 4:
returnvalue = 1
break
Wenn sie dem Marker außerdem noch eine Checkbox können Sie durch Klick auf die Checkbox eine Aktionskette starten die Ihnen die Ziffer setzt. Das Ergebnis des Klicks (die Setzung der Ziffer) sorgt dafür dass der Marker bis zum nächsten Quartal inaktiv bleibt.