Mitra Global Services

Navimania – Funciones STRING (parte 2)

Hola a todos! Como os comenté la semana pasada, el blog de hoy también está dedicado a las funciones String.

Vamos a ver 5 nuevas funciones con sus correspondientes ejemplos. Igual que en la vez anterior, vamos a ver los ejemplos en Business Central pero sirven igual para versiones anteriores.

Pues venga, continuamos!

PADSTR

Cambia la longitud de una cadena a la que tú decidas y permite rellenar texto dentro de esa cadena.

Documentación oficial de Microsoft: https://docs.microsoft.com/en-us/dynamics-nav/padstr-function–code–text-

Ejemplo:

En este ejemplo crearemos la variable de cliente, dos textos para recoger los resultados y tres variables de label para mostrar el resultado.

En este ejemplo añadimos algo que hasta ahora no habíamos mostrado y es que podemos hacer un salto de línea añadiendo al final del texto el carácter “\”

Así que las tres variables de tipo Label las unimos en el mismo mensaje, pero se mostraran en líneas diferentes.

Vamos a explicar un poco los dos resultados.

El primero lo que hace es algo similar al COPYSTR pero el parámetro de inicio es siempre 1, por lo que acortará el texto hasta lo que le indiquemos en el segundo parámetro. En este ejemplo nos devuelve los 2 primeros caracteres del código del cliente.

El segundo ejemplo es para que nos rellene el resto del texto con el texto que hayamos puesto en el segundo parámetro, en este caso el número del cliente tiene 5 caracteres y añadimos 10 caracteres mas con un “0”.

El resultado sería:

DELCHR

Elimina uno o más caracteres de una cadena.

Indicas un carácter concreto y borra ese carácter de un texto concreto.

Documentación oficial de Microsoft: https://docs.microsoft.com/en-us/dynamics-nav/delchr-function–code–text-

Ejemplo:

Creamos la variable de cliente. Después, el texto donde recibiremos el resultado del formateo. Lo siguiente son las labels de parámetros y por último las labels de mensaje.

Las labels de parámetros son lo más complicado de entender de esta función, sobre todo la label “WhereLbl”. Esta label provocará que la función haga una cosa u otra dependiendo del tipo que le añadamos.

Los tipos pueden ser:

  • “=” se elimina el carácter o texto que sea igual.
  • “<” se elimina cualquier carácter inicial del texto que coincida con el carácter indicado en el tercer parámetro (WhichLbl).
  • “>” se elimina cualquier carácter final del texto que coincida con el carácter indicado en el tercer parámetro (WhichLbl).
  • Si esta vacío devolverá el texto tal cual.

En este ejemplo lo que hemos querido eliminar es la letra “D”.

El resultado sería:

STRCHECKSUM

Calcula una suma de comprobación para una cadena que contiene un número.

Documentación oficial de Microsoft: https://docs.microsoft.com/en-us/dynamics-nav/strchecksum-function–code–text-

Ejemplo:

Las variables en este caso son dos Integers, uno para recibir el resultado, dos labels para los números a calcular y las dos labels del mensaje.

Para que lo entendamos un poco mejor lo que está haciendo la fórmula es esto:

(7 – (4×1 + 3×2 + 7×3 + 8×4) MOD 7) MOD 7=0

El resultado sería:

CONVERTSTR

Convierte algunos caracteres en una cadena.

Reemplazar caracteres en un texto.

Documentación oficial de Microsoft: https://docs.microsoft.com/en-us/dynamics-nav/convertstr-function–code–text-

Ejemplo:

Creamos la variable de cliente, 2 labels donde indicamos lo que queremos cambiar y cómo, y las labels que mostraremos con el mensaje.

Este proceso lo que hace es sustituir el texto de la variable “My1Lbl” por el texto de la variable “My2Lbl” y devuelve el nuevo texto.

El resultado sería:

LOWERCASE

Convierte todas las letras de una cadena a minúsculas.

Documentación oficial de Microsoft: https://docs.microsoft.com/en-us/dynamics-nav/lowercase-function–code–text-

Ejemplo:

Las variables son cliente, la variable de texto y las labels del mensaje.

Como podemos ver en el código, esto simplemente transforma todo el texto en minúsculas.

El resultado sería:

Hasta aquí las funciones que os quería explicar hoy. La semana que viene os explico la última parte.

Como siempre este ejemplo entero lo tenéis colgado en GitHub en el link.

Esperamos que esta explicación os haya resultado de utilidad y os emplazamos a nuestra próxima publicación.

ES