Page 1 of 1

Rutina buscando fechas y validar status....(Solucionado)

PostPosted: Fri Sep 30, 2011 4:50 pm
by ACC69
Hola buenos dias a todos,alguien que me pueda orientar con alguna rutina que aqui les explicare....

Tengo en la base de datos unos parametros de fechas y logicos, en donde en la rutina, me busque las fechas anteriores al dia de actual de hoy 30 de septiembre que si por ejemplo en el campo fecha: 27/09/11, Stattus .F., que me diga falta hacer el cierre del corte. y asi sucesivamente hasta llegar a la fecha actual del dia de hoy, 30/09/09 con status .F., que no me diga que me falte hacer el cierre ya que es el dia actual de hoy...espero haberme explicado y con el ejemplo.

Primer ejemplo :

Fecha STATUS
27/09/11 .T. // Aqui ya se hizo el cierre no hay problema, porque esta en verdadero y conitnue buscando
28/09/11 .F. // Aqui con una rutina que me diga, falta hacer el cierre del corte... y se salga con exit y de ahi en mi proceso lo valido a .T. Ok ahi esta bien
29/09/11 .F. // Aqui con una rutina que me diga, falta hacer el cierre del corte... y se salga con exit y de ahi en mi proceso lo valido a .T. Ok ahi esta bien
30/09/11 .F. // Pero al estar en la fecha actual del dia de hoy 30 de septiembre, que como esta en falso, que no me diga que falta hacer el cierre del mes...dado las fechas al dia actual, espero haberme explicado

Segundo ejemplo :

Fecha STATUS
27/09/11 .T.
28/09/11 .T. // Aqui con la misma rutina que se hizo el cierre omitiendolo,sin mensaje que falte hacer el cierre y no se salga con exit y continue buscando fechas con STATUS .F.
29/09/11 .T. // Aqui con la misma rutina que se hizo el cierre omitiendolo,sin mensaje que falte hacer el cierre y no se salga con exit y continue buscando fechas con STATUS .F.
30/09/11 .F. // Pero al estar en la fecha actual del dia de hoy 30 de septiembre, que como esta en falso, que no me diga que falta hacer el cierre del mes...dado las fechas al dia actual, espero haberme explicado

Lo he estado intentando hacer, pero al llegar a la fecha actual del dia de hoy y como esta en status .F., me dice que Falta hacer el cierre,ya le di vueltas al asunto y no le hallo modo de omitir igualando al dia de hoy, pero me valida el estatus .f., cuando hoy es apenas fecha actual.
Saludos y buen dia.

Atte: Adrian C. C.

Re: Rutina buscando fechas y validar status....

PostPosted: Fri Sep 30, 2011 4:58 pm
by Bayron
Has intentado usar una condicion???

If( fecha != Date() .AND. Status == .F. , ............. , ......... )

Re: Rutina buscando fechas y validar status....

PostPosted: Fri Sep 30, 2011 5:13 pm
by ACC69
Bayron wrote:Has intentado usar una condicion???

If( fecha != Date() .AND. Status == .F. , ............. , ......... )



Hola Bayron, si asi lo hice, pero llega hasta la fecha de actual de hoy y me valida que me falta hacer el cierre, y eso que no acaba el dia , sino hasta siguiente dia 01 de octubre, que ahi me diga que falta hacer el cierre de corte el 30 de septiembre. expongo el codigo.

dFecActual := DATE()

dFecAnt := IF !(S27)->STATCORT, (S27)->FECAPERTURA, dFecActual)

DO WHILE (S27)->(!EOF())
IF dFecAnt <> dFecActual
MsgAlert("Se quiere hacer corte de cierre de la fecha "+DTOC((S27)->FECAPERTURA))

EXIT
ENDIF

(S27)->(DbSkip())
ENDDO

Pero no me funciona Bayron, y necesito validar todas las fechas anteriores con status .F. falso. y al llegar a la fecha actual de hoy, con status .F. , que no me valide que me falte hacer el cierre de corte, porque aun no se acaba el dia de la fecha actual de hoy.

Saludos y buen dia

Re: Rutina buscando fechas y validar status....

PostPosted: Fri Sep 30, 2011 5:20 pm
by Bayron
Ya has probado así:

Code: Select all  Expand view
dFecActual := DATE()

DO WHILE (S27)->(!EOF())

dFecAnt := IF !(S27)->STATCORT, (S27)->FECAPERTURA, dFecActual)

IF dFecAnt <> dFecActual .And. !(S27)->STATCORT
MsgAlert("Se quiere hacer corte de cierre de la fecha "+DTOC((S27)->FECAPERTURA))

EXIT
ENDIF

(S27)->(DbSkip())
ENDDO

Re: Rutina buscando fechas y validar status....

PostPosted: Fri Sep 30, 2011 5:24 pm
by ACC69
Bayron wrote:Ya has probado así:

Code: Select all  Expand view
dFecActual := DATE()

DO WHILE (S27)->(!EOF())

dFecAnt := IF !(S27)->STATCORT, (S27)->FECAPERTURA, dFecActual)

