Buenas a todos! Hoy os traigo un resumen de las funciones String en Navision.
A mi me pasa muy a menudo (por mi falta de memoria 😅), que cuando las necesito no recuerdo exactamente lo que hace cada una, así que suelo ir a mis apuntes 📕 y lo reviso todo de golpe.
Aquí os voy a explicar con algunos ejemplos cada una de las funciones. Como hay unas cuantas, voy a dividir la información en 3 blogs. Los ejemplos los vamos a hacer en Business Central pero sirven igual para las versiones anteriores.
STRSUBSTNO
Reemplaza los campos% 1,% 2,% 3 … y/o # 1, # 2, # 3 … de una cadena con los valores que proporciones como parámetros opcionales.
Substituye los %1 por la variable que indiques.
Documentación oficial de Microsoft: https://docs.microsoft.com/en-us/dynamics-nav/strsubstno-function–code–text-
Ejemplo
Las tres variables son claras, Customer es para buscar los datos, MyTxt para almacenar el resultado y por último MyLbl es para el texto a formatear.
Lo que estamos haciendo aquí es substituir el “%1” por el numero de cliente y el “%2” por el nombre del cliente.
El resultado sería:
STRPOS
Busca la primera aparición de la subcadena de texto dentro de una cadena de texto.
Documentación oficial de Microsoft: https://docs.microsoft.com/en-us/dynamics-nav/strpos-function–code–text-
Ejemplo
Aquí igual que en la función anterior, creamos la variable de cliente con dos Labels, el primero para buscar la palabra y el segundo para mostrar el mensaje. Por último, creamos una variable para que nos indique en qué posición está.
En la función, lo que debemos indicar primero es la cadena de texto donde estará la subcadena de texto que queremos buscar, y en el segundo parámetro el texto a buscar.
Fijaos que en este ejemplo a la hora de mostrarlo en la ventana de mensaje no hemos hecho el StrSubstNo porque el MESSAGE lo lleva incorporado.
El resultado sería:
STRLEN
Obtiene la longitud de una cadena.
Documentación oficial de Microsoft: https://docs.microsoft.com/en-us/dynamics-nav/strlen-function–code–text-
Ejemplo
Creamos la variable de ejemplo de cliente, la variable de tipo Integer para obtener la longitud del texto y por último la variable de texto que mostraremos en pantalla.
Como vemos, este ejemplo nos devolverá el total de caracteres de un texto en concreto, o lo que es lo mismo la longitud del texto.
El resultado sería:
INCSTR
Aumenta un número positivo o disminuye un número negativo dentro de una cadena de texto o code en uno (1).
Documentación oficial de Microsoft: https://docs.microsoft.com/en-us/dynamics-nav/incstr-function–code–text-
Ejemplo
Las variables son un texto para recibir el resultado y dos labels, uno donde estará el texto a incrementar y el otro para mostrar el resultado por mensaje.
Como vemos lo que ha hecho es incrementar el número que había en el texto.
El resultado sería:
COPYSTR
Copia una subcadena de cualquier longitud desde una posición específica en una cadena (texto o código) a una nueva cadena.
Extrae parte del texto de la posición hasta el final.
Documentación oficial de Microsoft: https://docs.microsoft.com/en-us/dynamics-nav/copystr-function–code–text-
Ejemplo
Volvemos a crear la variable de cliente, el texto de destino y el label final para mostrar por mensaje.
Como podemos ver lo que hemos hecho es extraer una parte del nombre del cliente.
El resultado sería:
MAXSTRLEN
Obtiene la longitud máxima definida de una variable de cadena.
Documentación oficial de Microsoft: https://docs.microsoft.com/en-us/dynamics-nav/maxstrlen-function–code–text-
Ejemplo
Primero creamos la variable de clientes para tener el texto a comprobar, después la variable de Integer para que nos dé el resultado y por último la variable que mostraremos en el mensaje.
Como podemos ver, a la función sólo le tenemos que pasar el texto que queremos analizar y ver su máximo contenido.
Hemos ido a la tabla a buscar cómo está creado este campo para que podáis ver que el resultado que nos está dando es el mismo que está parametrizado en el campo de la tabla.
El resultado sería:
Hasta aquí las funciones que os voy a explicar hoy. La semana que viene continúo con otras cinco.
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.
Me encanta!!