Entrar
¿Nuevo usuario? Inscribirme
guvoaII · GUVOA Visual Object Español
? ¿Ya estás suscrito? Entra a Yahoo!

Consejos

¿Sabías que...?
Podés cambiar el orden de los mensajes. Simplemente hacé clic en el enlace de columna fecha. Tus preferencias se guardarán, por lo tanto no necesitarás hacerlo otra vez cuando vuelvas a entrar.

Mensajes

  Mensajes Ayuda
Avanzado
Mensajes 444 - 473 de 2799   Más reciente  |  < Más reciente  |  Más antiguo >  |  Más antiguo
Mensajes: Mostrar resúmenes de los mensajes   (Agrupar por tema) Clasificar por fecha v  
#473 De: José Ramón Castro <jrcpolinioes@...>
Fecha: Dom, 1 de Ene, 2006 12:38 pm
Asunto: RE: Borrar registros.
jrcpolinioes
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Saludos cordiales:

 

            Me gustaría que alguno me explicara, porque debe tener una explicación, que significado tiene está frase que Juan ha destacado para los Argentinos, debe tener un significado distinto del que tiene en España, 

 

            Juan destaco >> es el que tienes cogido en la otra Sub-data y después aseveró Realmente usted no le hace asco a nada. Todo esto me da a entender que mi frase asilada debe de significar algo diferente para ustedes los argentinos que para los españoles y por eso mi curiosidad.

 

            Cuando la puse quise decir el registro y por eso refiriéndome a él la puse, podía haber puesto, “el registro que tienes cogido en la sub_data”, pero quizás Juan me hubiera respondido de la misma forma, porque el significado para él sea el mismo.

 

            Lo importante es que le hice pensar a Gerardo que quizás si liberaba los registros antes de llamar a la otra ventana con la misma base de datos, se le solucionaba el problema y así fue y de paso él me lo solucionó a mi porque yo arreglé lo mismo en otro programa en el cual había sustituido unas de las  subdatas por una ListView.

 

José Ramón Castro Polinio

JRCPOLI@...

 

 


De: guvoaII@... [mailto:guvoaII@...] En nombre de Juan Francolino
Enviado el: sábado, 31 de diciembre de 2005 16:13
Para: guvoaII@...
Asunto: RE: [guvoaII] Borrar registros.

 

Hola Gerardo,

 

>> es el que tienes cogido en la otra Sub-data

 

Realmente usted no le hace asco a nada.

 

 

Un abrazo y un feliz año 2006 para todos los integrantes de la lista.

 

Juan

 

 

 

 


De: guvoaII@... [mailto:guvoaII@...] En nombre de José Ramón Castro
Enviado el: Sábado, 31 de Diciembre de 2005 10:51 a.m.
Para: guvoaII@...
Asunto: RE: [guvoaII] Borrar registros.

Saludos Gerardo:

 

            Has comprobado que ese que no borra es el que tienes cogido en la otra Sub-data o seleccionado para hacer la búsqueda de borrar o es otro registro diferente es que eso llevaría consigo que mientras no liberes ese registro no lo va a marcar para borrar. Eso ya me pasó a mí utilizando la misma base de datos en dos Subdatas con diferentes campos, la solución una ListView que tenía los campos de una de la subdatas de esa forma la base de datos solo estaba abierta en una sola estancia y no en dos.

 

José Ramón Castro Polinio

JRCPOLI@...

 

 


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gerardo J. Biagiotti
Enviado el: sábado, 31 de diciembre de 2005 13:21
Para: guvoaII@...
Asunto: RE: [guvoaII] Borrar registros.

 

Gustavo, puse el contador.

Pasa por todos los registros, pero el último no lo borra.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 08:07 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Agregale un contador, a ver si realmente procesa los 4 registros o no...

 

n := 0

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

n ++

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

 

  Infobox{,"Registros borrados:" + AsString(n) }:Show()

 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 5:20 PM

Subject: RE: [guvoaII] Borrar registros.

 

Gustavo, hice lo siguiente:

 

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

No aparece el mensaje, pero tampoco borra el último registro, o sea, que si son 4 borra 3, a pesar de estar bloqueados los registros.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 01:53 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Lo que quise decir es que si estas usando "optimistic locking" (por defecto), todo el proceso de bloqueo lo realiza automaticamente VO.

No recuerdo bien ya que hace tiempo que no uso esa tecnica, pero me parece que el registro en el cual esta posicionado el puntero permanece bloqueado. Entonces al tener 2 ventanas con el mismo server abierto, cuando intentes borrar desde una de ellas solamente vas a poder hacerlo con los registros que no estan bloqueados.

No se si soy claro, se entiende?

 

Para probar lo que te estoy diciendo, intenta poner una InfoBox dentro del loop donde borras los registros. Algo asi:

 

// Esto es pseudo codigo.....

    do while ...

        if rlock()

            delete

          else

            Infobox{,"El registro no se puede bloquear:" + nombreregistro}:Show()

        endif

 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 12:42 PM

Subject: RE: [guvoaII] Borrar registros.

 

Pero porqué de 4 registros borra 3????

Si el problema estaría en no bloquear el registro a borrar, no debería borrar ninguno.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 12:33 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

El problema podria ser el abrir las bases con CCOPTIMISTIC y no bloquear el registro a borrar (RLock). 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 10:58 AM

Subject: RE: [guvoaII] Borrar registros.

 

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 

 

 

 

 


#472 De: Jorge Oscar Ullúa <joul49@...>
Fecha: Dom, 1 de Ene, 2006 5:40 am
Asunto: Re: Manual
joul49
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Fijate en Yahoo en el mensaje 4961 de Guvoa.
Quizas te pueda ser util.
Cualquier duda o inquietud puedes consultarme.

Saludos
Jorge Oscar Ullua

----- Original Message -----
From: "wyerco" <wyerco@...>
To: <guvoaII@...>
Sent: Friday, December 30, 2005 5:46 AM
Subject: [guvoaII] Manual


Hola Listeros

Primero quiero desearles lo mejor para el 2006, que lo pasen bien
junto a los suyos, anún que los holydays sean pocos.

Bueno ahora con mi pedido, Alguien tiene un manual de VO + ó -
Completo o que sepa de donde bajarlo, desde ya muchas gracias.

Bendiciones Waldemar






Enlaces de Yahoo! Grupos

#471 De: lsantibanez72@...
Fecha: Dom, 1 de Ene, 2006 3:55 am
Asunto: Feliz 2006!
lsantibanez73
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Aprovechando el momento, único que indica un nuevo año, les deseo a toda
la comunidad un muy feliz nuevo año, que reine la paz entre nosotros, que
la cordura permanesca en nuestros gobernantes, que las oportunidades sean
para todos. Somos hermanos en esta tierra americana y por que no decirlo,
venimos del mismo padre, lo más hermoso es la paz, la tranquilidad, la armonía,
con ello podemos sentarnos frente al teclado y laborar diariamente. Al final
damos las gracias al Todopoderoso por lo que tenemos y lo que hemos logrado.

