Otra Vez Verificar Pagos Hechos

Disculpa por Ponerte otra vez la pregunta lo que pasa que surgió un inconveniente con la consulta en la que me ayudaste :
Te Explico lo que pasa con el siguiente cursor:
DECLARE PAGO CURSOR FOR
    Select contratoproyecto.cproyecto_totalpagar
    from  contratoproyecto
    where cliente_id =:ls_cliente and cproyecto_id =:ls_contrato;
    OPEN PAGO;
    fetch PAGO into :ldec_contrato;
        DO WHILE sqlca.sqlcode = 0
            Select sum(docpago_importe)  into :ldec_adelanto
            from documentopago
            where cliente_id =:ls_cliente;
                if ldec_adelanto > 0 then
                    ldec_saldo = ldec_contrato - ldec_adelanto;
                    tab_1.tabpage_2.dw_2.object.docpago_fecpago[1]=ls_datos.campo6
                    tab_1.tabpage_2.dw_2.setitem(tab_1.tabpage_2.dw_2.getrow() ,'docpago_preciounitario',ldec_saldo)
                    if ldec_saldo=0 then
                        messagebox('Aviso','"El Pago de su Contrato de Proyecto a sido Cancelado"',information!)
                    end if
                    tab_1.tabpage_2.dw_2.accepttext()
                else
                    ldec_saldo =ldec_contrato/2;
                    tab_1.tabpage_2.dw_2.object.docpago_fecpago[1]=ls_datos.campo5
                    tab_1.tabpage_2.dw_2.setitem(tab_1.tabpage_2.dw_2.getrow() ,'docpago_preciounitario',ldec_saldo)
                    tab_1.tabpage_2.dw_2.accepttext()
                end if
            end if
    fetch PAGO into :ldec_contrato;
    loop
    close PAGO;
Este Código me funciona muy bien pero tiene un problema.
Lo que pasa que al registrar otro documento de pago para el mismo cliente pero para otro proyecto me suma la cantidad pagada del proyecto anterior(del mismo cliente) y eso no debe de sumarse ya que ese proyecto ya fue cancelado y el pago es para el nuevo proyecto nada más ... Me podrías ayudar con este problemita y disculpa por tas tantas preguntas que te estoy realizando ... Pero necesito solucionar este problema ... Espero tu ayuda Gracias...
Respuesta
1
Pregunta, sera que en la tabla documentopago tienes como llave foránea al nro de contrato, si es así.. agrega al where ese campo y comparalo con una variable que tenga el nro de contrato que se este pagando.
Y eso bastaría.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas