En un formulario no asociado a tabla tengo un botón que dispara una acción
la acción llama a una búsqueda con formulario que debe dar como resultado un solo registro y
llama a un proceso con las lineas siguientes:
- recorrer lista lectura/escritura
- pedir formulario
este formulario tiene un separador de formularios con:
primera solapa-> datos del fichero con los botones aceptar y eliminar.
segunda solapa-> multivista con dos históricos.
Cuando lanzo la búsqueda me aparece el formulario con los datos buscadospero observo que al darle al botón eliminar aunque los históricos estén vacíos,tras un buen rato da, error eliminar ficha.
En vez de recorrer lista lectura/escritura y pedir formulario pon en el proceso : Seleccionar ficha por posición(1) y Modificar ficha seleccionada con formulario.
Así te borrará sin problemas la ficha. Controla, si los tiene, el borrado de históricos.
En un formulario no asociado a tabla tengo un botón que dispara una acción
la acción llama a una búsqueda con formulario que debe dar como resultado un solo registro y
llama a un proceso con las lineas siguientes:
- recorrer lista lectura/escritura
- pedir formulario
este formulario tiene un separador de formularios con:
primera solapa-> datos del fichero con los botones aceptar y eliminar.
segunda solapa-> multivista con dos históricos.
Cuando lanzo la búsqueda me aparece el formulario con los datos buscadospero observo que al darle al botón eliminar aunque los históricos estén vacíos,tras un buen rato da, error eliminar ficha.
¿Por qué no funciona?
No puedes borrar la ficha desde el proceso porque ya se encuentra bloqueada en modo lectura escritura. Está explicado en la zona info, en la ayuda del comando de instrucción de proceso Recorrer lista lectura/escritura:
Este comando, dado que implica escritura en disco, genera transacción. La modificación de un registro implicará la ejecución de los eventos de tabla de modificación de ficha y el disparo de las actualizaciones en las que intervengan los campos modificados en el proceso.
Cada ficha procesada permanecerá bloqueada mientras dure el subproceso que este comando genera; esto quiere decir que la ficha podrá ser leída pero no bloqueada en modo lectura-escritura desde otros procesos o por otros usuarios.
Es decir, al lanzar la transacción de baja no puede llevarla a cabo porque la ficha ya se encuentra bloqueada.
Gracias por la aclaración se me estaba apoderando el tema.
¿qeé alternativa hay para hacer lo que deseo?.
Quiero que al pulsar un botón salga un formulario donde se teclea código y password, si la busqueda encuentra dicho registro debe mostrarme los datos, y tener allí entre otras, la opción de borrado.
Prueba lo que te decia antes. Seleccionar ficha por posición y modificar ficha seleccionada con formulario.
El botón ELIMINAR del formulario que ejecute un evento. En ese evento cargarás la ficha en la que estás y la borrarás después de haber borrado los históricos, si los tiene. Despues pondrás Interfaz:Cancelar (ADJUNTO IMAGEN)