# Funciones de campo

## Contenido

[calcDynamicFormula()](#calcdynamicformula)

[decimales()](#decimales)

[formatValue()](#formatvalue)

[getDiskLen()](#getdisklen)

[getID()](#getid)

[getName()](#getname)

[isAlpha()](#isalpha)

[isEmpty()](#isempty)

[isFormula()](#isformula)

[isImage()](#isimage)

[isModified()](#ismodified)

[isNumber()](#isnumber)

[isObject()](#isobject)

[isRichText()](#isrichtext)

[isSigned()](#issigned)

[maxValue()](#maxvalue)

[minValue()](#minvalue)

## Funciones de campo

Se trata de funciones que nos permiten conocer propiedades de un campo y aplicar un formato a su valor. Estas funciones podremos usarlas cuando insertamos un [campo](https://doc.velneo.com/25/velneo-vdevelop/proyectos-objetos-y-editores/editores/asistente-de-formulas/campos) en una [asistente para edición de fórmulas](https://doc.velneo.com/25/velneo-vdevelop/proyectos-objetos-y-editores/editores/asistente-de-formulas). Éstas habrá que escribirlas directamente en la fórmula, dado que en el asistente no existe un repositorio para este tipo de funciones.

Estas fórmulas siempre tendrán el mismo formato:

**#CAMPO:Funcion()**

El asistente de fórmulas es sensible a la diferencia entre mayúsculas y minúsculas, por tanto, debemos asegurarnos de escribir el nombre de las funciones tal y como se indica en la ayuda.

### calcDynamicFormula()

#### Sintaxis

\#CAMPO:calcDynamicFormula()

Permite calcular la [fórmula ](https://doc.velneo.com/25/velneo-vdevelop/proyectos-objetos-y-editores/editores/asistente-de-formulas)declarada en un campo de tipo [objeto fórmula](https://doc.velneo.com/25/velneo-vdevelop/proyecto-de-datos/tabla/campo#formuladinamica).

Esta función solamente puede ser usada sobre campos de la tabla en curso, no siendo posible, por tanto, usarla sobre campos de tablas enlazadas

### decimales()

#### Sintaxis

\#CAMPO:decimales()

Aplicada a un campo numérico, devuelve el número de decimales del campo.

### formatValue()

#### Sintaxis

\#CAMPO:formatValue(subcadenaFormato)

Devuelve el campo formateado según la subcadena de formato indicada.

Las subcadenas de formato disponibles según el tipo de campo son:

#### **Subcadenas de formato para campos alfabéticos**

**Número**: permite recortar el campo al número de caracteres especificado.

Ejemplo: `#NAME:formatValue(2)`: nos devolverá los tres primeros caracteres del campo NAME.

#### **Subcadenas de formato para campos numéricos**

**f** (\[-]9.9)\
**e** (\[-]9.9e\[+|-]999)\
**E** (\[-]9.9E\[+|-]999)\
**g** (Formato más conciso entre e ó f)\
**G** (Formato más conciso entre E ó f)\
**L** (Formato decimal con ajustes locales): aplica la configuración local (separador decimal, separador de miles, mostrar/ocultar ceros a la izquierda) del sistema en el que es visualizado el dato.

#### **Subcadenas de formato para campos fecha**

**Día**

**d**: (1-31)

**dd**: (01-31)

**ddd**: (Lun-Dom)

**dddd**: (Lunes-Domingo)

**Mes**

**M**: (1-12)

**MM**: (01-12)

**MMM**: (Ene-Dic)

**MMMM**: (Enero-Diciembre)

**Año**

**yy**: (00-99)

**yyyy**: (0000-9999)

#### **Subcadenas de formato para campos hora**

**Horas**

**h**: (0-23, 1-12 AM/PM)

**hh**: (00-23, 01-12 AM/PM)

**H**: (0-23)

**HH**: (00-23)

**Minutos**

**m**: (0-59)

**mm**: (00-59)

**Segundos**

**s**: (0-59)

**ss**: (00-59)

**z**: (0-999) zzz (000-999)

**Periodos**

**AP**: (AM/PM)

**ap**: (am/pm)

### getDiskLen()

#### Sintaxis

\#CAMPO:getDiskLen()

Devuelve la longitud en disco del campo.

### getID()

#### Sintaxis

\#CAMPO:getID()

Devuelve el identificador del campo.

### getName()

#### Sintaxis

\#CAMPO:getName( “\[Idioma-país]” )

Devuelve el valor de la propiedad nombre del campo, según el idioma y país especificados en el parámetro.

Si se deja vacío, devolverá el nombre en el idioma/país actual.

El Idioma y el país se identificarán con una cadena de dos caracteres, la primera en minúsculas y la segunda en mayúsculas, separadas por un guión.

Idioma: se identifica con una cadena de dos dígitos, en minúsculas, según la norma [ISO 639-1](https://es.wikipedia.org/wiki/ISO_639-1).

País: se identifica con una cadena de dos dígitos, en mayúsculas, según la norma [ISO 3166-1](https://es.wikipedia.org/wiki/ISO_3166-1):

#### Ejemplo

\#NAME:getName(“es-ES”)

### isAlpha()

#### Sintaxis

\#CAMPO:isAlpha()

Devuelve 1 si el campo es alfabético y y 0 si no lo es.

### isEmpty()

#### Sintaxis

\#CAMPO:isEmpty()

Devuelve true (1) si el campo está vacío y 0 si no lo está.

> **Nota**: si el campo es numérico devolverá true si el contenido de éste es 0.

### isFormula()

#### Sintaxis

\#CAMPO:isFormula()

Devuelve 1 si el campo es de tipo fórmula y 0 si no lo es.

### isImage()

#### Sintaxis

\#CAMPO:isImage()

Devuelve 1 si el campo es de tipo objeto dibujo y 0 si no lo es.

### isModified()

#### Sintaxis

\#CAMPO:isModified()

Devuelve 1 si el campo ha sido modificado y 0 si no lo ha sido.

### isNumber()

#### Sintaxis

\#CAMPO:isNumber()

Devuelve 1 si el campo es numérico y 0 si no lo es.

### isObject()

#### Sintaxis

\#CAMPO:isObject()

Devuelve 1 si el campo es de tipo objeto texto y 0 si no lo es.

### isRichText()

#### Sintaxis

\#CAMPO:isRichText()

Devuelve 1 si el campo es de tipo objeto texto enriquecido y 0 si no lo es.

### isSigned()

#### Sintaxis

\#CAMPO:isSigned()

Aplicada a un campo numérico, devuelve 1 si el campo tiene signo y 0 si no tiene.

### maxValue()

#### Sintaxis

\#CAMPO:maxValue()

Aplicada a un campo numérico, devuelve el rango máximo del mismo.

### minValue()

#### Sintaxis

`#CAMPO:minValue()`

Aplicada a un campo numérico, devuelve el rango mínimo del mismo.
