0
1

tengo configurada las entidades adicionales que el flujo se inicie automáticamente. Se creó una entidad adicional y se agregó un procedimiento antes de finalizar:

ALTER procedure [cp].[asistencia_antes_finalizar] @codigo int as begin declare @mensaje varchar='Prueba de error antes de finalizar en asistencia de colaboradores en el código ' + convert(varchar, @codigo) RAISERROR (@mensaje, 16, 1) end

la entidad se guardó correctamente. ¿Por que?. Gracias

asked 18 Aug '15, 08:26

Jimy%20Tobar's gravatar image

Jimy Tobar ♦♦
(suspended)
accept rate: 56%

edited 18 Aug '15, 09:20

¿Quérras decir que el flujo se "inicie" automáticamente?

(18 Aug '15, 09:18) Fernando Paz ♦♦ Fernando%20Paz's gravatar image

si........

(18 Aug '15, 09:21) Jimy Tobar ♦♦ Jimy%20Tobar's gravatar image

La entidad se guardó correctamente porque el procedimiento antes de finalizar se ejecuta LUEGO de guardarla.

Si vos querés impedir que se guarde, entonces tenes que llamar al procedimiento antes de guardar, como te indicó Raúl.

El flujo de guardado es así:

  1. Se ejecuta el procedimiento antes de guardar
  2. Se guarda la entidad en la base de datos, si el procedimiento anterior no reportó errores
  3. ¿La entidad tiene flujo?
    • Si, entonces se inicia el flujo, se espera a la ultima autorización y luego se programa la finalización..
    • No, entonces se programa la finalización
  4. Se ejecuta el procedimiento antes de finalizar
  5. Se finaliza la entidad
  6. Se ejecuta el procedimiento despues de finalizar
link

answered 17 Sep '15, 09:17

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

Si lo que necesitas es enviar un mensaje de error por alguna validación específica es mejor que ocupes el procedimiento antes de guardar o eliminar ya que en este podes hacer todas las validaciones que necesitas y mandar un mensaje el cual el usuario podrá visualizar. Los parametros de entrada del procedimiento son:

codigo: Código de la entidad que se está Agregando, Modificando o Eliminando

entitysetname: Este parámetro recibirá el nombre de la entidad que se está guardando

accion: La acción que se está realizando al momento de ejecutar el procedimiento almacenado, este pueden ser “Insert”, “Update” o “Delete”

out mensaje_validacion: Mensaje que se mostrar cuando una validación no se cumpla, si el mensaje es diferente de nulo no se guardaran los cambios

Como podes ver, si el mensaje tiene algún texto el registro no se guardará (Que entiendo que es lo que necesitas)

Si ademas necesitas ejecutar una acción antes de guardar (como un insert a otra tabla) podes ocupar e procedimiento antes o después de guardar, pero tu validación la deberías de haber hecho en el procedimiento descrito anteriormente.

link

answered 18 Aug '15, 09:16

Raul's gravatar image

Raul
791273138
accept rate: 45%

Gracias Raúl pero lo necesito en el que es antes de finalizar. Esto para asegurarme que la entidad se guardará y llamar a un sp externo.

(18 Aug '15, 09:22) Jimy Tobar ♦♦ Jimy%20Tobar's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×14
×11
×3
×1

Asked: 18 Aug '15, 08:26

Seen: 2,978 times

Last updated: 17 Sep '15, 09:17

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática