FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Antonio, tu ayuda por favor
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Antonio, tu ayuda por favor
Posted: Fri May 26, 2023 12:55 AM
Hola Antonio:

Primero, una disculpa por molestarte.

Podrías pedir a Mr. Rao, le tire un ojo a este error?

https://forums.fivetechsupport.com/viewtopic.php?f=3&t=43196

Saludos y muchas gracias
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Antonio, tu ayuda por favor
Posted: Fri May 26, 2023 08:35 AM

Mensaje enviado,

gracias!

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
Re: Antonio, tu ayuda por favor
Posted: Fri May 26, 2023 10:57 AM
Buenos dias Armando

¿ puedes hacer esta pequeña prueba para comprobar si cierras la tabla ?
Code (fw): Select all Collapse
STATIC FUNCTION CloseTable()
    oWnd        := NIL

    IF oRsHdr <> NIL
        IF oRsHdr:State() = adStateOpen
            MsgWait("Cerrando tabla oRsHdr","Atención",2)     < --------- añade esta linea
            oRsHdr:Close()
        ENDIF
    ENDIF
RETURN(.T.)
Leyendo tu código y el error 2147352567, parace una excepción de tipo DISP_E_EXCEPTION. La función que intenta leer la estructura devuelve un error (posiblemente no controlado). Viendo el video y observando que la primera vez si funciona y la segunda no, buscaría en la creación de la tabla.
La prueba que te pido es para ver si realmente la tabla se ha cerrado correctamente.
Si se cierra, miraría en la creación de la tabla la segunda vez.
Por ejemplo, en vez de poner :
Code (fw): Select all Collapse
   IF oRsHdr == nil
        MsgStop("I can't open the table HDRVDA !",oApp:cAplicacion)
        FW_ShowAdoError(oApp:oCon)
      RETURN(.F.)
   ENDIF
pondria :
Code (fw): Select all Collapse
   IF VALTYPE(oRsHdr) <> "O"           // si no es un objeto
        MsgStop("I can't open the table HDRVDA !",oApp:cAplicacion)
        FW_ShowAdoError(oApp:oCon)
      RETURN(.F.)
   ENDIF
Es solo una idea. No estoy muy puesto en SQL

Saludos
Jesús Marín
deumare@gmail.com
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Antonio, tu ayuda por favor
Posted: Fri May 26, 2023 04:44 PM
Master Antonio y Jesús Marin:

Agradezco tu interés y apoyo, pero no, ninguna de las sugerencias solucionó el problema.

Como bien analizaste, la primera vez que entro con la tabla vacía, se agregan los dos
registros, uno de entrada y el siguiente de salida, y se muestran en el browse sin problema.

Al salir y regresar a seguir aumentando más registros, el browse tira el problema, ya probé
la primera sugerencia de Jesús y sí se cierra la tabla, también probé la segunda sugerencia y el problema
persiste.

Más datos, estoy simulando movimientos en un almacén, entradas y salidas, en las salidas
se debe llenar el campo HDR_SUC que contiene el número de la sucursal destino, no es el
caso de las entradas, ahí no hay sucursal destino, por esta razón el campo es Null



Lo curioso es que con solo invertir el orden en que se graban los registros, primero la salida y
después la entrada, todo funciona al 100.

Saludos y gracias nuevamente
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
Re: Antonio, tu ayuda por favor
Posted: Fri May 26, 2023 05:27 PM
Armando

Has probado a eliminar esta linea ?
Code (fw): Select all Collapse
oRsHdr:Fields("HDR_SUC"):Value   := AdoNull()   // Only out movs has value
En el movimiento de salida no grabas nada en el campo HDR_REF.
¿ qué ocurre si no grabas nada en el campo HDR_SUC ?

Saludos
Jesús Marín
deumare@gmail.com
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Antonio, tu ayuda por favor
Posted: Fri May 26, 2023 09:49 PM

Jesús:

Gracias, el problema sigue igual, grabando o no el Null.

Quitando el LEFT JOIN a la tabla sucursales, el problema se soluciona, peroooo

necesito mostrar el nombre de la sucursal en el Browse.

Empiezo a pensar que puede ser un pequeño bug en la clase TXBrowse, y que solo

el experto, Mr. Rao, no puede sacar del problema.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero

Continue the discussion