Eliminar ficha de una cesta


([N3] GSI) #1

Hola estoy liado con un proceso que me muestra una serie de registros en una vista de datos, pero de estos registros quiero eliminar uno en concreto, cargo una cesta, la proceso y si se cumple una condición la quito de la cesta, pero… no funciona, es decir, todo ok, excepto que no quita de la cesta la ficha que me interesa.

Por supuesto la condición para quitar ficha se cumple.

Alguien sabe que hago mal??



([N2] AyudaVelneo) #2

Hola:

En el If que viene antes de la instrucción para quitar la ficha de la cesta, estás comprobando que el valor de un campo (#GC_C_Facturas_CLT ) sea igual al de una variable (ID_DOCUMENTO)… pero ¿dónde inicializas esa variable con algún valor?

Un saludo


([N4] Infortic) #3

Al margen de lo que dice Francisco, deberías implementar el quitar dicho registro en el proceso que lanzas, el cual deduzco lanzará una búsqueda, puedes añadirle un parámetro más para eliminar el id que especificas y en la búsqueda usar un término con Quitar (en lugar de cruzar), probablemente sea más rápido que recorrer la cesta para quitar un solo registro, que además se va ejecutar en 1er plano


([N3] GSI) #4

Fran la condición se cumple y de hecho el comando Cesta:Quitar… se esta ejecutando pero no hace ningún efecto, no se si debe a que he puesto “recorrer lista lectura/escritura” y hay que poner algo diferente, aunque ya he probado sólo lectura pero no funciona.

He descartado quitar el registro en la búsqueda pues como mucho puede devolver 5 o 10 registros en el peor de los casos y ademas el proceso es compartido y no quisiera tocarlo.


([N3] pacosatu) #5

Hola GSI.

El problema es que estás usando mal el comando “Cesta: Quitar ficha de la cesta”.
Este comando se debe utilizar siempre cuando estás situado en una Ficha de la Tabla física. Es decir, este comando no tiene sentido dentro del subproceso “Cesta: Procesar”.

Tienes que modificar el código.
Te propongo lo siguiente:

  • Después de la condición If del bucle que recorre la Cesta guarda el #ID.
  • Ponte fuera del subproceso “Cesta: Procesar” y carga la Ficha desde la tabla GC_FICHA_COBROS (usando el #ID guardado previamente) y ya entonces sí puedes usar “Cesta: Quitar ficha de la cesta”.
  • Ah! y siempre recorre las listas en modo lectura si no vas a hacer modificaciones, de lo contrario estás abriendo transacción innecesariamente.

Creo que con esto consigues tu objetivo.

Saludos
Paco Satué


([N3] GSI) #6

ok, perfecto