Se requiere que al momento de cambiar el estado de Vigente a Suprimido del centro de costo valide si está asociada a una plaza, si no lo está que cambie de estado de lo contrario que lance la excepción.

Lo que hice a manera de ejemplo fue crear un procedimiento para la entidad CentroCosto antes de guardar, y oculté el botón de cambiar estado que está en el smartList para obligar al usuario a ingresar al registro y así poder cambiar el estado desde ahí, pero me causa algunas inconsistencias al momento de editar el centro de costo.

¿Que me podrían recomendar para dar solución a este requerimiento?.

Muchas gracias.

asked 13 Apr '16, 13:09

Erick%20T%C3%BAchez's gravatar image

Erick Túchez
210647168
accept rate: 37%

¿Qué inconsistencias te causa?

(13 Apr '16, 15:01) Fernando Paz ♦♦ Fernando%20Paz's gravatar image

La creación de un SP antes de Guardar es la manera correcta de hacerlo.

Y no es necesario quitar los botones de cambio de estado del SmartList, porque al final hacen una actualización de la entidad y también se ejecuta el procedimiento antes de guardar.

link

answered 13 Apr '16, 15:01

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

Lo que sucede es que si lo dejo así, al momento de solo querer cambiar por ejemplo el nombre del centro de costo me hace la validación y no me deja guardar el cambio, este el query que utilizo:

create procedure gt.cco_valida_centro_costo ( @codigo int, @entitysetname varchar(100), @accion varchar(15), @mensaje_validacion varchar(250) output )

as

set @mensaje_validacion = NULL

IF @accion = 'Update' begin

if EXISTS (SELECT 1 FROM eor.cpp_centros_costo_plaza WHERE cpp_codcco = @codigo)
begin
    set @mensaje_validacion = 'El Centro de costo tiene una plaza asociada, no puede suprimirlo.'
    return
end

end

link

answered 19 Apr '16, 10:46

Erick%20T%C3%BAchez's gravatar image

Erick Túchez
210647168
accept rate: 37%

edited 19 Apr '16, 10:47

Con este SP se logra hacer solamente la validación del cambio de estado (Es decir que sí se puede cambiar el nombre del centro de costo sin trabas)

La peculiaridad de este caso es que las validaciones antes de guardar se hacen al momento de presionar el botón de guardar y en este caso la validación se hace en un evento diferente .... por lo tanto, la validación SI se realiza y NO se guarda el cambio cuando el caso aplica SIN EMBARGO en pantalla muestra que el cambio SI se logró guardar aunque no sea cierto

El área de desarrollo tendría que considerar estos casos para que también se muestre el respectivo mensaje de error

alter procedure gt.cco_valida_centro_costo ( @codigo int, @entitysetname varchar(100), @accion varchar(15), @mensaje_validacion varchar(250) output )

as

set @mensaje_validacion = NULL

declare @nuevo_estado varchar(10)

select @nuevo_estado = cco_estado
from eor.cco_centros_de_costo
where cco_codigo = @codigo

IF @accion = 'Update' and @nuevo_estado = 'Suprimida'
begin

if EXISTS (SELECT 1 FROM eor.cpp_centros_costo_plaza WHERE cpp_codcco = @codigo)
begin
    set @mensaje_validacion = 'El Centro de costo tiene una plaza asociada, no puede suprimirlo.'
    return
end
end
(19 Apr '16, 14:35) sbarahona ♦♦ sbarahona'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:

×83
×9

Asked: 13 Apr '16, 13:09

Seen: 1,461 times

Last updated: 20 Apr '16, 15:15

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