a la hora de borrar un registro de un fichero de Entidades si la tiene históricos, por ejemplo está en un Albarán , el programa me devuelve un mensaje "Error al eliminar ficha: Entidades" y ya se queda colgado el servidor y en consecuencia Vdevelop, VAdmin y VClient.
Despues de volver a iniciar el servidor manualmente en VAdmin en el apartado "Mensajes Sistema" puedo observar que el error se produce por que la Entidad que intento borrar tienen historicos, pero no se como poder controlarlo y sobre todo como evitar la parada del servidor.
Adjunto captura de pantalla de log de Mensajes Sistema de VAdmin
Otra manera la hago así el boton eliminar llama un evento:
- Cargo Lista(,,,) y lo ubico por un indice.
- Selecciono ficha x posicion (1) --en mi caso siempre lo ubico por ese indice UNICO
- Leer la ficha seleecionada -estos es importantisimo sino no te ubica en el registro
- Eliminar Ficha seleccionada
Y AQUI VIENE EL TRUCO. ejecuto de nuevo la busqueda y si no esta es por q no lo elimino por q tiene historicos.
- Cargo Lista(,,,) y lo ubico por un indice.
<div>- if Listsize<>0 </div>
<div> - Mensaje no se borro</div>
<div>- Else --continuar con tu codigo.</div>
<div> </div>
<div>Espero te sirva, esto lo hago en un evento por q ademas necesito hacer ciertas cosas antes de eliminar, pero la solucion de Rafael es perfecta tbm si tu eliminacion no requiere tanta complejidad.</div>
<div>Pero si te doy un tip tambien en caso de crear un nuevo registro, que lo manejas por codigo y no solo con el aceptar, por ejemplo tabla entitades, tabla users pero yo creo el user y por codigo meto la entidad, ya despues el user completara sus datos ok?, entonces que pasa en user tengo el campo nickname indexado con clave unica, el campo passwor tbm, etc quizas mas campos que voy definiendo en la base de datos o que podria definir despues inclusive, que pasa que velneo cuando das de alta y detecta que un campo que tiene clave unica y se esta tratando de grabar nuevo se repite, simplemente no lo graba pero no te avisa, pero lo puedes controlar de esta manera:</div>
<div> </div>
<div>- Crear ficha en memoria(users)</div>
<div>- modificar campo1, valor1</div>
<div>- modificar campon, valorn</div>
<div>- pedir formulario (en mi caso por q lo lanzo desde un boton de un formulario con grilla)</div>
<div>- Procesar ficha en memoria () AQUI ESTA LO IMPORTANTE</div>
<div> -Ya existe en alguno de sus indices de clave unica(ok,message)</div>
<div> - if (ok)</div>
<div> -mensaje(message)</div>
<div> - else</div>
<div> -Alta de ficha.</div>
<div> </div>
<div>Slds.</div>
<div>Juanjo Moreno </div>
<div>Peru.</div>