-
-
Notifications
You must be signed in to change notification settings - Fork 1
Formeln
Das Plugin stellt eigene Calc-Funktionen mit den Präfixen PTM.ALG., PTM.CADRAGE., PTM.SUPERMELEE., PTM.POULE., PTM.DB.SPIELER. und PTM.PLANUNG. bereit. Diese können in beliebigen Zellen des Turnierdokuments verwendet werden.
Parameter: keine
Rückgabe: String
Gibt den Namen des im Dokument aktiven Turniersystems zurück.
Mögliche Rückgabewerte:
"Supermelée""Liga""Jeder gegen Jeden""Maastricht""Schweizer""K.-O.""Poule A/B""Kaskaden-KO""Formule X""Trip-Tête"-
"Kein"(kein Turniersystem aktiv)
Beispiel:
=PTM.ALG.TURNIERSYSTEM()
Parameter:
-
propname– Name der Dokumenteigenschaft (String)
Rückgabe: Integer (0, wenn die Eigenschaft nicht vorhanden ist)
Liest einen ganzzahligen Konfigurationswert aus den Dokumenteigenschaften. Nützlich für eigene Formeln, die auf die Turnierkonfiguration zugreifen.
Beispiel:
=PTM.ALG.INTPROPERTY("AnzahlRunden")
Parameter:
-
propname– Name der Dokumenteigenschaft (String)
Rückgabe: String (Fehlermeldung, wenn die Eigenschaft nicht vorhanden ist)
Liest einen Text-Konfigurationswert aus den Dokumenteigenschaften.
Beispiel:
=PTM.ALG.STRINGPROPERTY("TurnierName")
Parameter:
-
teamA– Team-ID von Team A (Integer) -
teamB– Team-ID von Team B (Integer) -
begegnungen– 2D-Array mit Spielpaarungen[team1_id, team2_id] -
siege– 2D-Array mit Siegen[siege_team1, siege_team2] -
spielpunkte– 2D-Array mit Punkten[punkte_team1, punkte_team2]
Rückgabe: Integer-Code
| Code | Bedeutung |
|---|---|
2 |
Team A hat den Direktvergleich gewonnen |
1 |
Team A hat den Direktvergleich verloren |
0 |
Unentschieden |
3 |
Kein Ergebnis (Teams haben nie gegeneinander gespielt) |
-1 |
Fehler (ungültige Parameter) |
Berechnet den Direktvergleich zwischen zwei Teams nach Pétanque-Regeln:
- Mehr Siege gewinnt
- Bei Gleichstand der Siege: mehr Spielpunkte gewinnt
- Sonst: Unentschieden
Beispiel (Liga/JgJ):
=PTM.ALG.DIREKTVERGLEICH(A2; B2; Paarungen; Siege; Punkte)
Parameter: propname – Name der Dokumenteigenschaft (String)
Rückgabe: Integer (0/1)
Liest einen Boolean-Konfigurationswert aus den Dokumenteigenschaften.
=PTM.ALG.BOOLEANPROPERTY("SetzpositionenBeachten")
Rückgabe: Integer (0 wenn kein Turnier aktiv)
Gibt die aktuelle Rundennummer zurück.
Rückgabe: Integer (0 wenn kein Spieltag vorhanden)
Gibt den aktuellen Spieltag zurück (relevant für Supermêlée).
Rückgabe: Integer (1 = aktiv, 0 = inaktiv)
Gibt 1 zurück, wenn gerade eine Hintergrund-Operation (z. B. Rangliste berechnen) läuft.
Parameter:
-
teamnameAnzeigen– 1, wenn die Meldeliste eine Teamname-Spalte verwendet, sonst 0 -
anzSpieler– Anzahl Spieler je Team laut Formation -
vereinsnameAnzeigen– 1, wenn Vereinsnamen pro Spieler angezeigt werden, sonst 0 -
meldelistenZeile– eine komplette Meldelisten-Zeile, z. B. per INDEX/VERGLEICH
Rückgabe: String
Formatiert eine Meldelisten-Zeile als Team-Anzeigetext.
Alle Funktionen nehmen anzTeams (Gesamtanzahl der Teams) als Parameter.
| Funktion | Rückgabe |
|---|---|
PTM.CADRAGE.ANZ_TEAMS(anzTeams) |
Anzahl der Teams, die eine Cadrage-Partie spielen müssen |
PTM.CADRAGE.ZIEL_ANZ(anzTeams) |
Ziel-Teamanzahl nach der Cadrage (größte Zweierpotenz ≤ anzTeams) |
PTM.CADRAGE.ANZ_OHNE_CADRAGE(anzTeams) |
Anzahl der Teams ohne Cadrage (starten direkt in der Hauptrunde) |
Alle Funktionen nehmen anzSpieler (Anzahl aktiver Spieler) als Parameter.
| Funktion | Rückgabe |
|---|---|
PTM.SUPERMELEE.TRIPL_ANZ_DOUBLETTE(anzSpieler) |
Anzahl Doublette-Teams im Triplette-Modus |
PTM.SUPERMELEE.TRIPL_ANZ_TRIPLETTE(anzSpieler) |
Anzahl Triplette-Teams im Triplette-Modus |
PTM.SUPERMELEE.TRIPL_NUR_DOUBLETTE(anzSpieler) |
1, wenn im Triplette-Modus ausschließlich Doublette-Teams möglich sind |
PTM.SUPERMELEE.TRIPL_ANZ_PAARUNGEN(anzSpieler) |
Anzahl Paarungen (Spiele) im Triplette-Modus |
PTM.SUPERMELEE.TRIPL_ANZ_BAHNEN(anzSpieler) |
Anzahl benötigter Bahnen im Triplette-Modus |
PTM.SUPERMELEE.DOUBL_ANZ_DOUBLETTE(anzSpieler) |
Anzahl Doublette-Teams im Doublette-Modus |
PTM.SUPERMELEE.DOUBL_ANZ_TRIPLETTE(anzSpieler) |
Anzahl Triplette-Teams im Doublette-Modus |
PTM.SUPERMELEE.DOUBL_NUR_TRIPLETTE(anzSpieler) |
1, wenn im Doublette-Modus ausschließlich Triplette-Teams möglich sind |
PTM.SUPERMELEE.DOUBL_ANZ_PAARUNGEN(anzSpieler) |
Anzahl Paarungen (Spiele) im Doublette-Modus |
PTM.SUPERMELEE.DOUBL_ANZ_BAHNEN(anzSpieler) |
Anzahl benötigter Bahnen im Doublette-Modus |
PTM.SUPERMELEE.VALIDE_ANZ_SPIELER(anzSpieler) |
1, wenn die Spieleranzahl für ein Turnier gültig ist (nicht 7) |
PTM.SUPERMELEE.ANZ_TRIPLETTE_WENN_NUR_TRIPLETTE(anzSpieler) |
Anzahl Triplette-Teams, wenn ausschließlich Triplette möglich ist, sonst 0 |
PTM.SUPERMELEE.ANZ_DOUBLETTE_WENN_NUR_DOUBLETTE(anzSpieler) |
Anzahl Doublette-Teams, wenn ausschließlich Doublette möglich ist, sonst 0 |
Alle Funktionen nehmen anzTeams (Gesamtanzahl der Teams, mindestens 3) als Parameter.
| Funktion | Rückgabe |
|---|---|
PTM.POULE.ANZ_GRUPPEN(anzTeams) |
Gesamtanzahl der Gruppen (Vierer- + Dreiergruppen) |
PTM.POULE.ANZ_VIERER_GRUPPEN(anzTeams) |
Anzahl der 4er-Gruppen |
PTM.POULE.ANZ_DREIER_GRUPPEN(anzTeams) |
Anzahl der 3er-Gruppen |
Rückgabe: Integer
Anzahl der Spieler in der Spieler-Datenbank.
Parameter:
-
suche– Suchbegriff, Abgleich über Nachname und Vorname (Groß-/Kleinschreibung egal), wird getrimmt und auf 100 Zeichen begrenzt -
wildcard– FALSCH = Anfangs-Treffer (term%); WAHR = Teilstring-Treffer (%term%)
Rückgabe: 2D-Bereich mit Vorname, Nachname, Verein (max. 200 Treffer)
=PTM.DB.SPIELER.SUCHE("Meier"; FALSCH)
Diese Funktionen berechnen live einen Zeitplan für ein Turnier, unabhängig vom Turniersystem und
ohne dass ein Turnierdokument angelegt sein muss. Sie werden vom Planungsrechner
verwendet, lassen sich aber auch frei in eigenen Tabellenblättern nutzen. Uhrzeit-Parameter (start,
ende) sind echte Calc-Zeitwerte (Bruchteil eines 24-Stunden-Tages, z. B. 09:00 = 0,375) – am
einfachsten über eine mit dem Zeitformat HH:MM formatierte Eingabezelle.
Parameter:
-
anzTeams– Anzahl teilnehmender Teams (Integer) -
anzBahnen– Anzahl verfügbarer Spielbahnen (Integer)
Rückgabe: Integer (Anzahl Durchgänge, die pro Runde nötig sind, damit alle Teams spielen können; 0 bei ungültigen Eingaben)
=PTM.PLANUNG.DURCHGAENGE_PRO_RUNDE(32; 8)
PTM.PLANUNG.ZEITLIMIT(start; ende; anzTeams; anzBahnen; anzRunden; durchgangPauseMin; rundenPauseMin)
Parameter:
-
start– Turnierbeginn (Zeitwert) -
ende– gewünschtes Turnierende (Zeitwert) -
anzTeams– Anzahl teilnehmender Teams (Integer) -
anzBahnen– Anzahl verfügbarer Spielbahnen (Integer) -
anzRunden– Anzahl geplanter Runden (Integer) -
durchgangPauseMin– Pause zwischen zwei Durchgängen in Minuten (Integer) -
rundenPauseMin– Pause zwischen zwei Runden in Minuten (Integer)
Rückgabe: Integer (errechnetes Zeitlimit pro Durchgang in Minuten, sodass das Turnier zwischen start und ende passt; 0 bei ungültigen Eingaben)
=PTM.PLANUNG.ZEITLIMIT(A1; A2; 32; 8; 5; 5; 10)
PTM.PLANUNG.TURNIER_ENDE(start; anzTeams; anzBahnen; anzRunden; durchgangPauseMin; rundenPauseMin; zeitlimitMin)
Parameter: wie oben, zusätzlich zeitlimitMin – Zeitlimit pro Durchgang in Minuten (Integer)
Rückgabe: String im Format HH:MM (voraussichtliches Turnierende; leerer String bei ungültigen Eingaben)
=PTM.PLANUNG.TURNIER_ENDE(A1; 32; 8; 5; 5; 10; 20)
PTM.PLANUNG.ZEITPLAN(start; anzTeams; anzBahnen; anzRunden; durchgangPauseMin; rundenPauseMin; zeitlimitMin)
Parameter: identisch zu PTM.PLANUNG.TURNIER_ENDE
Rückgabe: 2D-Bereich mit einer Zeile je Runde/Durchgang: Runde-Nr., Durchgang-Nr., Startzeit (HH:MM), Endzeit (HH:MM). Bei ungültigen Eingaben wird eine leere Tabelle geliefert (keine Fehlerzelle).
=PTM.PLANUNG.ZEITPLAN(A1; 32; 8; 5; 5; 10; 20)
Einstieg Home Installation Download
Turniersysteme Supermêlée Schweizer System Liga Jeder gegen Jeden K.-O.-System Poule-A/B Maastrichter System Kaskaden-K.O. Formule X Trip-Tête / Trio Kölner Sextet Dänisches System Monrad-System Tête-Series Crazy-Mêlée Arena-Pétanque Systemvergleich
Referenz Turnieransicht Sidebar Konfiguration WhatsApp Webserver Composite Views Webserver-Regie Turnier-Startseite FTP-Server KI-Assistent Siegergeld Planungsrechner Formeln Makros & Formeln Zeitplan-Feature Für Entwickler Entwicklungsumgebung Architektur: Threading Architektur: Blattschutz