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...
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 de hakuario
1