Ver los pagos que tienen que cobrar p/s
Publicado por es_binario (757 intervenciones) el 10/07/2010 08:54:12
Buenas noches, pues por aqui ando programando y aunque este tema lo tengo resuelto de una forma un tanto complicada quiero ver si me apoyan con un codigo mucho mas corto les explico.
Tengo un formulario en donde Se elige un Cobrador de un combo y se hace una consulta de Cuantas cuentas tiene, y cuanto tiene que cobrar, esto de una tabla ventas, en donde tengo tambien los datos del cobrador bueno eso resulta muy facil y les pongo algo del codigo.
este codigo calcula el total de su cuenta
SELECT COUNT(folio) as tot_folios FROM venta;
WHERE LEFT(venta.cobrador,1) <> "*" ;
AND sist_pago = "S" ;
AND cobrador = cobra_dor;
INTO CURSOR cur_sem
*// evitando valores nulos
IF ISNULL(cur_sem.tot_folios)
Thisform.TxtfolSem.Value = 0
ELSE && no es nulo
Thisform.TxtfolSem.Value = INT(cur_sem.tot_folios * (porcentaje/100))
ENDIF
SELECT SUM(pagos) tot_pagos FROM venta;
WHERE LEFT(venta.cobrador,1) <> "*" ;
AND sist_pago = "S" ;
AND cobrador = cobra_dor;
INTO CURSOR cur_sem_p
IF ISNULL(cur_sem_p.tot_pagos)
Thisform.txttotSem.Value = 0
ELSE && no es nulo
Thisform.txttotSem.Value = cur_sem_p.tot_pagos * (porcentaje/100)
ENDIF
Bueno esto en teoria es lo que deberia cobrar el cobrador pero no es del todo cierto, ya que no hay seguridad de que le caigan pagos quincenales, o pagos mensuales, bueno mi propuesta fue la siguiente, tengo 2 textbox mas, 1 para la fecha inicial y 2 para la fecha final, ahora debo ver cuales de todas las cuentas tienen pagos en el periodo entre la fecha 1 y la fecha2.
Aqui se me complico un poco, bueno ahora les comento lo que hago lo que hago es que genero el calendario de pagos de todos los folios que tiene el cobrador asignados, como genero el calendario, tambien en esa tabla ventas existe un campo que se llama sistema de pago.
Bueno y es algo asi la forma de determinar cada cuando es su pago
DO CASE
CASE sist_pago = "S"
fecha = fecha + 7
CASE sist_pago = "Q"
*// dia 2 y dia 16
fecha = fecha + 15
CASE sist_pago = "M"
*// Suma 1 para meses
fecha = GOMONTH(nva_fecha, a)
CASE sist_pago = "C"
*// Suma 1 para meses
fecha = fecha + 14
ENDCASE
<-- S semanal, Q Quincenal, M Mensual, C Catorcenal, el problema radica en que digamos si un cobrador tiene 200 cuentas a su cargo, estamos hablando de una tabla que va a contener 200 folios por alrededor de 50 registros de calendario de pago lo que me da un total de 10 mil registros en donde despues se debe hacer una consulta, esto resulta sumamente complicado en equipos no muy poderosos y con poca memoria, por lo que requiero que me hagan una mejor sugerencia,
de antemano se los agradezco y les comento que no existe una tabla del calendario de pagos.
gracias por las sugerencias.
Tengo un formulario en donde Se elige un Cobrador de un combo y se hace una consulta de Cuantas cuentas tiene, y cuanto tiene que cobrar, esto de una tabla ventas, en donde tengo tambien los datos del cobrador bueno eso resulta muy facil y les pongo algo del codigo.
este codigo calcula el total de su cuenta
SELECT COUNT(folio) as tot_folios FROM venta;
WHERE LEFT(venta.cobrador,1) <> "*" ;
AND sist_pago = "S" ;
AND cobrador = cobra_dor;
INTO CURSOR cur_sem
*// evitando valores nulos
IF ISNULL(cur_sem.tot_folios)
Thisform.TxtfolSem.Value = 0
ELSE && no es nulo
Thisform.TxtfolSem.Value = INT(cur_sem.tot_folios * (porcentaje/100))
ENDIF
SELECT SUM(pagos) tot_pagos FROM venta;
WHERE LEFT(venta.cobrador,1) <> "*" ;
AND sist_pago = "S" ;
AND cobrador = cobra_dor;
INTO CURSOR cur_sem_p
IF ISNULL(cur_sem_p.tot_pagos)
Thisform.txttotSem.Value = 0
ELSE && no es nulo
Thisform.txttotSem.Value = cur_sem_p.tot_pagos * (porcentaje/100)
ENDIF
Bueno esto en teoria es lo que deberia cobrar el cobrador pero no es del todo cierto, ya que no hay seguridad de que le caigan pagos quincenales, o pagos mensuales, bueno mi propuesta fue la siguiente, tengo 2 textbox mas, 1 para la fecha inicial y 2 para la fecha final, ahora debo ver cuales de todas las cuentas tienen pagos en el periodo entre la fecha 1 y la fecha2.
Aqui se me complico un poco, bueno ahora les comento lo que hago lo que hago es que genero el calendario de pagos de todos los folios que tiene el cobrador asignados, como genero el calendario, tambien en esa tabla ventas existe un campo que se llama sistema de pago.
Bueno y es algo asi la forma de determinar cada cuando es su pago
DO CASE
CASE sist_pago = "S"
fecha = fecha + 7
CASE sist_pago = "Q"
*// dia 2 y dia 16
fecha = fecha + 15
CASE sist_pago = "M"
*// Suma 1 para meses
fecha = GOMONTH(nva_fecha, a)
CASE sist_pago = "C"
*// Suma 1 para meses
fecha = fecha + 14
ENDCASE
<-- S semanal, Q Quincenal, M Mensual, C Catorcenal, el problema radica en que digamos si un cobrador tiene 200 cuentas a su cargo, estamos hablando de una tabla que va a contener 200 folios por alrededor de 50 registros de calendario de pago lo que me da un total de 10 mil registros en donde despues se debe hacer una consulta, esto resulta sumamente complicado en equipos no muy poderosos y con poca memoria, por lo que requiero que me hagan una mejor sugerencia,
de antemano se los agradezco y les comento que no existe una tabla del calendario de pagos.
gracias por las sugerencias.
Valora esta pregunta


0