IF dFecAnt <> dFecActual .And. !(S27)->STATCORT
MsgAlert("Se quiere hacer corte de cierre de la fecha "+DTOC((S27)->FECAPERTURA))

EXIT
ENDIF

(S27)->(DbSkip())
ENDDO



Si Bayron, igual ya habia hecho pruebas y nada, no se en donde esta la falla, igualando el dia de hoy, pero como encuentra como status .F., me valida que me falta hacer el corte de cierre. le sigo dando vueltas y nada..mucho les agradecere su ayuda .

Re: Rutina buscando fechas y validar status....

PostPosted: Fri Sep 30, 2011 5:38 pm
by joseluisysturiz
Prueba con fecha1 < date() .and. lValor == .f.

Re: Rutina buscando fechas y validar status....

PostPosted: Fri Sep 30, 2011 5:50 pm
by ACC69
joseluisysturiz wrote:Prueba con fecha1 < date() .and. lValor == .f.


Hola Jose Luis, pues nada no me funciona, estoy agostando todos los recursos y pruebas, y no me quiero darme por vencido, le quito, le pongo, menor o mayor, igual, hasta con Case, pero siempre llega a validar a la fecha actual de hoy, 30/09/2011, es el unico detalle, en los dias anteriores, me valida bien, hasta ahi todo bien, pero a la fecha actual, me valida, no me quiero darme por vencido,gracias Jose Luis. Se que alguien de aqui del foro, tendra esa rutina de validar fechas anteriores a la actual con el estatus...

Saludos Adrian C. C.

Re: Rutina buscando fechas y validar status....

PostPosted: Fri Sep 30, 2011 6:11 pm
by Armando
Adrian:

Tal vez el problema esta en la centuria, vamos a simplificar el código ý poner unos msginfo()

Code: Select all  Expand view

//dFecActual := DATE()  Creo que no es necesario
MsgInfo(DATE())    // Veamos que formato esta usando en la fecha del sistema
DO WHILE (S27)->(!EOF())
// dFecAnt := IF !(S27)->STATCORT, (S27)->FECAPERTURA, dFecActual)  Tampoco es necesario
//IF dFecAnt <> dFecActual .And. !(S27)->STATCORT
MsgInfo(S27)->FECAPERTURA) // Veamos que formato usa de la DBF
IF (S27)->FECAPERTURA <  DATE() .AND.  ! (S27)->STATCORT
MsgAlert("Se quiere hacer corte de cierre de la fecha "+DTOC((S27)->FECAPERTURA))
EXIT
ENDIF
(S27)->(DbSkip())
ENDDO
 


Por favor muestra las fechas que te den los MsgInfo()

Saludos

Re: Rutina buscando fechas y validar status....

PostPosted: Fri Sep 30, 2011 6:22 pm
by Bayron
Estás seguro que el campo (S27)->FECAPERTURA es tipo DATE???

Si pruebo a comparar dos fechas, la comparación funciona....

Code: Select all  Expand view
#include "fivewin.ch"

function main()
    define window ownd
        dFecActual := DATE()

        dFecAnt := dFecActual

        IF dFecAnt != dFecActual
            MsgAlert("No es igual " )

        Else

            MsgAlert("Es igual " )

        ENDIF

    activate window ownd

return nil


Voltea a ver hacia otro lado, y revisa nuevamente tu codigo, tiene que ser un problema logico de tu parte...

Re: Rutina buscando fechas y validar status....

PostPosted: Fri Sep 30, 2011 6:50 pm
by ACC69
Bayron wrote:Estás seguro que el campo (S27)->FECAPERTURA es tipo DATE???

Si pruebo a comparar dos fechas, la comparación funciona....

Code: Select all  Expand view
#include "fivewin.ch"

function main()
    define window ownd
        dFecActual := DATE()

        dFecAnt := dFecActual

        IF dFecAnt != dFecActual
            MsgAlert("No es igual " )

        Else

            MsgAlert("Es igual " )

        ENDIF

    activate window ownd

return nil


Voltea a ver hacia otro lado, y revisa nuevamente tu codigo, tiene que ser un problema logico de tu parte...



Armando Bayron y Jose Luis, gracias por su atencion, basicamente si me estaba funcionando mi rutina, el problema que yo introducia manualmente la fecha desde DBU en MSDOS, pero la mencion de Armando, fue la que me dio la duda, sobre las fechas e instale Visual FoxPro, para abrir el browse la base de datos y efectivamente el año me reconocia, todos como 27/09/1911 y asi sucesivamente, en lugar de 27/09/2011, con razon, me saltaba, como que 30 de septiembre falta el corte, ahora si funciona y si me funcionaba, gracias a los que me ayudaron nuevamente , Bayron, Armando y Jose Luis.

Les envio cordial saludos y buen fin de semana a todos...espero no molestarlos seguidamente.
Saludos

Atte: Adrian C. C.

Re: Rutina buscando fechas y validar status....(Solucionado)

PostPosted: Fri Sep 30, 2011 7:20 pm
by Bayron
Que bueno que encontraste el problema, a veces está frente a nosotros y no lo podemos ver... Hace falta pegar un respiro y revisar todo de nuevo....