Blog

Funciones de campo

Existen distintas funcionalidades que dan muchas posibilidades al desarrollador, sin duda las funciones de campo son una de ellas.
Estas funciones nos sirven para conocer propiedades del campo y aplicar un formato a su valor.
Podemos usar estas funciones cuando insertamos un campo en una fórmula.

Función de campo

El formato es #CAMPO:Funcion().
Podemos usar estas funciones cuando insertamos un campo en una fórmula.

Funcion() puede ser alguna de las siguientes:

  • formatValue(formatString): Devuelve el campo formateado. Por ejemplo para un campo fecha(#FECHA) con valor 19/09/1969, #FECHA:formatValue(«yyyy.MM.dd») devolvería 1969.09.19. Para un campo alfabético #NAME:formatValue(3) nos devolvería los 3 primeros caracteres del campo NAME.
  • isEmpty(): Indica si el campo está vacío (Si=1, No=0).
  • isModified(): Indica si el campo ha sido modificado (Si=1, No=0).
  • getID(): Devuelve el identificador del campo.
  • getDiskLen(): Devuelve la longitud en disco del campo.
  • isAlpha(): Indica si el campo es alfabético (Si=1, No=0).
  • isNumber(): Indica si el campo es numérico (Si=1, No=0).
  • isFormula(): Indica si el campo es una formula (Si=1, No=0).
  • isObject(): Indica si el campo es un objeto (Si=1, No=0).
  • isImage(): Indica si el campo es una imagen (Si=1, No=0).
  • isRichText(): si el campo es texto enriquecido (Si=1, No=0).
  • isSigned(): Indica si el campo tiene signo (Si=1, No=0).
  • decimales(): Devuelve el número de decimales del campo (solo numéricos).
  • minValue(): Devuelve el rango mínimo del campo (solo numéricos).
  • maxValue(): Devuelve el rango máximo del campo (solo numéricos).
  • Todas estas funciones nos dan información importante del campo que puede ser muy útil para nuestros procesos.

8 thoughts on “Funciones de campo

  1. ¿En la última versión que tenemos del vDevelop están ya activas estas funciones de campo?
    He estado intentando probarlas y no me funcionan:
    Desde el editor de fórmulas, me dice «Error. Función de campo inexistente» a la hora de validarla, y en el panel de funciones tampoco las he encontrado.
    Tengo el vDevelop 7.0.0.7181.
    Un saludo.

  2. Las funciones de campo están activas en la última versión de Velneo V7 (7.0.0.7181), por lo tanto deberian funcionarte.

    No salen en el panel de funciones y por el momento no salen en el asistente de fórmulas, hay que saberselas ‘de memoria’. Tenemos previsto ponerlas en el asistente de fórmulas.

    Recuerda que la sintaxis es idCampo:funcionDeCampo(), por ejemplo #ID:isEmpty() debería funcionarte.

    El campo tiene que aparecerte en el panel de campos del asistente de fórmulas.

    Si a pesar de todo te sigue dando error, te agredecería que pusieras la fórmula para estudiar el problema.

     

    Un saludo.

     

  3. Ya he encontrado lo que hacía mal: los nombres de las funciones de campo son «case sensitive«, o sea que distinguen entre mayúsculas y mínusculas.
    Por lo tanto, para que la función sea reconocida, tiene que escribirse exactamente igual, incluidas las letras en mayúsculas.
    ¿No sería posible que el editor de fórmulas arreglara automáticamente las minúsculas-mayúsculas al validar la función? El tema del case sensitive, aunque sea una tontería, puede llegar a despistar un poco.
    Muchas gracias.

  4. Hola Xavi,

    En el momento en que se añada el asistente para la escritura de funciones de campo ya no habrá este problema. Por otro lado, como tu mismo has comprobado, si una formula no se escribe correctamente no le asigna su correspondiente color y muestra un error en el inspector de errores (F9).

    En mi opinión no es muy recomendable que el editor de formulas modifique de manera automática las expresiones que como programador escribo. Siempre existiría la posibilidad de que corrija de más o de menos. Hay que tener en cuenta que en las formulas se introducen variables de sistema, otras funciones y sobre todo literales de todo tipo, que pueden ser código html, xml, etc.

    De todos modos te recomiendo que introduzcas tu sugerencia en el foro Ideas para que pueda ser valorada y votada.

    Un saludo y muchas gracias.

     

  5. Muchas gracias a ti por la explicación.
     
    Soy nuevo en Velneo, y ahora he descubierto que todas las funciones son «Case sensitive». Por lo tanto, en el editor de fórmulas, cuando se escribe alguna función sin usar el asistente, siempre se tiene que entrar el nombre respetando las letras que están en mayúsculas.
     
    Un saludo.

Dejar un comentario