Comunidad 365

Inicio Foros Foro Técnico No se ejecuta mi PLUGIN al colocar como STEP el delete de la Entidad Phonecall

No se ejecuta mi PLUGIN al colocar como STEP el delete de la Entidad Phonecall

Este debate contiene 8 respuestas, tiene 3 mensajes y lo actualizó Imagen de perfil de Julio Veliz jveliz hace 1 mes, 4 semanas.

  • Autor
    Publicaciones
  • #90642
    Imagen de perfil de Julio Veliz
    jveliz
    Participante
    Puntos: 3

    Saludos,

    La gran duda que tengo es que me funciona perfectamente cuando pruebo el mismo código C# como PLUGIN pero al activar el STEP con el CREATE de un nuevo registro de la entidad PhoneCall (en este caso).

    Pero en realidad necesito que se active o ejecute con el STEP DELETE en el PhoneCall y no en la creación(CREATE)

    gracias, de antemano

    Julio Veliz

  • #90646
    Imagen de perfil de Sergio Macias
    Sergio Macias
    Participante
    Puntos: 1938
    2016 Awards|Speaker2016 Awards|Instructor

    @jveliz dentro de la configuración del step tienes prendida la opción de
    Pre-validacion
    Pre-operacion
    Post-Operacion?

    Dependiendo de donde lo tengas configurado puede cambiar la información que te llega al plugin dado que un una post operación el registro ya fue eliminado.

    O es que ni a tu código entra? es decir no sucede nada al cambiarlo de step?

    • #90654
      Imagen de perfil de Julio Veliz
      jveliz
      Participante
      Puntos: 3

      la opción la tenia como post-operación. Voy a probar con pre-operación para ver como se comporta . gracias por la sugerencia.

  • #90658
    Imagen de perfil de Federico Jousset
    Federico Jousset
    Participante
    Puntos: 236

    Quizás si nos mostrás el código te podamos ayudar mejor, pero por lo que has comentado tené en cuenta que en un create la propiedad Target es del tipo Entity mientras que en el delete es EntityReference y si tenes la típica validación if (context.InputParameters.Contains(“Target”) && context.InputParameters.[“Target”] is Entity) no se va a ejecutar

    Saludos

    • #90723
      Imagen de perfil de Julio Veliz
      jveliz
      Participante
      Puntos: 3

      Saludos Federico,
      @fedejoussetgmail-com

      Es posible que tengas razón en lo que me dices, porque el código lo tengo igual como en el ejemplo del PLUGIN que viene con el SDK.

      if (context.InputParameters.Contains(“Target”) &&
      context.InputParameters[“Target”] is Entity)
      {
      // Obtain the target entity from the input parameters.
      Entity entity = (Entity)context.InputParameters[“Target”];
      //</snippetFollowupPlugin2>

      // Verify that the target entity represents an account.
      // If not, this plug-in was not registered correctly.
      if (entity.LogicalName != “phonecall”)

      ….

      entonces cómo debería utilizar el EntityReference ? para comparar con el registro de la Entidad PHONECALL que se está eliminando , y así poder ejecutar el código personalizado que se escribió?

      gracias

  • #90724
    Imagen de perfil de Julio Veliz
    jveliz
    Participante
    Puntos: 3

    Listo resuelto el problema de la ELIMINACION gracias a la ayuda
    de @sergio-macias y @fedejoussetgmail-com . Les debo una.

    y ahora para finalizar y procurar tener un feliz fin de semana me falta resolver lo siguiente.

    El código programado para ejecutarse (PLUGIN) al CREAR un NUEVO Registro de la entidad PHONECALL me funciona correctamente cuando activo el PLUGIN utilizando el MESSAGE CREATE únicamente, sin activar el UPDATE para esa misma entidad PHONECALL.

    Por otro lado, el código (PLUGIN) al actualizar el registro del PHONECALL, también me funciona correctamente con activo el MESSAGE UPDATE solo, sin activar el CREATE para la misma entidad.

    PERO CUANDO LOS ACTIVO EN CONJUNTO; ES DECIR, LOS 2 A LA VEZ ME DA ERROR. Yo pienso que es como si se activa el UPDATE al mismo tiempo cuando se activa el CREATE de la misma entidad PHONECALL.

    ¿Alguien tiene alguna idea de como coordinar correctamente para que funciones ambos CREATE, Y UPDATE sin problemas?
    gracias

    • #90744
      Imagen de perfil de Julio Veliz
      jveliz
      Participante
      Puntos: 3

      LISTO!!! RESUELTO TODO EL PROBLEMA!!! Feliz fin de semana!!!

  • #90792
    Imagen de perfil de Sergio Macias
    Sergio Macias
    Participante
    Puntos: 1938
    2016 Awards|Speaker2016 Awards|Instructor

    Hola @jveliz, podrías regalarnos unos minutos para decirnos cual era el error y así poder recomendar o saber de que nos podemos cuidar en un futuro?

    Te lo agradezco anticipadamente, saludos!

    • #90808
      Imagen de perfil de Julio Veliz
      jveliz
      Participante
      Puntos: 3

      Saludos @sergio-macias , Sí te explico como lo resolví. Aplique los 2 consejos que me dieron en el foro: 1) configuré el STEP como Pre-operación (como lo sugeriste) y 2) Y por otro lado seguí la recomendación de @fedejoussetgmail-com , de tomar en cuenta que la propiedad Target en el DELETE es un EntityReference. Por lo tanto, realicé el cambio y Listo!!

      if (context.InputParameters.Contains(“Target”) &&
      context.InputParameters[“Target”] is EntityReference)
      {
      // Obtain the target entity from the input parameters.
      EntityReference entity = (EntityReference)context.InputParameters[“Target”];

      Agradecido!!

Debes estar registrado para responder a este debate.

X
X