I campi contengono dati che possono essere dati immagazzinati o dati calcolati da altri dati come la posizione in classifica.
Usando Espressioni e Funzioni puoi combinare campi, effettuare calcoli, modificare valori e mostrare i risultati nelle Liste o negli Attestati. Per esempio, una Casella di controllo ha valore 1 se selezionato altrimenti 0. Usando una espressione puoi mostrare al posto di 1 e 0 i valori si/no o X/-.
Sintassi
Definizione di sintassi (linguaggi di programmazione): La sintassi di un linguaggio informatico è l'insieme di regole che definisce la combinazione di simboli considerati un documento o un frammento correttamente strutturato in quel linguaggio.
Definizione di sintassi: La disposizione di simboli e caratteri per formare espressioni o funzioni.
Simboli e loro nomi
I seguenti simboli sono usati per scrivere Espressioni e Funzioni.
[ |
Parentesi quadra aperta |
] | Parentesi quadra chiusa |
( | Parentesi tonda aperta |
) | Parentesi tonda chiusa |
" | Virgoletta, virgolette o virgola invertita |
| | Barra verticale |
& | E commerciale |
{ | Parentesi graffa aperta |
} | Parentesi graffa chiusa |
; | Punto e virgola |
: | Due punti |
# | Cancelletto |
Quando utilizzare ciascun simbolo
Quando usare le Parentesi quadre?
Le parentesi quadre sono usate quando si fa riferimento a un Campo all'interno di un'Espressione o di una Funzione.
Esempio: Se vogliamo fare riferimento alla gara di un partecipante, lo faremmo cosí
[Gara]
Esempio: Se vogliamo confrontare la Gara di un partecipante per vedere se corrisponde a un ID di Gara specifico, dobbiamo farlo cosí
[Gara] = 1
Se il partecipante è nella gara 1, quando facciamo riferimento alla [Gara] con l'uso delle parentesi quadre, riceveremo il valore 1. Ciò valuterà l'esempio sopra come vero perché 1 equivale a 1.
Quando usare le Parentesi tonde?
Le parentesi tonde vengono utilizzate per contenere i parametri all'interno di una Funzione.
Esempio: Se volessimo scrivere un'istruzione if per restituire sì se un partecipante è nella gara 1, altrimenti restituire no, potremmo farlo in questo modo
if([Gara]=1;"si";"no")
Nell'esempio sopra, stiamo usando un'istruzione if tra parentesi tonde per contenere la nostra espressione.
Le parentesi sono inoltre utilizzate per definire l'ordine delle operazioni.
Esempio: se hai una gara a giri variabili con un giro iniziale di 1km e i giri seguenti di 10 km e vuoi calcolare quanti km ogni partecipante compie (includendo il giro iniziale), puoi usare le parentesi per definire l'ordine di operazioni per calcolare questo.
(([NumerodiGiri]-1)*10)+1
In questo modo prima calcoliamo il numero di giri da 10km fatti dal partecipante sottraendo al numero totale di giri un giro (che corrisponde al giro iniziale di 1 km); successivamente moltiplichiamo questo numero per 10 in modo tale da avere i km fatti dal partecipante ed infine sommiamo 1, rappresentante il km del giro iniziale. Se per esempio i giri totali compiuti dal partecipante sono 5, sostituendolo nella formula si avrà come risultato 41km. Questo esempio presume che il punto di cronometraggio partenza/intermedio/arrivo sia lo stesso per il giro di parata che il giro normale.
Quando usare le Parentesi graffe?
Le parentesi graffe vengono utilizzate quando si fa riferimento al valore di un Moltiplicatore di record all'interno di un Elenco.
Esempio: Se volessimo fare riferimento ai giri da 1 a 3 e i giri sono chiamati Giro1, Giro2, Giro3 nella Finestra Principale-> Risultati (Avanzati), allora potremmo farlo cosí
[Giro{n}]
Nell'esempio sopra, stiamo facendo riferimento ai giri da 1 a 3 aggiungendo il testo Giro con il valore del moltiplicatore di record che è definito tra due parentesi graffe.
Le parentesi graffe vengono anche utilizzate per tradurre stringhe in diverse lingue.
Esempio: Se vogliamo che l'esempio sopra visualizzi "Yes" o "No" quando si utilizza il software o my.raceresult.com in inglese, o "Si" o "No" per lo spagnolo, scriveremo:
if([Gara]=1;"{EN:yes|ES:si}";"no")
Si noti che il valore per le diverse lingue è separato da una barra verticale.
Quando usare le Virgolette?
Le virgolette vengono utilizzate per fare riferimento a una stringa di testo.
Definizione di stringa (informatica): Una stringa è tradizionalmente una sequenza di caratteri, sia come costante letterale che come una sorta di variabile.
Esempio: Se volessimo trovare tutti i partecipanti con il nome di John, allora potremmo impostare un filtro come questo
[Nome] = "John"
Nell'esempio sopra, John è tra virgolette perché il suo nome è una stringa che stiamo cercando di confrontare. Nome è tra parentesi quadre perché è un campo che restituirà un valore stringa da confrontare con la stringa John.
Quando usare il Punto e virgola?
I punti e virgola sono usati per separare i parametri all'interno di una Funzione.
Esempio: In un'istruzione if ci sono tre parametri. Ogni parametro deve essere separato con un punto e virgola come questo
if([Pettorale]=1;"si";"no")
Nell'esempio sopra, stiamo verificando se il pettorale è uguale a 1. Se Pettorale è uguale a 1 (vero), allora restituisce Sì altrimenti (falso) restituisce "No".
Quando usare la E commerciale?
Le e commerciali vengono utilizzate per aggiungere una stringa ad un'altra.
Esempio: Se vuoi aggiungere una stringa come "John" a un campo dati come [Cognome], puoi fare qualcosa del genere
"John " & [Cognome]
Nell'esempio precedente se il valore di [Cognome] è "Doe", la stringa restituita è "John Doe". Questo è anche noto come concatenare due stringhe insieme.
Quando usare il cancelletto?
Un cancelletto indica che l'espressione è full-text. In questo modo, non è necessario utilizzare le virgolette attorno alle stringhe di testo e le e commerciali per combinare campi, stringhe e funzioni. I campi e le funzioni devono essere racchiusi tra parentesi quadre.
Esempio: puoi ottenere lo stesso risultato sopra citato scrivendo l'espressione in questo modo:
#John [Cognome]
Espressioni
RACE RESULT offre due tipi di espressioni. Nelle Espressioni Normali i testi fissi saranno tra virgolette mentre i campi, le funzioni e i campi/funzioni definiti dall'utente tra parentesi quadre e l'operatore di testo "&" collega diverse parti:
"Il mio nome è " & [Nome] & " " & [Cognome]
Se usi questa espressione su un attestato, questa mostrerà per esempio: Il mio nome è John Doe.
Le Espressioni Full-Text, invece, sono più adatti per testi più lunghi come il testo dell'e-mail di conferma della registrazione online. Iniziano con un cancelletto (#) e i campi, le funzioni e i campi/funzioni definiti dall'utente saranno tra parentesi quadre:
#Il mio nome è [Nome] [Cognome]
Nelle espressioni puoi anche usare Campi, Funzioni, Funzioni personalizzate, Operatori e Campi Personalizzati.
Campi
I Campi possono essere distinti tra campi dati utilizzati per archiviare informazioni come cognome o società e campi che hanno valori calcolati da altri dati come una classifica.
Tutti i campi possono essere mostrati direttamente su liste o attestati o essere utilizzati in espressioni. Possono essere facilmente selezionati nella guida ai campi.
Alcuni campi usano una logica con punto, il che significa che per insiemi di dati che fanno tutti riferimento allo stesso contesto viene utilizzato lo stesso prefisso e quindi i parametri successivi possono essere definiti dopo un punto.
Ad esempio, la Gara può avere una varietà di parametri relativi alla Gara che possono essere aggiunti come Gara.Nome o Gara.Lunghezza.
Campi dati Partecipanti
I campi dei dati dei partecipanti sono specifici per ogni singolo record partecipante.
I seguenti record possono essere inseriti o importati per ciascun partecipante.
Field | Type |
Pettorale | int |
Cognome |
string (100) |
Nome |
string (100) |
Titolo |
string (15) |
AnnoDiNascita |
int |
DataDiNascita | date |
Genere |
string (2) |
Nazione |
string (50) |
Gara | int |
Società |
string (100) |
Licenza |
string (25) |
Stato | int |
Commento |
string (*) |
Transponder1 |
string (40) |
Transponder2 |
string (40) |
RegNo |
int |
Via |
string (100) |
CAP |
string (10) |
Città |
string (50) |
Regione |
string (3) |
Paese |
string (50) |
string (100) |
|
Telefono |
string (50) |
Cellulare |
string (255) |
I seguenti campi vengono generati automaticamente dal sistema durante la creazione; guarad i collegamenti aggiuntivi per ulteriori informazioni.
Field | Type |
ID |
int |
ProprietarioAccount |
string (50) |
AccountNum |
string (12) |
FilialeNum |
string (12) |
Banca |
string (50) |
IBAN |
string (36) |
BIC |
string (11) |
MandatoSEPA |
string (35) |
Voucher |
string (20) |
Creato | date |
CreatoDa |
string (25) |
Modificato | date |
GruppoPosizioneRegistraione |
int |
GruppoID | int |
Campi derivati
I Campi derivati possono essere usati come quaslasi altro campo dati, ma derivano da campi dei partecipanti e non possono essere cambiati.
Età |
Derivato dalla data di nascita e dalla data dell'evento |
EtàAl31Dic |
Età dei partecipanti al 31Dicembre dell'anno dell'evento |
AnnoDiNascita2Cifre |
Anno di nascita in due cifre (es. 83), derivato dalla data di nascita |
CognomeNome |
Combina il cognome e il nome in (es.) Doe, John |
NomeCognome |
Combina Nome e cognome in (es.) John Doe |
AccountNumX | Come AccountNum, ma le ultime 3 cifre sono sostituite da una X |
IBANX |
Come IBAN, ma le ultime 3 cifre sono sostituite da una X |
StatoTesto | Restituisce il nome dello stato al posto delle sigle (SQ, NA, NP, etc) |
Random | Restituisce un valore casuale compreso tra 0 e 1 |
TransponderNelFileChip | Se esiste, questo campo restituisce il codice transponder assegnato nel file dei chip |
Campi dati Evento
Hai anche accesso ai numerosi attributi dell'evento e della gara/categoria selezionata. Un semplice caso di utilizzo è un attestato di gara: invece di inserire la data dell'evento sull'attestato come testo fisso, sarà meglio usare il campo [Evento.Data] in modo da non dover aggiornare l'attestato l'anno successivo quando lo importerai nel nuovo file evento.
Evento
Fanno riferimento alle Impostazioni in Finestra Principale - Impostazioni base
Evento | Nome dell'evento |
Evento.Nome | Uguale ad [Evento] |
Evento.ID | ID Evento |
Evento.Data | Data dell'Evento |
Evento.Data1 | Data dell'Evento (dal) |
Evento.Data2 | Data dell'Evento (al) |
Evento.Tipologia | Tipologia di Evento |
Evento.Nazione | Luogo dell'Evento - Nazione |
Evento.CAP | Luogo dell'Evento - CAP |
Evento.Luogo | Luogo dell'Evento - Città |
Evento.Via | Luogo dell'Evento - Via |
Evento.Valuta | Valuta dell'Evento |
Evento.NomeAttributo | Corrispondente Attibuto definito dall'utente per l'Evento |
Gara
Gara | ID della gara assegnata al partecipante | ||
Gara.Nome | Nome della gara | ||
Gara.Data | Data di inizio della gara | ||
Gara.OraPartenza | Ora di partenza programmata della gara | ||
.Testo | Ora di partenza in formato testo | ||
.Decimale | Ora di partenza in valore decimale | ||
Gara.TempoLimite |
Tempo limite di gara |
||
.Testo | Tempo limite in formato testo | ||
.Decimale | Tempo limite in valore decimale | ||
Gara.Lunghezza |
Lunghezza della gara cosí come inserito |
||
.Unità | Unità di misura assegnata a Gara.Lunghezza | ||
.Metri | Lunghezza della gara espressa in metri | ||
Gara.FormatoTempo | Formato ora della gara | ||
Gara.ArrotondamentoTempo |
Valore corrispondente all'arrotondamento tempo da applicare alla gara |
||
Gara.NumeroGiri | Numero di giri della gara | ||
Gara.MinTempoGiro | Minimo tempo giro | ||
Gara.NomeAttributo | Gli attributi definiti dall'utente corrispondenti per la gara | ||
Gara.OrderPos | Posizione della gara nella lista presente nella scheda panoramica | ||
Idoneo |
0 se il partecipante è idoneo alla gara assegnata 1 se l'età è superiore alla DataDiNascita massima 2 se l'età è inferiore alla DataDiNascita minima 4 se il genere non è corretto 5 se l'età è maggiore alla DataDiNascita massima e il sesso non è corretto 6 se l'età è inferiore alla DataDiNascita minima e il sesso non è corretto |
Categoria
Categoria/Categoria1*, Categoria2, Categoria3 |
ID della fascia di età/categoria assegnata ai partecipanti, riferita rispettivamente ai set 1, 2 e 3 |
CategoriaX.ID |
ID della fascia di età/categoria |
CategoriaX.Nome |
Nome della fascia di età/categoria |
CategoriaX.NomeCorto | Nome corto della fascia di età/categoria |
CategoriaX.Posizione | Posizione della categoria in accordo all'ordine in cui è stata inserita nelle impostazioni |
*Categoria e Categoria1 funzionano in modo identico e possono entrambi essere utilizzati per tutti i campi derivati.
QuotaIscrizione
QuotaIscrizione |
Importo della quota di iscrizione calcolato in base alle Impostazioni delle quote di iscrizione |
TassaBase | Come per QuotaIscrizione, ma senza considerare le quote di iscrizione opzionali. |
Campi Tempo
I seguenti campi si riferiscono al Risultato Finale e usano i Campi:
Tempo |
Tempo formattato secondo le impostazioni del Formato ora |
||
.Esistente |
Restituisce 1 se è presente un tempo o qualsiasi valore nel risultato. |
||
.Positivo |
Restituisce 1 se un tempo > 0 è salvato nel risultato |
||
.Decimale | Valore numerico salvato | ||
|
.Arrotondato |
Valore numerico salvato in accordo alle impostazioni di Arrotondamento del tempo |
|
.Testo |
Tempo formattato come testo hh:mm:ss |
||
Arrivato | Restituisce 1 se un tempo > 0 è salvato nel risultato, equivalente a [Tempo.Positivo] |
I seguenti campi si riferiscono al risultato di inizio di gara:
Partito | Restituisce 1 se un tempo > 0 è salvato nel risultato; se non è definito nessun risultato di partenza allora questo sarà vero se c'è un tempo nel risultato con un ID più basso. |
I seguenti si riferiscono all'ora di partenza e ai tempi limite di gara. I campi dell'ora di partenza funzionano nella stessa maniera dei generici Campi Risultato.
Tempo0 | Ora di partenza assegnata, formattata secondo le impostazioni del Formato Tempo |
Tempo0.Decimale T0 |
Valore numerico dell'ora di partenza assegnata |
Tempo0.Arrotondato TR0 |
Valore numerico dell'ora di partenza assegnata arrotondata secondo le impostazioni dell'Arrotondamento del tempo |
TempoLimite | Tempo limite espresso in valore numerico |
TempoLimiteTesto | Tempo limite formattato secondo le impostazioni del Formato Tempo |
È possibile accedere ai tempi giro in modalità dati grezzi senza la necessità di impostare calcoli individuali sul giro. Sostituisci NomePuntoDiCronometraggio e X. I tempi sul giro considerano il Minimo Tempo Giro espresso nelle impostazioni base di gara.
NomePuntoDiCronometraggio.GiroX | Tempo del giro X in secondi. |
NomePuntoDiCronometraggio.LetturaX | Tempo di gara alla lettura X, in secondi |
NomePuntoDiCronometraggio.GiroXTesto | Tempo del giro X, formattato secondo le impostaioni di arrotondamento di gara |
NomePuntoDiCronometraggio.LetturaXTesto | Tempo di gara alla lettura X, formattato secondo le impostaioni di arrotondamento di gara |
Campi Intermedio
Ogni intermedio e settore calcola una serie di campi per ognuno, cioè significa che il setup richiesto in RACE RESULT 12 è minore rispetto a quando utilizzi Risultati (avanzati) ma hai nonostante ciò più informazioni. Gli Intermedi e i suoi campi derivati sono chiamati usando una stringa che inizia sempre con il nome dell'intermedio o con il nome del settore.
Gli Intermedi usano la Logica con punto per formare i campi e tutti i campi degli Intermedi iniziano con il nome dell'intermedio o con il nome del tratto.
Es.: [NomeIntermedio.NomeCampo]
A volte potrebbe essere utile accedere alle informazioni del precedente o successivo intermedio e per fare questo basta inserire .Prev o .Next al nome dell'Intermedio e cosí qualsiasi altro campo intermedio può essere richiamato nella stessa maniera.
Es.: [NomeIntermedio.Prev.NomeCampo] o [NomeIntermedio.Next.NomeCampo]
Nelle classifiche live è spesso utile accedere ai dati dell'ultimo Intermedio raggiunto dal partecipante e per far ciò basta sostituire il NomeIntermedio in {LastSplit}. Questo restituirà i campi relativi all'ultimo intermedio in accordo all'ordine degli intermedi inseriti nella sezione Intermedi, nel quale il partecipante ha un tempo.
Es.: [{LastSplit}.NomeCampo]
Campi Risultato
I Risultati contengono valori numerici che sono per lo più tempi in numero di secondi, ma possono anche rappresentare punti, numero di giri o altri valori.
I campi Risultato utilizzano la logica con punto usando sia TimeX o NomeDelRisultato (sostituisci X con l'ID del risultato), ad es. Tempo5.Decimale per il valore nel risultato con ID 5.
Per ogni risultato sono disponibili i seguenti campi
TempoX NomeDelRisultato |
Tempo formattato secondo le impostazioni del Formato ora |
|
.Decimale | Valore numerico salvato | |
|
.Arrotondato |
Valore numerico arrotondato secondo le impostazioni di arrotondamento del tempo |
.Testo | Tempo formattato come testo hh:mm:ss | |
.Positivo | Restituisce 1 se un tempo > 0 è salvato nel risultato | |
.Info | Testo salvato insieme al tempo, di solito sono i dettagli dal sistema di cronometraggio. | |
.Sovrascritto | Restituisce 1 se il risultato è stato sovrascritto |
È possibile utilizzare anche le seguenti versioni brevi, che non applicano la logica con punto.
Tx | Valore numerico salvato (Equivale a TempoX.Decimale) |
TRx |
Valore numerico arrotondato secondo le impostazioni di arrotondamento del tempo (Equivale a TempoX.Arrotondato) |
Campi Classifica (posizione)
Dopo aver definito la classifica con l'ID X, è possibile utilizzare i seguenti campi aggiuntivi.
I campi di Posizione usano la logica con punto per restituire una varietà di campi: in tutti questi campo è possibile utilizzare sia ClassificaX che NomeClassifica.
ClassificaX |
La posizione in classifica del partecipante in accordo con la classifica scelta, es 47 Può essere usato anche il nome della classifica, per esempio ClassificaGenere |
ClassificaX.p |
La posizione con un punto vicino, es 47. |
ClassificaX.Th NomeClassifica.Th |
La posizione secondo un numero ordinale, es 47esimo |
ClassificaX.Max |
Il numero di partecipanti dello stesso gruppo che sono stati classificati, es 495. |
ClassificaX.Top.Y NomeClassifica.Top.Y |
Il dato nel campo Y del primo atleta in accordo con la classifica richiesta. Il campo Y può essere qualsiasi campo. |
ClassificaX.Ultimo.Y NomeClassifica.Ultimo.Y |
Il dato nel campo Y dell'ultimo atleta in accordo con la classifica richiesta. Il campo Y può essere qualsiasi campo. |
ClassificaX.Prev.Y NomeClassifica.Prev.Y |
Il dato nel campo Y dell'atleta che precede in accordo con la classifica richiesta. Il campo Y può essere qualsiasi campo. |
ClassificaX.Next.Y NomeClassifica.Next.Y |
Il dato nel campo Y dell'atleta che segue in accordo con la classifica richiesta. Il campo Y può essere qualsiasi campo. |
Campi punteggio squadra
Dopo aver definito il Punteggio Squadra con l'ID X, possono essere usati i seguenti campi addizionali (nota che puoi sempre sostituire PS con il nome del Punteggio della Squadra, es Punteggi Squadra M/F.Classifica).
Anche le classifiche dei punteggi di squadra usano la logica con punto per una formattazione aggiuntiva delle classifiche.
PSx.Classifica |
Posizione della squadra, es. 13 |
|
|
.P |
Posizione della squadra con un punto, es. 13. |
.Th | Posizione della squadra in valore ordinale, es. 13-esimo | |
.Max | numero di squadre classificate nello stesso gruppo del partecipante considerato. | |
PSx.TempoDecimale1 |
Tempo in secondi della squadra | |
PSx.Tempo1 |
Tempi formattati della squadra | |
PSx.Conteggiati |
1 se il partecipante è stato segnato, altrimenti 0. Quando si utilizza l'opzione Max. Num. di Squadre: 1 e mostra tutti i partecipanti, allora non verranno segnati tutti i membri del team. |
|
PSx.Genere |
Sesso dei membri della squadra conteggiati. 1=solo uomini, 2=solo donne, 3=uomini e donne |
|
PSx.GenereTutti |
Sesso della squadra compresi tutti i membri della squadra. |
|
PSx.Posizione |
Posizione dell'atleta all'interno della squadra, in base ai risultati o all'impostazione dell'ordine del punteggio di squadra. | |
PSx.SquadraIndice |
Numero della squadra, se ci sono più squadre per la stessa società. | |
PSx.NumeroMembri |
Numero di membri nella squadra. | |
PSx.NumeroDonne |
Numero di donne nella squadra. | |
PSx.NumeroMembriConteggiati |
Numero dei membri conteggiati nella squadra. | |
PSx.NumeroDonneConteggiate |
Numero delle donne conteggiate nella squadra. | |
PSx.TempoDecimaleTop1 |
Tempi in secondi della prima squadra in classifica. | |
PSx.TempoDecimalePrev1 |
Tempi in secondi della squadra precedente nella classifica. | |
PSx.TempoTestoTop1 |
Tempi formattati della prima squadra in classifica. | |
PSx.TempoTestoPrev1 |
Tempi formattati della squadra precedente in classifica. |
Campi di Pagamento & Finanza
I campi con il prefisso PO si riferiscono al Pagamento Online. Se si eseguono modifiche alla quota di iscrizione dopo una registrazione regolare, cambierà [QuotaIscrizione] ma non [POQuotaIscrizione]. I campi del Pagamento Online fanno sempre riferimento alle impostazioni al momento della registrazione.
Campo | Spiegazione |
POID |
ID del pagamento |
POSaldo | Saldo del pagamento online (<0: non pagato completamente, >0: pagato troppo) |
POSaldoData | Data del saldo di pagamento |
POValuta | Valuta usata per il metodo di pagamento scelto |
POMetodo |
Metodo di pagamento. 1=ELVD, 2=CCEUR, 3=CCCHF, 4=UEBD, 5=BAR, 6=SPF, 7=PPAL, 8=UEBCH, 9=VOUC, 10=EINZCH, 11=UEBAT, 12=SOFUEB, 13=ELVAT, 14=PPalGBP, 15=PPalUSD, 16=SEPA, 17=CCGBP, 19=SEPADATA, 20=OWNEPay, 21=OwnPPal, 22=OwnWireT, 24=OwnPaysBuy, 25=OwnPaytrail, 26=OwnOnePay , 27=TelrAccount, 28=OwnOnePay Domestic, 31=Stripe |
POQuotaIscrizione | Quota di iscrizione totale caricata attraverso la registrazione online |
PODaPagare |
Totale da pagare (valuta del metodo di pagamento) |
POTassaPagamento | Commissioni totali per il pagamento (valuta del metodo di pagamento) |
POTassaUtente |
Tasse di commissione coperte dal partecipante |
PORiferimento | Riferimento di pagamento |
LinkPagamento | Link per pagare l'importo della quota di iscrizione rimanente |
QuotaIscrizione | Quota di iscrizione calcolata |
TassaBase | Quota di iscrizione calcolata senza tasse opzionali |
PagataQuotaIscrizione | 1 se la quota è stata pagata, altirmenti 0 |
QuotaIscrizionePagata | Importo della quota di iscrizione pagata solo durante la registrazione |
ProprietarioAccount | Dettagli del conto bancario del partecipante |
AccountNum | Dettagli del conto bancario del partecipante |
AccountNumX | Numero di conto con le ultime tre cifre sostituite da X |
FilialeNum | Dettagli del conto bancario del partecipante |
IBAN | Dettagli del conto bancario del partecipante |
IBANX | IBAN con le ultime tre cifre sostituite da X |
BIC | Dettagli del conto bancario del partecipante |
MandatoSEPA | Dettagli del conto bancario del partecipante |
Banca | Dettagli del conto bancario del partecipante |
Vouchers
I campi Voucher usano la logica con punto
Field | Description |
Voucher | Codice Voucher usato |
Voucher.Importo | Importo del Voucher |
Voucher.Commento | Commento Voucher |
Elenco numerato
Le posizioni in classificha sono un concetto utile poiché sono definite una volta e possono quindi essere utilizzate ovunque - in una lista, in un attestato, in un messaggio di testo. Tuttavia, a volte potresti voler creare rapidamente un elenco numerato senza creare una definizione di classifica.
Supponiamo che tu abbia bisogno di un elenco di risultati di tutti i partecipanti di nome John. Basta aggiungere un filtro all'elenco e utilizzare il campo Posizione anziché la classifica:
Sembra buono, ma dovrebbe ricominciare da pos 1 per la gara 5K. Per questo, puoi usare il campo Posizione1 che ricomincerà da 1 quando il livello di raggruppamento più alto cambia il valore. Position2 ricomincerebbe da 1 quando il primo o il secondo livello di raggruppamento più alto cambia il valore.
Altro
Altri campi dati
Random |
Numero casuale compreso tra 0 e 1 |
CRLF | Inserisce \r\n per creare una nuova riga in un'espressione di testo |
Fields List Reference
Type | ||||
Participant Data Fields | Bib | Lastname | Firstname | Title |
YearOfBirth | DateOfBirth | Gender | Nation | |
Contest | Club | License | Status | |
Comment | Transponder1 | Transponder2 | RegNo | |
Street | ZIP | City | State | |
Country | Phone | CellPhone | ||
Created | Modified | CreatedBy | Language | |
Automatic Fields | ID | AccountOwner | AccountNo | BranchNo |
Bank | IBAN | BIC | SEPAMandate | |
Voucher | Created | Modified | GroupRegPos | |
GroupID | ||||
Derived Fields | Age* | AgeOnDec31 | YearOfBirth2 | StatusText |
LastFirstName | FirstLastName | TransponderInChipFile | Random | |
AccountNoX | IBANX | |||
Country and Nation | Country.Name | Nation.Name | Country.Name.lang | Nation.Name.lang |
Country.IntName | Nation.IntName | Country.Alpha2 | Nation.Alpha2 | |
Country.Alpha3 | Nation.Alpha3 | Country.IOC | Nation.IOC | |
Country.UCI | Nation.UCI | Country.Flag | Nation.Flag | |
Country.Currency | Nation.Currency | Country.isEU | Nation.isEU | |
Country.MultiName | Nation.MultiName | |||
Event Data Fields | Event | Event.Name | Event.ID | Event.Date |
Event.Date1 | Event.Date2 | Event.Type | Event.Country | |
Event.ZIP | Event.Location | Event.Street | Event.Currency | |
Event.AttributeName | ||||
Contest | Contest | Contest.Name | Contest.Date | Contest.Start |
Contest.Start | Contest.Start.Text | Contest.Start.Decimal | Contest.TimeFormat | |
Contest.FinishTimeLimit | Contest.FinishTimeLimit.Text | Contest.FinishTimeLimit.Decimal | Contest.TimeRounding | |
Contest.Length | Contest.Length.Unit | Contest.Length.Meter | Contest.OrderPos | |
Contest.Laps | Contest.MinLapTime | Contest.AttributeName | Eligible | |
Age Groups | AgeGroup.Name | AgeGroup.NameShort | AgeGroup.ID | AgeGroup.OrderPos |
AgeGroup2.Name | AgeGroup2.NameShort | AgeGroup2.ID | AgeGroup2.OrderPos | |
AgeGroup3.Name | AgeGroup3.NameShort | AgeGroup3.ID | AgeGroup3.OrderPos | |
Result Fields | TimeX.Exists | TimeX.Positive | TimeX.Decimal | TimeX.Rounded |
TimeX.Text | TimeX.Info | TimeX.Overwritten | ||
TX | TRX | |||
Time Fields | Started | Finished | ||
Time | Time.Exists | Time.Positive | Time.Decimal | |
Time.Rounded | Time.Text | FinishTimeLimit | FinishTimeLimitText | |
Time0 | Time0.Decimal | Time0.Rounded | ||
Timing Points | TimingPoint.LapX | TimingPoint.ReadX | TimingPoint.LapXText | TimingPoint.ReadXText |
Split fields | SplitName | SplitName.TOD | SplitName.Gun | SplitName.Chip |
SplitName.Sector | LegName | SplitName.Prev.FieldName | SplitName.Next.FieldName | |
.Predicted | .Text | .Decimal | .Rounded | |
.Name | .Label | .OrderPos | ||
Split Ranks | .Overall | .Gender | .AgeGroup | |
.P | .Th | .Max | ||
Split Gaps | .GapTop | .GapPrev | ||
.Top | .Last | .Prev | .Next | |
Split/Leg Calculations | .Exists | .Positive | .SplitCount | .Distance(.Meter/.Km/.Miles) |
.SpeedOrPace | .Speed(.Decimal) | .Pace(.Decimal) | ||
Rank Fields | RankX | RankX.p | RankX.th | RankX.Max |
RankX.Top.FieldName | RankX.Last.FieldName | RankX.Prev.FieldName | RankX.Next.FieldName | |
TeamScore Fields | TSx.Rank | TSx.Rank.P | TSx.Rank.th | TSx.Rank.Max |
TSx.DecimalTime1..4 | TSx.Time1..4 | TSx.Position | TSx.TeamIndex | |
TSx.Scored | TSx.NumberScored | TSx.NumberWomenScored | TSx.NumberWomen | |
TSx.Number | TSx.Gender | TSx.GenderAll | ||
TSx.DecimalTimeTop1..4 | TSx.DecimalTimePrev1..4 | TSx.TimeTextTop1..4 | TSx.TimeTextPrev1..4 | |
TSX.PY.[FieldName] | ||||
Team Lap Race Fields | TSX.LTNumber | TSX.LTMin | TSX.LTAvg | TSX.LTMax |
TSX.LapTimeMin | TSX.LapTimeAvg | TSX.LapTimeMax | TSX.LTMinLap | |
TSX.LTMaxLap | TSX.LTSum | TSX.LTLastLap | TSX.LTEtaps | |
TSX.LTLemans | TSX.LTActive | |||
TSX.LTTeamNumber | TSX.LTTeamNumberWomen | TSX.LapTimeTeamAbs(n) | TSX.LapTimeTeam(n) | |
TSX.LTTeamMin | TSX.LTTeamAvg | TSX.LTTeamMax | TSX.LapTimeTeamMin | |
TSX.LapTimeTeamAvg | TSX.LapTimeTeamMax | TSX.LTTeamMinLap | TSX.LTTeamMaxLap | |
TSX.LTTeamLastLap | TSX.LTTeamSum | TSX.LTTeamTotal | TSX.LTTeamEtaps | |
TSX.LTTeamLemans | TSX.LTTeamLemansBib | TSX.LTTeamPenaltyTime | TSX.LTTeamPenaltyLaps | |
Payment & Finance Fields | OPID | OPBalance | OPBalanceDate | OPCurrency |
OPMethod | OPEntryFee | OPToPay | OPPaymentFee | |
OPUserFee | OPReference | PaymentLink | EntryFee | |
BasicFee | EntryFeePaid | PaidEntryFee | AccountOwner | |
AccountNo | AccountNoX | BranchNo | IBAN | |
IBANX | BIC | SEPAMandate | Bank | |
Voucher | Voucher.Amount | Voucher.Remark |
* Age is calculated based on the Event date.
Operatori
I seguenti operatori possono essere utilizzati nelle espressioni:
Operatori aritmetici
Utilizzando i seguenti operatori aritmetici è possibile effettuare qualsiasi tipo di calcolo:
+ | addizione |
- | sottrazione |
* | moltiplicazione |
/ | divisione |
\ | divisione intera |
% | il resto dopo la divisione intera |
^ | elevamento a potenza |
( | parentesi aperta |
) | parentesi chiusa |
: | operatore di tempo, moltiplica l'operando di sinistra per 60 e aggiunge l'operando di destra |
Se desideri sommare il numero di gara e l'anno di nascita e moltiplicare il risultato per due, usa la seguente espressione:
([Bib] + [Year]) * 2
Operatori di confronto
Utilizzare i seguenti operatori di confronto per confrontare due valori:
< | minore di |
> | maggiore di |
= | uguale |
<> | diverso |
<= | minore o uguale |
>= | maggiore o uguale |
Operatori logici
Usando gli operatori logici, puoi combinare due condizioni, per esempio in un Filtro. Sono disponibili i seguenti operatori:
- OR (almeno uno dei due valori è vero)
- XOR (o uno o l'altro ma non entrambi)
- AND (e)
Operatori di array
- IN
- NIN (NOT IN)
Se un dato è IN o NOT IN nella stringa di testo, più valori possono essere separati da virgole.
Esempi:
[Gara] IN "2,4,8-10"
[Cognome] NIN "Smith,Doe"
Funzioni
Le Funzioni aggiungono una certa funzionalitá alle espressioni. Dopo il nome della funzione, i parametri seguono separati da punto e virgola tra parentesi:
NomeFunzione(parametro1; parametro2; parametro3; ...)
Funzioni di controllo
Funzioni stringhe
Funzioni matematiche
Funzioni Risultati
Le funzioni risultati sono usate per comparare i risultati individuali dei partecipanti.
La maggior parte usano il formato TFunzione(a;b) dove a e b definiscono il range degli ID Risultati che devono essere presi in considerazione.
Alcune funzioni hanno parametri aggiuntivi che sono spiegati con la funzione. Ci sono ulteriori variazioni aggiuntive di ciascuna funzione che sono anche spiegate all'interno della sezione.
Funzioni di conversione
Funzioni di tempo e data
Funzioni di analisi
Inter-Record Functions
Altre funzioni
Funzioni di punteggio
Functions Reference
Campi definiti dall'utente
Usando Campi definiti dall'utente puoi assegnare un nome specifico a qualsiasi espressione. È quindi possibile accedere all'espressione in tutto il file evento. Sono definiti in Finestra Principale -> Dati Partecipanti->Campi/Funzioni personalizzati.
Per esempio, di default, il campo DisplayName definito dall'utente viene definito usando questa espressione:
[Cognome] & ", " & trim([Titolo] & " " & [Nome])
DisplayName viene utilizzato in quasi tutti gli elenchi per mostrare quell'espressione. Se decidi di usare un'espressione diversa come
UCase([Cognome]) & "" & [Nome]
allora devi solo cambiare il campo definito dall'utente una volta invece di modificare ogni singolo elenco.
Funzioni definite dall'utente
Simile a Campi definiti dall'utente è anche possibile personalizzare le funzioni. Anche queste si possono ritrovare in Finestra principale ->Dati Partecipanti -> Campi/Funzioni personalizzate. Supponiamo che tu voglia cambiare le lettere maiuscole / minuscole, in modo che la prima lettera sia maiuscola e le altre lettere minuscole. Per questo è possibile definire la funzione RightCase:
RightCase(x) lcase(left([x];1)) & lcase(mid([x]; 2))
Ora puoi usare la nuova funzione come qualsiasi altra funzione. Ad esempio, questo restituirà Raceresult:
RightCase("raCEreSuLt")
Le funzioni possono anche avere diversi parametri. Ad esempio, definire una funzione add:
add(x;y) [x]+[y]
I nomi dei parametri possono essere definiti liberamente. Quando li utilizzi nella definizione della funzione, devono essere racchiusi tra parentesi quadre.
Filtro
In molte sezioni di RACE RESULT 12 troverai una casella di testo per inserire un filtro. Un filtro è una espressione che restituisce vero o falso. Si basa sul confronto, sull'array e sugli operatori logici.
I nomi dei campi saranno tra parentesi quadre e i valori (esclusi i numeri) tra virgolette doppie. Per esempio:
[Cognome]="Miller"
Se si desidera collegare diversi filtri, è possibile utilizzare gli operatori logici AND e OR:
[Cognome]="Miller" AND [Città]="New York"
Procedura guidata dei campi
La Procedura guidata dei campi appare in molti punti in RACE RISULT 12, ad esempio sotto i campi di impostazione. Nelle impostazioni di una lista o quando si definisce una classifica. La procedura guidata rende più semplice la selezione dei campi mostrandoli in una lista. Questa compare automaticamente quando inizi ad inserire qualcosa nel campo di testo, se invece modifichi un campo esistente puoi scegliere di visualizzarla cliccando sull'icona dell'ingranaggio presente sulla destra del campo.