Suerte a cada uno de Uds., que lleguen hartos proyectos, que todos salgan
aprobados, y al final seremos mejores personas.


Atte.

Larry Santibáñez Flores

#470 De: "Gerardo J. Biagiotti" <gjbiagiotti@...>
Fecha: Sáb, 31 de Dic, 2005 9:13 pm
Asunto: RE: Feliz 2006!
gjbiagiotti
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Buen final y mejor principio para todos.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Sábado, 31 de Diciembre de 2005 12:35 p.m.
Para: guvoaII@...
Asunto: [guvoaII] Feliz 2006!

 

Amigos de GUVOA, les deso un muy buen final del 2005 y un muy buen 2006 en donde puedan concretar sus proyectos.

 

Mucha felicidad y salud para ustedes y sus familias.

 

Un abrazo!

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

 


#469 De: "Jorge Accinelli" <jorgeaccinelli@...>
Fecha: Sáb, 31 de Dic, 2005 7:46 pm
Asunto: Re: Borrar registros.
jorgeeugenio...
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Exelente  los artículos recomendados !

Feliz año para  todos !

Jorge accinelli


----- Original Message -----
From: "Juan Francolino" <francolino@...>
To: <guvoaII@...>
Sent: Saturday, December 31, 2005 12:13 PM
Subject: RE: [guvoaII] Borrar registros.


Hola Gerardo,

>> es el que tienes cogido en la otra Sub-data

Realmente usted no le hace asco a nada.


Un abrazo y un feliz año 2006 para todos los integrantes de la lista.

Juan




   _____

De: guvoaII@... [mailto:guvoaII@...] En nombre
de José Ramón Castro
Enviado el: Sábado, 31 de Diciembre de 2005 10:51 a.m.
Para: guvoaII@...
Asunto: RE: [guvoaII] Borrar registros.



Saludos Gerardo:



             Has comprobado que ese que no borra es el que tienes cogido en
la otra Sub-data o seleccionado para hacer la búsqueda de borrar o es otro
registro diferente es que eso llevaría consigo que mientras no liberes ese
registro no lo va a marcar para borrar. Eso ya me pasó a mí utilizando la
misma base de datos en dos Subdatas con diferentes campos, la solución una
ListView que tenía los campos de una de la subdatas de esa forma la base de
datos solo estaba abierta en una sola estancia y no en dos.



José Ramón Castro Polinio

JRCPOLI@...





   _____

De: guvoaII@... [mailto:guvoaII@...] En nombre
de Gerardo J. Biagiotti
Enviado el: sábado, 31 de diciembre de 2005 13:21
Para: guvoaII@...
Asunto: RE: [guvoaII] Borrar registros.



Gustavo, puse el contador.

Pasa por todos los registros, pero el último no lo borra.



Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
          gjbiagiotti@...
          gjbiagiotti@...

   _____

De: guvoaII@... [mailto:guvoaII@...] En nombre
de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 08:07 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.



Agregale un contador, a ver si realmente procesa los 4 registros o no...



n := 0

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND.
SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

n ++

  ELSE

    Infobox{,"El registro no se puede bloquear:"}:Show()

  ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO





   Infobox{,"Registros borrados:" + AsString(n) }:Show()





GB

----- Original Message -----

From: Gerardo J. Biagiotti <mailto:gjbiagiotti@...>

To: guvoaII@...

Sent: Friday, December 30, 2005 5:20 PM

Subject: RE: [guvoaII] Borrar registros.



Gustavo, hice lo siguiente:



SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND.
SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

  ELSE

    Infobox{,"El registro no se puede bloquear:"}:Show()

  ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO



No aparece el mensaje, pero tampoco borra el último registro, o sea, que si
son 4 borra 3, a pesar de estar bloqueados los registros.



Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
          gjbiagiotti@...
          gjbiagiotti@...


   _____


De: guvoaII@... [mailto:guvoaII@...] En nombre
de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 01:53 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.



Lo que quise decir es que si estas usando "optimistic locking" (por
defecto), todo el proceso de bloqueo lo realiza automaticamente VO.

No recuerdo bien ya que hace tiempo que no uso esa tecnica, pero me parece
que el registro en el cual esta posicionado el puntero permanece bloqueado.
Entonces al tener 2 ventanas con el mismo server abierto, cuando intentes
borrar desde una de ellas solamente vas a poder hacerlo con los registros
que no estan bloqueados.

No se si soy claro, se entiende?



Para probar lo que te estoy diciendo, intenta poner una InfoBox dentro del
loop donde borras los registros. Algo asi:



// Esto es pseudo codigo.....

     do while ...

         if rlock()

             delete

           else

             Infobox{,"El registro no se puede bloquear:" +
nombreregistro}:Show()

         endif





GB

----- Original Message -----

From: Gerardo J. Biagiotti <mailto:gjbiagiotti@...>

To: guvoaII@...

Sent: Friday, December 30, 2005 12:42 PM

Subject: RE: [guvoaII] Borrar registros.



Pero porqué de 4 registros borra 3????

Si el problema estaría en no bloquear el registro a borrar, no debería
borrar ninguno.



Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
          gjbiagiotti@...
          gjbiagiotti@...


   _____


De: guvoaII@... [mailto:guvoaII@...] En nombre
de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 12:33 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.



El problema podria ser el abrir las bases con CCOPTIMISTIC y no bloquear el
registro a borrar (RLock).



GB

----- Original Message -----

From: Gerardo J. Biagiotti <mailto:gjbiagiotti@...>

To: guvoaII@...

Sent: Friday, December 30, 2005 10:58 AM

Subject: RE: [guvoaII] Borrar registros.



Tampoco anda.



Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
          gjbiagiotti@...
          gjbiagiotti@...


   _____


De: guvoaII@... [mailto:guvoaII@...] En nombre
de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.



No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

From: Gerardo J. Biagiotti <mailto:gjbiagiotti@...>

To: guvoaII@...

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.



Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de
enviar la consulta al grupo.

Hoy he podido ver lo siguiente:



Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base
MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar
invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos
del recibo generado en vCobranza. Aquí es donde borro los registros del
recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra
3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si
en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se
borran todos los registros, es decir que si la ventana que invoca a vRecibos
tiene abierta la misma base de datos no se borran todos los registros.



Porqué este comportamiento????



Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
          gjbiagiotti@...
          gjbiagiotti@...


   _____


De: guvoaII@... [mailto:guvoaII@...] En nombre
de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.



Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:



DO WHILE TRUE

     IF SELF:oDb_MoviClie:Seek( sKey )
     SELF:oDb_MoviClie:Delete()

     ELSE

           EXIT

     ENDIF

ENDDO



Pero es lo mismo.



--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

From: Claudio Torrillo <mailto:clipsupp@...>

To: guvoaII@...

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.



Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>
>
>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>
>
>
> Lo probé con el SetDeleted(FALSE) y sin él.
>
>
>
> A qué se debe este problema??
>
>
>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>
>
>
>


Claudio G. Torrillo
www.clipsupp.com.ar







___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar










   _____

Enlaces de Yahoo! Grupos


* Para visitar el sitio web del grupo, andá a:
http://ar.groups.yahoo.com/group/guvoaII/


