Campi, Espressioni e Funzioni

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 EspressioniFunzioni.

[

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 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 CampiFunzioni, Funzioni personalizzate, Operatori e Campi Personalizzati.

Campi

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)

Email

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

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
Da 1 a 5 = Arrotondamento per ECCESSO dal secondo al decimillesimo
Da -1 a -5 = Arrotondamento per DIFETTO dal secondo al decimillesimo
Da 11 a 15 = Arrotondamento MATEMATICO dal secondo al decimillesimo

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 .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
NomeClassifica

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
NomeClassifica.p

La posizione con un punto vicino, es 47.

ClassificaX.Th
NomeClassifica.Th
La posizione secondo un numero ordinale, es 47esimo

ClassificaX.Max
NomeClassifica.Max

Il numero di partecipanti dello stesso gruppo che sono stati classificati, es 495.
Questo aiuta a creare nella lista di output qualcosa come: 47 di 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
NomePunteggioSquadra.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
PSx.TempoDecimale2
PSx.TempoDecimale3
PSx.TempoDecimale4

Tempo in secondi della squadra

PSx.Tempo1
PSx.Tempo2
PSx.Tempo3
PSx.Tempo4

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.
1=solo uomini, 2=solo donne, 3=uomini e donne

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
PSx.TempoDecimaleTop2
PSx.TempoDecimaleTop3
PSx.TempoDecimaleTop4

Tempi in secondi della prima squadra in classifica.

PSx.TempoDecimalePrev1
PSx.TempoDecimalePrev2
PSx.TempoDecimalePrev3
PSx.TempoDecimalePrev4

Tempi in secondi della squadra precedente nella classifica.

PSx.TempoTestoTop1
PSx.TempoTestoTop2
PSx.TempoTestoTop3
PSx.TempoTestoTop4

Tempi formattati della prima squadra in classifica.

PSx.TempoTestoPrev1
PSx.TempoTestoPrev2
PSx.TempoTestoPrev3
PSx.TempoTestoPrev4

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 Email 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. 

es. TMin(1;10) - restituisce il tempo minore presente tra i risultati con ID da 1 a 10

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

Type  

 

   
Arithmetic Operators + (addition) - (subtraction) * (multiplication) / (division)
  \ (integer division) % (remainder) ^ (exponentiation) : (time operator)
         
Comparison Operators < (less than) > (greater than) = (equal to) <> (not equal to)
  <= (less than or equal to) >= (greater than or equal to)    
         
Logical Operators OR  XOR (one or the other) AND  
         
Array Operators  IN NIN (not in)    

 

       
Control Functions if() switch() choose()  
         
String Functions left() right() mid() instr()
  instr2() val() len() lcase()
  ucase() trim() string() replace()
  reduceChars() removeAccents() chr() asc()
  ordinal() similarity() CorrectSpelling() stringCount()
  SplitString()      
         
Mathematical Functions int() sqrt() quersumme() abs()
  round() speed() pace()  
         
Result Functions TCount() TCountIf() TSum() TRSum()
  TMin() TRMin() TMinID() TMinName()
  TAvg() TRAvg() TMax() TRMax()
  TMaxID() TMaxName() TFirst() TRFirst()
  TFirstName() TFirstID() TLast() TRLast()
  TLastID() TLastName() T() TR()
  TName() TText() TPrev() DMaxMin()
  TMinIf() TMaxIf() TMinIfID() TMaxIfID()
         
Conversion Functions urlencode() NumberToWords() ZahlInWort() TimeFromString()
  md5() crc7()    
         
Time and Date Functions format() date() now() ElapsedTime()
  AgeOnDate()      
         
Check Functions inRange() isNumeric() isAlpha() hasChip()
  search() isUCICode() isUCIID() hasEntryFee(entryFeeID)
  isEligible() isValidEmail()    
         
Inter-Record Functions BunchTime() GapTimeTop() GapTimePrev() TeamGapTimeTop()
  TeamGapTimePrev() DCount() DSum() DMin()
  DAvg() DMax() DFirst() DLast()
  DConcat() DQuantile()    
         
Other Functions nz() min() max() first()
  last() table() Setting()     GetSex()    
  translate() rank(x) Text() ChangeLink()
         
Scoring Functions AgeGradedOC2015() AgeGradedLevel2015() AgeGradedFactor2015()  
  AgeGradedOC2020() AgeGradedLevel2020() AgeGradedFactor2020()  

 

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.