Aprender los conceptos básicos del lenguaje de programación de AL

Completado

Una codeunit es un contenedor de código de lenguaje de aplicación (AL) que puede usar en un gran número de objetos de aplicación. Por lo general, implementará la lógica empresarial en las codeunits y las llamará desde el objeto que necesita realizar la lógica específica.

Si se introduce el acceso directo tcodeunit, se crea el diseño básico para un objeto de codeunit cuando se utilice la extensión del lenguaje AL en Visual Studio Code.

AL es el lenguaje de programación que se utiliza para manipular datos (como recuperar, insertar y modificar registros) en una base de datos de Business Central. También se usa para controlar la implementación de varios objetos de aplicación, como páginas, informes o codeunits.

Con AL, puede crear reglas de negocio para garantizar que los datos almacenados en la base de datos sean significativos y coherentes con la forma en que los clientes hacen negocios.

En general, escribiría el código en codeunits en lugar de hacerlo en el objeto en el que opera. Este enfoque fomenta un diseño limpio y proporciona la capacidad de volver a usar el código. También ayuda a reforzar la seguridad. Por ejemplo, los usuarios no suelen tener acceso directo a las tablas que contienen datos confidenciales, como la tabla Movimiento de contabilidad. Tampoco tienen permiso para modificar objetos. Si coloca el código que opera con la contabilidad en una codeunit, le permite a la codeunit acceder a la tabla y permite al usuario ejecutar la codeunit, la seguridad de la tabla no se verá afectada y el usuario podrá tener acceso a ella.

Si debe colocar código en un objeto en lugar de hacerlo en una codeunit, coloque el código lo más cerca posible del objeto con el que opera. Por ejemplo, coloque código que modifique los registros en los desencadenadores de los campos de la tabla.

Volver a usar el código ayuda a que el desarrollo de aplicaciones sea más rápido y sencillo. Además, si organiza el código AL según lo sugerido, es probable que las aplicaciones sean menos propensas a errores. Al centralizar el código, no creará inconsistencias involuntariamente al realizar el mismo cálculo en numerosos lugares. Por ejemplo, al realizar acciones en varios desencadenadores que tienen el mismo campo de tabla que su expresión de origen. Si tiene que cambiar el código, puede olvidarse de algunos de estos desencadenadores o cometer un error al modificar uno de ellos.

Al crear nuevos objetos, colocará el código AL en los desencadenadores de este objeto. Prácticamente todos los objetos de Business Central incluyen desencadenadores donde puede agregar el código AL.

Existen desencadenadores para los siguientes objetos:

  • Tablas y extensiones de tabla

  • Campos de tabla

  • Páginas y extensiones de página

  • Informes

  • Elementos de datos

  • XMLports

  • Consultas

  • Codeunits

El uso de eventos es un concepto de programación probado y establecido que puede facilitar las actualizaciones de aplicaciones y limitar, o incluso eliminar, la necesidad de modificaciones de código en aplicaciones personalizadas debido a cambios en la plataforma de aplicaciones.

Puede usar eventos para diseñar la aplicación con el fin de reaccionar a acciones o comportamientos específicos que ocurran. Los eventos le permiten separar la funcionalidad personalizada de la lógica empresarial de la aplicación. Mediante el uso de eventos en la aplicación donde normalmente se realizan personalizaciones, puede reducir el coste de las modificaciones de código y actualizaciones a la aplicación original de las siguientes maneras:

  • Se pueden realizar modificaciones de código en la funcionalidad personalizada sin tener que modificar la aplicación original.

  • Los cambios en el código de la aplicación original pueden realizarse con un impacto mínimo en las personalizaciones.

Los eventos se pueden usar para diferentes fines, como generar notificaciones cuando ocurren ciertos comportamientos o cuando cambia el estado de una entidad. Los eventos también se pueden utilizar para distribuir información e integrarla con aplicaciones y sistemas externos.