* Para cancelar tu suscripción a este grupo, enviá un mensaje a:
guvoaII-unsubscribe@...
<mailto:guvoaII-unsubscribe@...?subject=Unsubscribe>


* El uso de Yahoo! Grupos está sujeto a las Condiciones del servicio
de  <http://ar.docs.yahoo.com/info/utos.html> Yahoo!.





----------------------------------------------------------------------------
----


No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.371 / Virus Database: 267.14.9/217 - Release Date: 30/12/2005

#468 De: "Piazza Sistemas" <soporte@...>
Fecha: Sáb, 31 de Dic, 2005 3:35 pm
Asunto: Feliz 2006!
psi_sistemas
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Amigos de GUVOA, les deso un muy buen final del 2005 y un muy buen 2006 en donde puedan concretar sus proyectos.
 
Mucha felicidad y salud para ustedes y sus familias.
 
Un abrazo!
 
--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

#467 De: "Juan Francolino" <francolino@...>
Fecha: Sáb, 31 de Dic, 2005 3:13 pm
Asunto: RE: Borrar registros.
francolino
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola Gerardo,
 
>> es el que tienes cogido en la otra Sub-data
 
Realmente usted no le hace asco a nada.
 
 
Un abrazo y un feliz año 2006 para todos los integrantes de la lista.
 
Juan
 
 
 


De: guvoaII@... [mailto:guvoaII@...] En nombre de José Ramón Castro
Enviado el: Sábado, 31 de Diciembre de 2005 10:51 a.m.
Para: guvoaII@...
Asunto: RE: [guvoaII] Borrar registros.

Saludos Gerardo:

 

            Has comprobado que ese que no borra es el que tienes cogido en la otra Sub-data o seleccionado para hacer la búsqueda de borrar o es otro registro diferente es que eso llevaría consigo que mientras no liberes ese registro no lo va a marcar para borrar. Eso ya me pasó a mí utilizando la misma base de datos en dos Subdatas con diferentes campos, la solución una ListView que tenía los campos de una de la subdatas de esa forma la base de datos solo estaba abierta en una sola estancia y no en dos.

 

José Ramón Castro Polinio

JRCPOLI@...

 

 


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gerardo J. Biagiotti
Enviado el: sábado, 31 de diciembre de 2005 13:21
Para: guvoaII@...
Asunto: RE: [guvoaII] Borrar registros.

 

Gustavo, puse el contador.

Pasa por todos los registros, pero el último no lo borra.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 08:07 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Agregale un contador, a ver si realmente procesa los 4 registros o no...

 

n := 0

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

n ++

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

 

  Infobox{,"Registros borrados:" + AsString(n) }:Show()

 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 5:20 PM

Subject: RE: [guvoaII] Borrar registros.

 

Gustavo, hice lo siguiente:

 

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

No aparece el mensaje, pero tampoco borra el último registro, o sea, que si son 4 borra 3, a pesar de estar bloqueados los registros.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 01:53 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Lo que quise decir es que si estas usando "optimistic locking" (por defecto), todo el proceso de bloqueo lo realiza automaticamente VO.

No recuerdo bien ya que hace tiempo que no uso esa tecnica, pero me parece que el registro en el cual esta posicionado el puntero permanece bloqueado. Entonces al tener 2 ventanas con el mismo server abierto, cuando intentes borrar desde una de ellas solamente vas a poder hacerlo con los registros que no estan bloqueados.

No se si soy claro, se entiende?

 

Para probar lo que te estoy diciendo, intenta poner una InfoBox dentro del loop donde borras los registros. Algo asi:

 

// Esto es pseudo codigo.....

    do while ...

        if rlock()

            delete

          else

            Infobox{,"El registro no se puede bloquear:" + nombreregistro}:Show()

        endif

 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 12:42 PM

Subject: RE: [guvoaII] Borrar registros.

 

Pero porqué de 4 registros borra 3????

Si el problema estaría en no bloquear el registro a borrar, no debería borrar ninguno.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 12:33 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

El problema podria ser el abrir las bases con CCOPTIMISTIC y no bloquear el registro a borrar (RLock). 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 10:58 AM

Subject: RE: [guvoaII] Borrar registros.

 

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 

 

 

 


#466 De: "Gerardo J. Biagiotti" <gjbiagiotti@...>
Fecha: Sáb, 31 de Dic, 2005 2:40 pm
Asunto: RE: Borrar registros.
gjbiagiotti
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Resolví el problema.

Antes de llamar a la segunda ventana le hice un UnLock() al DBServer y asunto solucionado.

Lo que me llama la atención es que le hacia un GoTop() lo cual supone debería desbloquear el registro anterior.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...



#465 De: "Gerardo J. Biagiotti" <gjbiagiotti@...>
Fecha: Sáb, 31 de Dic, 2005 2:04 pm
Asunto: RE: Borrar registros.
gjbiagiotti
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Si José, antes de llamar a la segunda ventana hago un GoTop() y los registros a borrar se encuentran al final de la base.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de José Ramón Castro
Enviado el: Sábado, 31 de Diciembre de 2005 10:51 a.m.
Para: guvoaII@...
Asunto: RE: [guvoaII] Borrar registros.

 

Saludos Gerardo:

 

            Has comprobado que ese que no borra es el que tienes cogido en la otra Sub-data o seleccionado para hacer la búsqueda de borrar o es otro registro diferente es que eso llevaría consigo que mientras no liberes ese registro no lo va a marcar para borrar. Eso ya me pasó a mí utilizando la misma base de datos en dos Subdatas con diferentes campos, la solución una ListView que tenía los campos de una de la subdatas de esa forma la base de datos solo estaba abierta en una sola estancia y no en dos.

 

José Ramón Castro Polinio

JRCPOLI@...

 

 


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gerardo J. Biagiotti
Enviado el: sábado, 31 de diciembre de 2005 13:21
Para: guvoaII@...
Asunto: RE: [guvoaII] Borrar registros.

 

Gustavo, puse el contador.

Pasa por todos los registros, pero el último no lo borra.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 08:07 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Agregale un contador, a ver si realmente procesa los 4 registros o no...

 

n := 0

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

n ++

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

 

  Infobox{,"Registros borrados:" + AsString(n) }:Show()

 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 5:20 PM

Subject: RE: [guvoaII] Borrar registros.

 

Gustavo, hice lo siguiente:

 

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

No aparece el mensaje, pero tampoco borra el último registro, o sea, que si son 4 borra 3, a pesar de estar bloqueados los registros.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 01:53 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Lo que quise decir es que si estas usando "optimistic locking" (por defecto), todo el proceso de bloqueo lo realiza automaticamente VO.

No recuerdo bien ya que hace tiempo que no uso esa tecnica, pero me parece que el registro en el cual esta posicionado el puntero permanece bloqueado. Entonces al tener 2 ventanas con el mismo server abierto, cuando intentes borrar desde una de ellas solamente vas a poder hacerlo con los registros que no estan bloqueados.

No se si soy claro, se entiende?

 

