Introducción

Completado

Un complemento es lógica imperativa que debe usarse solo cuando un proceso declarativo —como una regla de negocio, un flujo o un flujo de trabajo— no cumple su requisito. 

Básicamente, un complemento es simplemente un ensamblado .NET que implementa una interfaz IPlugin, que se puede encontrar en el paquete Microsoft.CrmSdk.CoreAssemblies de NuGet. La interfaz IPlugin ofrece un único método, Execute, que es donde puede colocar cualquier lógica personalizada que desee invocar en función de cualquier evento que esté gestionando. 

Los escenarios habituales para el uso de complementos son:

  • Cancelar el evento y mostrar un error al usuario.

  • Realizar cambios en los datos de la operación.

  • Iniciar otras acciones utilizando el servicio de organización para agregar automatización.

Alternativas a los complementos

En muchos casos, el uso de complementos debe considerarse el último recurso. Aunque los complementos son potentes y, si están bien escritos, ofrecen un alto rendimiento, es importante minimizar la cantidad de lógica personalizada/imperativa incluida en su sistema, ya que puede afectar al mantenimiento, la capacidad de actualización, etc.

Las alternativas habituales a los complementos son:

  • Flujos de trabajo

  • Flujos de Power Automate

  • Campos calculados y consolidados

  • Acciones personalizadas

Consideraciones sobre los complementos

Los complementos funcionan mejor cuando se considera su rendimiento, sus funcionalidades y su capacidad para ejecutarse de forma sincrónica.

Un complemento bien escrito siempre será la forma más eficaz de aplicar la lógica empresarial a Microsoft Dataverse. Sin embargo, un complemento mal escrito puede suponer un impacto negativo considerable en el rendimiento de su entorno.

Los complementos proporcionan diversas funcionalidades que no están disponibles con la lógica comercial declarativa, como trabajar de forma eficiente con servicios externos en el código. Sin embargo, Power Automate se está equiparando rápidamente a los complementos a este respecto.

Si su aplicación requiere lógica sincrónica, los complementos pueden ser una opción necesaria. No obstante, los flujos de trabajo a petición también pueden ejecutarse de forma sincrónica y, en función de cuáles sean sus requisitos, también debe considerarlos.