Los Campos contienen datos los cuales pueden ser datos almacenados o datos calculados a partir de otros datos como un rango.
Al usar Expresiones y Funciones puede combinar campos, hacer cálculos, modificar valores, y mostrar el resultado en Listas or Certificados. Por ejemplo, un Campo Adicional de Si/No tiene el valor 1 si se está marcado y 0 en caso contrario. Usando una expresión puede mostrar si/no o X/- en su lugar.
Syntax
Definition of Syntax (programming languages): The syntax of a computer language is the set of rules that defines the combination of symbols that are considered to be a correctly structured document or fragment in that language.
Definition of Syntax: The arrangement of symbols and characters to form expressions or functions.
Symbols and their names
The following are symbols used to write Expressions and functions.
[ |
Open bracket |
] | Close bracket |
( | Open or left parenthesis |
) | Close or right parenthesis |
" | Quote, quotation mark, or inverted comma |
| | Pipe, or vertical bar |
& | Ampersand |
{ | Open brace, squiggly brackets, or curly bracket |
} | Close brace, squiggly brackets, or curly brackets |
; | Semicolon |
: | Colon |
# | Hash |
When to use each symbol
When to use Brackets?
Brackets are used when referencing a Field within an Expression or a function.
Example: If we want to reference a participant's Contest we would do this
[Contest]
Example: If we want to compare a participant's Contest to see if it matches a specified contest id we need to do this
[Contest] = 1
If a participant is in contest 1 when we reference [Contest] with the use of brackets we will get the value of 1 back. This would evaluate the above example as true because 1 does equal to 1.
When to use Parentheses?
Parentheses are used to contain parameters within a Function.
Example: If we wanted to write an if statement to return yes if a participant is in contest 1 otherwise return no we could do this
if([Contest]=1;"yes";"no")
In the above example, we are using an if statement with parentheses to contain our expression.
Parentheses are also used to define the order of operations.
Example: You have a variable laps race with a parade lap, where the parade lap is 1 mile and a full lap is 10 miles. You want to calculate how many miles each participant completes, including the parade lap. You could use parentheses to define the order of operations for this calculation.
(([NumberOfLaps]-1)*10)+1
First, we want to calculate the number of full laps a participant completes. To do this, we subtract 1 lap (the parade lap) from the NumberOfLaps data field. Then we need to multiply that value by 10 miles. Lastly, we need to add 1 mile for the parade lap. If we were to fill in the above example with 5 laps the result would be 41 miles, which is 4 10-mile laps and 1 parade lap of 1-mile distance. This example assumes that the start/lap/finish timing point is the same for all laps, normal laps and the parade lap.
When to use Braces?
Braces are used when referencing the value of a Record Multiplier within a List.
Example: If we wanted to reference laps 1 through 3 and the laps are named Lap1, Lap2, Lap3 under Main Window->Special Results then we could do this
[Lap{n}]
In the above example, we are referencing laps 1 through 3 by appending the text Lap with the value of the record multiplier which is defined within two braces.
Braces are also used to translate strings into different languages.
Example: If we want the example above to display "Yes" or "No" when using the software or my.raceresult.com in English, or "Si" or "No" for Spanish, we would write:
if([Contest]=1;"{EN:yes|ES:si}";"no")
Note that the value for the different languages is separated by a pipe.
Braces are also used to call a Splits Selector in an output list.
Example: To call a selector you need to surround the selector with braces like this:
{Selector}.TimePositive
When to use Quotes?
Quotes are used to reference a text string.
Definition of String (computer science): A string is traditionally a sequence of characters, either as a literal constant or as some kind of variable.
Example: If we wanted to find all participants with the first name of John then we could set a filter like this
[Firstname] = "John"
In the above example, John is in quotation marks because his name is a String we are trying to compare to. Firstname is in brackets because it is a filed that will return a String value to compare with the String John.
When to use a Semicolon?
Semicolons are used to separate parameters within an Function.
Example: In an if statement there are three parameters. Each parameter needs to be separated with a semicolon like this
if([Bib]=1;"yes";"no")
In the above example, we are checking to see if Bib is equal to 1. If Bib is equal to 1 (true) then we return Yes otherwise (false) we return "No".
When to use an Ampersand?
Ampersands are used to append one string to another.
Example: If you want to add a string like "John" to a data field like [Lastname] then you can do something like this
"John " & [Lastname]
In the above example if the value of [Lastname] was "Doe" then the returned string would be "John Doe". This is also known as concatenating two strings together.
When to use a Hash?
A hash indicates that the expression is full-text. This way, you don't need to use quotes around text strings, and to use ampersands to combine fields, strings and functions. Fields and functions do need to be in square brackets.
Example: You can obtain the same result as above by writing the expression like this:
#John [Lastname]
Expressions
RACE RESULT offers two types of expressions. In Normal Expressions fixed texts will be in quotations marks, fields, functions and user defined fields/functions in square brackets and the text operator & connects several parts:
"My name is " & [FirstName] & " " & [LastName]
If you use this expression on a certificate, it will show for example: My name is John Doe.
Full-Text Expressions, on the other hand, are more suitable for longer texts such as the text of the confirmation email of the online registration. They start with a hash tag (#) and fields, functions and user defined fields/functions will be in square brackets:
#My name is [FirstName] [LastName]
In expressions, you can use Fields, Functions, User Defined Functions, Operators and User Defined Fields.
Campos
Los Campos se pueden diferenciar entre Campos de Datos, los cuales se usan para almacenar información como Apellido o Club, y campos que contienen valores calculados de otros datos como rango.
Todos los campos se pueden mostrar en listas o certificados directamente o se pueden usar en expresiones. Se pueden seleccionar fácilmente en el Asistente de Campo.
Algunos campos utilizan una lógica de puntos, lo que significa que para los conjuntos de datos que todos hacen referencia al mismo contexto se utiliza el mismo prefijo y parámetros subsiguientes se pueden definir despúes de un período.
Por ejemplo, la Competencia puede tener una variedad de parámetros relacionados con la competencia que se pueden anexar, como Nombre.Competencia o Longitud.Competencia.
Campos de Datos del Participante
Los Campos de Datos del Participante son específicos para cada registro individual del participante.
Se pueden introducir o importar los siguientes registros para cada participante.
Campo | Tipo |
Dorsal | int |
Apellido |
string (100) |
Nombre |
string (100) |
Título |
string (15) |
Año De Nacimiento |
int |
Fecha De Nacimiento | date |
Sexo |
string (2) |
Nación |
string (50) |
Competencia | int |
Club |
string (100) |
Licencia |
string (25) |
Estatus | int |
Comentario |
string (*) |
Transpondedor1 |
string (40) |
Transpondedor2 |
string (40) |
RegNo |
int |
Calle |
string (100) |
CP |
string (10) |
Ciudad |
string (50) |
Estado |
string (3) |
País |
string (50) |
Correo electrónico |
string (100) |
Teléfono |
string (50) |
Tel. Móvil |
string (255) |
El sistema genera automáticamente los siguientes campos durante la creación; vea los enlaces adicionales para obtener más información.
Campo | Tipo |
ID |
int |
Titular de la Cuenta |
string (50) |
No. de Cuenta |
string (12) |
No. de Sucursal |
string (12) |
Banco |
string (50) |
IBAN |
string (36) |
BIC |
string (11) |
MandatoSEPA |
string (35) |
Cupón |
string (20) |
Creado | date |
Creado Por |
string (25) |
Modificado | date |
RegPosGrupo |
int |
ID del Grupo | int |
Campos Derivados
Los Campos Derivados se pueden utilizar como cualquier otro campo de datos, pero se derivan de otros campos del participante y no se pueden modificar.
Edad |
Derivado de la fecha de nacimiento y de la fecha del evento |
Edad el 31 de Dic |
Edad del participante el 31 de diciembre del año del evento |
Año De Nacimiento2 |
two digit year of birth (e.g. 83), derived from date of birth |
NombreApellido |
Combina el apellido y el nombre, por ejemplo, Doe, John |
ApellidoNombre |
Combina el nombre y el apellido, por ejemplo, John Doe |
No. X Cuenta | Como "No. de Cuenta", pero los últimos 3 caracteres se sustituyen por X |
IBANX |
Como IBAN, pero los últimos 3 caracteres se sustituyen por X |
TextoEstatus | Devuelve el nombre del estatus según el campo Estatus (DSQ, DNF, etc.) |
Aleatorio | Devuelve un valor aleatorio entre 0 y 1 |
TranspondedorEnArchivoDeChip |
Si existe, este campo devuelve el código del transpondedor asignado por el Archivo de Chip |
Campos de Datos del Evento
También tiene acceso a los muchos atributos del evento y a la competencia o al grupo de edad seleccionado. Un ejemplo de esto sería un certificado de carrera: en lugar de poner la fecha del evento en el certificado como texto fijo, mejor use el campo [FechaEvento] para que no tenga que actualizar el certificado el año siguiente.
Evento
Consultar la configuración en la Ventana Principal - Configuración Basica
Evento | Nombre del Evento |
Nombre.Evento | Funciona igual que [Evento] |
ID.Evento | ID Evento |
Fecha.Evento | Fecha de Inicio del Evento |
Fecha.Evento1 | Fecha de Inicio del Evento |
Fecha.Evento2 | Fecha de Inicio del Evento |
Tipo.Evento | Tipo de Evento |
Pais.Evento | Ubicación del Evento - Pais |
CP.Evento | Ubicación del Evento - Codigo Postal |
Ubicación.Evento | Ubicación del Evento - Ciudad |
Calle.Evento | Ubicación del Evento - Calle |
Moneda.Evento | Moneda del Evento |
NombreAtributo.Evento | El correspondiente Atributo definido por el usuario para el Evento |
Competencia
Competencia | ID del concurso asignado por el participante | ||
Nombre.Competencia | Nombre de Competencia | ||
Fecha.Competencia | Fecha de inicio de la competencia | ||
Inicio.Competencia | Hora de inicio de la competencia planificado | ||
.Texto | Formato de la hora de inicio como texto | ||
.Decimal | Formato de la hora de inicio como valor incial | ||
Competencia.TiempoLimiteDeFinalización |
Limite de tiempo de finalización cuando se asigna por concurso |
||
.Texto | Formato limite de tiempo de finalización como texto | ||
.Decimal | Formato limite de tiempo de finalización como valor decimal | ||
Contest.Length |
Duración de concurso tal como se ha escrito |
||
.Unidades | Unidad asignada para Duracion.Competencia | ||
.Metros | La longitud de la competencia como valor en metros | ||
Competencia.FormatoDeTiempo | Formato de hora de competencia | ||
Competencia.TiempoRedondeado |
Un valor correspondiente al redondeo para arriba de tiempo que se aplicará a la competencia. -1 a -5 = Redondeo para ABAJO al segundo diez milésima mas cercano |
||
Competencia.vuelta | Numero de vueltas para la competencia | ||
Competencia.TiempoMinVuelta | Tiempo minímo de vuelta del concurso | ||
Competencia.NombreAtributo | El atributo definido por el usuario correspondiente para el concurso | ||
Admisible |
0 si el participante es elegible para la competencia asignada 1 si la edad es mayor que la fecha de nacimiento máxima (DOB) 2 si la edad es inferior a la fecha de nacimiento mínima (DOB) 4 si el género es incorrecto 5 si la edad es mayor que la fecha de nacimiento máxima (DOB) y el género es incorrecto 6 si la edad es inferior a la fecha de nacimiento mínima (DOB) y el género es incorrecto |
GrupoEdad
GrupoEdad/GrupoEdad1*, GrupoEdad2, GrupoEdad3 |
ID of the participants assigned Age Group, referring to sets 1, 2 and 3 respectively |
GrupoEdadX.ID |
ID del Grupo de Edad |
GrupoEdadX.Nombre |
Nombre del grupo de Edad |
GrupoEdadX.NombreCorto | Nombre Corto del grupo de Edad |
GrupoEdadX.OrdenPos | La posición del grupo de edad de acuerdo con el pedido en la configuración |
* GrupoEdad y GrupoEdad 1 funcionan identicamente y se pueden utilizar para todos los derivados.
TarifaEntrada
TarifaEntrada | Monto de la tarifa de entrada, la cual se calcula de acuerdo con la Configuración de la Tarifa de Entrada]. |
TarifaBásica | Igual que TarifaEntrada, pero sin considerar las tarifas de entrada opcionales. |
Time Fields
The following fields refer to the Contest Finish Result:
Time |
Formatted time according to Time Format settings |
|
.Exists | Returns a 1 if there is a time of any value in the result | |
.Positive | Returns 1 if a time greater than 0 is saved in the result. | |
.Decimal | Numerical value saved | |
|
.Rounded |
Numerical value rounded according to Time Rounding settings |
.Text |
Time as text formatted hh:mm:ss |
|
Finished | Returns 1 if a time > 0 is saved in the result, equivalent to [Time.Positive] |
The following fields refer to the Contest Start Result:
Started | Returns 1 if a time > 0 is saved in the result, if no start result is defined then this will be true if there is a time in the Result with the lowest ID. |
The following refer to Start Times and Finish Time Limits. Fields for the Start Time work in the same way as general Result Fields.
Time0 | Assigned Start time formatted according to the Time Format settings |
Time0.Decimal T0 |
Numerical Value of the assigned Start time |
Time0.Rounded TR0 |
Numerical Value of the assigned Start time rounded according to Time Rounding settings |
FinishTimeLimit | Finish Time Limit as a numerical (decimal) value |
FinishTimeLimitText | Finish Time Limit formatted as a formatted time according to the Time Format settings |
Lap times in Raw Data mode can be accessed without the need to set up individual lap calculations. Replace TimingPointName and X. Lap times considers contest Minimum Lap Time.
TimingPointName.LapX | Lap time of lap X in seconds. |
TimingPointName.ReadX | Race time after the read X in seconds |
TimingPointName.LapXText | Formatted lap time X which considers contest rounding settings |
TimingPointName.ReadXText | Formatted race time X which considers contest rounding settings |
Campos de Splits
Cada split y sector calcula automáticamente un gran número de campos, que antes con race result 11 se tenían que crear en Resultados. Los splits y sus campos derivados se invocan usando un string el cual siempre comienza con el nombre del split o el nombre del sector.
Splits utiliza el formato de Dot Logic para todos los campos y todos los campos Split comienzan con el nombre del Split o el nombre del Tramo
por ejemplo: [NombreSplit.NombreCampo]
En ocasiones puede servir acceder a los datos ya sea del split anterior o del siguiente. Para hacer esto, añada .prev o .next al nombre del split y así cualquier otro campo de Splits puede ser invocado de la misma manera.
Por ejemplo: [SplitName.Prev.Fieldname] o [SplitName.Next.FieldName]
Para tablas de posiciones en vivo puede ser útil ingresar los datos del último Split por el que un participante cruzó. Para hacer esto reemplace SplitName con {LastSplit}, esto devolverá los campos del último Split de acuerdo al orden de los Splits en la configuración.
Por ejemplo: [{LastSplit}.FieldName]
Campos de Resultados
Los Resultados tienen valores numéricos, los cuales en la mayoría de los casos son tiempos en segundos. Sin embargo, también pueden representar puntos, número de vueltas u otros valores.
Los campos de resultados utilizan la lógica de puntos mediante TiempoX o NombreDelResultado, reemplace X, p. ej. TiempoDecimal5 por el valor en el resultado con el ID 5.
Para cada resultado están disponibles los siguientes campos
TiempoX NombreDelResultado |
Tiempo formateado según Formato de Tiempo ajustes |
|
.Decimal | Valor numerico guardado | |
|
.Redondeado |
Valor numerico redondeado de acuerdo con ajustes deRedondeo de Tiempo |
.Texto |
Tiempo como texto formateado hh:mm:ss |
|
.Positivo | Devuelve 1 si se guarda un tiempo > 0 en el resultado | |
.Info | Texto guardado junto con la hora, por lo general detalles del sistema de cronometraje |
También se pueden utilizar las siguientes versiones cortas, estas no aolican a la Logica de Puntos.
Tx | Valor numerico guardado |
TRx |
Valor numerico redondeado de acuerdo con ajustes de Redondedo de Tiempo |
Campos de Rango
Después de definir la clasificación con el ID X, los siguientes campos adicionales se pueden utilizar.
Los campos de rango usan la lógica de puntos para devolver una variedad de campos, en todos los campos de lógica de puntos se puede utilizar RankX o RankName.
RangoX |
El lugar del participante de acuerdo a la definición del rango, e.g. 47 |
RangoX.p |
El lugar con un punto al final, por ejemplo 47.
|
RangoX.th NombreDelRango.th |
El rango como valor ordinal, por ejemplo, 47th |
RangoX.Max NombreDelRango.Max |
El número de participantes en el mismo grupo, por ejemplo 495. MaxRank ayuda a crear un output como: 47 de 495 |
RangoX.Top.Y NombreDelRango.Top.Y |
Los datos en el campo Y del primer atleta de acuerdo con el rango especificado. El campo Y puede ser cualquier nombre de campo |
RangoX.Last.Y NombreDelRango.Last.Y |
Los datos en el campo Y del último atleta según el rango especificado. El campo Y puede ser cualquier nombre de campo |
RangoX.Prev.Y NombreDelRango.Prev.Y |
Los datos en el campo y del primer atleta de acuerdo con el rango especificado. El campo Y puede ser cualquier nombre de campo |
RangoX.Next.Y NombreDelRango.Next.Y |
Los datos en el campo Y del alteta anterior según el rango X. El campo Y puede ser cualquier nombre de campo |
Campos de Puntuación por Equipo
Después de definir la Puntuación de Equipo con el ID X, se pueden utilizar los siguientes campos adicionales (tenga en cuenta que siempre puede sustituir TSx con el nombre de la Puntuación del Equipo, por ejemplo Resultados por Equipo M/F.Rank):
Los rangos de puntuación de equipo también usan la Logica de puntos para el formato adicional del rangos.
TSx.Rango EquipoPuntuacionEquipo.Rango |
Rango del equipo, p. ej. 13 |
|
|
.P |
Rango del equipo con un punto al final, p. ej. 13. |
.Th | El rango como valor ordinal, p. ej. 13 | |
.Max | Rango máximo otorgado a un equipo en el grupo, o en otros términos, el número de equipos ranqueados en el mismo grupo que el participante considerado. | |
TSx.TiempoDecimal1 |
Tiempos decimales del equipo | |
TSx.Tiempo1 |
Tiempos formateados del equipo | |
TSx.Puntuado |
1 si el participante fue puntuado, 0 de lo contrario. Si utiliza la opción Núm. Máx. de Equipos: 1 y mostrar todos los participantes, no todos los miembros serán puntuados. |
|
TSx.Sexo |
Sexo de los miembros del equipo puntuados. 1=solo hombres, 2=solo mujeres, 3=hombres y mujeres |
|
TSx.SexoTodos |
Sexo del equipo incluyendo todos los miembros del equipo. 1=solo hombres, 2=solo mujeres, 3=hombres y mujeres |
|
TSx.Posición |
Posición del atleta dentro del equipo, basada en la configuración de los resultados o del orden en la Puntuación de Equipo. |
|
TSx.IndiceEquipo |
Número del equipo, si existen varios equipos para el mismo club. | |
TSx.Número |
Número de miembros en el equipo. | |
TSx.NúmeroMujeres |
Número de mujeres en el equipo. | |
TSx.NúmeroPuntuado |
Número de miembros en el equipo puntuados. | |
TSx.NúmeroMujeresPuntuadas |
Número de mujeres en el equipo puntuadas. | |
TSx.DecimalTimeTop1 |
Tiempos decimales del primer equipo en la clasificación. | |
TSx.DecimalTimePrev1 |
Tiempos decimales del equipo anterior en la clasificación. | |
TSx.TimeTextTop1 |
Tiempos formateados del primer equipo en la clasificación. | |
TSx.TimeTextPrev1 |
Tiempos formateados del equipo anterior en la clasificación. |
Payment & Finance Fields
Fields with the prefix OP refer to the actual Online Payment. If you perform any entry fee changes after a regular registration, it will change [EntryFee] but not [OPEntryFee]. Online Payment Fields always relate to the settings at the time of registration.
Field | Explanation |
OPID |
ID of the payment process |
OPBalance | Balance of the online payment (<0: not paid completely, >0: paid too much) |
OPBalanceDate | Date of the balance entry |
OPCurrency | Currency used for the chosen payment method |
OPMethod |
Payment Method. 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 |
OPEntryFee | Total Entry fee charged through online registration |
OPToPay |
Amount to pay (currency of the payment method) |
OPPaymentFee | Total payment fees (currency of the payment method) |
OPUserFee |
Payment fees covered by the participant. |
OPReference |
Payment reference. |
PaymentLink | Link to pay remaining entry fee amount (no longer available since v12.5) |
EntryFee | Calculated entry fee |
BasicFee | Calculated entry fee without optional fees. |
EntryFeePaid | 1 if entry fee has been paid, 0 otherwise |
PaidEntryFee | Amount of entry fee paid during registration only. |
AccountOwner | Participant's bank account details. |
AccountNo | Participant's bank account details. |
AccountNoX | Account number with the last three digits replaced by X |
BranchNo | Participant's bank account details. |
IBAN | Participant's bank account details. |
IBANX | IBAN with the last three digits replaced by X |
BIC | Participant's bank account details. |
SEPAMandate | Participant's bank account details. |
Bank | Participant's bank account details. |
Vouchers
Voucher fields use the Dot Logic for subsequent fields
Field | Description |
Voucher | Voucher code used |
Voucher.Amount | Amount of Voucher |
Voucher.Remark | Voucher Remark |
List Numbering
Rankings are a handy concept since they are defined once and can then be used everywhere - on a list, in a certificate, in a text message. However, sometimes you may want to create a numbered list quickly without creating a rank definition.
Let's assume you need a result list of all participants named John. Simply add a filter to the list and use the field Position instead of the rank:
Looks good, but it should start at 1 again for the 5K race. For that, you can use the field Position1 which will start over at 1 when the highest grouping level changes the value. Position2 would start over at 1 when the first or second highest grouping level changes the value.
Other
Other Data Fields
Random | Random number between 0 and 1 |
CRLF | Inserts \r\n to create a new line in a text expression |
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 | Event.Logo |
Event.Timezone |
Event.Timezone.Offset | |
Contest | Contest | Contest.Name | Contest.NameShort | Contest.Date |
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 | |||
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.
Invoice Fields
Use the following fields in Invoice layouts. Invoice Fields also use the field Dot Logic for additional formatting of ranks.
Invoice.Number | Invoice number | ||
Invoice.ReceiverReference | Reference of receiver | ||
Invoice.Date | Invoice date | ||
Invoice.PerformanceDate | Performance date | ||
Invoice.LegalNotes | Legal Notes | ||
Invoice.Currency | Currency of the invoice | ||
Invoice.Receiver Invoice.Issuer |
Fields relating to the invoice receiver |
||
|
.Company |
Company of the receiver/issuer |
|
.Name | Name of the receiver/issuer | ||
.Addressline1 | Address line 1 of the receiver/issuer | ||
.Addressline2 | Address line 2 of the receiver/issuer | ||
.ZIP | ZIP of the receiver/issuer | ||
.City | City of the receiver/issuer | ||
.State | State of the receiver/issuer | ||
.Country | Country of the receiver/issuer | ||
.XXX | Regular extensions of country fields, for example .Name, .ISONumber, .Alpha2, etc. | ||
.TaxID | Tax ID of the receiver/issuer | ||
.VATID | Vat ID of the receiver/issuer | ||
Invoice.Amount Invoice.GrossAmount |
Total Invoice Amount depending on the entry fee settings. If all taxes are included, equivalent to Invoice.GrossAmount. |
||
.Decimal | Above values formatted as decimal value | ||
.Text | Above values formatted as text | ||
Invoice.ItemX | Fields relating to item X on the invoice | ||
.Position | Position of item X | ||
.Description | Description of item X | ||
.Qty | Quantity of item X | ||
.Unitprice .Tax |
Single unit price of item X Tax value of item X |
||
.Decimal | Above values formatted as decimal value | ||
.Text | Above values formatted as text | ||
Invoice.Payment | Fields referring to the payment associated with the invoice. For invoices incurred from an online registration, all fields are automatically filled | ||
.Method | Selected payment method | ||
.AccountOwner | Account Owner of the invoice issuer | ||
.IBAN | IBAN of the invoice issuer | ||
.BIC |
BIC of the invoice issuer | ||
.AccountNo | Bank account number of the invoice issuer | ||
.BranchNo |
Branch number of the invoice issuer | ||
.Bankname | Bank number of the invoice issuer | ||
.DueDays |
Days until the invoice is due for payment | ||
.DueDate | Date the invoice is due for payment | ||
.Reference |
Payment reference, for registrations/payments via my.raceresult.com filled with [OPReference] | ||
.MandateID | Mandate ID | ||
.Terms |
Special terms of the invoice |
Operators
The following Operators can be used in expressions:
Arithmetic Operators
Using the following arithmetic operators you can make any type of calculation:
+ | addition |
- | subtraction |
* | multiplication |
/ | division |
\ | integer division |
% | the remainder after division of integers |
^ | exponentiation |
( | opening parenthesis |
) | closing parenthesis |
: | time operator, multiplies the left operand with 60 and adds the right operand |
If you would like to add the race number and the year of birth and multiply the result with two, use the following expression:
([Bib] + [Year]) * 2
Comparison Operators
Use the following comparsion operators to compare two values:
< | less than |
> | greather than |
= | equal |
<> | not equal |
<= | less than or equal to |
>= | greater than or equal to |
Logical Operators
Using logical operators, you can combine two conditions, for example in a Filter. The following operators are available:
- OR (At least one of the values is true)
- XOR (Must be one OR the other, cannot be both)
- AND
Array Operators
- IN
- NIN (NOT IN)
If the Data field is IN or is NOT IN the text string, multiple values can be separated by commas.
Examples:
[Contest] IN "2,4,8-10"
[Lastname] NIN "Smith,Doe"
Funciones
Las funciones añaden cierta funcionalidad a las expressions. Después del nombre de la función, siguen los parámetros separados por punto y coma entre paréntesis:
FunctionName(parameter1; parameter2; parameter3; ...)
Funciones de control
String Functions
Mathematical Functions
Funciones de Resultados
Las Funciones de Resultados se utilizan para comparar resultados de participantes individuales.
La mayoría utiliza el formato TFunction(a;b) en donde a y b definen el rango de los IDs de los resultados que se desean considerar.
Algunas funciones cuentan con parámetros adicionales, los cuales se explican con la función. Hay además variaciones adicionales de cada función, las cuales también están explicadas en la función.
Conversion Functions
Time and Date Functions
Check Functions
Inter-Record Functions
Other Functions
Scoring Functions
Functions Reference
User Defined Fields
Using User Defined Fields you can can assign a specific name to any Expression. The expression can then be accessed throughout the event file.
For example, by default, the User Defined Field DisplayName is defined using this expression:
trim([Title] & "" & [Firstname] & "" & [Lastname])
DisplayName is being used on almost all lists to show that expression. If you do decide to use a different expression such as
UCase([Lastname]) & "" & [Firstname]
then you only have to change the User Defined Field once instead of modifying every single list.
User Defined Functions
Similar to User Defined Fields you can also define your own User Defined Functions.
Assume you would like to change the upper/lower case of words, so that the first letter is in upper case and the other letters in lower case. For this you could define a function RightCase:
RightCase(x) lcase(left([x];1)) & lcase(mid([x]; 2))
You can use the new function like any other function now. For example this will return Raceresult:
RightCase("raCEreSuLt")
Functions can also have several parameters. As an example, define a function add:
add(x;y) [x]+[y]
The names of the parameters can be defined freely. When using them in the definition of the function, they have to be in square brackets.
Filtro
In many parts of RACE RESULT 12 you will find a textbox to enter a filter. A filter is an expression that returns true or false. It is based on the comparision, array, and logical operators.
Field names will be in square brackets and values (apart from numbers) in double quotation marks. For example:
En muchas partes de RACE RESULT 12 encontrará un cuadro de texto para introducir un filtro. Un filtro es una expresión que devuelve verdadero o falso. Se basa en los operators de comparación, de matriz y lógicos.
Los nombres de los campos irán entre corchetes y los valores (aparte de los números) entre comillas dobles. Por ejemplo:
[Apellido]="Miller"
Si desea conectar varios filtros, puede utilizar los operadores lógicos AND y OR:
[Apellido]="Miller" AND [City]="New York"
Dynamic Formatting
Dynamic Formatting allows to format the individual records of Lists and Certificates differently, for example men could be printed in blue and women in pink.
An Expression is used which generates a text with formatting instructions. This expression is entered for lists in the Extended Column Settings and for Certificates.
The formatting text can contain several instructions which are separated by semicolons:
Element1;Element2;...
These elements can be:
B |
Bold |
I | Italic |
U | Underlined |
S | Strike-Through |
AL | Align Left |
AC | Align Center |
AR | Align Right |
C(X) | Font Color X |
BG(X) | Background Color X |
T(X) | Transparency level (0-100%) |
BTC(X) / BRC(X) BBC(X) / BLC(X) |
Border Top / Right / Bottom / Left Color X |
BTW(X) / BRW(X) BBW(X) / BLW(X) |
Border Top / Right / Bottom / Left Width X |
FS(X)* | Font Size X in pt |
OC(X)** | Outline Text Color X |
OW(X)** | Outline Width X Value 0-5 in 0.5 increments |
* only applicable to outputs in PDF and certificates in Designer. For PDF outputs X must be smaller than the default font size.
**only applicable to certificates in the Designer
Possible color values are:
See more information on colours HERE
Examples
A field will be printed italic for women:
if([Sex]="f"; "I"; "")
A field is formatted with a red background and white text for participants with Age less than 18.
if([Age]<18; "BG(#FF0000);C(#FFFFFF)"; "")
A field is marked red for participants from USA:
if([Nation.IOC]="USA"; "C(255,0,0)"; "")
Colors
The Colors of the text elements on Lists and Certificates can be adjusted. By default all texts are shown in RGB-black.
RACE RESULT 12 supports RGB colors as well as CMYK colors.
The colors of the columns in a list can be edited in the Extended Column Settings. You can use the following formats:
- a hex value, like in HTML (RGB), e.g. #FF3300
- RGB as a decimal value, e.g. 255,51,10
- CMYK as a decimal value, e.g. 30,30,30,100
In Certificates, both RGB and CYMK colors can be set via the tool bar at the top of the screen.
With the help of Dynamic Formatting, fields can be formatted differently for each data record.
The following website is useful for picking colours and can convert between HTML, RGB and CMYK: https://html-color-codes.info/
Colores CMYK
CMYK es un modelo que se utiliza para definir los colores en el área de impresión. En la impresión de cuatro-colores (4C), todos los colores se juntan a partir de los componentes cian (C), magenta (M), amarillo (Y) y negro (K). Un código de color CMYK tiene cuatro valores entre 0 y 100, los cuales describen la intensidad del color.. 0 significa que no se utiliza nada de ese color, mientras que 100 significa que el color se utiliza con la máxima intensidad.
Colores RGB
RGB es un modelo de color para los colores de la pantalla. Los colores de su monitor se unen mediante los componentes R=rojo, G=verde y B=azul. Un valor de color RGB consta de tres valores entre 0 y 255 que a menudo se especifican como hexadecimales entre 00 y FF. Cuanto más alto es el valor, más fuerte es el color - el blanco tiene el valor #FFFFFF o (255,255,255) y el negro tiene el valor #000000 (0,0,0).
Field Wizard
The Field Wizard pops up at many places in RACE RESULT 12 below setting fields, for example. in the settings of a lists or when defining ranks. The Field Wizard makes it easy to select the fields shown on a list for example. The field wizard will automatically appear when entering a new field, if editing an existing field then you can choose to show the wizard by clicking the gear icon on the right of the entry field.