Para probar lo que te estoy diciendo, intenta poner una InfoBox dentro del loop donde borras los registros. Algo asi:

 

// Esto es pseudo codigo.....

    do while ...

        if rlock()

            delete

          else

            Infobox{,"El registro no se puede bloquear:" + nombreregistro}:Show()

        endif

 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 12:42 PM

Subject: RE: [guvoaII] Borrar registros.

 

Pero porqué de 4 registros borra 3????

Si el problema estaría en no bloquear el registro a borrar, no debería borrar ninguno.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 12:33 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

El problema podria ser el abrir las bases con CCOPTIMISTIC y no bloquear el registro a borrar (RLock). 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 10:58 AM

Subject: RE: [guvoaII] Borrar registros.

 

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 

 

 

 

 


#464 De: José Ramón Castro <jrcpolinioes@...>
Fecha: Sáb, 31 de Dic, 2005 1:51 pm
Asunto: RE: Borrar registros.
jrcpolinioes
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Saludos Gerardo:

 

            Has comprobado que ese que no borra es el que tienes cogido en la otra Sub-data o seleccionado para hacer la búsqueda de borrar o es otro registro diferente es que eso llevaría consigo que mientras no liberes ese registro no lo va a marcar para borrar. Eso ya me pasó a mí utilizando la misma base de datos en dos Subdatas con diferentes campos, la solución una ListView que tenía los campos de una de la subdatas de esa forma la base de datos solo estaba abierta en una sola estancia y no en dos.

 

José Ramón Castro Polinio

JRCPOLI@...

 

 


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gerardo J. Biagiotti
Enviado el: sábado, 31 de diciembre de 2005 13:21
Para: guvoaII@...
Asunto: RE: [guvoaII] Borrar registros.

 

Gustavo, puse el contador.

Pasa por todos los registros, pero el último no lo borra.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 08:07 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Agregale un contador, a ver si realmente procesa los 4 registros o no...

 

n := 0

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

n ++

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

 

  Infobox{,"Registros borrados:" + AsString(n) }:Show()

 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 5:20 PM

Subject: RE: [guvoaII] Borrar registros.

 

Gustavo, hice lo siguiente:

 

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

No aparece el mensaje, pero tampoco borra el último registro, o sea, que si son 4 borra 3, a pesar de estar bloqueados los registros.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 01:53 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Lo que quise decir es que si estas usando "optimistic locking" (por defecto), todo el proceso de bloqueo lo realiza automaticamente VO.

No recuerdo bien ya que hace tiempo que no uso esa tecnica, pero me parece que el registro en el cual esta posicionado el puntero permanece bloqueado. Entonces al tener 2 ventanas con el mismo server abierto, cuando intentes borrar desde una de ellas solamente vas a poder hacerlo con los registros que no estan bloqueados.

No se si soy claro, se entiende?

 

Para probar lo que te estoy diciendo, intenta poner una InfoBox dentro del loop donde borras los registros. Algo asi:

 

// Esto es pseudo codigo.....

    do while ...

        if rlock()

            delete

          else

            Infobox{,"El registro no se puede bloquear:" + nombreregistro}:Show()

        endif

 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 12:42 PM

Subject: RE: [guvoaII] Borrar registros.

 

Pero porqué de 4 registros borra 3????

Si el problema estaría en no bloquear el registro a borrar, no debería borrar ninguno.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 12:33 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

El problema podria ser el abrir las bases con CCOPTIMISTIC y no bloquear el registro a borrar (RLock). 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 10:58 AM

Subject: RE: [guvoaII] Borrar registros.

 

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 

 

 

 


#463 De: "Gerardo J. Biagiotti" <gjbiagiotti@...>
Fecha: Sáb, 31 de Dic, 2005 12:21 pm
Asunto: RE: Borrar registros.
gjbiagiotti
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Gustavo, puse el contador.

Pasa por todos los registros, pero el último no lo borra.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 08:07 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Agregale un contador, a ver si realmente procesa los 4 registros o no...

 

n := 0

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

n ++

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

 

  Infobox{,"Registros borrados:" + AsString(n) }:Show()

 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 5:20 PM

Subject: RE: [guvoaII] Borrar registros.

 

Gustavo, hice lo siguiente:

 

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

No aparece el mensaje, pero tampoco borra el último registro, o sea, que si son 4 borra 3, a pesar de estar bloqueados los registros.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 01:53 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Lo que quise decir es que si estas usando "optimistic locking" (por defecto), todo el proceso de bloqueo lo realiza automaticamente VO.

No recuerdo bien ya que hace tiempo que no uso esa tecnica, pero me parece que el registro en el cual esta posicionado el puntero permanece bloqueado. Entonces al tener 2 ventanas con el mismo server abierto, cuando intentes borrar desde una de ellas solamente vas a poder hacerlo con los registros que no estan bloqueados.

No se si soy claro, se entiende?

 

Para probar lo que te estoy diciendo, intenta poner una InfoBox dentro del loop donde borras los registros. Algo asi:

 

// Esto es pseudo codigo.....

    do while ...

        if rlock()

            delete

          else

            Infobox{,"El registro no se puede bloquear:" + nombreregistro}:Show()

        endif

 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 12:42 PM

Subject: RE: [guvoaII] Borrar registros.

 

Pero porqué de 4 registros borra 3????

Si el problema estaría en no bloquear el registro a borrar, no debería borrar ninguno.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 12:33 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

El problema podria ser el abrir las bases con CCOPTIMISTIC y no bloquear el registro a borrar (RLock). 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 10:58 AM

Subject: RE: [guvoaII] Borrar registros.

 

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 

 

 

 


#462 De: José Ramón Castro <jrcpolinioes@...>
Fecha: Sáb, 31 de Dic, 2005 12:24 pm
Asunto: RE: Manual
jrcpolinioes
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Saludos cordiales:

 

            Yo tengo un manual de Visual Objects de enero de 1996 pero la editorial que es http://www.ra-ma.es  me ha dicho que ya no quedan ejemplares ni piensa editarlo es de Cavo 2.0 pero es valido para algunas cosas, te paso el ISBN por si lo encuentras es el 84-7897-207-2.

 

            De todas formas a mi me sirvió de mucho los artículos publicados por una revista que por aquellas fechas publicaba la editorial EIDOS http://www.alhambra-eidos.com/web2005/index.html  si entras en esa página en el apartado que dice Formación y Contenidos http://www.elcampusdigital.com/  puedes entrar en un página y en enlaces busca este http://www.algoritmodigital.com/ te pedirá una clave puedes usar la mía o darte de alta mi clave es jrcpoli y 0875961 luego en la opción de buscar seleccionas Visual Objects y te dará todas las publicaciones sobre este lenguaje, vienen con ejemplos y todo, con lo que las puedes probar.

 

            También si lo necesitas y me escribes a mi correo te puedo enviar algún archivo de ayuda que ya mandé hace tiempo.

 

José Ramón Castro Polinio

JRCPOLI@...

 

 


De: guvoaII@... [mailto:guvoaII@...] En nombre de wyerco
Enviado el: viernes, 30 de diciembre de 2005 09:47
Para: guvoaII@...
Asunto: [guvoaII] Manual

 

