Mitra Global Services

Navimania 50 – Utilidades varias para C/AL

Hola a todos una semana más!

Hoy os traigo un grupo de utilidades muy buenas para todos los amantes de C/AL.

Son un grupo de funciones que he ido realizando y recogiendo durante los últimos años y que siempre de una manera u otra acabo necesitando para algo. Por eso tengo esta codeunit para ir tirando de ellas siempre que las necesito.

Sin más dilación vamos manos a la obra 😤

Salto de Línea

La primera de la lista no es otra que un salto de línea, en muchas ocasiones me he encontrado con la necesidad de que un texto disponga de un salto de línea. Para ello tengo esta esta función.

Sus variables son sencillas 2 Char:

También necesitaremos devolver un texto:

Y para el código pues nada, rellenaremos las dos Char y las formatearemos en el texto a devolver:

Listo! Con esto ya tendremos el salto de línea cada vez que llamemos a esta función, a la que por cierto podemos llamar infinitas veces.

Eliminar salto de Línea

Me ha llegado a suceder en ocasiones que al traspasar algo desde un Excel hacia Nav, se crean saltos de línea que no se ven pero que traen muchos problemas.

Para ello tenemos esta función, tiene las mismas variables y retorno que la función de arriba pero el código es algo diferente:

Eliminar letras

En ocasiones me he encontrado con algún texto del que requiero extraer los números que contiene. Por ejemplo imaginemos nuestro DNI que tiene números y letras y que para algo determinado, solo requiramos extraer los números.

Esta función que os voy a mostrar, va súper bien para resolver este escenario u otros similares.

En este caso su parámetro tendrá que ser la entrada del texto a modificar:

Y su texto de salida:

El código también es bastante simple, se trata de eliminar todas las letras

Eliminar Guiones

Sería la misma versión que la función de arriba, pero con el guión medio.

El parámetro y el retorno seria igual y el código sería el siguiente:

Eliminar Barra y guión

Es igual que arriba, pero le añadimos un guión:

Crear Directorio

En muchas ocasiones he necesitado crear una carpeta en una ruta en concreto y me ha llegado a ocurrir tener que hacerlo múltiples veces en un mismo desarrollo. Por eso, tener una función que lo haga por ti y no tener que repetir innumerables veces el código es algo muy útil.

La variable es una Dotnet

Retornamos un booleano para saber si existe o no

El parámetro será la ruta incluyendo la carpeta a crear:

Por último, añadimos su código:

Diferencia entre dos horas

Os ha pasado que necesitáis saber cuánto rato está en ejecución un proceso? Pues esta función puede resolver esto y otros escenarios, ya que lo que hace es calcular la diferencia entre dos variables de tipo time. La variable será un decimal.

El retorno un Time:

Y los parámetros dos times:

Ahora vamos al código:

Estas son todas las funcionalidades sencillas pero muy útiles que voy usando en la gran mayoría de los desarrollos.

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

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

Esteve Sanpons

ES