Extensiones Business Central: Sobrecarga de métodos

Extensiones Business Central: Sobrecarga de métodos

Muchas son las novedades que nos está dejando Business Central con las extensiones y por eso hoy os traigo una nueva posibilidad que tenemos en el Lenguaje AL.

En C/AL nunca tuvimos la capacidad de sobrecargar una función, ya sabes: usar el mismo nombre de función con un contexto (parámetros) diferente.

.

Pues con la nueva programación en AL ya podemos, todo está bien explicado en la documentación:

https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/methods/devenv-overload-method

Vamos a ver un ejemplo.

He creado una nueva codeunit, con dos métodos con el mismo nombre, pero con parámetros diferentes.

Ahora vamos a crear otra codeunit, desde la cual llamaremos a estos nuevos métodos.

Al empezar a escribir el código vemos que VSCode no nos informa de que esa función esta sobrecargada, pero cuando vamos a definir los parámetros la cosa cambia:

Aquí podéis ver como las dos llamadas a los métodos conviven perfectamente:

 

¿Puedo sobrecargar otras funciones?

Sobrecargar mis propias funciones está muy bien, pero la pregunta es:

¿Puedo sobrecargar funciones del estándar?

¡¡Pues sí, también podemos!!

Veamos un ejemplo:

Como podéis ver estoy sobrecargando el método “CreateNewCustomer” de la tabla Customer añadiéndole un parámetro más. Así que tengo un método completamente nuevo, con el mismo nombre.

 

¿Puedo sobrecargar funciones de otra extensión?

Pues también podemos sobrecargar funciones de otra extensión, siempre y cuando esta esté instalada y activa claro.

Una de las pruebas que he hecho es crear una “Extensión A” que implementa un nuevo método a la tabla Customer.

Posteriormente de publicar la “Extensión A”, cree una “Extensión B” que también implementa el mismo método, pero con más parámetros.

Ahora al declararme una variable Record de Customer, me muestra la nueva función, con sus dos sobrecargas como hemos visto en las imágenes anteriores.

Y para cualquier duda recordar que estamos a vuestra disposición.

 

Sobre el autor

Eugenio Colomer Girbés administrator

Comments Are Closed.