Hola Listeros

Primero quiero desearles lo mejor para el 2006, que lo pasen bien
junto a los suyos, anún que los holydays sean pocos.

Bueno ahora con mi pedido, Alguien tiene un manual de VO + ó -
Completo o que sepa de donde bajarlo, desde ya muchas gracias.

Bendiciones Waldemar





#461 De: Jose Cordero <jconradomx@...>
Fecha: Vie, 30 de Dic, 2005 11:52 pm
Asunto: Re: Manual
jconradomx
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Busca un mensaje de "Juan Francolino" me parece que hace como más de medio año puso un mensaje sobre un libro de VO, "Exploring CAVO 2.5" que esta más que excelente y me parece que hay otro en el sitio de IVON WESSEL, solo que esta en alemán.

Un saludo y abrazon pasenla muy bien en este prospero 2006.

Les mando un abrazo desde Guadalajara, México



wyerco <wyerco@...> escribió:
Hola Listeros

Primero quiero desearles lo mejor para el 2006, que lo pasen bien
junto a los suyos, anún que los holydays sean pocos.

Bueno ahora con mi pedido, Alguien tiene un manual de VO + ó -
Completo o que sepa de donde bajarlo, desde ya muchas gracias.

Bendiciones Waldemar





Enlaces de Yahoo! Grupos



Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx

#460 De: "Gerardo J. Biagiotti" <gjbiagiotti@...>
Fecha: Vie, 30 de Dic, 2005 10:40 pm
Asunto: Icono de Lector.
gjbiagiotti
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Necesito un ícono de un lector de códigos de barra.

Alguien tiene????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...

 


#459 De: "Gustavo Biasone" <gb_guvoa@...>
Fecha: Vie, 30 de Dic, 2005 11:07 pm
Asunto: Re: Borrar registros.
Gustavo_S_B
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Agregale un contador, a ver si realmente procesa los 4 registros o no...

 

n := 0

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

n ++

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

   Infobox{,"Registros borrados:" + AsString(n) }:Show()

 

 

GB

----- Original Message -----
Sent: Friday, December 30, 2005 5:20 PM
Subject: RE: [guvoaII] Borrar registros.

Gustavo, hice lo siguiente:

 

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

No aparece el mensaje, pero tampoco borra el último registro, o sea, que si son 4 borra 3, a pesar de estar bloqueados los registros.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 01:53 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Lo que quise decir es que si estas usando "optimistic locking" (por defecto), todo el proceso de bloqueo lo realiza automaticamente VO.

No recuerdo bien ya que hace tiempo que no uso esa tecnica, pero me parece que el registro en el cual esta posicionado el puntero permanece bloqueado. Entonces al tener 2 ventanas con el mismo server abierto, cuando intentes borrar desde una de ellas solamente vas a poder hacerlo con los registros que no estan bloqueados.

No se si soy claro, se entiende?

 

Para probar lo que te estoy diciendo, intenta poner una InfoBox dentro del loop donde borras los registros. Algo asi:

 

// Esto es pseudo codigo.....

    do while ...

        if rlock()

            delete

          else

            Infobox{,"El registro no se puede bloquear:" + nombreregistro}:Show()

        endif

 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 12:42 PM

Subject: RE: [guvoaII] Borrar registros.

 

Pero porqué de 4 registros borra 3????

Si el problema estaría en no bloquear el registro a borrar, no debería borrar ninguno.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 12:33 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

El problema podria ser el abrir las bases con CCOPTIMISTIC y no bloquear el registro a borrar (RLock). 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 10:58 AM

Subject: RE: [guvoaII] Borrar registros.

 

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 

 

 


#458 De: "Gerardo J. Biagiotti" <gjbiagiotti@...>
Fecha: Vie, 30 de Dic, 2005 8:20 pm
Asunto: RE: Borrar registros.
gjbiagiotti
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Gustavo, hice lo siguiente:

 

SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)

DO WHILE !SELF:oDb_MoviClie:EOF .AND. SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL

IF RLOCK()

SELF:oDb_MoviClie:Delete()

 ELSE

   Infobox{,"El registro no se puede bloquear:"}:Show()

 ENDIF

SELF:oDb_MoviClie:Skip()

ENDDO

 

No aparece el mensaje, pero tampoco borra el último registro, o sea, que si son 4 borra 3, a pesar de estar bloqueados los registros.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 01:53 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Lo que quise decir es que si estas usando "optimistic locking" (por defecto), todo el proceso de bloqueo lo realiza automaticamente VO.

No recuerdo bien ya que hace tiempo que no uso esa tecnica, pero me parece que el registro en el cual esta posicionado el puntero permanece bloqueado. Entonces al tener 2 ventanas con el mismo server abierto, cuando intentes borrar desde una de ellas solamente vas a poder hacerlo con los registros que no estan bloqueados.

No se si soy claro, se entiende?

 

Para probar lo que te estoy diciendo, intenta poner una InfoBox dentro del loop donde borras los registros. Algo asi:

 

// Esto es pseudo codigo.....

    do while ...

        if rlock()

            delete

          else

            Infobox{,"El registro no se puede bloquear:" + nombreregistro}:Show()

        endif

 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 12:42 PM

Subject: RE: [guvoaII] Borrar registros.

 

Pero porqué de 4 registros borra 3????

Si el problema estaría en no bloquear el registro a borrar, no debería borrar ninguno.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 12:33 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

El problema podria ser el abrir las bases con CCOPTIMISTIC y no bloquear el registro a borrar (RLock). 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 10:58 AM

Subject: RE: [guvoaII] Borrar registros.

 

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 

 

 


#457 De: "Gustavo Biasone" <gb_guvoa@...>
Fecha: Vie, 30 de Dic, 2005 6:55 pm
Asunto: Manejo de imagenes en MySql
Gustavo_S_B
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Para G. Vigo y demas del grupo que habian preguntado por este tema. Esta es un manera sencilla de hacerlo y lo mejor es que funciona :)
 
Suponemos una DB que contiene una tabla llamada "imagenes" con los siguientes campos:
 
nombre - VARCHAR 50
imagen - MEDIUMBLOB
 
 
En el campo "nombre" guardamos el nombre completo del archivo (ejemplo: foto1.jpg) y en el campo "imagen" guardamos el contenido del mismo. Aca el secreto radica en convertir el string binario a un formato mas portable ya que el original podria traernos problemas al armar el string que debemos insertar en la tabla.
 
El tamaño del campo BLOB tendria que adaptarse a la necesidad de cada uno. En esta lista estan los diferentes tipos:
 
TinyBlob    -     255 caracteres
Blob    -    65535 car.
MediumBlob    -     16777215 car.
LongBlob    -   4294967295 car.
 
Este metodo de guardar imagenes (o cualquier archivo) en forma codificada puede usarse tambien en un campo Memo de una DBF comun.
 
 
Codigo para importar una imagen a la base de datos:
 
 
// Nombre del archivo a importar
cImg := "e:\Foto1.jpg"
 
