Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/05/2010, 09:34
Avatar de zeuzft
zeuzft
 
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: dejar de restar si da negativo??

lo que pasa es que si le quito el break al final la resta sigue; le hice algunos cambios de codigo y posicion de codigo; ahora el problema es capturar el monto para que cambie de estado a pagado; siempre me pasa a pendiente.
Código PHP:
$miconexion->consulta2("select * from orden_compra p where p.prov_id_FK='$proveedor' and ord_pas<>1 and ord_mon='D' and ord_deuda<>0 and (ord_estado1='pendiente' or ord_estado1='con deuda') order by ord_fec asc");
        while(
$row1 mysql_fetch_array($miconexion->Consulta_ID2))
        {
        
$idpago=$row1['ord_id'];
        
$miconexion->consulta3("select sum(pago_monto) as pagos00 from pago_orden_compra p where p.ord_id_FK='$idpago' and pago_pas=0 and pago_tipo='1' and pago_tc<>'0.00'");
        
$row18 mysql_fetch_array($miconexion->Consulta_ID3);
        
$pagosantes=$row18['pagos00'];
        
$restardeuda=round($row1['ord_deuda']-$pagosantes,2);
        
$restardeuda=round($row1['ord_deuda'],2);
        
$num_voucher=$row1['ord_num'];
        if (
$pago>0)
        {
            if (
$restardeuda>$pago)
            {
            
$saldo=$restardeuda-$pago;
            
$monto0=$pago;
            
$pago=round($pago-$restardeuda,2);
            if (
$saldo==or $saldo<0) { $a='pagado'; } else { $a='con deuda'; }
            }
            else
            {
            
$saldo=0;
            
$pago=round($pago-$restardeuda,2);
            
$monto0=$restardeuda;
            if (
$saldo==0) { $a='pagado'; } else { $a='con deuda'; }
            }
            
$miconexion->consulta("insert into pago_orden_compra (num_voucher,pago_descripcion, pago_fecha, pago_tipo, pago_tc, pago_monto,pago_fec_reg,ord_id_FK,prov_id_FK,emp_id_FK,banco) values ('$voucher', '$descripcion', '$fecha' ,'1','$tc','$monto0','$hoy','$idpago','$proveedor','$empleado','$banco')");
            
$miconexion->consulta1("update orden_compra set ord_estado1='$a' where ord_id='$idpago'");
            echo 
"El pago Adelantado afecto a la siguiente Orden de Compra <b>$num_voucher++$pagosantes</b><br />";
            if (
$pago<0) break;