// Crear archivo temporal (luego puede ser borrado)
oPtr := FCreate("e:\temp.tmp")
// Abrimos el archivo a importar
hIn := FOpen( cImg , FO_READ)

 IF hIn != F_ERROR
 
    // Guardar en el temporal el contenido "encoded" del archivo de imagen
  EncodeBase64(hIn, oPtr)
 ENDIF
 
// Cerrar
FClose(optr)
FClose(hIn)
 
// Leer el contenido del archivo temporal y pasarlo a la variable "cBuffer"
FFirst("e:\temp.tmp", FC_NORMAL)
nLen := FSize()
optr := FOpen2("e:\temp.tmp", FO_READ)
cBuffer := Space(nLen)
FRead(optr, @cBuffer, nLen)
FClose(optr)
// Armamos el string para el SQLStatement
 cStat := "insert into imagenes (nombre,imagen) Values ('" + cImg + "','" + cBuffer + "')"
// Agregamos registro
oStat := Sqlstatement{cStat,oConn2}
 
 IF !oStat:Execute()
        // Error ODBC
      oStat:ErrInfo:ShowErrorMsg()
 ENDIF
------------------------------------------------------------------------------------------------
 
Codigo para exportar la imagen:
 
oSQL := SQLSelect{"SELECT * from imagenes"  ,oConn2}
 
// Obtener imagen
cImg := oSQL:FIELDGET(#imagen)
 
// Obtener nombre del archivo
cNom := oSQL:FIELDGET(#nombre)
 
 
// Decodificar imagen y crear archivo
hIn := FCreate("e:\" + cNom)
 
IF hIn != F_ERROR
     DecodeBase64(cImg, hIn)
ENDIF
FClose(hIn)
 
En este punto ya tenemos el archivo en el disco. Podriamos mostrarlo con este codigo:
 
oWin := MyWindow{ SELF, PSZ("e:\" + cNom) }
oWin:Show(SHOWCENTERED)
// Clase modificada del help de VO:
 
CLASS MyWindow INHERIT TopAppWindow
 PROTECT pBitMap   AS PTR
 PROTECT lBitMap   AS LOGIC
 
METHOD Axit()        CLASS MyWindow
 DIBDelete(SELF:pBitmap)
 SUPER:Axit()
 
METHOD Expose(oExposeEvent)  CLASS MyWindow
 SUPER:Expose(oExposeEvent)
 
 IF SELF:lBitMap
  DIBShow( SELF:pBitMap, NULL_PTR )
 ENDIF
METHOD Init(oParent, xFile) CLASS MyWindow
 LOCAL pBmiH     AS _WINBITMAPINFO
 LOCAL nHeight   AS INT
 LOCAL nWidth    AS INT
 LOCAL oPOint    AS POINT
 LOCAL hWnd      AS PTR
 LOCAL cx        AS INT
 LOCAL cy        AS INT
 LOCAL cr        IS _WINRECT
 LOCAL wr        IS _WINRECT
 
 SUPER:Init(oParent)
 
 SELF:QuitOnClose := TRUE
 
 SELF:pBitMap := DIBCreateFromFile(xFile)
 
 IF pBitMap = NULL_PTR
  MessageBox(0, "Error reading image", "ERROR ", MB_ICONSTOP)
 ELSE
  SELF:lBitmap := .T.
  oPoint  := SELF:Origin
  pBmiH   := DIBGetInfo(pBitMap)
  nHeight := pBmiH.bmiHeader.biHeight
  nWidth  := pBmiH.bmiHeader.biWidth
  hWnd    := SELF:Handle()
 
  GetWindowRect(hWnd, @wr)
  GetClientRect(hWnd, @cr)
 
  cx := wr.right  - wr.left - cr.right
 
  cy := wr.bottom - wr.top  - cr.bottom
 
  SELF:Size   := DIMension{nWidth + cx, nHeight + cy}
  SELF:Origin := oPoint
 ENDIF
 
 RETURN SELF
 
 
No pude encontar las rutinas que codifican-decodifican la imagen en memoria para no tener que usar las funciones *Base64() las cuales usan un archivo intermedio. Las debo tener en otra maquina, si las encuentro modifico el codigo y lo envio.
 
GB

#456 De: "Gustavo Biasone" <gb_guvoa@...>
Fecha: Vie, 30 de Dic, 2005 5:05 pm
Asunto: Re: VO->SMS->USB->Celular
Gustavo_S_B
Sin conexión Sin conexión
Enviar correo Enviar correo
 
No es especificamente en VO pero puede servirte:
http://www.usbdeveloper.com/GSMPage/gsmpage.htm

GB

----- Original Message -----
From: "Walter Funes" <walfu@...>
To: <guvoaII@...>
Sent: Thursday, December 29, 2005 8:35 AM
Subject: [guvoaII] VO->SMS->USB->Celular


> Hola a todos:
> Alguién tiene material para integrar una aplicación VO para enviar SMS a
> un GSM conectado al puerto USB.
> Saludos.
> Walter.
>
>
>
>
> Enlaces de Yahoo! Grupos
>
>
>
>
>
>
>

#455 De: "Juan Francolino" <francolino@...>
Fecha: Vie, 30 de Dic, 2005 5:59 pm
Asunto: RE: Borrar registros.
francolino
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola Gerardo,
 
Dado que tenes el DbServer asociado a ventanas antes de empezar con el borrado de registros hace:
 
<oDBServer>:SuspendNotification()
 
Y al finalizar la rutina:
 
<oDBServer>:Resetnotification()
 
Luego mandas los mensajes de refresco de ventana.
 
Atentamente,
 
Juan
 
 

 


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar


 

 



Correo Yahoo!
Comprueba qué es nuevo, aquí
http://correo.yahoo.es


#454 De: "Gustavo Biasone" <gb_guvoa@...>
Fecha: Vie, 30 de Dic, 2005 4:52 pm
Asunto: Re: Borrar registros.
Gustavo_S_B
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Lo que quise decir es que si estas usando "optimistic locking" (por defecto), todo el proceso de bloqueo lo realiza automaticamente VO.
No recuerdo bien ya que hace tiempo que no uso esa tecnica, pero me parece que el registro en el cual esta posicionado el puntero permanece bloqueado. Entonces al tener 2 ventanas con el mismo server abierto, cuando intentes borrar desde una de ellas solamente vas a poder hacerlo con los registros que no estan bloqueados.
No se si soy claro, se entiende?
 
Para probar lo que te estoy diciendo, intenta poner una InfoBox dentro del loop donde borras los registros. Algo asi:
 
// Esto es pseudo codigo.....
    do while ...
        if rlock()
            delete
          else
            Infobox{,"El registro no se puede bloquear:" + nombreregistro}:Show()
        endif
 
 
GB
----- Original Message -----
Sent: Friday, December 30, 2005 12:42 PM
Subject: RE: [guvoaII] Borrar registros.

Pero porqué de 4 registros borra 3????

Si el problema estaría en no bloquear el registro a borrar, no debería borrar ninguno.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 12:33 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

El problema podria ser el abrir las bases con CCOPTIMISTIC y no bloquear el registro a borrar (RLock). 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 10:58 AM

Subject: RE: [guvoaII] Borrar registros.

 

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 

 


#453 De: "Gerardo J. Biagiotti" <gjbiagiotti@...>
Fecha: Vie, 30 de Dic, 2005 3:42 pm
Asunto: RE: Borrar registros.
gjbiagiotti
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Pero porqué de 4 registros borra 3????

Si el problema estaría en no bloquear el registro a borrar, no debería borrar ninguno.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Gustavo Biasone
Enviado el: Viernes, 30 de Diciembre de 2005 12:33 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

El problema podria ser el abrir las bases con CCOPTIMISTIC y no bloquear el registro a borrar (RLock). 

 

GB

----- Original Message -----

Sent: Friday, December 30, 2005 10:58 AM

Subject: RE: [guvoaII] Borrar registros.

 

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 

 


#452 De: "Gerardo J. Biagiotti" <gjbiagiotti@...>
Fecha: Vie, 30 de Dic, 2005 3:40 pm
Asunto: RE: Borrar registros.
gjbiagiotti
Sin conexión Sin conexión
Enviar correo Enviar correo
 

También probé eso Jose, pero sigue haciendo el mismo problema.

La única solución hasta el momento es cerrar la base en la ventana que llama a la otra ventana.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Bondadoso Paladin
Enviado el: Viernes, 30 de Diciembre de 2005 12:08 p.m.
Para: guvoaII@...
Asunto: RE: [guvoaII] Borrar registros.

 

Yo uso la función delete para borrarlos en bloque, el caso es que si tienes un orden CDX abierto este fastidia el tema, no se bien el por qué pero es sabido  que ocurre

nOrd := oDBServer:IndexOrd()
oDBServer:SetOrder(0)
oDBServer:Delete(cForCondition)
oDBServer:SetOrder(nOrd)

Eso funciona bien, pienso que si quieres seguir haciendolo como lo haces quizás te funcionaría bien almacenando los registros a borrar en un array, por ejemplo aRegistros y despues quitas cualquier orden activo y haces lo mismo

aRegistros := {}
oDBServer:Seek(btucondicion)
while oDBServer:.........
    aadd(aRegistros,oDBServer:Recno)
    oDBServer:Skip()
end
nOrd := oDBServer:IndexOrd()
oDBServer:SetOrder(0)
for i := 1 upto alen(aRegistros)
   oDBServer:Goto(aRegistros[i])
   oDBServer:Delete()
next
oDBServer:SetOrder(nOrd)

Quizás algo rollo el sistema pero vamos, creo que el problema lo tienes en el orden.




"Gerardo J. Biagiotti" <gjbiagiotti@...> escribió:

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar


 

 



Correo Yahoo!
Comprueba qué es nuevo, aquí
http://correo.yahoo.es


#451 De: "Gerardo J. Biagiotti" <gjbiagiotti@...>
Fecha: Vie, 30 de Dic, 2005 3:34 pm
Asunto: RE: Borrar registros.
gjbiagiotti
Sin conexión Sin conexión
Enviar correo Enviar correo
 

También le hice un GoTop() para probar, siendo que los registros a borrar están al final de la base.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 12:08 p.m.
Para: guvoaII@...
Asunto: [guvoaII] Borrar registros.

 

No será que si estás "parado" sobre el mismo registro en ambas ventanas, y como no hacés un MoviClie:RLock() explícito, no te lo elimina por algún mecanismo interno de VO? (Algo como: "tengo bloqueo optimista, pero como hay dos browsers parados sobre el mismo registro no los borro").

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Friday, December 30, 2005 10:58 AM

Subject: RE: [guvoaII] Borrar registros.

 

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 

 


#450 De: "Gustavo Biasone" <gb_guvoa@...>
Fecha: Vie, 30 de Dic, 2005 3:32 pm
Asunto: Re: Borrar registros.
Gustavo_S_B
Sin conexión Sin conexión
Enviar correo Enviar correo
 
El problema podria ser el abrir las bases con CCOPTIMISTIC y no bloquear el registro a borrar (RLock). 
 
GB
----- Original Message -----
Sent: Friday, December 30, 2005 10:58 AM
Subject: RE: [guvoaII] Borrar registros.

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 


#449 De: "Piazza Sistemas" <soporte@...>
Fecha: Vie, 30 de Dic, 2005 3:07 pm
Asunto: Borrar registros.
psi_sistemas
Sin conexión Sin conexión
Enviar correo Enviar correo
 
No será que si estás "parado" sobre el mismo registro en ambas ventanas, y como no hacés un MoviClie:RLock() explícito, no te lo elimina por algún mecanismo interno de VO? (Algo como: "tengo bloqueo optimista, pero como hay dos browsers parados sobre el mismo registro no los borro").
 
--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...
----- Original Message -----
Sent: Friday, December 30, 2005 10:58 AM
Subject: RE: [guvoaII] Borrar registros.

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 


#448 De: Bondadoso Paladin <solitariobon@...>
Fecha: Vie, 30 de Dic, 2005 3:08 pm
Asunto: RE: Borrar registros.
solitariobon
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Yo uso la función delete para borrarlos en bloque, el caso es que si tienes un orden CDX abierto este fastidia el tema, no se bien el por qué pero es sabido  que ocurre

nOrd := oDBServer:IndexOrd()
oDBServer:SetOrder(0)
oDBServer:Delete(cForCondition)
oDBServer:SetOrder(nOrd)

Eso funciona bien, pienso que si quieres seguir haciendolo como lo haces quizás te funcionaría bien almacenando los registros a borrar en un array, por ejemplo aRegistros y despues quitas cualquier orden activo y haces lo mismo

aRegistros := {}
oDBServer:Seek(btucondicion)
while oDBServer:.........
    aadd(aRegistros,oDBServer:Recno)
    oDBServer:Skip()
end
nOrd := oDBServer:IndexOrd()
oDBServer:SetOrder(0)
for i := 1 upto alen(aRegistros)
   oDBServer:Goto(aRegistros[i])
   oDBServer:Delete()
next
oDBServer:SetOrder(nOrd)

Quizás algo rollo el sistema pero vamos, creo que el problema lo tienes en el orden.




"Gerardo J. Biagiotti" <gjbiagiotti@...> escribió:
Tampoco anda.
 
Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina
Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...

De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.
 
No probaste usar SuspendNotification() / ResetNotification()?
----- Original Message -----
Sent: Thursday, December 29, 2005 8:17 PM
Subject: RE: [guvoaII] Borrar registros.
 
Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.
Hoy he podido ver lo siguiente:
 
Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.
Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.
Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.
 
Porqué este comportamiento????
 
Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina
Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...

De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.
 
Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:
 
DO WHILE TRUE
    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()
    ELSE
          EXIT
    ENDIF
ENDDO
 
Pero es lo mismo.
 
--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...
----- Original Message -----
Sent: Thursday, December 29, 2005 4:44 PM
Subject: Re: [guvoaII] Borrar registros.
 
Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 



Correo Yahoo!
Comprueba qué es nuevo, aquí
http://correo.yahoo.es

#447 De: "Gerardo J. Biagiotti" <gjbiagiotti@...>
Fecha: Vie, 30 de Dic, 2005 1:58 pm
Asunto: RE: Borrar registros.
gjbiagiotti
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Tampoco anda.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Viernes, 30 de Diciembre de 2005 10:04 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

No probaste usar SuspendNotification() / ResetNotification()?

----- Original Message -----

Sent: Thursday, December 29, 2005 8:17 PM

Subject: RE: [guvoaII] Borrar registros.

 

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

 


#446 De: Walter Funes <walfu@...>
Fecha: Jue, 29 de Dic, 2005 11:35 am
Asunto: VO->SMS->USB->Celular
wal_fu
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola a todos:
Alguién tiene material para integrar una aplicación VO para enviar SMS a
un GSM conectado al puerto USB.
Saludos.
Walter.

#445 De: "Piazza Sistemas" <soporte@...>
Fecha: Vie, 30 de Dic, 2005 1:04 pm
Asunto: Re: Borrar registros.
psi_sistemas
Sin conexión Sin conexión
Enviar correo Enviar correo
 
No probaste usar SuspendNotification() / ResetNotification()?
----- Original Message -----
Sent: Thursday, December 29, 2005 8:17 PM
Subject: RE: [guvoaII] Borrar registros.

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

 

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

 

Porqué este comportamiento????

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Piazza Sistemas
Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

 

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )
    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

 

Pero es lo mismo.

 

--------------------------------------------------------------
Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message -----

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

 

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!


--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>

>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>

>
> Lo probé con el SetDeleted(FALSE) y sin él.
>

>
> A qué se debe este problema??
>

>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail:  gjbiagiotti@...
> MSN: gerardo_biagiotti@...
>          gjbiagiotti@...
>          gjbiagiotti@...
>

>
>


Claudio G. Torrillo
www.clipsupp.com.ar


     


     
           
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar



#444 De: "Gerardo J. Biagiotti" <gjbiagiotti@...>
Fecha: Vie, 30 de Dic, 2005 11:54 am
Asunto: RE: Borrar registros.
gjbiagiotti
Sin conexión Sin conexión
Enviar correo Enviar correo
 

También probé.

Me refiero a que de 4 registros se borran 3, físicamente hablando.

Lo verifico con el DBALite.

 

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail:  gjbiagiotti@...
MSN: gerardo_biagiotti@...
         gjbiagiotti@...
         gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...] En nombre de Walter Funes
Enviado el: Jueves, 29 de Diciembre de 2005 08:31 a.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

 

Gerardo:
Es necesario saber si la expresión "
no se borran todos los registros" se refiere a que no se borran fisicamente o que el borrado no se refleja en la ventana.
Me pregunto si no es un problema de reposición del puntero o de notificación:
probaste luego de borrar hacer un gotop().
 

Saludos.
Walter Funes.

"Gerardo J. Biagiotti" escribió:

Esto que proponen Claudio y Fernando es la segunda prueba que hice antes de enviar la consulta al grupo.

Hoy he podido ver lo siguiente:

Tengo 2 ventanas (vCobranza y vRecibos). vCobranza abre la base MoviClie.DBF, el operador selecciona las facturas a cancelar y tras aceptar invoca a la ventana vRecibos que también abre la base MoviClie.DBF.

Si el operador cancela la emisión del recibo, en vRecibos, borro los datos del recibo generado en vCobranza. Aquí es donde borro los registros del recibo cancelado. Y es donde aparece el problema, si hay 4 registros borra 3.

Hasta este punto las 2 ventanas tienen abierta la base MoviClie.DBF, pero si en vCobranza cierro la base Moviclie.DBF y luego llamo a vRecibos, así sí se borran todos los registros, es decir que si la ventana que invoca a vRecibos tiene abierta la misma base de datos no se borran todos los registros.

Porqué este comportamiento????

Gerardo J. Biagiotti
Analista de Sistemas
(2580) Marcos Juárez
Córdoba - Argentina

Mail: gjbiagiotti@...
MSN: gerardo_biagiotti@...
gjbiagiotti@...
gjbiagiotti@...


De: guvoaII@... [mailto:guvoaII@...En nombre de Piazza Sistemas


Enviado el: Jueves, 29 de Diciembre de 2005 07:40 p.m.
Para: guvoaII@...
Asunto: Re: [guvoaII] Borrar registros.

Si, tal cual Gerardo, yo uso la misma tecnica. Más bien hago así:

DO WHILE TRUE

    IF SELF:oDb_MoviClie:Seek( sKey )


    SELF:oDb_MoviClie:Delete()

    ELSE

          EXIT

    ENDIF

ENDDO

Pero es lo mismo.

--------------------------------------------------------------


Fernando Piazza
Coronel Suárez
República Argentina
e-mail: soporte@...

----- Original Message ----- 

Sent: Thursday, December 29, 2005 4:44 PM

Subject: Re: [guvoaII] Borrar registros.

Cambia por:

sKey := Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL

DO WHILE SELF:oDb_MoviClie:Seek( sKey )
   SELF:oDb_MoviClie:Delete()
ENDDO

Seguro no falla

Claudio Torrillo
www.xcsa.com.ar
Feliz 2006!!!
 

--- "Gerardo J. Biagiotti"
<gjbiagiotti@...> escribió:

> La siguiente secuencia me permite eliminar registros
> de los movimientos de
> clientes, relacionados con un número de recibo.
>
> La cantidad de registros a borrar, del mismo recibo,
> pueden uno o más.
>
> Pero sucede que siempre deja el último sin borrar,
> es decir, que si hay 5
> registros con el mismo número de recibo, borra 4 y
> el último no lo borra.
>
>
>
> lDelete=SetDeleted(FALSE)
>
>
SELF:oDb_MoviClie:Seek(Str(SELF:mCODCLI_RCL,6)+SELF:mNROREC_RCL)
>
> DO WHILE !SELF:oDb_MoviClie:EOF .AND.
> SELF:mNROREC_RCL=SELF:oDb_MoviClie:NRECIB_MCL
>
>             SELF:oDb_MoviClie:Delete()
>
>             SELF:oDb_MoviClie:Skip()
>
> ENDDO
>
> SetDeleted(lDelete)
>
>
>
> Lo probé con el SetDeleted(FALSE) y sin él.
>
>
>
> A qué se debe este problema??
>
>
>
> Gerardo J. Biagiotti
> Analista de Sistemas
> (2580) Marcos Juárez
> Córdoba - Argentina
>
> Mail: gjbiagiotti@...
> MSN: gerardo_biagiotti@...
gjbiagiotti@...
gjbiagiotti@...
>
>
>
>
 

Claudio G. Torrillo
www.clipsupp.com.ar
 
 
 
 
 
 

___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar
 

 

 


Mensajes 444 - 473 de 2799   Más reciente  |  < Más reciente  |  Más antiguo >  |  Más antiguo
Avanzado

Copyright © 2009 Yahoo! de Argentina S.R.L. Todos los derechos reservados.
Política de privacidad - Condiciones del Servicio - Reglas de la comunidad de Yahoo! - Ayuda