<?php
/***********************************************************************************************/
/*APIS generada para mantener la tabla documento_venta */
/*Fecha de creacion en general 9 de Enero de 2006 */
/***********************************************************************************************/
if ( !defined('SISTEMA_DOCUMENTO_VENTA_INCLUIDO') ) {
define('SISTEMA_DOCUMENTO_VENTA_INCLUIDO', 1);

require_once SISTEMA_PATH."/apis/contabilidad/cuenta_tipo_docto_venta.php";
require_once(SISTEMA_PATH."/apis/nucleo/valores/precio_producto.php");
require_once(SISTEMA_PATH."/apis/nucleo/bienes/articulo.php");
require_once(SISTEMA_PATH."/apis/contabilidad/caja_cuenta_corriente.php");
require_once(SISTEMA_PATH."/apis/contabilidad/cuenta_corriente_banco.php");
require_once(SISTEMA_PATH."/apis/contabilidad/cuenta_forma_pago.php");
require_once(SISTEMA_PATH."/apis/contabilidad/cuenta_tipo_seccion.php");
require_once(SISTEMA_PATH."/apis/contabilidad/asiento_contable.php");

require_once SISTEMA_PATH."/apis/comercial/nota_venta/nota_venta.php";
require_once SISTEMA_PATH."/apis/comercial/nota_venta/usado_nota_venta.php";
require_once SISTEMA_PATH."/apis/comercial/nota_venta/nuevo_nota_venta.php";
require_once SISTEMA_PATH."/apis/adquisiciones/stock_vehiculo.php";
require_once SISTEMA_PATH."/apis/nucleo/vehiculos/vehiculo.php";
require_once SISTEMA_PATH."/apis/comercial/documento_venta/documento_venta.php";
require_once SISTEMA_PATH."/apis/comercial/documento_venta/documento_venta_cliente.php";
require_once SISTEMA_PATH."/apis/comercial/documento_venta_movimiento.php";
require_once SISTEMA_PATH."/apis/comercial/direccion_cliente.php";
require_once SISTEMA_PATH."/apis/comercial/nota_venta/cotizacion_nv.php";
require_once SISTEMA_PATH."/apis/comercial/cotizacion.php";



function documento_venta_visa_ac($id_emp,$id_tdo,$numero_dve){
    $id_usu=usuario_id();
	$contador=0;
    $hora_aco=dateFormat("H:i:s");
    $cliente=documento_venta_cliente_datos($id_emp,$numero_dve,$id_tdo);
 	$persona=cliente_datos($cliente['id_cli']);
   	$id_per=$persona["id_per"];
	$documento_venta_cliente=documento_venta_cliente_lista($id_emp,$id_tdo,$numero_dve);
	if (!documento_venta_estado_visa($id_emp,$numero_dve,$id_tdo,'t')){
        return -1;
    }
    $documento_venta_relacionado=documento_venta_relacionado_ver($id_emp,$id_tdo,$numero_dve);
	$datos_nc=documento_venta_datos($id_emp,$id_tdo,$numero_dve);
	$factura_datos=documento_venta_datos($id_emp,$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel']);
	$id_suc=$datos_nc["seccion_id_suc"];
	$id_dep=$datos_nc["seccion_id_dep"];
	$id_sec=$datos_nc["seccion_id_sec"];
	$tipo_sec=seccion_datos($id_emp,$id_suc,$id_dep,$id_sec);
	$id_tsc=$tipo_sec["id_tsc"];
	$nombre_seccion=$tipo_sec["nombre_sec"];
	$fecha_aco=$datos_nc["fecha_dve"];

    $datos_ac["numero_dve"] = 0;
	$datos_ac["codigo_barra_dve"] = 0;
	$datos_ac["fecha_dve"] = $fecha_aco;
	$datos_ac["impuesto_esp_dve"] = 0;
	$datos_ac["ley_19030_dve"] = 0;
	$datos_ac["neto_dve"] = $datos_nc["neto_dve"]+$datos_nc["iva_dve"]+$datos_nc["exento_dve"];
	$datos_ac["iva_dve"] = 0;
	$datos_ac["exento_dve"] = "0";
	$datos_ac["detalle_dve"] = "";
	$datos_ac["signo_dve"] = -1;
	$datos_ac["pagado_dve"] = "f";
	$datos_ac["nulo_dve"] = "f";
	$datos_ac["tipo_nc"]="";
	$datos_ac["id_cca"] = $factura_datos["id_cca"];

    if (!$ac=documento_venta_agregar($id_emp,TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE,0,$datos_ac['codigo_barra_dve'],$datos_ac['fecha_dve'],$datos_ac['neto_dve'],$datos_ac['iva_dve'],$datos_ac['impuesto_esp_dve'],$datos_ac['ley_19030_dve'],$datos_ac['exento_dve'],$datos_ac['detalle_dve'],$datos_ac['nulo_dve'],$id_emp,$id_suc,$id_dep,$id_sec,$datos_ac['signo_dve'],$datos_ac['pagado_dve'],0,"",$datos_ac['id_cca'], $datos_ac['forma_pago_guia_dve'],$datos_ac['fecha_vcto_dve'])){
		sql_rollback("work");
		return -1;
	}
	if(!documento_venta_cliente_agregar ($id_emp,TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE,$ac,$cliente['id_cli'],$cliente['correlativo_drc'],true)){
		sql_rollback("work");
		return -1;
	}
	if($datos_nc["iva_dve"]>0){
        $movtos[$contador]["id_cco"]=211512;
    	$movtos[$contador]["afecta_cas"]="D";
    	$movtos[$contador]["monto_cas"]=$datos_nc["iva_dve"];
    	$movtos[$contador]["seccion_id_emp"]=$id_emp;
    	$movtos[$contador]["seccion_id_suc"]=$id_suc;
    	$movtos[$contador]["seccion_id_dep"]=$id_dep;
    	$movtos[$contador]["seccion_id_sec"]=$id_sec;
    	$movtos[$contador]["descripcion_cas"]="AC POR NOTA DE CREDITO ".$numero_dve;
    	$movtos[$contador]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
    	$movtos[$contador]["documento"]["id_tdo"]=TIPO_DOCTO_VENTA_CREDITO;
    	$movtos[$contador]["documento"]["numero_dve"]=$numero_dve;
    	$contador++;
    }
    if($datos_nc["neto_dve"]>0){
        $movtos[$contador]["id_cco"]=410101;//CONFIRMAR CUENTAS
    	$movtos[$contador]["afecta_cas"]="D";
    	$movtos[$contador]["monto_cas"]=$datos_nc["neto_dve"];
    	$movtos[$contador]["seccion_id_emp"]=$id_emp;
    	$movtos[$contador]["seccion_id_suc"]=$id_suc;
    	$movtos[$contador]["seccion_id_dep"]=$id_dep;
    	$movtos[$contador]["seccion_id_sec"]=$id_sec;
    	$movtos[$contador]["descripcion_cas"]="AC POR NOTA DE CREDITO ".$numero_dve;
    	$movtos[$contador]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
    	$movtos[$contador]["documento"]["id_tdo"]=TIPO_DOCTO_VENTA_CREDITO;
    	$movtos[$contador]["documento"]["numero_dve"]=$numero_dve;
    	$contador++;
    }
    if($datos_nc["exento_dve"]>0){
        $movtos[$contador]["id_cco"]=410101;//CONFIRMAR CUENTAS
    	$movtos[$contador]["afecta_cas"]="D";
    	$movtos[$contador]["monto_cas"]=$datos_nc["exento_dve"];
    	$movtos[$contador]["seccion_id_emp"]=$id_emp;
    	$movtos[$contador]["seccion_id_suc"]=$id_suc;
    	$movtos[$contador]["seccion_id_dep"]=$id_dep;
    	$movtos[$contador]["seccion_id_sec"]=$id_sec;
    	$movtos[$contador]["descripcion_cas"]="AC POR NOTA DE CREDITO ".$numero_dve;
    	$movtos[$contador]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
    	$movtos[$contador]["documento"]["id_tdo"]=TIPO_DOCTO_VENTA_CREDITO;
    	$movtos[$contador]["documento"]["numero_dve"]=$numero_dve;
    	$contador++;
    }
	$movtos[$contador]["id_cco"]=211201;
	$movtos[$contador]["afecta_cas"]="H";
	$movtos[$contador]["monto_cas"]=$datos_ac["neto_dve"];
	$movtos[$contador]["seccion_id_emp"]=$id_emp;
	$movtos[$contador]["seccion_id_suc"]=$id_suc;
	$movtos[$contador]["seccion_id_dep"]=$id_dep;
	$movtos[$contador]["seccion_id_sec"]=$id_sec;
	$movtos[$contador]["descripcion_cas"]="AC POR NOTA DE CREDITO ".$numero_dve;
	$movtos[$contador]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
	$movtos[$contador]["documento"]["id_tdo"]=TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE;
	$movtos[$contador]["documento"]["numero_dve"]=$ac;
	//print_r($movtos);
	$numero_aco_ac=asiento_contable_automatico("T", $fecha_aco, $hora_aco, $id_emp, $id_suc, $id_dep, $id_sec, $id_usu, $movtos, false, true, $id_per, false, false);
	if ($numero_aco_ac==false){
		return -20;
	}

}

function documento_venta_visa($id_emp,$id_tdo,$numero_dve){
	$id_usu=usuario_id();
	$cont_mov=0;
// 	$id_suc=usuario_sucursal();
// 	$id_dep=usuario_departamento();
// 	$id_sec=usuario_seccion();
// 	$tipo_sec=seccion_datos($id_emp,$id_suc,$id_dep,$id_sec);
// 	$id_tsc=$tipo_sec["id_tsc"];
// 	$nombre_seccion=$tipo_sec["nombre_sec"];
	//$fecha_aco=dateFormat("d/m/Y");
	$hora_aco=dateFormat("H:i:s");
	$cliente=documento_venta_cliente_datos($id_emp,$numero_dve,$id_tdo);

 	$persona=cliente_datos($cliente['id_cli']);
   	$id_per=$persona["id_per"];
	$documento_venta_cliente=documento_venta_cliente_lista($id_emp,$id_tdo,$numero_dve);


   //sql_begin("work");
      if (!documento_venta_estado_visa($id_emp,$numero_dve,$id_tdo,'t')){
       //sql_rollback("work");
      return -1;
   }
   if ($id_tdo==TIPO_DOCTO_VENTA_CREDITO){
	$documento_venta_relacionado=documento_venta_relacionado_ver($id_emp,$id_tdo,$numero_dve);
	$datos_nc=documento_venta_datos($id_emp,$id_tdo,$numero_dve);
	$factura_datos=documento_venta_datos($id_emp,$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel']);

	$id_suc=$datos_nc["seccion_id_suc"];
	$id_dep=$datos_nc["seccion_id_dep"];
	$id_sec=$datos_nc["seccion_id_sec"];
	$tipo_sec=seccion_datos($id_emp,$id_suc,$id_dep,$id_sec);
	$id_tsc=$tipo_sec["id_tsc"];
	$nombre_seccion=$tipo_sec["nombre_sec"];

	$fecha_aco=$datos_nc["fecha_dve"];
	// poner $documento_venta["tipo_nc"] a factura
      if (!documento_venta_tipo_nc($id_emp,$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel'],$datos_nc["tipo_nc_dve"])){
        // sql_rollback("work");
         return -1;
      }
      if ($datos_nc["tipo_nc_dve"]==TIPO_NOTA_CREDITO_ANULA){
	$relacion_nve=documento_venta_busca_nve($id_emp,$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel']);
         if (!empty($relacion_nve)) {
            $codigo_nve=$relacion_nve['codigo_nve'];
            $id_nve=$relacion_nve['id_nve'];
            $id_tnv=$relacion_nve['id_tnv'];// Nota Nuevos, Usados, Repuestos
            if ($id_tnv==TIPO_NOTA_VENTA_USADOS){
               if (!nota_venta_cambia_estado($id_nve,ESTADO_NOTA_VENTA_APROBADA)){
                  //sql_rollback("work");
                  return -1;
               }
 		if (!eliminar_propietario($id_nve,$id_emp,$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel'])) {
 			return -1;
 		}


               $usado_nota_venta=usado_nota_venta_lista($id_nve);//Nota Usados
               if (!empty($usado_nota_venta)) {
                  if (!stock_vehiculo_cambia_estado($usado_nota_venta[0]['nro_interno_sve'],'A')){//vehiculo Usado Asignado
                     //sql_rollback("work");
                     return -1;
                  }
//                   if (!documento_venta_usado_eliminar ($id_emp,$documento_venta_relacionado['numero_dve_rel'],$documento_venta_relacionado['id_tdo_rel'],$usado_nota_venta[0]['nro_interno_sve'],$id_nve)){
//                      sql_rollback("work");
//                      return -1;
//                   }
               }
            }
            if ($id_tnv==TIPO_NOTA_VENTA_VEHICULO){
               if (!nota_venta_cambia_estado($id_nve,ESTADO_NOTA_VENTA_AUTORIZADA)){
                  //sql_rollback("work");
                  return -1;
               }
		if (!eliminar_propietario($id_nve,$id_emp,$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel'])) {
			return -1;
		}
               $nuevo_nota_venta=nuevo_nota_venta_listar($id_nve);//Nota Nuevos
               if (!empty($nuevo_nota_venta)) {
                  for ($i=0;$i<count($nuevo_nota_venta);$i++){
			//poner null a fecha de salida
                     if (!stock_vehiculo_cambia_estado($nuevo_nota_venta[$i]["nro_interno_sve"],'A')){//vehiculo Nuevo Asignado
                        //sql_rollback("work");
                        return -1;
                     }
			$stock_vehiculo_datos=stock_vehiculo_datos($nuevo_nota_venta[$i]['nro_interno_sve']);
			//vehiculo_modificar_propio($patente,$propio)
			if (!vehiculo_modificar_propio($stock_vehiculo_datos['patente_veh'],'t')){
				//sql_rollback("work");
				return -1;
			}
//                      if (!documento_venta_nuevo_eliminar($id_emp,$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel'],$nuevo_nota_venta[$i]["id_nve"],$nuevo_nota_venta[$i]["correlativo_nnv"])){
//                         sql_rollback("work");
//                         return -1;
//                      }
                  }
               }

            }
            if ($id_tnv==TIPO_NOTA_VENTA_REPUESTOS){
               if (!nota_venta_cambia_estado($id_nve,ESTADO_NOTA_VENTA_NULA)){// ANULA NOTA DE VENTA
                  //sql_rollback("work");
                  return -1;
               }
      		$cot=cotizacion_nv_id_cot($id_nve);
      		$articulo_nota_venta=articulo_nota_venta_lista($id_nve);
               	if (!empty($cot)){
                     if (!cotizacion_id_eco($cot[0]["id_cot"], ESTADO_COTIZACION_PENDIENTE)){// COTIZACION VUELVE A PENDIENTE
                        //sql_rollback("work");
                        return -1;
                     }
		}
                     $periodo=validar_periodo($documento_venta_relacionado["fecha_dve"]);
			$periodo=1;//siempre hacer ajuste
                     if ($periodo==1){// nc no pertenece al periodo del documento
                        for ($i=0;$i<count($articulo_nota_venta);$i++){
				$fecha=dateGet($datos_nc['fecha_dve']);
                              	$mes=$fecha["month"];
                              	$ano=$fecha["year"];
				$saldo_articulo_datos=saldo_articulo_datos($articulo_nota_venta[$i]["id_bie"],$id_emp,$id_suc,$id_dep,$id_sec,$ano,$mes);
                           	$productos[$i]["id_bie"]=$articulo_nota_venta[$i]["id_bie"];
                           	$productos[$i]["correlativo_dmp"]=$articulo_nota_venta[$i]["correlativo_anv"];
                           	//$productos[$i]["precio_dmp"]=$articulo_nota_venta[$i]["precio_anv"];
				$productos[$i]["precio_dmp"]=($saldo_articulo_datos["costo"]==0?$saldo_articulo_datos["costo_prom_ant_sar"]:$saldo_articulo_datos["costo"]);
                           	$productos[$i]["cantidad_dmp"]=$articulo_nota_venta[$i]["cantidad_anv"];
                           	$productos[$i]["descripcion_dmp"]=$articulo_nota_venta[$i]["descripcion_anv"];
                        }
                        $observacion_mpr="Ajuste por Nota de Crédito Nº ".$documento["numero_dve"];
                        $result=ajuste_inventario_agregar_nc($id_emp,$documento_venta_relacionado['seccion_id_suc'],$documento_venta_relacionado['seccion_id_dep'],$documento_venta_relacionado['seccion_id_sec'],$datos_nc['fecha_dve'],$observacion_mpr,$id_usu,1,$productos );
                        if ($result==0){
                           //sql_rollback("work");
                           return -11;
                        }
                     }
            }

         }
         $relacion_ot=documento_venta_id_otr($id_emp,$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel']);
         if (!empty($relacion_ot)) {
		for ($i=0;$i<count($relacion_ot);$i++){
			$codigo_otr=$relacion_ot[$i]['codigo_otr'];
			$id_otr=$relacion_ot[$i]['id_otr'];
			$tipo_otr=$relacion_ot[$i]['tipo_otr'];// D =DyP S=Servicios
		            if (!orden_trabajo_modificar_estado($id_otr, ESTADO_OT_LIQUIDADA,"")){
		               //sql_rollback("work");
		               return -1;
		            }
		}
         }
         $guias=documento_venta_guias_lista($id_emp,$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel']);
         if (!empty($guias)) {
            for ($i=0;$i<count($guias);$i++){
               if (!documento_venta_estado_guia($documento_venta["id_emp"],$guias[$i]["numero_dve_rel"],TIPO_DOCTO_VENTA_GUIA,'N')){
                  //sql_rollback("work");
                  return -1;
               }
            }
         }
	$prestamos=documento_venta_prestamo_lista($id_emp,$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel']);
	if (!empty($prestamos)) {
		for ($i=0;$i<count($prestamos);$i++){
			$asientos=asiento_documento_venta_lista_dve($id_emp,TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE,$prestamos[$i]["numero_dve"]);
			//print_r($asientos);
			$mov=cuenta_asiento_lista($id_emp,$asientos[0]["id_aco"]);
			$saldo_prestamo=documento_venta_prestamo_cliente(0,'','',$prestamos[$i]["numero_dve"]);
			//print_r($saldo_prestamo);
			//DEPENDIENDO DEL SALDO DEL PC ESTE SE DEBE CANCELAR O CREAR AC CORRESPONDIENTE
			if($saldo_prestamo[0]["abono_dve"]>0){
				$monto_ac=$saldo_prestamo[0]["abono_dve"];
				$movtos_ac=array();
				$contador=0;
				$movtos_ac[$contador]["id_cco"]=510101;
				$movtos_ac[$contador]["afecta_cas"]="D";
				$movtos_ac[$contador]["monto_cas"]=$saldo_prestamo[0]["abono_dve"];
				$movtos_ac[$contador]["seccion_id_emp"]=$id_emp;
				$movtos_ac[$contador]["seccion_id_suc"]=$id_suc;
				$movtos_ac[$contador]["seccion_id_dep"]=$id_dep;
				$movtos_ac[$contador]["seccion_id_sec"]=$id_sec;
				$movtos_ac[$contador]["descripcion_cas"]="AC POR NOTA DE CREDITO ".$numero_dve;
				$movtos_ac[$contador]["tipo_movto_cas"]=0;

				$contador++;
				$datos_ac["numero_dve"] = $ultimo[0]["ultimo_folio"];
				$datos_ac["codigo_barra_dve"] = 0;
				$datos_ac["fecha_dve"] = $fecha_aco;
				$datos_ac["impuesto_esp_dve"] = 0;
				$datos_ac["ley_19030_dve"] = 0;
				$datos_ac["neto_dve"] = $saldo_prestamo[0]["abono_dve"];
				$datos_ac["iva_dve"] = "0";
				$datos_ac["exento_dve"] = "0";
				$datos_ac["detalle_dve"] = "";
				$datos_ac["signo_dve"] = -1;
				$datos_ac["pagado_dve"] = "f";
				$datos_ac["nulo_dve"] = "f";
				$datos_ac["tipo_nc"]="";
				$datos_ac["id_cca"] = $factura_datos["id_cca"];
				if (!$ac=documento_venta_agregar($id_emp,TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE,0,$datos_ac['codigo_barra_dve'],$datos_ac['fecha_dve'],$datos_ac['neto_dve'],$datos_ac['iva_dve'],$datos_ac['impuesto_esp_dve'],$datos_ac['ley_19030_dve'],$datos_ac['exento_dve'],$datos_ac['detalle_dve'],$datos_ac['nulo_dve'],$id_emp,$id_suc,$id_dep,$id_sec,$datos_ac['signo_dve'],$datos_ac['pagado_dve'],0,"",$datos_ac['id_cca'], $datos_ac['forma_pago_guia_dve'],$datos_ac['fecha_vcto_dve'])){
					sql_rollback("work");
					return -1;
				}
				if(!documento_venta_cliente_agregar ($id_emp,TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE,$ac,$cliente['id_cli'],$cliente['correlativo_drc'],true)){
					sql_rollback("work");
					return -1;
				}
				$movtos_ac[$contador]["id_cco"]=211201;
				$movtos_ac[$contador]["afecta_cas"]="H";
				$movtos_ac[$contador]["monto_cas"]=$saldo_prestamo[0]["abono_dve"];
				$movtos_ac[$contador]["seccion_id_emp"]=$id_emp;
				$movtos_ac[$contador]["seccion_id_suc"]=$id_suc;
				$movtos_ac[$contador]["seccion_id_dep"]=$id_dep;
				$movtos_ac[$contador]["seccion_id_sec"]=$id_sec;
				$movtos_ac[$contador]["descripcion_cas"]="AC POR NOTA DE CREDITO ".$numero_dve;
				$movtos_ac[$contador]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
				$movtos_ac[$contador]["documento"]["id_tdo"]=TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE;
				$movtos_ac[$contador]["documento"]["numero_dve"]=$ac;
				//print_r($movtos_ac);
				$numero_aco_ac=asiento_contable_automatico("T", $fecha_aco, $hora_aco, $id_emp, $id_suc, $id_dep, $id_sec, $id_usu, $movtos_ac, false, true, $id_per, false, false);
				if ($numero_aco_ac==false){
					sql_rollback("work");
					return -25;
				}
			}
			if($saldo_prestamo[0]["saldo"]>0){
				for ($x=0;$x<count($mov);$x++){
					if ($mov[$x]["afecta_cas"]=="H"){
						$mov[$x]["monto_cas"]=$saldo_prestamo[0]["saldo"];
						$mov[$x]["afecta_cas"]="D";
						$mov[$x]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch
						$mov[$x]["tipo_docto_cas"]=FORMA_PAGO_ASIENTO_CONTABLE;
						$mov[$x]["tipo_pago"]=1;
						$mov[$x]["tipo"]=FORMA_PAGO_ASIENTO_CONTABLE;
						$caja=cierre_caja_id_activa_actual ($id_emp,$id_suc,$id_dep,$id_sec);
						if ($caja==null){
							//sql_rollback("work");
							return -23;
						}
						if (!pago_agregar($id_emp,"",FORMA_PAGO_ASIENTO_CONTABLE,0,$cliente['id_cli'],"","","","","",$mov[$x]["monto_cas"],"","","","",ESTADO_PAGO_CANCELADO,"",$id_usu,false,0,0,0,$fecha_aco)){
							//sql_rollback("work");
							return -22;
						}

						$mov[$x]["id_cpa_pago"]=secuencia_ultimo_valor("sec_id_cpa");
						if (!pago_documento_venta_agregar ($mov[$x]["id_cpa_pago"],0,TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE,$prestamos[$i]["numero_dve"])){
							//sql_rollback("work");
							return -24;
						}
					}else{
						$mov[$x]["monto_cas"]=$saldo_prestamo[0]["saldo"];
						$mov[$x]["afecta_cas"]="H";
						$mov[$x]["tipo_docto_cas"]=TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE;
						$mov[$x]["documento"]["id_tdo"]=TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE;
						$mov[$x]["documento"]["numero_dve"]=$prestamos[$i]["numero_dve"];
					}
					$mov[$x]["fecha_cas"]=$fecha_aco;
					$mov[$x]["descripcion_cas"]="Rev ".$mov[$x]["descripcion_cas"];
				}
				//print_r($mov);
				$numero_aco_p=asiento_contable_automatico("T", $fecha_aco, $hora_aco, $id_emp, $id_suc, $id_dep, $id_sec, $id_usu, $mov, false, true, $id_per, false, false);
				if ($numero_aco_p==false){
					//sql_rollback("work");
					return -21;
				}
			}
// 			if (!documento_venta_anula($id_emp,TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE,$prestamos[$i]["numero_dve"])){
// 				//sql_rollback("work");
// 				return -8;
// 			}
		}
	}
      }
      if ($datos_nc["tipo_nc_dve"]!=TIPO_NOTA_CREDITO_ERROR){
		// ????
		$saldo_id_cpa=documento_venta_saldo_lista($cliente['id_cli'],$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel']);
		if ($saldo_id_cpa[0]["id_cpa"]=="" || empty($saldo_id_cpa)){
			$saldo_id_cpa[0]["id_cpa"]=0;
			$saldo_id_cpa[0]["saldo"]=0;
		}
		if ($id_tsc==SECCION_ADMINISTRACION){
			$total_nc=$datos_nc["neto_dve"]+$datos_nc["iva_dve"];
			$asientos=asiento_documento_venta_lista_dve($id_emp,$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel']);
			$mov=cuenta_asiento_lista($id_emp,$asientos[0]["id_aco"]);
			//print_r($mov);
			$temp=0;
			$sum_art=0;
			for ($i=0;$i<count($mov);$i++){
				if ($mov[$i]["id_cco"]!=CUENTA_IVA_DEBITO && $mov[$i]["afecta_cas"]!="D"){
					$movimientos_temp[$temp]["id_emp"]=$id_emp;
					$movimientos_temp[$temp]["documento"]["id_cpa_dve"]=0;//id_cpa
					$movimientos_temp[$temp]["id_cco"]=$mov[$i]["id_cco"];
					$movimientos_temp[$temp]["auxiliar_id_aux"]=$mov[$i]["auxiliar_id_aux"];
					$movimientos_temp[$temp]["auxiliar_id_emp"]=$mov[$i]["auxiliar_id_emp"];
					$movimientos_temp[$temp]["seccion_id_emp"]=$mov[$i]["seccion_id_emp"];
					$movimientos_temp[$temp]["seccion_id_suc"]=$mov[$i]["seccion_id_suc"];
					$movimientos_temp[$temp]["seccion_id_dep"]=$mov[$i]["seccion_id_dep"];
					$movimientos_temp[$temp]["seccion_id_sec"]=$mov[$i]["seccion_id_sec"];
					$movimientos_temp[$temp]["afecta_cas"]="D";
					$movimientos_temp[$temp]["monto_cas"]=$mov[$i]["monto_cas"];
					$movimientos_temp[$temp]["fecha_cas"]=$fecha_aco;
					$movimientos_temp[$temp]["descripcion_cas"]="Nota Credito Venta Docto. Nro. ".$documento_venta_relacionado['numero_dve_rel'];
					$movimientos_temp[$temp]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
					$movimientos_temp[$temp]["tipo_docto_cas"]=TIPO_DOCTO_VENTA_CREDITO;
					$movimientos_temp[$temp]["documento"]["id_tdo"]=$id_tdo;
					$movimientos_temp[$temp]["documento"]["numero_dve"]=$numero_dve;
					$sum_art=$sum_art+$mov[$i]["monto_cas"];
					$temp++;
				}
			}
			// prorratear valor de NETO
			//$datos_nc["neto_dve"] es el valor a prorratear entre los items del asiento de la factura
			$movimientos[0]["documento"]["id_cpa_dve"]=$saldo_id_cpa[0]["id_cpa"];//id_cpa padre
			$suma_prorrateo=0;
			for ($i=0;$i<count($movimientos_temp);$i++){
				$movimientos[$cont_mov]["id_emp"]=$movimientos_temp[$i]["id_emp"];
				$movimientos[$cont_mov]["id_cco"]=$movimientos_temp[$i]["id_cco"];
				$movimientos[$cont_mov]["auxiliar_id_aux"]=$movimientos_temp[$i]["auxiliar_id_aux"];
				$movimientos[$cont_mov]["auxiliar_id_emp"]=$movimientos_temp[$i]["auxiliar_id_emp"];
				$movimientos[$cont_mov]["seccion_id_emp"]=$movimientos_temp[$i]["seccion_id_emp"];
				$movimientos[$cont_mov]["seccion_id_suc"]=$movimientos_temp[$i]["seccion_id_suc"];
				$movimientos[$cont_mov]["seccion_id_dep"]=$movimientos_temp[$i]["seccion_id_dep"];
				$movimientos[$cont_mov]["seccion_id_sec"]=$movimientos_temp[$i]["seccion_id_sec"];
				$movimientos[$cont_mov]["afecta_cas"]=$movimientos_temp[$i]["afecta_cas"];
				$movimientos[$cont_mov]["monto_cas"]=round((($movimientos_temp[$i]["monto_cas"]/$sum_art)*$datos_nc["neto_dve"]),0);
				$movimientos[$cont_mov]["fecha_cas"]=$movimientos_temp[$i]["fecha_cas"];
				$movimientos[$cont_mov]["descripcion_cas"]=$movimientos_temp[$i]["descripcion_cas"];
				$movimientos[$cont_mov]["tipo_movto_cas"]=$movimientos_temp[$i]["tipo_movto_cas"];//0=Sin Docto 1= Compra 2=Venta 3=Ch
				$movimientos[$cont_mov]["tipo_docto_cas"]=$movimientos_temp[$i]["tipo_docto_cas"];
				$movimientos[$cont_mov]["documento"]["id_tdo"]=$movimientos_temp[$i]["documento"]["id_tdo"];
				$movimientos[$cont_mov]["documento"]["numero_dve"]=$movimientos_temp[$i]["documento"]["numero_dve"];
				$suma_prorrateo=$suma_prorrateo+$movimientos[$cont_mov]["monto_cas"];
				$cont_mov++;
			}
			$dif=$datos_nc["neto_dve"]-$suma_prorrateo;
			$movimientos[$cont_mov-1]["monto_cas"]=$movimientos[$cont_mov-1]["monto_cas"]+$dif;
		}
		if ($id_tsc==SECCION_VENTAS_NUEVOS){
			$movimientos[$cont_mov]["documento"]["id_cpa_dve"]=$saldo_id_cpa[0]["id_cpa"];//id_cpa padre
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$movimientos[$cont_mov]["id_cco"]=cuenta_tipo_seccion_cco_datos($id_emp,$id_tsc,CATEGORIA_BIEN_VEHICULOS);//
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["monto_cas"]=$datos_nc["neto_dve"]+$datos_nc["exento_dve"];
			$movimientos[$cont_mov]["afecta_cas"]="D";// neto
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_aco;
			$movimientos[$cont_mov]["descripcion_cas"]="Nota Crédito Docto. Nro. ".$documento_venta_relacionado['numero_dve_rel'];
			$movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
			$movimientos[$cont_mov]["tipo_docto_cas"]=TIPO_DOCTO_VENTA_CREDITO;
			$movimientos[$cont_mov]["documento"]["id_tdo"]=$id_tdo;
			$movimientos[$cont_mov]["documento"]["numero_dve"]=$numero_dve;
			$cont_mov++;
			$total_nc=$datos_nc["exento_dve"]+$datos_nc["neto_dve"]+$datos_nc["iva_dve"];
		}
		if ($id_tsc==SECCION_VENTAS_USADOS){
			$movimientos[$cont_mov]["documento"]["id_cpa_dve"]=$saldo_id_cpa[0]["id_cpa"];//id_cpa padre
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$movimientos[$cont_mov]["id_cco"]=cuenta_tipo_seccion_cco_datos($id_emp,$id_tsc,CATEGORIA_BIEN_VEHICULOS);//
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["monto_cas"]=$datos_nc["exento_dve"]+$datos_nc["neto_dve"];
			$movimientos[$cont_mov]["afecta_cas"]="D";// neto
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_aco;
			$movimientos[$cont_mov]["descripcion_cas"]="Nota Crédito Venta Docto. Nro. ".$documento_venta_relacionado['numero_dve_rel'];
			$movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
			$movimientos[$cont_mov]["tipo_docto_cas"]=TIPO_DOCTO_VENTA_CREDITO;
			$movimientos[$cont_mov]["documento"]["id_tdo"]=$id_tdo;
			$movimientos[$cont_mov]["documento"]["numero_dve"]=$numero_dve;
			$cont_mov++;
			$total_nc=$datos_nc["exento_dve"]+$datos_nc["neto_dve"]+$datos_nc["iva_dve"];
		}
		if ($id_tsc==SECCION_REPUESTOS || $id_tsc==SECCION_SERVICIOS || $id_tsc==SECCION_SERVICIODYP){
			$total_nc=$datos_nc["neto_dve"]+$datos_nc["iva_dve"]+$datos_nc["exento_dve"];
			$asientos=asiento_documento_venta_lista_dve($id_emp,$documento_venta_relacionado['id_tdo_rel'],$documento_venta_relacionado['numero_dve_rel']);
			$mov=cuenta_asiento_lista($id_emp,$asientos[0]["id_aco"]);
			//print_r($mov);
			$temp=0;
			$sum_art=0;
			for ($i=0;$i<count($mov);$i++){
				if ($mov[$i]["id_cco"]!=CUENTA_IVA_DEBITO && $mov[$i]["afecta_cas"]!="D"){
					$movimientos_temp[$temp]["id_emp"]=$id_emp;
					$movimientos_temp[$temp]["documento"]["id_cpa_dve"]=0;//id_cpa
					$movimientos_temp[$temp]["id_cco"]=$mov[$i]["id_cco"];
					$movimientos_temp[$temp]["auxiliar_id_aux"]=$mov[$i]["auxiliar_id_aux"];
					$movimientos_temp[$temp]["auxiliar_id_emp"]=$mov[$i]["auxiliar_id_emp"];
					$movimientos_temp[$temp]["seccion_id_emp"]=$mov[$i]["seccion_id_emp"];
					$movimientos_temp[$temp]["seccion_id_suc"]=$mov[$i]["seccion_id_suc"];
					$movimientos_temp[$temp]["seccion_id_dep"]=$mov[$i]["seccion_id_dep"];
					$movimientos_temp[$temp]["seccion_id_sec"]=$mov[$i]["seccion_id_sec"];
					$movimientos_temp[$temp]["afecta_cas"]="D";
					$movimientos_temp[$temp]["monto_cas"]=$mov[$i]["monto_cas"];
					$movimientos_temp[$temp]["fecha_cas"]=$fecha_aco;
					$movimientos_temp[$temp]["descripcion_cas"]="Nota Credito Venta Docto. Nro. ".$documento_venta_relacionado['numero_dve_rel'];
					$movimientos_temp[$temp]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
					$movimientos_temp[$temp]["tipo_docto_cas"]=TIPO_DOCTO_VENTA_CREDITO;
					$movimientos_temp[$temp]["documento"]["id_tdo"]=$id_tdo;
					$movimientos_temp[$temp]["documento"]["numero_dve"]=$numero_dve;
					$sum_art=$sum_art+$mov[$i]["monto_cas"];
					$temp++;
				}
			}
			// prorratear valor de repuestos
			//$datos_nc["neto_dve"] es el valor a prorratear entre los items del asiento de la factura
			$movimientos[0]["documento"]["id_cpa_dve"]=$saldo_id_cpa[0]["id_cpa"];//id_cpa padre
			$suma_prorrateo=0;
			//print_r($datos_nc);
			for ($i=0;$i<count($movimientos_temp);$i++){
				$movimientos[$cont_mov]["id_emp"]=$movimientos_temp[$i]["id_emp"];
				$movimientos[$cont_mov]["id_cco"]=$movimientos_temp[$i]["id_cco"];
				$movimientos[$cont_mov]["auxiliar_id_aux"]=$movimientos_temp[$i]["auxiliar_id_aux"];
				$movimientos[$cont_mov]["auxiliar_id_emp"]=$movimientos_temp[$i]["auxiliar_id_emp"];
				$movimientos[$cont_mov]["seccion_id_emp"]=$movimientos_temp[$i]["seccion_id_emp"];
				$movimientos[$cont_mov]["seccion_id_suc"]=$movimientos_temp[$i]["seccion_id_suc"];
				$movimientos[$cont_mov]["seccion_id_dep"]=$movimientos_temp[$i]["seccion_id_dep"];
				$movimientos[$cont_mov]["seccion_id_sec"]=$movimientos_temp[$i]["seccion_id_sec"];
				$movimientos[$cont_mov]["afecta_cas"]=$movimientos_temp[$i]["afecta_cas"];
				$monto_total=($datos_nc["neto_dve"]>0)?$datos_nc["neto_dve"]:$datos_nc["exento_dve"];
				$movimientos[$cont_mov]["monto_cas"]=round((($movimientos_temp[$i]["monto_cas"]/$sum_art)*$monto_total),0);
				$movimientos[$cont_mov]["fecha_cas"]=$movimientos_temp[$i]["fecha_cas"];
				$movimientos[$cont_mov]["descripcion_cas"]=$movimientos_temp[$i]["descripcion_cas"];
				$movimientos[$cont_mov]["tipo_movto_cas"]=$movimientos_temp[$i]["tipo_movto_cas"];//0=Sin Docto 1= Compra 2=Venta 3=Ch
				$movimientos[$cont_mov]["tipo_docto_cas"]=$movimientos_temp[$i]["tipo_docto_cas"];
				$movimientos[$cont_mov]["documento"]["id_tdo"]=$movimientos_temp[$i]["documento"]["id_tdo"];
				$movimientos[$cont_mov]["documento"]["numero_dve"]=$movimientos_temp[$i]["documento"]["numero_dve"];
				$suma_prorrateo=$suma_prorrateo+$movimientos[$cont_mov]["monto_cas"];
				$cont_mov++;
			}
			$dif=$monto_total-$suma_prorrateo;
			$movimientos[$cont_mov-1]["monto_cas"]=$movimientos[$cont_mov-1]["monto_cas"]+$dif;
		}

		if ($id_tsc==SECCION_SERVICIOS){
// 			$movimientos[$cont_mov]["id_cco"]=cuenta_tipo_seccion_cco_datos($id_emp,$id_tsc,CATEGORIA_BIEN_SERVICIOS);//
// 			$movimientos[$cont_mov]["monto_cas"]=$datos_nc["neto_dve"];
// 			$total_nc=$datos_nc["neto_dve"];
		}
		if ($datos_nc["iva_dve"]>0){
			//IVA
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$movimientos[$cont_mov]["documento"]["id_cpa_dve"]=0;//id_cpa
			$movimientos[$cont_mov]["id_cco"]=CUENTA_IVA_DEBITO;
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["afecta_cas"]="D";
			$movimientos[$cont_mov]["monto_cas"]=$datos_nc["iva_dve"];//IVA
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_aco;
			$movimientos[$cont_mov]["descripcion_cas"]="Nota Credito Venta Docto. Nro. ".$documento_venta_relacionado['numero_dve_rel'];
			$movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
			$movimientos[$cont_mov]["tipo_docto_cas"]=TIPO_DOCTO_VENTA_CREDITO;
			$movimientos[$cont_mov]["documento"]["id_tdo"]=$id_tdo;
			$movimientos[$cont_mov]["documento"]["numero_dve"]=$numero_dve;
			$cont_mov++;
		}
		//print_r(array($total_nc,$saldo_id_cpa[0]["saldo"]));

		if ($saldo_id_cpa[0]["saldo"]>=$total_nc){
			//CREDITO SECCION
			$cuenta_forma_pago=cuenta_forma_pago_datos(0,$id_emp,FORMA_PAGO_CUENTA_CORRIENTE,$id_tsc);
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$movimientos[$cont_mov]["item"]=$cont_mov;
			$movimientos[$cont_mov]["id_cpa_padre"]=$saldo_id_cpa[0]["id_cpa"];//id_cpa
			$movimientos[$cont_mov]["id_cpa_pago"]=0;
			//$cliente['id_cli']
			$movimientos[$cont_mov]["id_cli"]=$cliente['id_cli'];
			$movimientos[$cont_mov]["id_cco"]=$cuenta_forma_pago['id_cco'];
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["afecta_cas"]="H";//
			$movimientos[$cont_mov]["monto_cas"]=$total_nc;
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_aco;
			$movimientos[$cont_mov]["descripcion_cas"]="Nota Crédito Venta Docto. Nro. ".$documento_venta_relacionado['numero_dve_rel'];
			$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch
			$movimientos[$cont_mov]["tipo_docto_cas"]=FORMA_PAGO_ASIENTO_CONTABLE;
			$movimientos[$cont_mov]["tipo_pago"]=1;
			$movimientos[$cont_mov]["tipo"]=FORMA_PAGO_ASIENTO_CONTABLE;
			$cont_mov++;
		}else{
			if ($saldo_id_cpa[0]["saldo"]<$total_nc && $saldo_id_cpa[0]["saldo"]!=0){//existira anticipo
				$anticipo["id_tdo"]= TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE;
				$ultimo=ultimo_folio(TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE);
				if ($ultimo[0]["ultimo_folio"]==""){$ultimo[0]["ultimo_folio"]=1;}
				$anticipo["numero_dve"] = $ultimo[0]["ultimo_folio"];
				$anticipo["codigo_barra_dve"] = 0;
				$anticipo["fecha_dve"] = $fecha_aco;
				$anticipo["impuesto_esp_dve"] = 0;
				$anticipo["ley_19030_dve"] = 0;
				$anticipo["neto_dve"] = $total_nc-$saldo_id_cpa[0]["saldo"];
				$anticipo["iva_dve"] = "0";
				$anticipo["exento_dve"] = "0";
				$anticipo["detalle_dve"] = "";
				$anticipo["signo_dve"] = -1;
				$anticipo["pagado_dve"] = "f";
				$anticipo["nulo_dve"] = "f";
				$anticipo["tipo_nc"]="";
				$anticipo["id_cca"] = $factura_datos["id_cca"];
				if (!$anticipo["numero_dve"]=documento_venta_agregar($id_emp,$anticipo['id_tdo'],$anticipo['numero_dve'],$anticipo['codigo_barra_dve'],$anticipo['fecha_dve'],$anticipo['neto_dve'],$anticipo['iva_dve'],$anticipo['impuesto_esp_dve'],$anticipo['ley_19030_dve'],$anticipo['exento_dve'],$anticipo['detalle_dve'],$anticipo['nulo_dve'],$id_emp,$id_suc,$id_dep,$id_sec,$anticipo['signo_dve'],$anticipo['pagado_dve'],0,"",$anticipo['id_cca'], $anticipo['forma_pago_guia_dve'],$anticipo['fecha_vcto_dve'])){
					//sql_rollback("work");
					return -1;
				}
				//print_r($documento_venta_cliente);
				foreach( $documento_venta_cliente as $documento_venta_clientes ){
					if ($documento_venta_clientes['titular_dvc']=='t'){
						if (!documento_venta_cliente_agregar($id_emp,$anticipo['id_tdo'],$anticipo['numero_dve'],$documento_venta_clientes['id_cli'],$documento_venta_clientes['correlativo_drc'],$documento_venta_clientes['titular_cnv'])){
							//sql_rollback("work");
							return -3;
						}
					}
				}
// 				if (!folio_asignado_modificar(0,0,0,0,TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE,0,0,$ultimo[0]["ultimo_folio"])){
// 					sql_rollback("work");
// 					return -5;
// 				}
				//ANTICIPO CLIENTE
				$movimientos[$cont_mov]["id_emp"]=$id_emp;
				$movimientos[$cont_mov]["id_cpa_dve"]=0;//id_cpa
				$movimientos[$cont_mov]["id_cco"]=211201;
				$movimientos[$cont_mov]["auxiliar_id_aux"]="";
				$movimientos[$cont_mov]["auxiliar_id_emp"]="";
				$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
				$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
				$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
				$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
				$movimientos[$cont_mov]["afecta_cas"]="H";
				$movimientos[$cont_mov]["monto_cas"]=$total_nc-$saldo_id_cpa[0]["saldo"];
				$movimientos[$cont_mov]["fecha_cas"]=$fecha_aco;
				$movimientos[$cont_mov]["descripcion_cas"]="Nota Crédito Venta Docto. Nro. ".$documento_venta_relacionado['numero_dve_rel'];
				$movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
				$movimientos[$cont_mov]["documento"]["id_tdo"]=TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE;
				$movimientos[$cont_mov]["documento"]["numero_dve"]=$anticipo["numero_dve"];
				$cont_mov++;

				//pago
				$cuenta_forma_pago=cuenta_forma_pago_datos(0,$id_emp,FORMA_PAGO_CUENTA_CORRIENTE,$id_tsc);
				$movimientos[$cont_mov]["id_emp"]=$id_emp;
				$movimientos[$cont_mov]["item"]=$cont_mov;
				$movimientos[$cont_mov]["id_cpa_padre"]=$saldo_id_cpa[0]["id_cpa"];//id_cpa
				$movimientos[$cont_mov]["id_cpa_pago"]=0;
				//$cliente['id_cli']
				$movimientos[$cont_mov]["id_cli"]=$cliente['id_cli'];
				$movimientos[$cont_mov]["id_cco"]=$cuenta_forma_pago['id_cco'];
				$movimientos[$cont_mov]["auxiliar_id_aux"]="";
				$movimientos[$cont_mov]["auxiliar_id_emp"]="";
				$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
				$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
				$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
				$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
				$movimientos[$cont_mov]["afecta_cas"]="H";//
				$movimientos[$cont_mov]["monto_cas"]=$saldo_id_cpa[0]["saldo"];
				$movimientos[$cont_mov]["fecha_cas"]=$fecha_aco;
				$movimientos[$cont_mov]["descripcion_cas"]="Nota Crédito Venta Docto. Nro. ".$documento_venta_relacionado['numero_dve_rel'];
				$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch
				$movimientos[$cont_mov]["tipo_docto_cas"]=FORMA_PAGO_ASIENTO_CONTABLE;
				$movimientos[$cont_mov]["tipo_pago"]=1;
				$movimientos[$cont_mov]["tipo"]=FORMA_PAGO_ASIENTO_CONTABLE;
				$cont_mov++;
			}

		}
		if ($saldo_id_cpa[0]["saldo"]==0 ){
			$anticipo["id_tdo"]= TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE;
			$ultimo=ultimo_folio(TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE);
			if ($ultimo[0]["ultimo_folio"]==""){$ultimo[0]["ultimo_folio"]=1;}
			$anticipo["numero_dve"] = $ultimo[0]["ultimo_folio"];
			$anticipo["codigo_barra_dve"] = 0;
			$anticipo["fecha_dve"] = $fecha_aco;
			$anticipo["impuesto_esp_dve"] = 0;
			$anticipo["ley_19030_dve"] = 0;
			$anticipo["neto_dve"] = $total_nc;
			$anticipo["iva_dve"] = "0";
			$anticipo["exento_dve"] = "0";
			$anticipo["detalle_dve"] = "";
			$anticipo["signo_dve"] = -1;
			$anticipo["pagado_dve"] = "f";
			$anticipo["nulo_dve"] = "f";
			$anticipo["tipo_nc"]="";
			$anticipo["id_cca"] = $factura_datos["id_cca"];
			if (!$anticipo["numero_dve"]=documento_venta_agregar($id_emp,$anticipo['id_tdo'],$anticipo['numero_dve'],$anticipo['codigo_barra_dve'],$anticipo['fecha_dve'],$anticipo['neto_dve'],$anticipo['iva_dve'],$anticipo['impuesto_esp_dve'],$anticipo['ley_19030_dve'],$anticipo['exento_dve'],$anticipo['detalle_dve'],$anticipo['nulo_dve'],$id_emp,$id_suc,$id_dep,$id_sec,$anticipo['signo_dve'],$anticipo['pagado_dve'],0,"",$anticipo['id_cca'],$anticipo['forma_pago_guia_dve'],$anticipo['fecha_vcto_dve'])){
				//sql_rollback("work");
				return -1;
			}
			//print_r($documento_venta_cliente);
			foreach( $documento_venta_cliente as $documento_venta_clientes ){
				if ($documento_venta_clientes['titular_dvc']=='t'){
					if (!documento_venta_cliente_agregar($id_emp,$anticipo['id_tdo'],$anticipo['numero_dve'],$documento_venta_clientes['id_cli'],$documento_venta_clientes['correlativo_drc'],$documento_venta_clientes['titular_cnv'])){
						//sql_rollback("work");
						return -3;
					}
				}
			}
			//ANTICIPO CLIENTE
			//TODO CONTRA ANTICIPO CLIENTE
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$movimientos[$cont_mov]["id_cpa_dve"]=0;//id_cpa
			$movimientos[$cont_mov]["id_cco"]=211201;
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["afecta_cas"]="H";
			$movimientos[$cont_mov]["monto_cas"]=$total_nc;
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_aco;
			$movimientos[$cont_mov]["descripcion_cas"]="Nota Crédito Venta Docto. Nro. ".$documento_venta_relacionado['numero_dve_rel'];
			$movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
			$movimientos[$cont_mov]["documento"]["id_tdo"]=TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE;
			$movimientos[$cont_mov]["documento"]["numero_dve"]=$anticipo["numero_dve"];
			$cont_mov++;
		}
		//realizar asiento contable
		//print_r($movimientos);
		$numero_aco=asiento_contable_automatico("T", $fecha_aco, $hora_aco, $id_emp, $id_suc, $id_dep, $id_sec, $id_usu, $movimientos, false, true, $id_per, false, false);
		if ($numero_aco==false){
			//sql_rollback("work");
			print_r($movimientos);
			return -20;
		}
	}


   }

  	//sql_rollback("work");
 	//sql_commit("work");
   return 1;
}



function eliminar_documento_venta($id_emp,$id_tdo,$numero_dve,$periodo=0){
	$doc=documento_venta_datos($id_emp,$id_tdo,$numero_dve);
	$id_suc=$doc["seccion_id_suc"];
	$id_dep=$doc["seccion_id_dep"];
	$id_sec=$doc["seccion_id_sec"];
	$fecha_dve=dateDate();
	$id_usu=usuario_id();

	if ($id_tdo==TIPO_DOCTO_VENTA_FACTURA){
		$prestamos=documento_venta_prestamo_lista($id_emp,$id_tdo,$numero_dve);
		if (!empty($prestamos)){
			for ($i=0;$i<count($prestamos);$i++){
				if (!eliminar_documento_venta($id_emp,TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE,$prestamos[$i]["numero_dve"])){
					return -8;
				}
			}
		}
	}
	sql_begin("work");
	if ($id_tdo==TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE){
		if (!documento_venta_relacionado_eliminar($id_emp,$id_tdo,$numero_dve)){
 				sql_rollback("work");
 				return -1;
 		}
	}
	// ******** si elimino factura que tiene nc *************//
// 	$relacion_nc=documento_venta_nc_lista($id_emp,$id_tdo,$numero_dve);
// 	if (!empty($relacion_nc)){
// 		for ($i=0;$i<count($relacion_nc);$i++){
// 			if (!documento_venta_relacionado_eliminar($id_emp,TIPO_DOCTO_VENTA_CREDITO,$relacion_nc[$i]["numero_dve"],$id_emp,$id_tdo,$numero_dve)){
// 				sql_rollback("work");
// 				return -1;
// 			}
// 		}
// 	}
	// BLOQUE PARA ACTUALIZAR NOTAS DE VENTA Y OT ***** SE ACTUALIZA STOCK
	$relacion_nve=documento_venta_busca_nve($id_emp,$id_tdo,$numero_dve);
	if (!empty($relacion_nve)){
		$codigo_nve=$relacion_nve['codigo_nve'];
		$id_nve=$relacion_nve['id_nve'];
		$id_tnv=$relacion_nve['id_tnv'];// Nota Nuevos, Usados, Repuestos
		if ($id_tnv==TIPO_NOTA_VENTA_USADOS){
			if (!nota_venta_cambia_estado($id_nve,ESTADO_NOTA_VENTA_APROBADA)){
				sql_rollback("work");
				return -1;
			}
			if (!eliminar_propietario($id_nve,$id_emp,$id_tdo,$numero_dve)) {
				return -1;
			}
			$usado_nota_venta=usado_nota_venta_lista($id_nve);//Nota Usados
			if (!empty($usado_nota_venta)) {
			if (!stock_vehiculo_cambia_estado($usado_nota_venta[0]['nro_interno_sve'],'A')){//vehiculo Usado Asignado
			sql_rollback("work");
			return -1;
			}
		//             if (!documento_venta_usado_eliminar ($id_emp,$numero_dve,$id_tdo,$usado_nota_venta[0]['nro_interno_sve'],$id_nve)){
		//                sql_rollback("work");
		//                return -1;
		//             }
			}
		}
		if ($id_tnv==TIPO_NOTA_VENTA_VEHICULO){
			if (!nota_venta_cambia_estado($id_nve,ESTADO_NOTA_VENTA_AUTORIZADA)){
			sql_rollback("work");
			return -1;
			}
			if (!eliminar_propietario($id_nve,$id_emp,$id_tdo,$numero_dve)) {
				return -1;
			}
			$nuevo_nota_venta=nuevo_nota_venta_listar($id_nve);//Nota Nuevos
			if (!empty($nuevo_nota_venta)) {
				for ($i=0;$i<count($nuevo_nota_venta);$i++){
					if (!stock_vehiculo_cambia_estado($nuevo_nota_venta[$i]["nro_interno_sve"],'A')){//vehiculo Nuevo Asignado
						sql_rollback("work");
						return -1;
					}
					$stock_vehiculo_datos=stock_vehiculo_datos($nuevo_nota_venta[$i]['nro_interno_sve']);
					//vehiculo_modificar_propio($patente,$propio)
					if (!vehiculo_modificar_propio($stock_vehiculo_datos['patente_veh'],'t')){
						sql_rollback("work");
						return -4;
					}
				}
				if (!documento_venta_nuevo_eliminar ($id_emp,$id_tdo,$numero_dve,$id_nve,0)){
					sql_rollback("work");
					return -1;
				}
			}
		}
		if ($id_tnv==TIPO_NOTA_VENTA_REPUESTOS){
			if (!nota_venta_cambia_estado($id_nve,ESTADO_NOTA_VENTA_NULA)){// ANULA NOTA DE VENTA
				sql_rollback("work");
				return -1;
			}
			$cot=cotizacion_nv_id_cot($id_nve);
			$articulo_nota_venta=articulo_nota_venta_lista($id_nve);
			if (!empty($cot)) {
				if (!cotizacion_id_eco($cot[0]["id_cot"], ESTADO_COTIZACION_PENDIENTE)){// COTIZACION VUELVE A PENDIENTE
					sql_rollback("work");
					return -1;
				}
			}
			//$bien_cotizacion=bien_cotizacion_lista ($cot[$i]["id_cot"]);
			$periodo=2;
			if ($periodo==2){
				for ($j=0;$j<count($articulo_nota_venta);$j++){
					$fecha=$doc["fecha_dve"];
					$mes=$fecha["month"];
					$ano=$fecha["year"];

					if (!documento_venta_articulo_eliminar ($id_emp,$id_tdo,$numero_dve,$id_nve,$articulo_nota_venta[$j]["id_bie"])){
						sql_rollback("work");
						return -1;
					}
				}
			}

		}
		//ELIMINAR REGISTRO EN DOCUMENTO_VENTA_NV
		if (!documento_venta_nv_eliminar($id_emp,$id_tdo,$numero_dve,$id_nve)){
			sql_rollback("work");
			return -1;
		}
	}
	$relacion_ot=documento_venta_id_otr($id_emp,$id_tdo,$numero_dve);
	if (!empty($relacion_ot)) {
		for ($i=0;$i<count($relacion_ot);$i++){
			$codigo_otr=$relacion_ot[$i]['codigo_otr'];
			$id_otr=$relacion_ot[$i]['id_otr'];
			$tipo_otr=$relacion_ot[$i]['tipo_otr'];// D =DyP S=Servicios
		      	if (!orden_trabajo_modificar_estado($id_otr, ESTADO_OT_LIQUIDADA,"")){
				sql_rollback("work");
				return -1;
		     	}

			if (!documento_venta_ot_eliminar ($id_emp,$id_tdo,$numero_dve,$id_otr)){
				sql_rollback("work");
				return -1;
			}
			//eliminar datos cia ot
			if (!datos_cia_ot_eliminar($id_emp,$id_tdo,$numero_dve)){
				sql_rollback("work");
				return -1;
			}
		}
	}
	// si es factura de guias
	$guias=documento_venta_guias_lista($id_emp,$id_tdo,$numero_dve);
	if (!empty($guias)){
		for ($i=0;$i<count($guias);$i++){
			if (!documento_venta_estado_guia($id_emp,$guias[$i]["numero_dve_rel"],TIPO_DOCTO_VENTA_GUIA,'N')){
				sql_rollback("work");
				return -1;
			}
			if (!documento_venta_relacionado_eliminar($id_emp,$id_tdo,$numero_dve,$guias[$i]["id_emp_rel"],$guias[$i]["id_tdo_rel"],$guias[$i]["numero_dve_rel"])){
				sql_rollback("work");
				return -1;
			}
		}
	}
	// si es nota de credito
	if ($id_tdo==TIPO_DOCTO_VENTA_CREDITO){
		if (!documento_venta_relacionado_eliminar($id_emp,$id_tdo,$numero_dve,0,0,0)){
			sql_rollback("work");
			return -1;
		}
	}
	//eliminacion de registros
	$documento_venta_cliente=documento_venta_cliente_lista ($id_emp,$id_tdo,$numero_dve);
	for ($i=0;$i<count($documento_venta_cliente);$i++){
		if(!documento_venta_cliente_eliminar($id_emp,$numero_dve,$id_tdo,$documento_venta_cliente[$i]['id_cli'],$documento_venta_cliente[$i]['correlativo_drc'])){
			sql_rollback("work");
			return -1;
		}
	}
	if(!detalle_documento_venta_eliminar($id_emp,$id_tdo,$numero_dve,0)){
		sql_rollback("work");
		return -1;
	}
	$pagos=pago_documento_venta_numero_lista($id_emp,$id_tdo,$numero_dve);
	for ($i=0;$i<count($pagos);$i++){
		//anulo asiento para
		$abonos=abono_lista($pagos[$i]["id_cpa"]);
		for ($j=0;$j<count($abonos);$j++){
			$aco=asiento_pago_datos_id_cpa ($abonos[$j]["abono_id_cpa"]);
			$datos_aco=asiento_contable_datos_id_aco($aco["id_aco"]);
			if($datos['nulo_aco']==false){
				if(!asiento_contable_anular_aux($aco["id_aco"])){
					sql_rollback("work");
					return -31;
				}
			}
		}
		if (!pago_documento_venta_eliminar($id_emp,$id_tdo,$numero_dve,$pagos[$i]["id_cpa"])){
			sql_rollback("work");
			return -1;
		}
		if (!asiento_pago_eliminar($pagos[$i]["id_cpa"])){
			sql_rollback("work");
			return -1;
		}

		if (!abono_eliminar ($pagos[$i]["id_cpa"])){
			sql_rollback("work");
			return -1;
		}
		for ($j=0;$j<count($abonos);$j++){
			// pagos hijos..
			if (!pago_eliminar ($abonos[$j]["abono_id_cpa"])){
				sql_rollback("work");
				return -1;
			}
			$aco=asiento_pago_datos_id_cpa ($abonos[$j]["abono_id_cpa"]);
			if (!asiento_pago_eliminar($abonos[$j]["abono_id_cpa"])){
				sql_rollback("work");
				return -1;
			}
			if(!cuenta_asiento_eliminar($aco["id_aco"])){
				sql_rollback("work");
				return -1;
			}
			if(!asiento_contable_eliminar($aco["id_aco"])){
				sql_rollback("work");
				return -1;
			}
			//tb en asiento pago
			// cuenta siento
			//asiento contable
		}
		if (!pago_eliminar ($pagos[$i]["id_cpa"])){
			sql_rollback("work");
			return -1;
		}
	}
	$asientos=asiento_documento_venta_lista_dve($id_emp,$id_tdo,$numero_dve);
	for ($i=0;$i<count($asientos);$i++){
		$datos_aco=asiento_contable_datos_id_aco($asientos[$i]["id_aco"]);
		if($datos['nulo_aco']==false){
			if(!asiento_contable_anular_aux($asientos[$i]["id_aco"])){
				sql_rollback("work");
				return -30;
			}
		}
		if ($id_tdo==TIPO_DOCTO_VENTA_CREDITO){
			//eliminar abonos q se hubieran realizado producto de la nota de credito
			$as_pago=asiento_pago_lista($asientos[$i]["id_aco"]);
			for ($j=0;$j<count($as_pago);$j++){
				if (!asiento_pago_eliminar($as_pago[$j]["id_cpa"])){
					sql_rollback("work");
					return -1;
				}
				//$id_padre=abono_datos_hijo($as_pago[$j]["id_cpa"]);
				if (!abono_eliminar($as_pago[$j]["id_cpa"])){//eliminar abobo con id_cpa padre
					sql_rollback("work");
					return -1;
				}
				if (!pago_eliminar($as_pago[$j]["id_cpa"])){
					sql_rollback("work");
					return -1;
				}
			}
		}
		$antic=asiento_documento_venta_datos_anticipo($asientos[$i]["id_aco"]);
		if(!asiento_documento_venta_eliminar($asientos[$i]["id_aco"])){
			sql_rollback("work");
			return -1;
		}
		if (!empty($antic)){
			if(!documento_venta_cliente_eliminar($id_emp,$antic["docto_numero_dve"],TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE,$documento_venta_cliente[0]['id_cli'],$documento_venta_cliente[0]['correlativo_drc'])){
				sql_rollback("work");
				return -1;
			}

			if (!documento_venta_eliminar ($id_emp,TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE,$antic["docto_numero_dve"])){
					sql_rollback("work");
					return -1;
			}
		}

		if(!cuenta_asiento_eliminar($asientos[$i]["id_aco"])){
			sql_rollback("work");
			return -1;
		}
		if(!asiento_contable_eliminar($asientos[$i]["id_aco"])){
			sql_rollback("work");
			return -1;
		}
	}
//	for ($i=0;$i<count($asientos);$i++){
// 		if(!asiento_contable_eliminar($asientos[$i]["id_aco"])){
// 			sql_rollback("work");
// 			return -1;
// 		}
//	}
	// DOCUMENTO VENTA MOVIMIENTO eliminar tb movimiento_producto
	$documento_venta_movimiento=documento_venta_movimiento_lista_numero ($id_emp,$id_tdo,$numero_dve);
	if (!empty($documento_venta_movimiento)) {
		for ($i=0;$i<count($documento_venta_movimiento);$i++){
			if (!documento_venta_movimiento_eliminar ($id_emp,$id_tdo,$numero_dve,$documento_venta_movimiento[$i]["id_mpr"])){
				sql_rollback("work");
				return -1;
			}
			if (!movimiento_producto_eliminar ($documento_venta_movimiento[$i]["id_mpr"])){
				sql_rollback("work");
				return -1;
			}
		}
	}
	// DOCUMENTO_VENTA_TRASPASO eliminar tb en traspaso
	$documento_traspaso=documento_venta_traspaso_lista_numero_dve ($id_emp,$id_tdo,$numero_dve);
	if (!empty($documento_traspaso)) {
		for ($i=0;$i<count($documento_traspaso);$i++){
			if (!documento_venta_traspaso_eliminar ($id_emp,$id_tdo,$numero_dve,$documento_traspaso[$i]["id_tra"])){
				sql_rollback("work");
				return -1;
			}
			if (!traspaso_eliminar ($documento_traspaso[$i]["id_tra"])){
				sql_rollback("work");
				return -1;
			}
		}
	}
	if (!documento_venta_eliminar ($id_emp,$id_tdo,$numero_dve)){
		sql_rollback("work");
		return -1;
	}
	//sql_rollback("work");
	sql_commit("work");
	return 1;
}
function documento_venta_anula_periodo($id_emp,$id_tdo,$numero_dve,$fecha_dve,$periodo){
	$doc=documento_venta_datos($id_emp,$id_tdo,$numero_dve);
	$id_suc=$doc["seccion_id_suc"];
	$id_dep=$doc["seccion_id_dep"];
	$id_sec=$doc["seccion_id_sec"];
	//$fecha_dve=dateDate();
	$id_usu=usuario_id();
	sql_begin("work");
	if ($id_tdo==TIPO_DOCTO_VENTA_FACTURA){
		$prestamos=documento_venta_prestamo_lista($id_emp,$id_tdo,$numero_dve);
		if (!empty($prestamos)){
			for ($i=0;$i<count($prestamos);$i++){
				if (!documento_venta_anula($id_emp,TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE,$prestamos[$i]["numero_dve"])){
					sql_rollback("work");
					return -8;
				}
			}
		}
	}
	// si anulo factura que tiene nc elimino tupla documento_venta_relacionado
// 		$relacion_nc=documento_venta_nc_lista($id_emp,$id_tdo,$numero_dve);
// 		if (!empty($relacion_nc)){
// 			for ($i=0;$i<count($relacion_nc);$i++){
// 				if (!documento_venta_relacionado_eliminar($id_emp,TIPO_DOCTO_VENTA_CREDITO,$relacion_nc[$i]["numero_dve"],$id_emp,$id_tdo,$numero_dve)){
// 				sql_rollback("work");
// 				return -1;
// 				}
// 			}
// 		}
	if (!documento_venta_anula($id_emp,$id_tdo,$numero_dve)){
		sql_rollback("work");
		return -9;
	}
	$relacion_nve=documento_venta_busca_nve($id_emp,$id_tdo,$numero_dve);
	if (!empty($relacion_nve)){
		$codigo_nve=$relacion_nve['codigo_nve'];
		$id_nve=$relacion_nve['id_nve'];
		$id_tnv=$relacion_nve['id_tnv'];// Nota Nuevos, Usados, Repuestos
		if ($id_tnv==TIPO_NOTA_VENTA_USADOS and $id_tdo==TIPO_DOCTO_VENTA_FACTURA){
			if (!nota_venta_cambia_estado($id_nve,ESTADO_NOTA_VENTA_APROBADA)){
				sql_rollback("work");
				return -1;
			}
			if (!eliminar_propietario($id_nve,$id_emp,$id_tdo,$numero_dve)) {
				return -1;
			}
			$usado_nota_venta=usado_nota_venta_lista($id_nve);//Nota Usados
			if (!empty($usado_nota_venta)){
				for ($i=0;$i<count($usado_nota_venta);$i++){
					if (!stock_vehiculo_cambia_estado($usado_nota_venta[$i]['nro_interno_sve'],'A')){//vehiculo Usado Asignado
					sql_rollback("work");
					return -2;
					}
				}
			//             if (!documento_venta_usado_eliminar ($id_emp,$numero_dve,$id_tdo,$usado_nota_venta[0]['nro_interno_sve'],$id_nve)){
			//                sql_rollback("work");
			//                return -1;
			//             }
			}
		}
		if ($id_tnv==TIPO_NOTA_VENTA_VEHICULO and $id_tdo==TIPO_DOCTO_VENTA_FACTURA){
			if (!nota_venta_cambia_estado($id_nve,ESTADO_NOTA_VENTA_AUTORIZADA)){
				sql_rollback("work");
				return -3;
			}
			if (!eliminar_propietario($id_nve,$id_emp,$id_tdo,$numero_dve)) {
				return -1;
			}
			$nuevo_nota_venta=nuevo_nota_venta_listar($id_nve);//Nota Nuevos
			if (!empty($nuevo_nota_venta)){
				for ($i=0;$i<count($nuevo_nota_venta);$i++){
					if (!stock_vehiculo_cambia_estado($nuevo_nota_venta[$i]["nro_interno_sve"],'A')){//vehiculo Nuevo Asignado
						sql_rollback("work");
						return -4;
					}
					$stock_vehiculo_datos=stock_vehiculo_datos($nuevo_nota_venta[$i]['nro_interno_sve']);
					//vehiculo_modificar_propio($patente,$propio)
					if (!vehiculo_modificar_propio($stock_vehiculo_datos['patente_veh'],'t')){
						sql_rollback("work");
						return -4;
					}
				}
				if (!documento_venta_nuevo_eliminar ($id_emp,$id_tdo,$numero_dve,$id_nve,0)){
					sql_rollback("work");
					return -1;
				}
			}
		}
		if ($id_tnv==TIPO_NOTA_VENTA_REPUESTOS){
			if (!nota_venta_cambia_estado($id_nve,ESTADO_NOTA_VENTA_NULA)){// ANULA NOTA DE VENTA
				sql_rollback("work");
				return -5;
			}
			$cot=cotizacion_nv_id_cot($id_nve);
			$articulo_nota_venta=articulo_nota_venta_lista($id_nve);
			if (!empty($cot)){
				if (!cotizacion_id_eco($cot[0]["id_cot"], ESTADO_COTIZACION_PENDIENTE)){// COTIZACION VUELVE A PENDIENTE
					sql_rollback("work");
					return -6;
				}
			}
			//$bien_cotizacon=bien_cotizacion_lista ($cot[$i]["id_cot"]);
			for ($j=0;$j<count($articulo_nota_venta);$j++){
				$fecha=dateGet($fecha_dve);
				$mes=$fecha["month"];
				$ano=$fecha["year"];
				$productos[$j]["id_bie"]=$articulo_nota_venta[$j]["id_bie"];
				$saldo_articulo_datos=saldo_articulo_datos($articulo_nota_venta[$j]["id_bie"],$id_emp,$id_suc,$id_dep,$id_sec,$ano,$mes);
				$productos[$j]["correlativo_dmp"]=$articulo_nota_venta[$j]["correlativo_anv"];
				//$productos[$j]["precio_dmp"]=$articulo_nota_venta[$j]["precio_anv"];
				//$productos[$j]["precio_dmp"]=$saldo_articulo_datos["costo_promedio_sar"];
				$productos[$j]["precio_dmp"]=($saldo_articulo_datos["costo"]==0?$saldo_articulo_datos["costo_prom_ant_sar"]:$saldo_articulo_datos["costo"]);
				//$productos[$j]["precio_dmp"]=$saldo_articulo_datos["costo_prom_ant_sar"];
				$productos[$j]["cantidad_dmp"]=$articulo_nota_venta[$j]["cantidad_anv"];
				$productos[$j]["descripcion_dmp"]=$articulo_nota_venta[$j]["descripcion_anv"];
			}
			//print_r($productos);
			$observacion_mpr="Ajuste por Anulación de Documento Venta Nº ".$numero_dve;
			$result=ajuste_inventario_anula_agregar_new($id_emp,$id_suc,$id_dep,$id_sec,$fecha_dve,$observacion_mpr,$id_usu,1,$productos );
			if ($result==0){
				sql_rollback("work");
				return -12;
			}
			$id_mpr=$result;
			if (!documento_venta_movimiento_agregar($id_emp,$id_tdo,$numero_dve,$id_mpr)){
				sql_rollback("work");
				return -7;
			}
		}
	}
	$relacion_ot=documento_venta_id_otr($id_emp,$id_tdo,$numero_dve);
	if (!empty($relacion_ot)){
		for ($i=0;$i<count($relacion_ot);$i++){
			$codigo_otr=$relacion_ot[$i]['codigo_otr'];
			$id_otr=$relacion_ot[$i]['id_otr'];
			$tipo_otr=$relacion_ot[$i]['tipo_otr'];// D =DyP S=Servicios
			if (!orden_trabajo_modificar_estado($id_otr, ESTADO_OT_LIQUIDADA,"")){
				sql_rollback("work");
				return -17;
			}
		}
	}
	$guias=documento_venta_guias_lista($id_emp,$id_tdo,$numero_dve);
	if (!empty($guias)){
		for ($i=0;$i<count($guias);$i++){
			if (!documento_venta_estado_guia($id_emp,$guias[$i]["numero_dve_rel"],TIPO_DOCTO_VENTA_GUIA,'N')){
				sql_rollback("work");
				return -8;
			}
		}
	}
	//sql_rollback("work");
	sql_commit("work");
	return 1;
}

function insertar_documento_venta($documento_venta,$documento_venta_cliente,$detalle_documento_venta,$documento_venta_nv=array(),$forma_pago=array(),$documento_venta_usado=array(),$documento_venta_articulo=array(),$documento_venta_nuevo=array(),$documento_venta_relacionado=array(),$movimientos=array()) {
// ***********************************************************************************
// * Funcion php: permite agregar un registro en la tabla documento_venta
// * Creada por: Natalia,Patricio,Manfredo,Armando
// * Fecha: 9 de enero de 2006
// * Datos de salida:
// *      1 si la operacion es correcta
// *      < 0 si ocurre algun error
// ***********************************************************************************

	$id_emp=usuario_empresa();
	if ($documento_venta["id_tdo"]==TIPO_DOCTO_VENTA_FACTURA_EXENTA){
		$id_suc=$documento_venta["id_suc"];
		$id_dep=$documento_venta["id_dep"];
		$id_sec=$documento_venta["id_sec"];
	}else{
		$id_suc=usuario_sucursal();
		$id_dep=usuario_departamento();
		$id_sec=usuario_seccion();
	}
   $tipo_sec=seccion_datos( $id_emp,$id_suc,$id_dep,$id_sec);
   $id_tsc=$tipo_sec["id_tsc"];
   $nombre_seccion=$tipo_sec["nombre_sec"];
   $cont_mov=0;
   $hora_aco=dateFormat("H:i:s");
   if ($documento_venta['id_tdo']!=TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE){
   	$persona=cliente_datos($documento_venta_cliente[1]['id_cli']);
   }else{
	$persona=cliente_datos($documento_venta_cliente[0]['id_cli']);
   }
   $id_per=$persona["id_per"];
   $id_usu=usuario_id();
   sql_begin("work");
   if ($documento_venta['id_tdo']==TIPO_DOCTO_VENTA_CREDITO){
      if (!documento_venta_agregar($id_emp,$documento_venta['id_tdo'],$documento_venta['numero_dve'],$documento_venta['codigo_barra_dve'],$documento_venta['fecha_dve'],$documento_venta['neto_dve'],$documento_venta['iva_dve'],$documento_venta['impuesto_esp_dve'],$documento_venta['ley_19030_dve'],$documento_venta['exento_dve'],$documento_venta['detalle_dve'],$documento_venta['nulo_dve'],$id_emp,$id_suc,$id_dep,$id_sec,$documento_venta['signo_dve'],$documento_venta['pagado_dve'],$documento_venta['tipo_nc'],'f',$documento_venta['id_cca'],$documento_venta['forma_pago_guia_dve'],"")){
         sql_rollback("work");
         return -1;
      }
   }else {
   if (!documento_venta_agregar($id_emp,$documento_venta['id_tdo'],$documento_venta['numero_dve'],$documento_venta['codigo_barra_dve'],$documento_venta['fecha_dve'],$documento_venta['neto_dve'],$documento_venta['iva_dve'],$documento_venta['impuesto_esp_dve'],$documento_venta['ley_19030_dve'],$documento_venta['exento_dve'],$documento_venta['detalle_dve'],$documento_venta['nulo_dve'],$id_emp,$id_suc,$id_dep,$id_sec,$documento_venta['signo_dve'],$documento_venta['pagado_dve'],0,"",$documento_venta['id_cca'],$documento_venta['forma_pago_guia_dve'],$documento_venta['fecha_vcto_dve'],$documento_venta['descto_dve'])){
      sql_rollback("work");
      return -1;

   }

   if ($documento_venta['id_tdo']==TIPO_DOCTO_VENTA_FACTURA || $documento_venta['id_tdo']==TIPO_DOCTO_VENTA_BOLETA || $documento_venta['id_tdo']==TIPO_DOCTO_VENTA_FACTURA_EXENTA){
      if ($id_tsc==SECCION_VENTAS_NUEVOS || $id_tsc==SECCION_VENTAS_USADOS){
         if ($documento_venta["neto_dve"]>0){
            $movimientos[$cont_mov]["id_emp"]=$id_emp;
            $movimientos[$cont_mov]["id_cco"]=cuenta_tipo_seccion_cco_datos($id_emp,$id_tsc,CATEGORIA_BIEN_VEHICULOS);//CUENTA VEHICULOS
            $movimientos[$cont_mov]["auxiliar_id_aux"]="";
            $movimientos[$cont_mov]["auxiliar_id_emp"]="";
            $movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
            $movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
            $movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
            $movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
            $movimientos[$cont_mov]["tipo_docto_cas"]=$documento_venta["id_tdo"];
            $movimientos[$cont_mov]["afecta_cas"]="H";
            $movimientos[$cont_mov]["monto_cas"]=$documento_venta["neto_dve"];
            $movimientos[$cont_mov]["fecha_cas"]=$documento_venta['fecha_dve'];
            $movimientos[$cont_mov]["descripcion_cas"]="Venta ".$nombre_seccion;
            $movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
            $movimientos[$cont_mov]["documento"]["id_tdo"]=$documento_venta["id_tdo"];
            $movimientos[$cont_mov]["documento"]["numero_dve"]=$documento_venta["numero_dve"];
            $cont_mov++;
         }
         if ($documento_venta["exento_dve"]>0){
            $movimientos[$cont_mov]["id_emp"]=$id_emp;
            $movimientos[$cont_mov]["id_cco"]=cuenta_tipo_seccion_cco_datos($id_emp,$id_tsc,CATEGORIA_BIEN_VEHICULOS);//CUENTA VEHICULOS
            $movimientos[$cont_mov]["auxiliar_id_aux"]="";
            $movimientos[$cont_mov]["auxiliar_id_emp"]="";
            $movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
            $movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
            $movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
            $movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
            $movimientos[$cont_mov]["tipo_docto_cas"]=$documento_venta["id_tdo"];
            $movimientos[$cont_mov]["afecta_cas"]="H";
            $movimientos[$cont_mov]["monto_cas"]=$documento_venta["exento_dve"];
            $movimientos[$cont_mov]["fecha_cas"]=$documento_venta['fecha_dve'];
            $movimientos[$cont_mov]["descripcion_cas"]="Venta ".$nombre_seccion;
            $movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
            $movimientos[$cont_mov]["documento"]["id_tdo"]=$documento_venta["id_tdo"];
            $movimientos[$cont_mov]["documento"]["numero_dve"]=$documento_venta["numero_dve"];
            $cont_mov++;
         }
         if ($documento_venta["iva_dve"]>0){
            $movimientos[$cont_mov]["id_emp"]=$id_emp;
            $movimientos[$cont_mov]["id_cco"]=CUENTA_IVA_DEBITO;
            $movimientos[$cont_mov]["auxiliar_id_aux"]="";
            $movimientos[$cont_mov]["auxiliar_id_emp"]="";
            $movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
            $movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
            $movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
            $movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
            $movimientos[$cont_mov]["tipo_docto_cas"]=$documento_venta["id_tdo"];
            $movimientos[$cont_mov]["afecta_cas"]="H";
            $movimientos[$cont_mov]["monto_cas"]=$documento_venta["iva_dve"];
            $movimientos[$cont_mov]["fecha_cas"]=$documento_venta['fecha_dve'];
            $movimientos[$cont_mov]["descripcion_cas"]="Venta ".$nombre_seccion;
            $movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
            $movimientos[$cont_mov]["documento"]["id_tdo"]=$documento_venta["id_tdo"];
            $movimientos[$cont_mov]["documento"]["numero_dve"]=$documento_venta["numero_dve"];
            $cont_mov++;
         }
      }else{
         if ($id_tsc==SECCION_REPUESTOS ){
            if (!empty($documento_venta_articulo) && empty($documento_venta_relacionado)) {
               //$resumen=array();
               $cont=0;
		//print_r($documento_venta_articulo);
               for ($i=1;$i<=count($documento_venta_articulo);$i++){
                  $bien_datos=bien_servicio_datos($documento_venta_articulo[$i]['id_bie']);
                  $documento_venta_articulo[$i]["id_cbi"]=$bien_datos["id_cbi"];
                  $documento_venta_articulo[$i]["sumado"]="N";
               }
               for ($i=1;$i<=count($documento_venta_articulo);$i++){
                  if ($documento_venta_articulo[$i]["sumado"]=="N"){
                     $resumen[$cont]["valor_dva"]=$documento_venta_articulo[$i]["valor_dva"];
                     $resumen[$cont]["id_cbi"]=$documento_venta_articulo[$i]["id_cbi"];
                     for ($j=$i+1;$j<=count($documento_venta_articulo);$j++){
                        if ($documento_venta_articulo[$i]["id_cbi"]==$documento_venta_articulo[$j]["id_cbi"]){
                           $resumen[$cont]["valor_dva"]=$resumen[$cont]["valor_dva"]+$documento_venta_articulo[$j]["valor_dva"];
                           $documento_venta_articulo[$j]["sumado"]="S";
                           //
                        }
                     }
                     $cont++;
                  }
               }
		$suma_neto=0;
		//print_r($resumen);
               for ($j=0;$j<count($resumen);$j++){
                  $movimientos[$cont_mov]["id_emp"]=$id_emp;
                  $movimientos[$cont_mov]["id_cco"]=cuenta_tipo_seccion_cco_datos($id_emp,$id_tsc,$resumen[$j]["id_cbi"]);
                  $movimientos[$cont_mov]["auxiliar_id_aux"]="";
                  $movimientos[$cont_mov]["auxiliar_id_emp"]="";
                  $movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
                  $movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
                  $movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
                  $movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
                  $movimientos[$cont_mov]["tipo_docto_cas"]=$documento_venta["id_tdo"];
                  $movimientos[$cont_mov]["afecta_cas"]="H";
                  $movimientos[$cont_mov]["monto_cas"]=round($resumen[$j]["valor_dva"]/(SISTEMA_IVA+1),0);
		  $movimientos[$cont_mov]["fecha_cas"]=$documento_venta['fecha_dve'];
                  $movimientos[$cont_mov]["descripcion_cas"]="Venta ".$nombre_seccion;
                  $movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
                  $movimientos[$cont_mov]["documento"]["id_tdo"]=$documento_venta["id_tdo"];
                  $movimientos[$cont_mov]["documento"]["numero_dve"]=$documento_venta["numero_dve"];
		  $suma_neto=$suma_neto+$movimientos[$cont_mov]["monto_cas"];
                  $cont_mov++;
               }
		//print_r($movimientos);
		$pos_ultimo_neto=$cont_mov-1;
            }
            if ($documento_venta["iva_dve"]>0){
               $movimientos[$cont_mov]["id_emp"]=$id_emp;
               $movimientos[$cont_mov]["id_cco"]=CUENTA_IVA_DEBITO;
               $movimientos[$cont_mov]["auxiliar_id_aux"]="";
               $movimientos[$cont_mov]["auxiliar_id_emp"]="";
               $movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
               $movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
               $movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
               $movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
               $movimientos[$cont_mov]["tipo_docto_cas"]=$documento_venta["id_tdo"];
               $movimientos[$cont_mov]["afecta_cas"]="H";
               $movimientos[$cont_mov]["monto_cas"]=$documento_venta["iva_dve"];
               $movimientos[$cont_mov]["fecha_cas"]=$documento_venta['fecha_dve'];
               $movimientos[$cont_mov]["descripcion_cas"]="Venta ".$nombre_seccion;
               $movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
               $movimientos[$cont_mov]["documento"]["id_tdo"]=$documento_venta["id_tdo"];
               $movimientos[$cont_mov]["documento"]["numero_dve"]=$documento_venta["numero_dve"];
               $cont_mov++;
            }
         }
      }
   }



}
	foreach( $documento_venta_cliente as $documento_venta_clientes ){
		 if (!documento_venta_cliente_agregar($id_emp,$documento_venta['id_tdo'],$documento_venta['numero_dve'],$documento_venta_clientes['id_cli'],$documento_venta_clientes['correlativo_drc'],$documento_venta_clientes['titular_cnv'])){
			sql_rollback("work");
			return -3;
      		}




	}
//    for ($i=1;$i<=count($documento_venta_cliente);$i++){
//       if (!documento_venta_cliente_agregar($id_emp,$documento_venta['id_tdo'],$documento_venta['numero_dve'],$documento_venta_cliente[$i]['id_cli'],$documento_venta_cliente[$i]['correlativo_drc'],$documento_venta_cliente[$i]['titular_cnv'])){
//          sql_rollback("work");
//          return -3;
//       }
//    }
   if (!empty($detalle_documento_venta)) {
      for ($i=1;$i<=count($detalle_documento_venta);$i++) {
         if (!detalle_documento_venta_agregar ($id_emp,$documento_venta['id_tdo'],$documento_venta['numero_dve'],$i,$detalle_documento_venta[$i])){
            sql_rollback("work");
            return -2;
         }
      }
   }
   if (!empty($documento_venta_usado) || !empty($documento_venta_nuevo) || !empty($documento_venta_articulo)) {
      //       if (!documento_venta_usado_agregar($id_emp,$documento_venta['id_tdo'],$documento_venta['numero_dve'],$documento_venta_nv['id_nve'],$documento_venta_usado['nro_interno_sve'])){
      //          sql_rollback("work");
      //          return -4;
      //       }
      if (!empty($documento_venta_usado)) {
         if (!stock_vehiculo_cambia_estado($documento_venta_usado['nro_interno_sve'],'F')){//vehiculo facturado
            sql_rollback("work");
            return -7;
         }
      }

	if (!empty($documento_venta_nuevo)) {
		for ($i=1;$i<=count($documento_venta_nuevo);$i++) {
			if (!stock_vehiculo_salida_estado($documento_venta_nuevo[$i]['nro_interno_sve'],dateDate(),'F')) {
				sql_rollback("work");
				return -7;
			}
		}
	}

	// Propio es solo de Uso Interno es para saber si es Consignado o de la Empresa (no deviera hacer cambio de estado al facturar).
	// 	if (!empty($documento_venta_nuevo)) {
	// 		for ($i=1;$i<=count($documento_venta_nuevo);$i++) {
	// 			$stock_vehiculo_datos=stock_vehiculo_datos($documento_venta_nuevo[$i]['nro_interno_sve']);
	// 			if (!vehiculo_modificar_propio($stock_vehiculo_datos['patente_veh'],'f')){
	// 				sql_rollback("work");
	// 				return -7;
	// 			}
	// 		}
	// 	}

	if (!empty($documento_venta_nuevo)) {
		for ($i=1;$i<=count($documento_venta_nuevo);$i++) {
			$stock_vehiculo_datos=stock_vehiculo_datos($documento_venta_nuevo[$i]['nro_interno_sve']);
			if (!propietario_existe_facturado ($id_per,$stock_vehiculo_datos['patente_veh'],$documento_venta['fecha_dve'])) {
				if (!propietario_agregar($id_per,$stock_vehiculo_datos['patente_veh'],$documento_venta['fecha_dve'])) {
					sql_rollback("work");
					return -7;
				}
			}
		}
	}



      if (!documento_venta_nv_agregar($id_emp,$documento_venta['id_tdo'],$documento_venta['numero_dve'],$documento_venta['id_nve'])){
         sql_rollback("work");
         return -6;
      }
   }

//    if (!folio_asignado_modificar(0,0,0,0,$documento_venta['id_tdo'],0,0,$documento_venta['numero_dve'])){
//       sql_rollback("work");
//       return -5;
//    }
   if (!empty($forma_pago) && $documento_venta['id_tdo']!=TIPO_DOCTO_VENTA_GUIA) {
	$suma_total=0;
	//print_r($forma_pago);
      for ($i=1;$i<=count($forma_pago);$i++){
         if (!pago_agregar($id_emp,$forma_pago[$i]["numero_cpa"],$forma_pago[$i]["id_fpa"],$forma_pago[$i]["id_cca"],$forma_pago[$i]["id_cli"],$forma_pago[$i]["id_ifi"],$forma_pago[$i]["nro_interno_sve"],$forma_pago[$i]["numero_docto_cpa"],$forma_pago[$i]["codigo_cpa"],$forma_pago[$i]["de_la_plaza_cpa"],$forma_pago[$i]["valor_cpa"],$forma_pago[$i]["fecha_vcto_cpa"],$forma_pago[$i]["fecha_cobro_cpa"],$forma_pago[$i]["fecha_docto_cpa"],$forma_pago[$i]["id_udo"],$forma_pago[$i]["id_epa"],$forma_pago[$i]["id_ttc"],$id_usu)){
            sql_rollback("work");
            return -9;
         }
         $id_cpa=secuencia_ultimo_valor("sec_id_cpa");
	if ($forma_pago[$i]["id_fpa"]==FORMA_PAGO_EFECTIVO || $forma_pago[$i]["id_fpa"]==FORMA_PAGO_CHEQUE_AL_DIA){
		//buscar cuenta banco por caja
		$movimientos[$cont_mov]["id_emp"]=usuario_empresa();
		$caja_cuenta_corriente_lista=caja_cuenta_corriente_lista($id_emp,$id_suc,$id_dep,$id_sec);
		if (count($caja_cuenta_corriente_lista)>=2 || count($caja_cuenta_corriente_lista)==0){
			$movimientos[$cont_mov]["id_cco"]=110101;//cuenta_caja
		}else{
			$cuenta_corriente_banco_datos=cuenta_corriente_banco_datos($caja_cuenta_corriente_lista[0]['numero_ccb']);
			$movimientos[$cont_mov]["id_cco"]=$cuenta_corriente_banco_datos["id_cco"];
		}
		$movimientos[$cont_mov]["auxiliar_id_aux"]="";
		$movimientos[$cont_mov]["auxiliar_id_emp"]="";
		$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
		$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
		$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
		$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
		$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
		$movimientos[$cont_mov]["afecta_cas"]="D";
		$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
		$movimientos[$cont_mov]["fecha_cas"]=$documento_venta['fecha_dve'];
		$movimientos[$cont_mov]["descripcion_cas"]="Venta ".$nombre_seccion;
		$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
		$movimientos[$cont_mov]["tipo_pago"]=1;
		$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
		$suma_total=$suma_total+$movimientos[$cont_mov]["monto_cas"];
		$cont_mov++;

	}else{
		if ($forma_pago[$i]["id_fpa"]!=FORMA_PAGO_DEPOSITO_EN_CTA_CTE){
			$cuenta_forma_pago=cuenta_forma_pago_datos(0,$id_emp,$forma_pago[$i]["id_fpa"],$id_tsc);
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$movimientos[$cont_mov]["id_cco"]=$cuenta_forma_pago['id_cco'];
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
			$movimientos[$cont_mov]["afecta_cas"]="D";
			$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
			$movimientos[$cont_mov]["fecha_cas"]=$documento_venta['fecha_dve'];
			$movimientos[$cont_mov]["descripcion_cas"]="Venta ".$nombre_seccion;
			$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
			$movimientos[$cont_mov]["tipo_pago"]=1;
			$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
			$suma_total=$suma_total+$movimientos[$cont_mov]["monto_cas"];

		}else{
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$cuenta_forma_pago=cuenta_forma_pago_datos_cta_cte($id_emp,$forma_pago[$i]["id_fpa"],$forma_pago[$i]["id_ifi"],$id_tsc);
			$movimientos[$cont_mov]["id_cco"]=$cuenta_forma_pago['id_cco'];
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
			$movimientos[$cont_mov]["afecta_cas"]="D";
			$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
			$movimientos[$cont_mov]["fecha_cas"]=$documento_venta['fecha_dve'];
			$movimientos[$cont_mov]["descripcion_cas"]="Venta ".$nombre_seccion;
			$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
			$movimientos[$cont_mov]["tipo_pago"]=1;
			$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
			$suma_total=$suma_total+$movimientos[$cont_mov]["monto_cas"];
		}
		$cont_mov++;
	}
     if (!pago_documento_venta_agregar ($id_cpa,0,$documento_venta['id_tdo'],$documento_venta['numero_dve'])){
            sql_rollback("work");
            return -10;
         }
      }
   }
	if ($id_tsc==SECCION_REPUESTOS && empty($documento_venta_relacionado)){
	$dif=$suma_total-($documento_venta["iva_dve"]+$suma_neto);
	$movimientos[$pos_ultimo_neto]["monto_cas"]=$movimientos[$pos_ultimo_neto]["monto_cas"]+$dif;
	}
   if (!empty($documento_venta_relacionado)) {
	//print_r($documento_venta_relacionado);
	$paso=true;
	$documento_venta_articulo_aux=array();
	for ($i=1;$i<=count($documento_venta_relacionado);$i++) {
		//$paso=true;
		if (!documento_venta_estado_guia($id_emp,$documento_venta_relacionado[$i]["numero_dve_rel"],TIPO_DOCTO_VENTA_GUIA,'S')){
			sql_rollback("work");
			return -11;
		}
		if (!documento_venta_relacionado_agregar ($id_emp,$documento_venta['id_tdo'],$documento_venta['numero_dve'],$documento_venta_relacionado[$i]['id_emp_rel'],$documento_venta_relacionado[$i]['id_tdo_rel'],$documento_venta_relacionado[$i]['numero_dve_rel'])){
			sql_rollback("work");
			return -11;
		}
		if ($documento_venta_relacionado[$i]['id_tdo_rel']==TIPO_DOCTO_VENTA_GUIA){
			$documento_venta_articulo_paso=documento_venta_articulo_lista_dve($id_emp,TIPO_DOCTO_VENTA_GUIA,$documento_venta_relacionado[$i]["numero_dve_rel"]);
			if ($paso==true){
				$documento_venta_articulo_aux=$documento_venta_articulo_paso;
			}else{
				//agrego docto_paso a aux
				$cont_new=count($documento_venta_articulo_paso);
				$cont_old=count($documento_venta_articulo_aux);
				$cont_old=2;
				for ($j=0;$j<count($documento_venta_articulo_paso);$j++) {
					$documento_venta_articulo_aux[$cont_old]["id_bie"]=$documento_venta_articulo_paso[$j]["id_bie"];
					$documento_venta_articulo_aux[$cont_old]["valor_dva"]=$documento_venta_articulo_paso[$j]["valor_dva"];
					$cont_old++;
				}
			}
			$paso=false;
		}
     	}
//resumen
	for ($k=0;$k<count($documento_venta_articulo_aux);$k++){
		$bien_datos=bien_servicio_datos($documento_venta_articulo_aux[$k]['id_bie']);
		$documento_venta_articulo_aux[$k]["id_cbi"]=$bien_datos["id_cbi"];
		$documento_venta_articulo_aux[$k]["sumado"]="N";
	}

	$cont=0;

	for ($m=0;$m<count($documento_venta_articulo_aux);$m++){
		//buscar en resumen
		if ($documento_venta_articulo_aux[$m]["sumado"]=="N" ){
		$resumen[$cont]["valor_dva"]=$documento_venta_articulo_aux[$m]["valor_dva"];
		$resumen[$cont]["id_cbi"]=$documento_venta_articulo_aux[$m]["id_cbi"];
		for ($n=$m+1;$n<count($documento_venta_articulo_aux);$n++){
			if ($documento_venta_articulo_aux[$m]["id_cbi"]==$documento_venta_articulo_aux[$n]["id_cbi"]){
			$resumen[$cont]["valor_dva"]=$resumen[$cont]["valor_dva"]+$documento_venta_articulo_aux[$n]["valor_dva"];
			$documento_venta_articulo_aux[$n]["sumado"]="S";
			//
			}
		}
		$cont++;
		}
	}
		$suma_neto=0;
		$suma_resumen=0;
		//print_r($resumen);
		for ($y=0;$y<count($resumen);$y++){
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$movimientos[$cont_mov]["id_cco"]=cuenta_tipo_seccion_cco_datos($id_emp,$id_tsc,$resumen[$y]["id_cbi"]);
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["tipo_docto_cas"]=$documento_venta["id_tdo"];
			$movimientos[$cont_mov]["afecta_cas"]="H";
			$movimientos[$cont_mov]["monto_cas"]=round($resumen[$y]["valor_dva"]/(SISTEMA_IVA+1),0);
			$movimientos[$cont_mov]["fecha_cas"]=$documento_venta['fecha_dve'];
			$movimientos[$cont_mov]["descripcion_cas"]="Venta ".$nombre_seccion;
			$movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
			$movimientos[$cont_mov]["documento"]["id_tdo"]=$documento_venta["id_tdo"];
			$movimientos[$cont_mov]["documento"]["numero_dve"]=$documento_venta["numero_dve"];
			$suma_neto=$suma_neto+$movimientos[$cont_mov]["monto_cas"];
			$suma_resumen=$suma_resumen+$resumen[$y]["valor_dva"];
			$cont_mov++;
		}
		$dif=$documento_venta["neto_dve"]-$suma_neto;
		$movimientos[$cont_mov-1]["monto_cas"]=$movimientos[$cont_mov-1]["monto_cas"]+$dif;


   }

   if (!empty($documento_venta_articulo)) {
      for ($i=1;$i<=count($documento_venta_articulo);$i++) {
         $documento_venta_articulo[$i]['costo_dva']=($documento_venta_articulo[$i]['costo_dva']>0)?$documento_venta_articulo[$i]['costo_dva']:'NULL';
         if ( !documento_venta_articulo_agregar ($id_emp,$documento_venta['id_tdo'],$documento_venta['numero_dve'],$documento_venta['id_nve'],$documento_venta_articulo[$i]['id_bie'],$documento_venta_articulo[$i]['correlativo_anv'],$documento_venta_articulo[$i]['cantidad_dva'],$documento_venta_articulo[$i]['valor_dva'],$documento_venta_articulo[$i]['costo_dva'])) {
            sql_rollback("work");
            return -12;
         }

   	 list ($dia,$mes,$ano)=split("[-/]",$documento_venta['fecha_dve']);

      }
   }

   if (!empty($documento_venta_nuevo)){
	//$mov_prestamo=array();
	//$cont_mov_prestamo=0;
	//print_r($documento_venta_nuevo);
      for ($i=1;$i<=count($documento_venta_nuevo);$i++){
	$cont_mov_prestamo=0;
	$mov_prestamo=array();
         if (!documento_venta_nuevo_agregar($id_emp,$documento_venta['id_tdo'],$documento_venta['numero_dve'],$documento_venta['id_nve'],$documento_venta_nuevo[$i]['correlativo_nnv'])) {
            sql_rollback("work");
            return -14;
         }
	$datos_nv=nuevo_nota_venta_datos($documento_venta['id_nve'],$documento_venta_nuevo[$i]['correlativo_nnv']);
//	$val_pte=$datos_nv["v_inscripcion_nnv"]+$datos_nv["v_revision_tec_nnv"]+$datos_nv["v_permiso_circ_nnv"]+$datos_nv["v_seguro_oblig_nnv"]+$datos_nv["v_pago_tramite_nnv"];
 	$val_pte=$datos_nv["val_pte_nnv"]; // debiera ser la correcta
// 	if($datos_nv["pre_gratis_nnv"]==false){
// 		$val_pte=$val_pte+$datos_nv["v_prenda_nnv"];
// 	}
	$vat_int=$datos_nv["val_int_nnv"];

	if (!nuevo_nota_venta_modificar_fecha_pago($documento_venta['id_nve'],$documento_venta_nuevo[$i]['correlativo_nnv'],$documento_venta['fecha_dve'])) {
		sql_rollback("work");
		return -25;
	}


	//print_r($datos_nv);
	if ($datos_nv["pat_gratis_nnv"]==false && $val_pte>0){
		//crear traspaso correspondiente al valor de la patente
		$prestamo["nro"]=0;
		if (!$prestamo["nro"]=documento_venta_agregar($id_emp,TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE,$prestamo["nro"],"",$documento_venta['fecha_dve'],$val_pte,0,0,0,0,"",$documento_venta['nulo_dve'],$id_emp,$id_suc,$id_dep,$id_sec,$documento_venta['signo_dve'],$documento_venta['pagado_dve'],0,"",$documento_venta['id_cca'],$documento_venta['forma_pago_guia_dve'],$documento_venta['fecha_vcto_dve'])){
     		 	sql_rollback("work");
      		 	return -1;
		}else{
			foreach( $documento_venta_cliente as $documento_venta_clientes ){
				if ($documento_venta_clientes["titular_cnv"]==true){
					$documento_venta_cli[1]['id_cli']=$documento_venta_clientes['id_cli'];
					$documento_venta_cli[1]['correlativo_drc']=$documento_venta_clientes['correlativo_drc'];
					$documento_venta_cli[1]['titular_cnv']=$documento_venta_clientes['titular_cnv'];
				}
			}
			if (!documento_venta_cliente_agregar($id_emp,TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE,$prestamo["nro"],$documento_venta_cli[1]['id_cli'],$documento_venta_cli[1]['correlativo_drc'],$documento_venta_cli[1]['titular_cnv'])){
				sql_rollback("work");
				return -3;
      			}else{
				//$automatico=2;//mientras no se cree trigger
				$cuenta=cuenta_tipo_docto_venta_datos(0,$id_emp,TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE,SECCION_VENTAS_NUEVOS);
				$mov_prestamo[$cont_mov_prestamo]["id_emp"]=$id_emp;
				$mov_prestamo[$cont_mov_prestamo]["id_cco"]=$cuenta["id_cco"];//cuenta prestamo clientes
				$mov_prestamo[$cont_mov_prestamo]["auxiliar_id_aux"]="";
				$mov_prestamo[$cont_mov_prestamo]["auxiliar_id_emp"]="";
				$mov_prestamo[$cont_mov_prestamo]["seccion_id_emp"]=$id_emp;
				$mov_prestamo[$cont_mov_prestamo]["seccion_id_suc"]=$id_suc;
				$mov_prestamo[$cont_mov_prestamo]["seccion_id_dep"]=$id_dep;
				$mov_prestamo[$cont_mov_prestamo]["seccion_id_sec"]=$id_sec;
				$mov_prestamo[$cont_mov_prestamo]["tipo_docto_cas"]=TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE;
				$mov_prestamo[$cont_mov_prestamo]["afecta_cas"]="D";
				$mov_prestamo[$cont_mov_prestamo]["monto_cas"]=$val_pte;
				$mov_prestamo[$cont_mov_prestamo]["fecha_cas"]=$documento_venta['fecha_dve'];
				$mov_prestamo[$cont_mov_prestamo]["descripcion_cas"]="Prestamo Cliente Factura ".$documento_venta['numero_dve'];
				$mov_prestamo[$cont_mov_prestamo]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
				$mov_prestamo[$cont_mov_prestamo]["documento"]["id_tdo"]=TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE;
				$mov_prestamo[$cont_mov_prestamo]["documento"]["numero_dve"]=$prestamo["nro"];
				$cont_mov_prestamo++;
				$mov_prestamo[$cont_mov_prestamo]["id_emp"]=$id_emp;
				$mov_prestamo[$cont_mov_prestamo]["id_cco"]=510101;//cuenta costos DEPENDE DE CADA LOCAL
				$mov_prestamo[$cont_mov_prestamo]["auxiliar_id_aux"]="";
				$mov_prestamo[$cont_mov_prestamo]["auxiliar_id_emp"]="";
				$mov_prestamo[$cont_mov_prestamo]["seccion_id_emp"]=$id_emp;
				$mov_prestamo[$cont_mov_prestamo]["seccion_id_suc"]=$id_suc;
				$mov_prestamo[$cont_mov_prestamo]["seccion_id_dep"]=$id_dep;
				$mov_prestamo[$cont_mov_prestamo]["seccion_id_sec"]=$id_sec;
				$mov_prestamo[$cont_mov_prestamo]["tipo_docto_cas"]="";
				$mov_prestamo[$cont_mov_prestamo]["afecta_cas"]="H";
				$mov_prestamo[$cont_mov_prestamo]["monto_cas"]=$val_pte;
				$mov_prestamo[$cont_mov_prestamo]["fecha_cas"]=$documento_venta['fecha_dve'];
				$mov_prestamo[$cont_mov_prestamo]["descripcion_cas"]="Prestamo Cliente Factura ".$documento_venta['numero_dve'];
				$mov_prestamo[$cont_mov_prestamo]["tipo_movto_cas"]=0;//0=Sin Docto 1= Compra 2=Venta 3=Ch
				//print_r($mov_prestamo);
				$numero_aco_p=asiento_contable_automatico("T", $documento_venta['fecha_dve'], $hora_aco, $id_emp, $id_suc, $id_dep, $id_sec, $id_usu, $mov_prestamo, false, true, $id_per, false, false);
				if ($numero_aco_p==false){
					sql_rollback("work");
					return -20;
				}
			}
		}

		//docto_venta_relacionado
		if (!documento_venta_relacionado_agregar ($id_emp,TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE,$prestamo["nro"],$id_emp,$documento_venta['id_tdo'],$documento_venta['numero_dve'])){
			sql_rollback("work");
			return -1;
		}
	}
	if ($vat_int){
		//generar asiento por intereses

	}
      }
}
//print_r($movimientos);
if (count($movimientos)>=2){
	//realizar asiento contable
	//print_r($movimientos);
	$numero_aco=asiento_contable_automatico("T", $documento_venta['fecha_dve'], $hora_aco, $id_emp, $id_suc, $id_dep, $id_sec, $id_usu, $movimientos, false, true, $id_per, false, false,'',0,$documento_venta['id_cca']);
	if ($numero_aco==false){
		sql_rollback("work");
		return -21;
	}
}
if ($documento_venta['id_tdo']==TIPO_DOCTO_VENTA_FACTURA_EXENTA && $id_tsc==SECCION_VENTAS_USADOS) {
	if (!nota_venta_cambia_estado($documento_venta['id_nve'],ESTADO_NOTA_VENTA_FACTURADA)) { //vehiculo facturado
		sql_rollback("work");
		return -8;
	}
}
if ($documento_venta['id_tdo']==TIPO_DOCTO_VENTA_FACTURA && $id_tsc==SECCION_VENTAS_NUEVOS) {
	if (!nota_venta_cambia_estado($documento_venta['id_nve'],ESTADO_NOTA_VENTA_FACTURADA)) { //vehiculo facturado
		sql_rollback("work");
		return -8;
	}
}
if (($documento_venta['id_tdo']==TIPO_DOCTO_VENTA_FACTURA || $documento_venta['id_tdo']==TIPO_DOCTO_VENTA_BOLETA) && $id_tsc==SECCION_REPUESTOS) {
	if (!nota_venta_cambia_estado($documento_venta['id_nve'],ESTADO_NOTA_VENTA_FACTURADA)) { //repuesto facturado
		sql_rollback("work");
		return -8;
	} else {
		$cotizacion_nv_lista=cotizacion_nv_lista($documento_venta['id_nve']);
		for ($i=0;$i<count($cotizacion_nv_lista);$i++) {
			if (!cotizacion_id_eco($cotizacion_nv_lista[$i]['id_cot'],ESTADO_COTIZACION_FACTURADA)) {
				sql_rollback("work");
				return -8;
			}
		}
	}
}
//sql_rollback("work");
sql_commit("work");
return 1;
}

function documento_venta_agregar($id_emp,$id_tdo,$numero_dve,$codigo_barra_dve,$fecha_dve,
				 $neto_dve,$iva_dve,$impuesto_esp_dve,$ley_19030_dve,$exento_dve,
				 $detalle_dve,$nulo_dve,$seccion_id_emp,$seccion_id_suc,$seccion_id_dep,
                                 $seccion_id_sec,$signo_dve, $pagado_dve, $tipo_nc_dve=0,$visado_dve='',
                                 $id_cca, $forma_pago_guia_dve, $fecha_vcto_dve,$descto) {
   //$tipo_nc_dve=(!empty($tipo_nc_dve))?sql_escape($tipo_nc_dve):"NULL";
   //$visado_dve=(!empty($visado_dve))?sql_escape($visado_dve):"NULL";
   $sql = "INSERT INTO documento_venta (
      id_emp,id_tdo,numero_dve,codigo_barra_dve,fecha_dve,
      neto_dve,iva_dve,impuesto_esp_dve,ley_19030_dve,exento_dve,
      detalle_dve,nulo_dve,seccion_id_emp,seccion_id_suc,seccion_id_dep,
      seccion_id_sec,signo_dve,pagado_dve,tipo_nc_dve,visado_dve,
      id_cca,forma_pago_guia_dve,fecha_vcto_dve,descto_dve
   ) VALUES (
      $id_emp,$id_tdo,$numero_dve,".sql_escape_integer($codigo_barra_dve,true).",".sql_escape_date($fecha_dve).",
      $neto_dve,$iva_dve,$impuesto_esp_dve,$ley_19030_dve,$exento_dve,
      ".sql_escape($detalle_dve,true).",".sql_escape_boolean($nulo_dve).",$seccion_id_emp,$seccion_id_suc,$seccion_id_dep,
      $seccion_id_sec,$signo_dve,".sql_escape_boolean($pagado_dve).",".sql_escape_integer($tipo_nc_dve,true).",".sql_escape_boolean($visado_dve).",
      ".sql_escape_integer($id_cca,true).",".sql_escape($forma_pago_guia_dve).",".sql_escape_date($fecha_vcto_dve,true).",".sql_escape_integer($descto,true).")";
   /*
   $sql = "INSERT INTO documento_venta ( id_emp, id_tdo, numero_dve, codigo_barra_dve,  fecha_dve, ";
   $sql.= "neto_dve, iva_dve, impuesto_esp_dve, ley_19030_dve, exento_dve, detalle_dve, nulo_dve, seccion_id_emp, seccion_id_suc, seccion_id_dep, seccion_id_sec, signo_dve, pagado_dve, tipo_nc_dve,visado_dve,id_cca) ";
   $sql.= "VALUES ( $var_id_emp, $var_id_tdo, $var_numero_dve, $var_codigo_barra_dve ";
   $sql.= ", '$var_fecha_dve', $var_neto_dve, $var_iva_dve, $var_impuesto_esp_dve,". $var_ley_19030_dve;
   $sql.= ", $var_exento_dve, '$var_detalle_dve', '$var_nulo_dve'";
   $sql.= ", $var_id_emp, $var_id_suc, $var_id_dep, $var_id_sec, $var_signo_dve, '$var_pagado_dve', $var_tipo_nc_dve, $var_visado_dve,$id_cca)";
   */

	if ($rs=sql_query($sql)) {
		if ($id_tdo==TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE || $id_tdo==TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE) {
			sql_savepoint("SOLO_DOCUMENTO");
// 			sql_begin();
// 			sql_commit();
			//global $_DB_CON_ID_;
			//@pg_query($_DB_CON_ID_, "SAVEPOINT SOLO_DOCUMENTO");
			$last_oid=pg_last_oid($rs);
			$sql="SELECT numero_dve FROM documento_venta WHERE oid=".$last_oid." ";
			if ($rs=sql_query($sql)) {
				list($numero_dve) = sql_fetch_row($rs);
				return $numero_dve;
			}
		} else {
			return 1;
		}
	} else {
		return 0;
	}

}

function documento_venta_modificar_estado_pagado_dve ($var_id_emp,$var_id_tdo,$var_numero_dve ) {
   $sql = "UPDATE documento_venta SET
      pagado_dve=true
   WHERE
      id_emp=$var_id_emp AND
      id_tdo=$var_id_tdo AND
      numero_dve='$var_numero_dve'
   ";
   if (sql_query($sql)) {
      return true;
   }
   return false;
}

function documento_venta_modificar ($var_id_emp,$var_id_tdo,$var_numero_dve,$var_codigo_barra_dve,$var_id_nve,$var_fecha_dve,$var_neto_dve,$var_iva_dve,$var_impuesto_esp_dve,$var_ley_19030_dve,$var_exento_dve,$var_detalle_dve,$var_nulo_dve) {
// ***********************************************************************************
// * Funcion php: permite modificar un registro en la tabla documento_venta
// * Creada por: Autogenerador de funciones
// * Fecha: 9 de Enero de 2006
// * Datos de salida:
// *      true si la operacion es correcta
// *      false si ocurre algun error
// ***********************************************************************************
   $sql = "UPDATE documento_venta SET
      id_emp=$var_id_emp,
      id_tdo=$var_id_tdo,
      numero_dve=$var_numero_dve,
      codigo_barra_dve=$var_codigo_barra_dve,
      id_nve=$var_id_nve,
      fecha_dve='$var_fecha_dve',
      neto_dve=$var_neto_dve,
      iva_dve=$var_iva_dve,
      impuesto_esp_dve=$var_impuesto_esp_dve,
      ley_19030_dve=$var_ley_19030_dve,
      exento_dve=$var_exento_dve,
      detalle_dve='$var_detalle_dve',
      nulo_dve='$var_nulo_dve'
   WHERE
      id_emp=$var_id_emp AND
      id_tdo=$var_id_tdo AND
      numero_dve='$var_numero_dve'
   ";
   if (sql_query($sql)) {
      return true;
   }
   return false;
}

function documento_venta_anula($var_id_emp,$var_id_tdo,$var_numero_dve) {
// ***********************************************************************************
// * Funcion php: permite modificar anular documento_venta
   $sql = "UPDATE documento_venta SET
      nulo_dve='t'
   WHERE
      id_emp=$var_id_emp AND
      id_tdo=$var_id_tdo AND
      numero_dve='$var_numero_dve'
   ";
   if (sql_query($sql)) {
      return true;
   }
   return false;
}


function documento_venta_tipo_nc($var_id_emp,$var_id_tdo,$var_numero_dve,$tipo_nc) {
// ***********************************************************************************
// * Funcion php: permite modificar anular documento_venta
   $sql = "UPDATE documento_venta SET
      tipo_nc_dve=$tipo_nc
   WHERE
      id_emp=$var_id_emp AND
      id_tdo=$var_id_tdo AND
      numero_dve='$var_numero_dve'
   ";
   if (sql_query($sql)) {
      return true;
   }
   return false;
}

function documento_venta_existe ($var_id_emp,$var_id_tdo,$var_numero_dve) {
   $sql = "SELECT count(*) FROM documento_venta WHERE
      id_emp=$var_id_emp AND
      id_tdo=$var_id_tdo AND
      numero_dve=$var_numero_dve
   ";
   if ($rs=sql_query($sql)) {
      list($total) = sql_fetch_row( $rs );
      if ($total>0) {
         return true;
      }
   }
   return false;
}

function documento_venta_nulo ($var_id_emp,$var_id_tdo,$var_numero_dve) {
   $sql = "SELECT count(*) FROM documento_venta WHERE
      id_emp=$var_id_emp AND
      id_tdo=$var_id_tdo AND
      numero_dve=$var_numero_dve AND
      nulo_dve=TRUE
   ";
   if ($rs=sql_query($sql)) {
      list($total) = sql_fetch_row( $rs );
      if ($total>0) {
         return true;
      }
   }
   return false;
}

function documento_venta_pagado ($var_id_emp,$var_id_tdo,$var_numero_dve) {
   $sql = "SELECT count(*) FROM documento_venta WHERE
      id_emp=$var_id_emp AND
      id_tdo=$var_id_tdo AND
      numero_dve=$var_numero_dve AND
      pagado_dve=TRUE
   ";
   if ($rs=sql_query($sql)) {
      list($total) = sql_fetch_row( $rs );
      if ($total>0) {
         return true;
      }
   }
   return false;
}
function documento_venta_eliminar ($id_emp,$id_tdo,$numero_dve) {
   $sql = "DELETE FROM documento_venta
   WHERE
      id_emp=$id_emp AND
      id_tdo=$id_tdo AND
      numero_dve=$numero_dve
   ";
   if (sql_query($sql)) {
      return true;
   }
   return false;
}

function documento_venta_numero_maximo ( $id_emp, $id_tdo ) {
   if( list($total) = sql_fetch_row(sql_query("SELECT max(numero_dve) FROM documento_venta WHERE id_emp=$id_emp AND id_tdo=$id_tdo")) ) {
      return $total;
   }
   return 0;
}


function documento_venta_datos ($id_emp,$id_tdo,$numero_dve,$id_suc=0,$id_dep=0,$id_sec=0) {
// ***********************************************************************************
// * Funcion php: permite obtener los datos de un registro de la tabla documento_venta
// * Creada por: Autogenerador de funciones
// * Fecha: 9 de Enero de 2006
// * Datos de salida:
// *
// *
// ***********************************************************************************
   $tdp = array();
   $sql = "SELECT DV.fecha_vcto_dve,DV.id_emp,DV.seccion_id_emp,DV.seccion_id_suc,DV.seccion_id_dep,DV.seccion_id_sec,DV.id_tdo,DV.numero_dve,DV.codigo_barra_dve,DV.fecha_dve,DV.neto_dve,DV.iva_dve,DV.impuesto_esp_dve,DV.ley_19030_dve,DV.exento_dve,DV.detalle_dve,DV.nulo_dve,S.nombre_sec,S.id_tsc,DV.tipo_nc_dve,DV.visado_dve,DV.id_cca,DV.tipo_nc_dve,DV.descto_dve FROM
      documento_venta DV INNER JOIN seccion S ON(S.id_emp=DV.seccion_id_emp AND S.id_suc=DV.seccion_id_suc AND S.id_dep=DV.seccion_id_dep AND S.id_sec=DV.seccion_id_sec)
   WHERE
      DV.id_emp=$id_emp AND
      DV.id_tdo=$id_tdo AND
      DV.numero_dve=$numero_dve ";
   if ($id_suc!=0){
      $sql.="AND DV.seccion_id_suc=$id_suc ";
   }
   if ($id_dep!=0){
      $sql.="AND DV.seccion_id_dep=$id_dep ";
      }
   if ($id_sec!=0){
      $sql.="AND DV.seccion_id_sec=$id_sec ";
      }
   if ($datos=sql_fetch_array(sql_query($sql))) {
	$tdp['id_emp'] = $datos['id_emp'];
	$tdp['id_tdo'] = $datos['id_tdo'];
	$tdp['numero_dve'] = $datos['numero_dve'];
	$tdp['codigo_barra_dve'] = $datos['codigo_barra_dve'];
	$tdp['fecha_dve'] = $datos['fecha_dve'];
	$tdp['neto_dve'] = $datos['neto_dve'];
	$tdp['iva_dve'] = $datos['iva_dve'];
	$tdp['impuesto_esp_dve'] = $datos['impuesto_esp_dve'];
	$tdp['ley_19030_dve'] = $datos['ley_19030_dve'];
	$tdp['exento_dve'] = $datos['exento_dve'];
	$tdp['detalle_dve'] = $datos['detalle_dve'];
	$tdp['tipo_nc_dve'] = $datos['tipo_nc_dve'];
	$tdp['fecha_vcto_dve'] = $datos['fecha_vcto_dve'];
	$tdp['nulo_dve'] = ($datos['nulo_dve']=='t')? 1:0;
	$tdp['nombre_sec'] = $datos['nombre_sec'];
	$tdp['id_tsc'] = $datos['id_tsc'];
	$tdp['seccion_id_emp'] = $datos['seccion_id_emp'];
	$tdp['seccion_id_suc'] = $datos['seccion_id_suc'];
	$tdp['seccion_id_dep'] = $datos['seccion_id_dep'];
	$tdp['seccion_id_sec'] = $datos['seccion_id_sec'];
	$tdp['visado_dve'] = $datos['visado_dve'];
	$tdp['id_cca'] = $datos['id_cca'];
	$tdp['tipo_nc_dve'] = $datos['tipo_nc_dve'];
	$tdp['descto_dve'] = $datos['descto_dve'];
	$tdp['total_dve']=$datos['neto_dve']+$datos['iva_dve']+$datos['exento_dve'];
   }
   return $tdp;
}




function documento_venta_lista () {

   $tdps = array();
   $sql = "SELECT id_emp,id_tdo,numero_dve,codigo_barra_dve,id_nve,fecha_dve,neto_dve,iva_dve,impuesto_esp_dve,ley_19030_dve,exento_dve,detalle_dve,nulo_dve";
   $sql.=" FROM documento_venta ORDER BY id_emp,id_tdo,numero_dve";
   if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
         $tdps[$i]['id_emp'] = $datos['id_emp'];
         $tdps[$i]['id_tdo'] = $datos['id_tdo'];
         $tdps[$i]['numero_dve'] = $datos['numero_dve'];
         $tdps[$i]['codigo_barra_dve'] = $datos['codigo_barra_dve'];
         $tdps[$i]['id_nve'] = $datos['id_nve'];
         $tdps[$i]['fecha_dve'] = $datos['fecha_dve'];
         $tdps[$i]['neto_dve'] = $datos['neto_dve'];
         $tdps[$i]['iva_dve'] = $datos['iva_dve'];
         $tdps[$i]['impuesto_esp_dve'] = $datos['impuesto_esp_dve'];
         $tdps[$i]['ley_19030_dve'] = $datos['ley_19030_dve'];
         $tdps[$i]['exento_dve'] = $datos['exento_dve'];
         $tdps[$i]['detalle_dve'] = $datos['detalle_dve'];
         $tdps[$i]['nulo_dve'] = ($datos['nulo_dve']=='t')? 1:0;
         $i++;
      }
   }
   return $tdps;
}

function search_documento_venta($string,$id_tdo,$tipo='',$adeudada='',$id_cli=0) {
   $datos = array();
   $sql="SELECT distinct on (numero_dve) *,CASE WHEN id_tdo!=6 THEN saldo_documento_venta(id_emp,id_tdo,numero_dve) ELSE saldo_anticipo_cliente(id_emp,id_tdo,numero_dve) END as saldo FROM documento_venta ";
   $sql.=" NATURAL JOIN tipo_docto_venta ";

   $sql.=" NATURAL JOIN documento_venta_cliente ";
   $sql.=" NATURAL JOIN direccion_cliente ";
   $sql.=" NATURAL JOIN cliente ";
   $sql.=" NATURAL JOIN persona ";

   if ($tipo!='') {
      switch ($tipo)
      {
         case 'nuevo':
            $sql.=" NATURAL JOIN documento_venta_nuevo ";
         break;
         case 'usado':
            $sql.=" NATURAL JOIN documento_venta_usado ";
         break;
         case 'articulo':
            $sql.=" NATURAL JOIN documento_venta_articulo ";
         break;
      }
   }


   if ($adeudada=='adeudada') {
      $sql_pagado=" JOIN (";
      $sql_pagado.="SELECT numero_dve,sum(saldo(id_cpa)) as saldo FROM pago_documento_venta WHERE id_emp=".usuario_empresa()." ";
      if ($id_tdo>0) {
         $sql_pagado.=" AND id_tdo=".$id_tdo." ";
      }
      $sql_pagado.=" GROUP BY numero_dve";
      $sql_pagado.=") AS aduedadas USING (numero_dve) ";

      $sql.=$sql_pagado;
   }


//
//    $sql.=" NATURAL LEFT JOIN estado_cotizacion ";
//    $sql.=" NATURAL LEFT JOIN sistema_usuario ";

   $sql.=" WHERE numero_dve IS NOT NULL AND id_emp=".usuario_empresa()." AND nulo_dve IS FALSE ";
   if ($id_tdo>0) {
      $sql.=" AND id_tdo=".$id_tdo." ";
   }
   $sql.=" AND ( ";
   $string_e=explode(" ",$string);
   for ($x=0; $x<=count($string_e); $x++)
   {
      if ($x>0) $sql.=" AND ";
      $sql.=" ( ";
      $sql.=" numero_dve ilike '%".$string_e[$x]."%' OR paterno_per ilike '%".$string_e[$x]."%' OR nombre_per ilike '%".$string_e[$x]."%' OR materno_per ilike '%".$string_e[$x]."%' ";
      $sql.=" ) ";
   }

   $sql.=" )";

   if ($adeudada) {
   $sql.=" AND aduedadas.saldo>0 ";
   }
   if ($id_cli>0) {
	$sql.=" AND cliente.id_cli=".$id_cli." ";
   }
   $sql.=" ORDER BY numero_dve ";
	if (!$string) {
		$sql.=" DESC ";
	}
   $sql.=" OFFSET 0 LIMIT ".MAX_SEACH_RESULT;
   $rs=sql_query($sql);
   if ($rs) {
      $datos=result2array($rs);
   }
   return $datos;
}

function documento_venta_modificar_fecha_obs ($var_id_emp,$var_id_tdo,$var_numero_dve,$var_fecha_dve) {

   $sql = "UPDATE documento_venta SET
      fecha_dve='$var_fecha_dve'
   WHERE
      id_emp=$var_id_emp AND
      id_tdo=$var_id_tdo

   ";
   if (sql_query($sql)) {
      return true;
   }
   return false;
}
function buscar_documento_venta_lista($numero_dve=0,$tipo=0,$opcion=0, $id_emp=0, $id_suc=0, $id_dep=0, $id_sec=0, $finicio='',$ftermino='',$criterio1='',$criterio2='',$docto=0,$id_uco=0){
   $id_emp=($id_emp==0)?usuario_empresa():$id_emp;
   $sucursales=array();
    if($id_uco!=0){
      $sucursales=sucursal_uco_lista_suc($id_emp,$id_uco);
    }
   $sql="SELECT DV.id_emp,DV.seccion_id_suc,DV.seccion_id_dep,DV.seccion_id_sec,DV.numero_dve,DV.id_tdo,T.nombre_tdo, DVC.id_cli,C.nombre_cli,C.id_per,P.cedula_per,P.id_pss,P.nombre_per,P.paterno_per,P.materno_per, DV.fecha_dve,DV.neto_dve,DV.iva_dve,DV.exento_dve,DV.nulo_dve,DV.visado_dve,DV.descto_dve,SV.patente_veh ";
   $sql.=" FROM documento_venta DV INNER JOIN tipo_docto_venta T ON(T.id_tdo=DV.id_tdo) ";
   $sql.="INNER JOIN documento_venta_cliente DVC ON(DVC.id_tdo=DV.id_tdo and DVC.numero_dve=DV.numero_dve) ";
   $sql.="INNER JOIN cliente C on(C.id_cli=DVC.id_cli) ";
   $sql.="INNER JOIN persona P on(P.id_per=C.id_per) ";

	$sql.=" left join documento_venta_nv DVNV on (DVNV.numero_dve=DV.numero_dve and DVNV.id_tdo=DV.id_tdo) ";
	//left para nuevos(stock)
	$sql.=" left join nuevo_nota_venta NNV on (NNV.id_nve=DVNV.id_nve) ";
	//left para usados(patente)
	$sql.=" left join usado_nota_venta UNV on (UNV.id_nve=DVNV.id_nve) ";

	$sql.=" left join stock_vehiculo SV ON (SV.nro_interno_sve=NNV.nro_interno_sve or SV.nro_interno_sve=UNV.nro_interno_sve)	";


   $sql.="WHERE DV.id_emp=$id_emp AND DVC.titular_dvc='t' AND DV.id_tdo!=".TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE." AND DV.id_tdo!=".TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE." AND DV.id_tdo!=".TIPO_DOCTO_VENTA_GUIA." ";
   if ($numero_dve!=0){
      $sql.=" AND DV.numero_dve=$numero_dve ";
   }
   if(!empty($sucursales)){
        $sql.="AND (";
        for ($i=0;$i<count($sucursales);$i++){
            $suc=$sucursales[$i]["id_suc"];
            if ($i>0){
			     $sql.=" or ";
			}
            $sql.="DV.seccion_id_suc=$suc ";
        }
        $sql.=")";
    }
   switch($opcion){
      case 1:
         $sql.=" AND P.cedula_per=".sql_escape($criterio1)." AND P.id_pss=$criterio2";
         break;
      case 2:
         $sql.= " AND (upper(P.nombre_per) LIKE upper('$criterio1%') ";
         $sql.= "OR upper(P.paterno_per) LIKE upper('$criterio1%') OR upper(P.materno_per) LIKE upper('$criterio1%') ";
         $sql.= "OR upper(P.nombre_per)|| ' ' || upper(P.paterno_per) LIKE upper('$criterio1%')";
         $sql.= "OR upper(C.nombre_cli) LIKE upper('$criterio1%')) ";
         break;
      case 3:
         $sql.=" AND DV.numero_dve=$criterio1";
         break;
   }
   if ($id_sec!=0){
      $sql.= " AND DV.seccion_id_suc=$id_suc AND DV.seccion_id_dep=$id_dep AND DV.seccion_id_sec=$id_sec";
   }
   if ($docto!=0){
      $sql.= "AND DV.id_tdo=$docto";
   }
   if ($tipo!=0){
      $sql.= "AND DV.id_tdo=$tipo";
   }
   if($finicio!='' && $ftermino!=''){
            $sql.=" AND DV.fecha_dve BETWEEN '$finicio' AND '$ftermino'";
      }elseif($finicio!=''){
            $sql.=" AND DV.fecha_dve>='$finicio'";
         }elseif($ftermino!=''){
               $sql.=" AND DV.fecha_dve<='$ftermino'";
      }
   $sql.=" ORDER BY DV.id_tdo,DV.numero_dve,DV.fecha_dve ";
   $orden=array();
   if ($rs=sql_query($sql)) {
      $i=0;
      while($datos=sql_fetch_array($rs)){
         $orden[$i]['numero_dve']=$datos['numero_dve'];
         $orden[$i]['id_tdo']=$datos['id_tdo'];
	$orden[$i]['stock']=$datos['patente_veh'];
         $orden[$i]['nombre_tdo']=substr($datos['nombre_tdo'],0,2);
         $orden[$i]['fecha_dve']=$datos['fecha_dve'];
         $orden[$i]['cedula_per']=$datos['cedula_per'];
         $orden[$i]['nombre_cli']=$datos['nombre_cli'];
         $orden[$i]['nombre_per']=$datos['nombre_per'];
         $orden[$i]['paterno_per']=$datos['paterno_per'];
	 if ($orden[$i]["nombre_cli"]=='' || $orden[$i]["nombre_cli"]==null ){
		$orden[$i]["nombre_cli"]=$orden[$i]["nombre_per"]." ".$orden[$i]["paterno_per"];
	 }
         $orden[$i]['nulo_dve']=$datos['nulo_dve'];
	if ($orden[$i]["nulo_dve"]=='f'){
		$orden[$i]['neto_dve']=$datos['neto_dve'];
		$orden[$i]['iva_dve']=$datos['iva_dve'];
		$orden[$i]['exento_dve']=$datos['exento_dve'];
		$orden[$i]['total_dve']=$datos['neto_dve']+$datos['iva_dve']+$datos['exento_dve'];
	} else {
		$orden[$i]['neto_dve']='';
		$orden[$i]['iva_dve']='';
		$orden[$i]['exento_dve']='';
		$orden[$i]['total_dve']='NULO';
	}
        $orden[$i]['visado_dve']=$datos['visado_dve'];

	 $orden[$i]['descto_dve']=$datos['descto_dve'];
         $i++;
      }
   }
   return $orden;
}

function consulta_anticipos_prestamos_lista($numero_dve=0,$tipo=0,$opcion=0, $id_emp=0, $id_suc=0, $id_dep=0, $id_sec=0, $finicio='',$ftermino='',$criterio1='',$criterio2='',$docto=0,$id_epa=0,$id_uco=0){
	$sucursales=array();
   $id_emp=($id_emp==0)?usuario_empresa():$id_emp;
   if($id_uco!=0){
      $sucursales=sucursal_uco_lista_suc($id_emp,$id_uco);
    }
	$sql="SELECT DV.id_emp,DV.seccion_id_suc,DV.seccion_id_dep,DV.seccion_id_sec,DV.numero_dve,DV.id_tdo,T.nombre_tdo, DVC.id_cli,C.nombre_cli,C.id_per,P.cedula_per,P.id_pss,P.nombre_per,P.paterno_per,P.materno_per, DV.fecha_dve,DV.neto_dve,DV.iva_dve,DV.exento_dve,DV.nulo_dve,DV.visado_dve,DV.descto_dve,S.nombre_sec, ";
	if($docto==TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE){
		$sql.="regresion_saldo_anticipo_cliente(dv.id_emp,dv.id_tdo,dv.numero_dve,'$ftermino') as saldo ";
	}else{
		$sql.="regresion_saldo_prestamo_cliente(dv.id_emp,dv.numero_dve,'$ftermino') as saldo ";
	}
	$sql.=" FROM documento_venta DV INNER JOIN tipo_docto_venta T ON(T.id_tdo=DV.id_tdo) ";
	$sql.="INNER JOIN documento_venta_cliente DVC ON(DVC.id_tdo=DV.id_tdo and DVC.numero_dve=DV.numero_dve) ";
	$sql.="INNER JOIN cliente C on(C.id_cli=DVC.id_cli) ";
	$sql.="INNER JOIN persona P on(P.id_per=C.id_per) ";
	$sql.="INNER JOIN seccion S ON(S.id_emp=DV.seccion_id_emp AND S.id_suc=DV.seccion_id_suc AND S.id_dep=DV.seccion_id_dep AND S.id_sec=DV.seccion_id_sec)";
	$sql.="WHERE DV.id_emp=$id_emp ";
	if ($docto!=0){
		$sql.= "AND DV.id_tdo=$docto ";
	}
	if ($tipo!=0){
		$sql.= "AND DV.id_tdo=$tipo ";
	}
	$sql.="AND DV.nulo_dve='f' ";
	if(!empty($sucursales)){
        $sql.="AND (";
        for ($i=0;$i<count($sucursales);$i++){
            $suc=$sucursales[$i]["id_suc"];
            if ($i>0){
			     $sql.=" or ";
			}
            $sql.="DV.seccion_id_suc=$suc ";
        }
        $sql.=")";
    }
	if ($numero_dve!=0){
		$sql.=" AND DV.numero_dve=$numero_dve ";
	}
	switch($opcion){
		case 1:
			$sql.=" AND P.cedula_per=".sql_escape($criterio1)." AND P.id_pss=$criterio2";
			break;
		case 2:
			$sql.= " AND (upper(P.nombre_per) LIKE upper('$criterio1%') ";
			$sql.= "OR upper(P.paterno_per) LIKE upper('$criterio1%') OR upper(P.materno_per) LIKE upper('$criterio1%') ";
			$sql.= "OR upper(P.nombre_per)|| ' ' || upper(P.paterno_per) LIKE upper('$criterio1%')";
			$sql.= "OR upper(C.nombre_cli) LIKE upper('$criterio1%')) ";
			break;
		case 3:
			$sql.=" AND DV.numero_dve=$criterio1";
			break;
	}
	if ($id_sec!=0){
		$sql.= " AND DV.seccion_id_suc=$id_suc AND DV.seccion_id_dep=$id_dep AND DV.seccion_id_sec=$id_sec ";
	}
	if($finicio!='' && $ftermino!=''){
		$sql.=" AND DV.fecha_dve BETWEEN '$finicio' AND '$ftermino' ";
	}elseif($finicio!=''){
		$sql.=" AND DV.fecha_dve>='$finicio' ";
		}elseif($ftermino!=''){
		$sql.=" AND DV.fecha_dve<='$ftermino' ";
	}
	if($id_epa!=0){
		if($docto==TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE){
			if($id_epa==ESTADO_PAGO_PENDIENTE){
				$sql.="AND regresion_saldo_anticipo_cliente(dv.id_emp,dv.id_tdo,dv.numero_dve,'$ftermino')>0 ";
			}else{
				$sql.="AND regresion_saldo_anticipo_cliente(dv.id_emp,dv.id_tdo,dv.numero_dve,'$ftermino')=0 ";
			}
		}else{
			if($id_epa==ESTADO_PAGO_PENDIENTE){
				$sql.="AND regresion_saldo_prestamo_cliente(dv.id_emp,dv.numero_dve,'$ftermino')>0 ";
			}else{
				$sql.="AND regresion_saldo_prestamo_cliente(dv.id_emp,dv.numero_dve,'$ftermino')=0 ";
			}

		}
	}
	$sql.=" ORDER BY DV.id_tdo,DV.numero_dve,DV.fecha_dve ";
	$orden=array();
	if ($rs=sql_query($sql)) {
		$i=0;
		while($datos=sql_fetch_array($rs)){
			if($datos['id_tdo']==TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE){
// 				$saldo_anticipo=saldo_anticipo_cliente_lista(0,$datos['id_tdo'],$datos['numero_dve'],'',$ftermino);
// 				if($id_epa!=0){
// 					if($id_epa==ESTADO_PAGO_PENDIENTE){
// 						if($saldo_anticipo[0]['saldo']<=0){
// 							continue;
// 						}
// 					}else{
// 						if($saldo_anticipo[0]['saldo']>0){
// 							continue;
// 						}
// 					}
// 				}
// 				$orden[$i]['abono']=$saldo_anticipo[0]['abono_dve'];
// 				$orden[$i]['saldo']=$saldo_anticipo[0]['saldo']*-1;
// 				$orden[$i]['neto_dve']=$datos['neto_dve']*-1;
				$orden[$i]['abono']=$datos['neto_dve']-$datos['saldo'];
 				$orden[$i]['saldo']=$datos['saldo']*-1;
 				$orden[$i]['neto_dve']=$datos['neto_dve']*-1;
			}
			if($datos['id_tdo']==TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE){
// 				$saldo_prestamo=documento_venta_prestamo_cliente(0,'',$ftermino,$datos['numero_dve']);
// 				if($id_epa!=0){
// 					if($id_epa==ESTADO_PAGO_PENDIENTE){
// 						if($saldo_prestamo[0]['saldo']<=0){
// 							continue;
// 						}
// 					}else{
// 						if($saldo_prestamo[0]['saldo']>0){
// 							continue;
// 						}
// 					}
// 				}
// 				$orden[$i]['abono']=$saldo_prestamo[0]['abono_dve'];
// 				$orden[$i]['saldo']=$saldo_prestamo[0]['saldo'];
// 				$orden[$i]['neto_dve']=$datos['neto_dve'];
				$orden[$i]['abono']=$datos['neto_dve']-$datos['saldo'];
 				$orden[$i]['saldo']=$datos['saldo'];
 				$orden[$i]['neto_dve']=$datos['neto_dve'];
			}
			$orden[$i]['nombre_sec']=$datos['nombre_sec'];
			$orden[$i]['numero_dve']=$datos['numero_dve'];
			$orden[$i]['id_tdo']=$datos['id_tdo'];
			$orden[$i]['nombre_tdo']=$datos['nombre_tdo'];
			$orden[$i]['fecha_dve']=$datos['fecha_dve'];
			$orden[$i]['cedula_per']=$datos['cedula_per'];
			$orden[$i]['nombre_cli']=$datos['nombre_cli'];
			$orden[$i]['nombre_per']=$datos['nombre_per'];
			$orden[$i]['paterno_per']=$datos['paterno_per'];
			$orden[$i]['nulo_dve']=$datos['nulo_dve'];
			$orden[$i]['total_dve']=$datos['neto_dve'];
			$orden[$i]['descto_dve']=$datos['descto_dve'];
			$i++;
		}
	}
	return $orden;
}

function buscar_guias_facturar($numero_dve=0,$tipo=0,$opcion=0, $id_emp=0, $id_suc=0, $id_dep=0, $id_sec=0, $finicio='',$ftermino='',$criterio1='',$criterio2='',$docto=0){
   $id_emp=($id_emp==0)?usuario_empresa():$id_emp;
   $sql="SELECT DV.forma_pago_guia_dve,DVC.id_cli,DVC.correlativo_drc,DV.id_emp,DV.seccion_id_suc,DV.seccion_id_dep,DV.seccion_id_sec,DV.numero_dve,DV.id_tdo,T.nombre_tdo, DVC.id_cli,C.nombre_cli,C.id_per,P.cedula_per,P.id_pss,P.nombre_per,P.paterno_per,P.materno_per, DV.fecha_dve,DV.neto_dve,DV.iva_dve,DV.exento_dve,DV.nulo_dve,DV.visado_dve ";
   $sql.="FROM documento_venta DV INNER JOIN tipo_docto_venta T ON(T.id_tdo=DV.id_tdo) ";
   $sql.="INNER JOIN documento_venta_cliente DVC ON(DVC.id_tdo=DV.id_tdo and DVC.numero_dve=DV.numero_dve) ";
   $sql.="INNER JOIN cliente C on(C.id_cli=DVC.id_cli) ";
   $sql.="INNER JOIN persona P on(P.id_per=C.id_per) ";
   $sql.="WHERE DV.id_emp=$id_emp AND DVC.titular_dvc='t' AND (DV.detalle_dve<>'S' OR DV.detalle_dve is null) AND DV.nulo_dve='f' " ;
   if ($numero_dve!=0){
      $sql.=" AND DV.numero_dve=$numero_dve ";
   }
   switch($opcion){
      case 1:
         $sql.=" AND P.cedula_per=".sql_escape($criterio1)." AND P.id_pss=$criterio2";
         break;
      case 2:
         $sql.= " AND (upper(P.nombre_per) LIKE upper('$criterio1%') ";
         $sql.= "OR upper(P.paterno_per) LIKE upper('$criterio1%') OR upper(P.materno_per) LIKE upper('$criterio1%') ";
         $sql.= "OR upper(P.nombre_per)|| ' ' || upper(P.paterno_per) LIKE upper('$criterio1%')";
         $sql.= "OR upper(C.nombre_cli) LIKE upper('$criterio1%')) ";
         break;
      case 3:
         $sql.=" AND DV.numero_dve=$criterio1";
         break;
   }
   if ($id_sec!=0){
      $sql.= " AND DV.seccion_id_suc=$id_suc AND DV.seccion_id_dep=$id_dep AND DV.seccion_id_sec=$id_sec ";
   }
   if ($docto!=0){
      $sql.= "AND DV.id_tdo=$docto ";
   }
   if ($tipo!=0){
      $sql.= "AND DV.id_tdo=$tipo";
   }
   if($finicio!='' && $ftermino!=''){
            $sql.=" AND DV.fecha_dve BETWEEN '$finicio' AND '$ftermino'";
      }elseif($finicio!=''){
            $sql.=" AND DV.fecha_dve>='$finicio'";
         }elseif($ftermino!=''){
               $sql.=" AND DV.fecha_dve<='$ftermino'";
      }
   $sql.=" ORDER BY DVC.id_cli,DVC.correlativo_drc,DV.fecha_dve,DV.numero_dve ";
   $orden=array();

   if ($rs=sql_query($sql)) {
      $i=0;
      while($datos=sql_fetch_array($rs)){
   $orden[$i]['id_cli']=$datos['id_cli'];
   $orden[$i]['correlativo_drc']=$datos['correlativo_drc'];
   $orden[$i]['numero_dve']=$datos['numero_dve'];
   $dir=direccion_cliente_datos($datos['id_cli'],$datos['correlativo_drc']);
   $orden[$i]['direccion']=$dir['domicilio_drc'];
   $orden[$i]['id_tdo']=$datos['id_tdo'];
   $orden[$i]['nombre_tdo']=$datos['nombre_tdo'];
   $orden[$i]['fecha_dve']=$datos['fecha_dve'];
   $orden[$i]['cedula_per']=$datos['cedula_per'];
   $orden[$i]['nombre_cli']=$datos['nombre_cli'];
   $orden[$i]['nombre_per']=$datos['nombre_per'];
   $orden[$i]['paterno_per']=$datos['paterno_per'];
   $orden[$i]['materno_per']=$datos['materno_per'];
   $orden[$i]['nulo_dve']=$datos['nulo_dve'];
   $orden[$i]['forma_pago_guia_dve']=$datos['forma_pago_guia_dve'];
   //$iva=round(($datos['neto_dve']*SISTEMA_IVA),0);
   $orden[$i]['total_dve']=$datos['neto_dve']+$datos['iva_dve'];
   $i++;
      }
   }
   return $orden;
}

function informe_libro_venta($mes,$ano,$seccion=array()){
	$id_emp=usuario_empresa();
   $sql="SELECT DV.id_emp,DV.seccion_id_suc,DV.seccion_id_dep,DV.seccion_id_sec,DV.numero_dve,DV.id_tdo,T.nombre_tdo, DVC.id_cli,C.nombre_cli,C.id_per,P.cedula_per,P.id_pss,P.nombre_per,P.paterno_per,P.materno_per, DV.fecha_dve,DV.neto_dve,DV.iva_dve,DV.exento_dve,DV.nulo_dve,DV.visado_dve ";
   $sql.="FROM documento_venta DV INNER JOIN tipo_docto_venta T ON(T.id_tdo=DV.id_tdo) ";
   $sql.="INNER JOIN documento_venta_cliente DVC ON(DVC.id_tdo=DV.id_tdo and DVC.numero_dve=DV.numero_dve) ";
   $sql.="INNER JOIN cliente C on(C.id_cli=DVC.id_cli) ";
   $sql.="INNER JOIN persona P on(P.id_per=C.id_per) ";
   $sql.="where DV.id_emp=$id_emp and date_part('month',DV.fecha_dve)=$mes AND date_part('year',DV.fecha_dve)=$ano AND DVC.titular_dvc='t' and DV.id_tdo<>".TIPO_DOCTO_VENTA_GUIA." and DV.id_tdo<>".TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE." and DV.id_tdo<>".TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE." ";
   if ( $seccion != "" ) {
      $seccion=split("[*]",$seccion);
      $sq="";
      for ($i=0; $i < count($seccion); $i++ ) {
         $sec=split("[_]",$seccion[$i]);
         if($sq != "") {
                     $sq .= " OR ";
                  }
         $sq.=" (DV.id_emp=$sec[0] AND DV.seccion_id_suc=$sec[1] AND DV.seccion_id_dep=$sec[2] AND DV.seccion_id_sec=$sec[3]) ";
      }
      $sql.=" AND ($sq) ";
   }
   $sql.=" ORDER BY DV.id_tdo,DV.numero_dve,DV.fecha_dve ";
   if ($rs=sql_query($sql)) {
      $i=0;
      while($datos=sql_fetch_array($rs)){
         $orden[$i]['numero_dve']=$datos['numero_dve'];
         $orden[$i]['id_tdo']=$datos['id_tdo'];
         $orden[$i]['nombre_tdo']=$datos['nombre_tdo'];
         $orden[$i]['fecha_dve']=$datos['fecha_dve'];
         $orden[$i]['cedula_per']=$datos['cedula_per'];
         $orden[$i]['nombre_cli']=$datos['nombre_cli'];
         $orden[$i]['nombre_per']=$datos['nombre_per'];
         $orden[$i]['paterno_per']=$datos['paterno_per'];
         $orden[$i]['nulo_dve']=$datos['nulo_dve'];
	$orden[$i]['visado_dve']=$datos['visado_dve'];
         $orden[$i]['neto_dve']=$datos['neto_dve'];
         $orden[$i]['iva_dve']=$datos['iva_dve'];
         $orden[$i]['exento_dve']=$datos['exento_dve'];
         $orden[$i]['total_dve']=$datos['neto_dve']+$datos['iva_dve']+$datos['exento_dve'];
         $i++;
      }
   }
   return $orden;

}
function resumen_libro_venta($mes,$ano,$id_suc){
	$id_emp=usuario_empresa();
   $sql="SELECT DV.id_emp,DV.seccion_id_suc,DV.seccion_id_dep,DV.seccion_id_sec,DV.numero_dve,DV.id_tdo,T.nombre_tdo, DVC.id_cli,C.nombre_cli,C.id_per,P.cedula_per,P.id_pss,P.nombre_per,P.paterno_per,P.materno_per, DV.fecha_dve,DV.neto_dve,DV.iva_dve,DV.exento_dve,DV.nulo_dve,DV.visado_dve ";
   $sql.="FROM documento_venta DV INNER JOIN tipo_docto_venta T ON(T.id_tdo=DV.id_tdo) ";
   $sql.="INNER JOIN documento_venta_cliente DVC ON(DVC.id_tdo=DV.id_tdo and DVC.numero_dve=DV.numero_dve) ";
   $sql.="INNER JOIN cliente C on(C.id_cli=DVC.id_cli) ";
   $sql.="INNER JOIN persona P on(P.id_per=C.id_per) ";
   $sql.="where DV.id_emp=$id_emp AND  DV.seccion_id_suc=$id_suc AND date_part('month',DV.fecha_dve)=$mes AND date_part('year',DV.fecha_dve)=$ano AND DVC.titular_dvc='t' and DV.id_tdo<>".TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE." and DV.id_tdo<>".TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE." and DV.id_tdo<>".TIPO_DOCTO_VENTA_GUIA." ";

   $sql.=" ORDER BY DV.id_tdo,DV.numero_dve,DV.fecha_dve ";
   if ($rs=sql_query($sql)) {
      $i=0;
      while($datos=sql_fetch_array($rs)){
	$orden[$i]['seccion_id_suc']=$datos['seccion_id_suc'];
         $orden[$i]['numero_dve']=$datos['numero_dve'];
         $orden[$i]['id_tdo']=$datos['id_tdo'];
         $orden[$i]['nombre_tdo']=$datos['nombre_tdo'];
         $orden[$i]['fecha_dve']=$datos['fecha_dve'];
         $orden[$i]['cedula_per']=$datos['cedula_per'];
         $orden[$i]['nombre_cli']=$datos['nombre_cli'];
         $orden[$i]['nombre_per']=$datos['nombre_per'];
         $orden[$i]['paterno_per']=$datos['paterno_per'];
         $orden[$i]['nulo_dve']=$datos['nulo_dve'];
	 $orden[$i]['visado_dve']=$datos['visado_dve'];
         $orden[$i]['neto_dve']=$datos['neto_dve'];
         $orden[$i]['iva_dve']=$datos['iva_dve'];
         $orden[$i]['exento_dve']=$datos['exento_dve'];
         $orden[$i]['total_dve']=$datos['neto_dve']+$datos['iva_dve']+$datos['exento_dve'];
         $i++;
      }
   }
   return $orden;

}

function agregar_factura_directa($id_per,$id_emp,$id_suc,$id_dep,$id_sec,$cedula_per,$id_tdo,$id_cli,$id_cca,$fecha_dve,$correlativo_drc,$numero_dve,$detalle_dve,$neto_dve=0,$iva_dve=0,$exento_dve=0,$forma_pago,$cuenta,$auxiliar,$seccion,$tipo_mov_dve,$descripcion_cas="",$id_nve="")
{
    sql_begin("work");
//print_r($forma_pago);
   $sql=" INSERT INTO documento_venta (id_emp,id_tdo,numero_dve,seccion_id_emp,seccion_id_suc,seccion_id_dep,seccion_id_sec,fecha_dve,neto_dve,iva_dve,impuesto_esp_dve,exento_dve,signo_dve,pagado_dve,nulo_dve,ley_19030_dve,id_cca,tipo_mov_dve)";
   $sql.=" VALUES($id_emp,$id_tdo,$numero_dve,$id_emp,$id_suc,$id_dep,$id_sec,'$fecha_dve',$neto_dve,$iva_dve,0,$exento_dve,-1,'f','f',0,$id_cca,'$tipo_mov_dve') ";
   if (sql_query($sql)) {
      if (!documento_venta_cliente_agregar ($id_emp,$id_tdo,$numero_dve,$id_cli,$correlativo_drc))
      {
         sql_rollback("work");
         return -2;
      }
      $largo=trozo($detalle_dve,-1,"\n");
//       $resto=$detalle_dve;
      //$i=0;
//       while ($detalle_dve[$i]!=""&&$detalle_dve[$i]!=""){
      for ($i=0;$i<=$largo;$i++){
//       echo $largo;
      $detalle=trozo($detalle_dve,$i,"\n");
      $correlativo_ddv=$i+1;
      if (!detalle_documento_venta_agregar($id_emp,$id_tdo,$numero_dve,$correlativo_ddv,$detalle)){
      sql_rollback("work");
      return -3;
         }
      }
	if ($id_nve!="")
	{
		if (!documento_venta_nv_agregar($id_emp,$id_tdo,$numero_dve,$id_nve))
		{
        		return -6;
		}
	}

      $caja_seccion=caja_seccion_datos($id_emp,$id_suc,$id_dep,$id_sec);
      if (!folio_asignado_modificar($caja_seccion['caja_id_emp'],$caja_seccion['caja_id_suc'],$caja_seccion['caja_id_dep'],$caja_seccion['caja_id_sec'],$id_tdo,0,0,$numero_dve)){
               sql_rollback("work");
               return -4;
      }
	  $cont_mov=0;
          $tipo_sec=seccion_datos($id_emp,$id_suc,$id_dep,$id_sec);
	  $id_tsc=$tipo_sec["id_tsc"];
              for ($i=0;$i<=count($forma_pago);$i++){
		if($forma_pago[$i]['id_fpa']>0) {
                  if (!fp_factura_directa_agregar($id_emp,$id_tdo,$numero_dve,$forma_pago[$i]['id_fpa'],$forma_pago[$i]['numero_docto_cpa'],$forma_pago[$i]['fecha_docto_cpa'],$forma_pago[$i]['valor_cpa'],$forma_pago[$i]['id_ifi'],$forma_pago[$i]['de_la_plaza_cpa'],$forma_pago[$i]['id_ttc'],$forma_pago[$i]['codigo_cpa'],$forma_pago[$i]['fecha_vcto_cpa'],$id_cli,$id_cca,false,$id_suc,$id_dep,$id_sec))
                  {  sql_rollback("work");
                     return -8;
                  }
		  $id_cpa=secuencia_ultimo_valor("sec_id_cpa");
		  if($forma_pago[$i]["id_fpa"]==FORMA_PAGO_ASIENTO_CONTABLE){
			$movimientos[$cont_mov]["id_emp"]=usuario_empresa();
			$movimientos[$cont_mov]["id_cco"]=510101;//costos vehiculos
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
			$movimientos[$cont_mov]["afecta_cas"]="D";
			$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_dve;;
			$movimientos[$cont_mov]["descripcion_cas"]=($descripcion_cas!="")?$descripcion_cas:"Factura Directa Nº ".$numero_dve;
			$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
			$movimientos[$cont_mov]["tipo_pago"]=1;
			$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
			$cont_mov++;
			}else{
			if ($forma_pago[$i]["id_fpa"]==FORMA_PAGO_EFECTIVO || $forma_pago[$i]["id_fpa"]==FORMA_PAGO_CHEQUE_AL_DIA ){
			// buscar cuenta banco por caja
				$movimientos[$cont_mov]["id_emp"]=usuario_empresa();
				$caja_cuenta_corriente_lista=caja_cuenta_corriente_lista($id_emp,$id_suc,$id_dep,$id_sec);
				if (count($caja_cuenta_corriente_lista)>=2 || count($caja_cuenta_corriente_lista)==0){
					$movimientos[$cont_mov]["id_cco"]=110101;//cuenta_caja
				}else{
					$cuenta_corriente_banco_datos=cuenta_corriente_banco_datos($caja_cuenta_corriente_lista[0]['numero_ccb']);
					$movimientos[$cont_mov]["id_cco"]=$cuenta_corriente_banco_datos["id_cco"];
				}
				$movimientos[$cont_mov]["auxiliar_id_aux"]="";
				$movimientos[$cont_mov]["auxiliar_id_emp"]="";
				$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
				$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
				$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
				$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
				$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
				$movimientos[$cont_mov]["afecta_cas"]="D";
				$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
				$movimientos[$cont_mov]["fecha_cas"]=$fecha_dve;;
				$movimientos[$cont_mov]["descripcion_cas"]=($descripcion_cas!="")?$descripcion_cas:"Factura Directa Nº ".$numero_dve;
				$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
				$movimientos[$cont_mov]["tipo_pago"]=1;
				$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
				$cont_mov++;
			}else{
			if ($forma_pago[$i]["id_fpa"]!=FORMA_PAGO_DEPOSITO_EN_CTA_CTE){
				$cuenta_forma_pago=cuenta_forma_pago_datos(0,$id_emp,$forma_pago[$i]["id_fpa"],$id_tsc);
				$movimientos[$cont_mov]["id_emp"]=$id_emp;
				$movimientos[$cont_mov]["id_cco"]=$cuenta_forma_pago['id_cco'];
				$movimientos[$cont_mov]["auxiliar_id_aux"]="";
				$movimientos[$cont_mov]["auxiliar_id_emp"]="";
				$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
				$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
				$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
				$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
				$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
				$movimientos[$cont_mov]["afecta_cas"]="D";
				$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
				$movimientos[$cont_mov]["fecha_cas"]=$fecha_dve;
				$movimientos[$cont_mov]["descripcion_cas"]=($descripcion_cas!="")?$descripcion_cas:"Factura Directa Nº ".$numero_dve;
				$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
				$movimientos[$cont_mov]["tipo_pago"]=1;
				$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
			}else{
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$cuenta_forma_pago=cuenta_forma_pago_datos_cta_cte($id_emp,$forma_pago[$i]["id_fpa"],$forma_pago[$i]["id_ifi"],$id_tsc);
			$movimientos[$cont_mov]["id_cco"]=$cuenta_forma_pago['id_cco'];
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
			$movimientos[$cont_mov]["afecta_cas"]="D";
			$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_dve;
			$movimientos[$cont_mov]["descripcion_cas"]=($descripcion_cas!="")?$descripcion_cas:"Factura Directa Nº ".$numero_dve;
			$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
			$movimientos[$cont_mov]["tipo_pago"]=1;
			$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
		}
		$cont_mov++;
	}
       }
      }
    }
 if ($iva_dve > 0 ){
      			//IVA
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$movimientos[$cont_mov]["id_cco"]=CUENTA_IVA_DEBITO;
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["afecta_cas"]="H";
			$movimientos[$cont_mov]["monto_cas"]=$iva_dve;//IVA
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_dve;;
			$movimientos[$cont_mov]["descripcion_cas"]=($descripcion_cas!="")?$descripcion_cas:"Factura Directa Nº ".$numero_dve;
			$movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
			$movimientos[$cont_mov]["tipo_docto_cas"]=$id_tdo;
			$movimientos[$cont_mov]["documento"]["id_tdo"]=$id_tdo;
			$movimientos[$cont_mov]["documento"]["numero_dve"]=$numero_dve;
			$cont_mov++;
	         }
if ($neto_dve>0){
			    $movimientos[$cont_mov]["id_emp"]=$id_emp;
			    $movimientos[$cont_mov]["id_cco"]=$cuenta;
			    $movimientos[$cont_mov]["auxiliar_id_aux"]=$auxiliar;
			    $movimientos[$cont_mov]["auxiliar_id_emp"]="";
			    $movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			    $movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			    $movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			    $movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			    $movimientos[$cont_mov]["tipo_docto_cas"]=$id_tdo;
			    $movimientos[$cont_mov]["afecta_cas"]="H";
			    $movimientos[$cont_mov]["monto_cas"]=$neto_dve;
			    $movimientos[$cont_mov]["fecha_cas"]=$fecha_dve;
			    $movimientos[$cont_mov]["descripcion_cas"]=($descripcion_cas!="")?$descripcion_cas:"Factura Directa Nº ".$numero_dve;
			    $movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
			    $movimientos[$cont_mov]["documento"]["id_tdo"]=$id_tdo;
			    $movimientos[$cont_mov]["documento"]["numero_dve"]=$numero_dve;
		            $cont_mov++;
}
if ($exento_dve>0){
			    $movimientos[$cont_mov]["id_emp"]=$id_emp;
			    $movimientos[$cont_mov]["id_cco"]=$cuenta;
			    $movimientos[$cont_mov]["auxiliar_id_aux"]=$auxiliar;
			    $movimientos[$cont_mov]["auxiliar_id_emp"]="";
			    $movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			    $movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			    $movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			    $movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			    $movimientos[$cont_mov]["tipo_docto_cas"]=$id_tdo;
			    $movimientos[$cont_mov]["afecta_cas"]="H";
			    $movimientos[$cont_mov]["monto_cas"]=$exento_dve;
			    $movimientos[$cont_mov]["fecha_cas"]=$fecha_dve;
			    $movimientos[$cont_mov]["descripcion_cas"]=($descripcion_cas!="")?$descripcion_cas:"Factura Directa Nº ".$numero_dve;
			    $movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
			    $movimientos[$cont_mov]["documento"]["id_tdo"]=$id_tdo;
			    $movimientos[$cont_mov]["documento"]["numero_dve"]=$numero_dve;
		            $cont_mov++;
}



                // print_r($movimientos);
		$fecha_aco=$fecha_dve;
		$hora_aco=dateFormat("H:i:s");
		$id_usu=usuario_id();

   	//Hacer asiento contable//
 	//print_r($movimientos);
	$numero_aco_cliente=asiento_contable_automatico("T", $fecha_aco, $hora_aco, $id_emp, $id_suc, $id_dep, $id_sec, $id_usu, $movimientos, false, true, $id_per, false, false, '', 0,$id_cca);
	if ($numero_aco_cliente==false){
		sql_rollback("work");
		return -20;
		}
    }else{
      sql_rollback("work");
      return -1;
      }
   sql_commit("work");
   return 1;
}

function agregar_factura_especial($id_per,$id_emp,$id_suc,$id_dep,$id_sec,$cedula_per,$id_tdo,$id_cli,$id_cca,$fecha_dve,$correlativo_drc,$numero_dve,$detalle_dve,$neto_dve=0,$iva_dve=0,$exento_dve=0,$forma_pago,$conceptos)
{
   sql_begin("work");
   $sql=" INSERT INTO documento_venta (id_emp,id_tdo,numero_dve,seccion_id_emp,seccion_id_suc,seccion_id_dep,seccion_id_sec,fecha_dve,neto_dve,iva_dve,impuesto_esp_dve,exento_dve,signo_dve,pagado_dve,nulo_dve,ley_19030_dve,id_cca)";
   $sql.=" VALUES($id_emp,$id_tdo,$numero_dve,$id_emp,$id_suc,$id_dep,$id_sec,'$fecha_dve',$neto_dve,$iva_dve,0,$exento_dve,-1,'f','f',0,$id_cca) ";
   if (sql_query($sql)) {
      if (!documento_venta_cliente_agregar ($id_emp,$id_tdo,$numero_dve,$id_cli,$correlativo_drc))
      {
         sql_rollback("work");
         return -2;
      }
      $largo=trozo($detalle_dve,-1,"\n");
      for ($i=0;$i<=$largo;$i++){
		$detalle=trozo($detalle_dve,$i,"\n");
		$correlativo_ddv=$i+1;
		if (!detalle_documento_venta_agregar($id_emp,$id_tdo,$numero_dve,$correlativo_ddv,$detalle)){
		sql_rollback("work");
		return -3;
			}
      }
      $caja_seccion=caja_seccion_datos($id_emp,$id_suc,$id_dep,$id_sec);
      if (!folio_asignado_modificar($caja_seccion['caja_id_emp'],$caja_seccion['caja_id_suc'],$caja_seccion['caja_id_dep'],$caja_seccion['caja_id_sec'],$id_tdo,0,0,$numero_dve)){
               sql_rollback("work");
               return -4;
      }
               $cont_mov=0;
               $tipo_sec=seccion_datos($id_emp,$id_suc,$id_dep,$id_sec);
	       $id_tsc=$tipo_sec["id_tsc"];
               // 	print_r($forma_pago);
        for ($i=0;$i<=count($forma_pago);$i++){
			if($forma_pago[$i]['id_fpa']>0) {
			if (!fp_factura_directa_agregar($id_emp,$id_tdo,$numero_dve,$forma_pago[$i]['id_fpa'],$forma_pago[$i]['numero_docto_cpa'],$forma_pago[$i]['fecha_docto_cpa'],$forma_pago[$i]['valor_cpa'],$forma_pago[$i]['id_ifi'],$forma_pago[$i]['de_la_plaza_cpa'],$forma_pago[$i]['id_ttc'],$forma_pago[$i]['codigo_cpa'],$forma_pago[$i]['fecha_vcto_cpa'],$id_cli,$id_cca,false,$id_suc,$id_dep,$id_sec))
			{  sql_rollback("work");
			return -8;
			}
		$id_cpa=secuencia_ultimo_valor("sec_id_cpa");
	 	if ($forma_pago[$i]["id_fpa"]==FORMA_PAGO_EFECTIVO || $forma_pago[$i]["id_fpa"]==FORMA_PAGO_CHEQUE_AL_DIA){
		// buscar cuenta banco por caja
			$movimientos[$cont_mov]["id_emp"]=usuario_empresa();
			$caja_cuenta_corriente_lista=caja_cuenta_corriente_lista($id_emp,$id_suc,$id_dep,$id_sec);
			if (count($caja_cuenta_corriente_lista)>=2 || count($caja_cuenta_corriente_lista)==0){
				$movimientos[$cont_mov]["id_cco"]=110101;//cuenta_caja
			}else{
				$cuenta_corriente_banco_datos=cuenta_corriente_banco_datos($caja_cuenta_corriente_lista[0]['numero_ccb']);
				$movimientos[$cont_mov]["id_cco"]=$cuenta_corriente_banco_datos["id_cco"];
			}
		$movimientos[$cont_mov]["auxiliar_id_aux"]="";
		$movimientos[$cont_mov]["auxiliar_id_emp"]="";
		$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
		$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
		$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
		$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
		$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
		$movimientos[$cont_mov]["afecta_cas"]="D";
		$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
		$movimientos[$cont_mov]["fecha_cas"]=$fecha_dve;;
		$movimientos[$cont_mov]["descripcion_cas"]="Factura Especial Nº ".$numero_dve;
		$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
		$movimientos[$cont_mov]["tipo_pago"]=1;
		$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
		$cont_mov++;
	}else{
		if ($forma_pago[$i]["id_fpa"]!=FORMA_PAGO_DEPOSITO_EN_CTA_CTE){
			$cuenta_forma_pago=cuenta_forma_pago_datos(0,$id_emp,$forma_pago[$i]["id_fpa"],$id_tsc);
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$movimientos[$cont_mov]["id_cco"]=$cuenta_forma_pago['id_cco'];
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
			$movimientos[$cont_mov]["afecta_cas"]="D";
			$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_dve;
			$movimientos[$cont_mov]["descripcion_cas"]="Factura Especial Nº ".$numero_dve;
			$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
			$movimientos[$cont_mov]["tipo_pago"]=1;
			$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
		}else{
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$cuenta_forma_pago=cuenta_forma_pago_datos_cta_cte($id_emp,$forma_pago[$i]["id_fpa"],$forma_pago[$i]["id_ifi"],$id_tsc);
			$movimientos[$cont_mov]["id_cco"]=$cuenta_forma_pago['id_cco'];
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
			$movimientos[$cont_mov]["afecta_cas"]="D";
			$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_dve;
			$movimientos[$cont_mov]["descripcion_cas"]="Factura Especial Nº ".$numero_dve;
			$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
			$movimientos[$cont_mov]["tipo_pago"]=1;
			$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
		}
		$cont_mov++;
	}
       }
      }
       if ($iva_dve > 0 ){
      			//IVA
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$movimientos[$cont_mov]["id_cco"]=CUENTA_IVA_DEBITO;
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			$movimientos[$cont_mov]["seccion_id_suc"]=$id_suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$id_dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$id_sec;
			$movimientos[$cont_mov]["afecta_cas"]="H";
			$movimientos[$cont_mov]["monto_cas"]=$iva_dve;//IVA
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_dve;;
			$movimientos[$cont_mov]["descripcion_cas"]="Factura Especial Nº ".$numero_dve;
			$movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
			$movimientos[$cont_mov]["tipo_docto_cas"]=$id_tdo;
			$movimientos[$cont_mov]["documento"]["id_tdo"]=$id_tdo;
			$movimientos[$cont_mov]["documento"]["numero_dve"]=$numero_dve;
			$cont_mov++;
	         }
         if(!empty($conceptos)){
                            for ($i=1;$i<=count($conceptos);$i++){
                            list($concepto_id_suc,$concepto_id_dep,$concepto_id_sec)=split("_",$conceptos[$i]['seccion']);
		            $movimientos[$cont_mov]["id_emp"]=$id_emp;
			    $movimientos[$cont_mov]["id_cco"]=cuenta_tipo_seccion_cco_datos($id_emp,$id_tsc,$conceptos[$i]["concepto"]);
			    $movimientos[$cont_mov]["auxiliar_id_aux"]="";
			    $movimientos[$cont_mov]["auxiliar_id_emp"]="";
			    $movimientos[$cont_mov]["seccion_id_emp"]=$id_emp;
			    $movimientos[$cont_mov]["seccion_id_suc"]=$concepto_id_suc;
			    $movimientos[$cont_mov]["seccion_id_dep"]=$concepto_id_dep;
			    $movimientos[$cont_mov]["seccion_id_sec"]=$concepto_id_sec;
			    $movimientos[$cont_mov]["tipo_docto_cas"]=$id_tdo;
			    $movimientos[$cont_mov]["afecta_cas"]="H";
			    $movimientos[$cont_mov]["monto_cas"]=$conceptos[$i]["total"];
			    $movimientos[$cont_mov]["fecha_cas"]=$fecha_dve;
			    $movimientos[$cont_mov]["descripcion_cas"]="Factura Especial Nº ".$numero_dve;
			    $movimientos[$cont_mov]["tipo_movto_cas"]=2;//0=Sin Docto 1= Compra 2=Venta 3=Ch
			    $movimientos[$cont_mov]["documento"]["id_tdo"]=$id_tdo;
			    $movimientos[$cont_mov]["documento"]["numero_dve"]=$numero_dve;
		            $cont_mov++;
                    }
                  }
                // print_r($movimientos);
		$fecha_aco=dateFormat("d/m/Y");
		$hora_aco=dateFormat("H:i:s");
		$id_usu=usuario_id();
		$numero_aco_cliente=asiento_contable_automatico("T", $fecha_aco, $hora_aco, $id_emp, $id_suc, $id_dep, $id_sec, $id_usu, $movimientos, false, true, $id_per, false, false, '', 0, $id_cca);
		if ($numero_aco_cliente==false){
		sql_rollback("work");
		return -1;
		}
      } else {
      sql_rollback("work");
      return -1;
      }
    sql_commit("work");
   return 1;
 }

function documento_venta_estado_guia($id_emp,$numero_dve,$id_tdo,$estado){
   $sql = "UPDATE documento_venta SET detalle_dve='$estado' WHERE id_emp=$id_emp AND id_tdo=$id_tdo AND numero_dve=$numero_dve ";
   if (sql_query($sql)) {
      return true;
   }
   return false;

}
function documento_venta_estado_visa($id_emp,$numero_dve,$id_tdo,$estado){
   $sql = "UPDATE documento_venta SET visado_dve='$estado' WHERE id_emp=$id_emp AND id_tdo=$id_tdo AND numero_dve=$numero_dve ";
   if (sql_query($sql)) {
      return true;
   }
   return false;

}

function factura_directa_datos($id_emp,$id_suc,$id_dep,$id_sec,$id_tdo,$numero_dve)
{
$fd=array();
$sql="SELECT DV.id_emp,DV.seccion_id_suc,DV.seccion_id_dep,DV.seccion_id_sec,DV.id_tdo,DV.numero_dve,DV.fecha_dve,DV.neto_dve,DV.iva_dve,DV.exento_dve,DV.tipo_mov_dve, ";
$sql.="DVC.id_cli,C.id_per,DDV.detalle_ddv,DVC.correlativo_drc,P.cedula_per,DC.domicilio_drc";
$sql.=" FROM documento_venta DV ";
$sql.=" INNER JOIN documento_venta_cliente DVC ON(DV.id_emp=DVC.id_emp AND DV.id_tdo=DVC.id_tdo AND DV.numero_dve=DVC.numero_dve)";
$sql.=" INNER JOIN cliente C ON(DVC.id_cli=C.id_cli)";
$sql.=" INNER JOIN direccion_cliente DC ON(DVC.id_cli=DC.id_cli AND DVC.correlativo_drc=DC.correlativo_drc)";
$sql.=" INNER JOIN persona P ON(C.id_per=P.id_per)";
$sql.=" INNER JOIN detalle_documento_venta DDV ON(DV.id_emp=DDV.id_emp AND DV.id_tdo=DDV.id_tdo AND DV.numero_dve=DDV.numero_dve)";
$sql.=" WHERE DV.id_emp=$id_emp AND DV.id_tdo= $id_tdo AND DV.numero_dve=$numero_dve ";
$sql.="AND (DV.tipo_mov_dve='j' or DV.tipo_mov_dve='c' or DV.tipo_mov_dve='i' or DV.tipo_mov_dve='t') ";
//$sql.="AND DV.seccion_id_suc=$id_suc AND DV.seccion_id_dep=$id_dep AND DV.seccion_id_sec=$id_sec ";
if ($rs=sql_query($sql)) {
      $i=0;
      while($datos=sql_fetch_array($rs)){
   $fd[$i]['id_emp'] = $datos['id_emp'];
   $fd[$i]['cedula_per'] = $datos['cedula_per'];
   $fd[$i]['id_suc'] = $datos['seccion_id_suc'];
   $fd[$i]['id_dep'] = $datos['seccion_id_dep'];
   $fd[$i]['id_sec'] = $datos['seccion_id_sec'];
   $fd[$i]['id_tdo'] = $datos['id_tdo'];
	$fd[$i]['tipo_mov_dve'] = $datos['tipo_mov_dve'];
   $fd[$i]['numero_dve'] = $datos['numero_dve'];
   $fd[$i]['fecha_dve'] = $datos['fecha_dve'];
   $fd[$i]['neto_dve'] = $datos['neto_dve'];
   $fd[$i]['iva_dve'] = $datos['iva_dve'];
   $fd[$i]['exento_dve'] = $datos['exento_dve'];
   $fd[$i]['id_cli'] = $datos['id_cli'];
   $fd[$i]['id_per'] = $datos['id_per'];
   $fd[$i]['correlativo_drc'] = $datos['correlativo_drc'];
   $fd[$i]['domicilio_drc'] = $datos['domicilio_drc'];
   $fd[$i]['detalle_dve'] = $datos['detalle_ddv'];
   $cliente = cliente_datos($datos['id_cli']);
   if($cliente['nombre_cli']=="")
        {
                $persona = nombre_persona($datos['id_per']);
                $fd[$i]['nombre_per'] = $persona["nombre_per"]." ".$persona["paterno_per"]." ".$persona["materno_per"];
        }else{
                $fd[$i]['nombre_per'] =$cliente['nombre_cli'];
        }

   $i++;
   }
}
return $fd;
}
function documento_venta_visar_lista($id_tdo,$id_emp=0,$id_suc=0,$id_dep=0,$id_sec=0,$id_uco){
   $sql="SELECT DV.id_emp,DV.seccion_id_suc,DV.seccion_id_dep,DV.seccion_id_sec,DV.numero_dve,DV.id_tdo, ";
   $sql.="T.nombre_tdo, DVC.id_cli,C.nombre_cli,C.id_per,P.cedula_per,P.id_pss,P.nombre_per,P.paterno_per, ";
   $sql.="P.materno_per, DV.fecha_dve,DV.neto_dve,DV.iva_dve,DV.exento_dve,DV.nulo_dve,DV.tipo_nc_dve ";
   $sql.="FROM documento_venta DV INNER JOIN tipo_docto_venta T ON(T.id_tdo=DV.id_tdo) ";
   $sql.="INNER JOIN documento_venta_cliente DVC ON(DVC.id_tdo=DV.id_tdo and DVC.numero_dve=DV.numero_dve) ";
   $sql.="INNER JOIN cliente C on(C.id_cli=DVC.id_cli) ";
   $sql.="INNER JOIN persona P on(P.id_per=C.id_per) ";
   $sql.="INNER JOIN sucursal_uco S on(S.id_suc=DV.seccion_id_suc) ";
   $sql.="INNER JOIN unidad_contable U on(U.id_uco=S.id_uco) ";
   $sql.="WHERE DVC.titular_dvc='t' AND DV.visado_dve='f' AND DV.nulo_dve='f' AND U.id_uco=$id_uco ";
   if ($id_emp!=0){
      $sql.= "AND DV.id_emp=$id_emp ";
   }
//    if ($id_suc!=0){
//       $sql.= "AND DV.seccion_id_suc=$id_suc ";
//    }
//    if ($id_dep!=0){
//       $sql.= "AND DV.seccion_id_dep=$id_dep ";
//    }
//    if ($id_sec!=0){
//       $sql.= "AND DV.seccion_id_sec=$id_sec ";
//    }
   if ($id_tdo!=0){
      $sql.= "AND DV.id_tdo=$id_tdo";
   }
   $sql.=" ORDER BY DV.numero_dve,DV.fecha_dve ";
   $orden=array();
   if ($rs=sql_query($sql)) {
      $i=0;
      while($datos=sql_fetch_array($rs)){
         $orden[$i]['seccion_id_suc']=$datos['seccion_id_suc'];
         $orden[$i]['seccion_id_dep']=$datos['seccion_id_dep'];
         $orden[$i]['seccion_id_sec']=$datos['seccion_id_sec'];
         $orden[$i]['numero_dve']=$datos['numero_dve'];
         $orden[$i]['id_tdo']=$datos['id_tdo'];
         $orden[$i]['nombre_tdo']=$datos['nombre_tdo'];
         $orden[$i]['fecha_dve']=$datos['fecha_dve'];
         $orden[$i]['cedula_per']=$datos['cedula_per'];
         $orden[$i]['nombre_cli']=$datos['nombre_cli'];
         $orden[$i]['nombre_per']=$datos['nombre_per'];
         $orden[$i]['paterno_per']=$datos['paterno_per'];
         $orden[$i]['materno_per']=$datos['materno_per'];
         $orden[$i]['nulo_dve']=$datos['nulo_dve'];
         $orden[$i]['neto_dve']=$datos['neto_dve'];
         $orden[$i]['iva_dve']=$datos['iva_dve'];
         $orden[$i]['exento_dve']=$datos['exento_dve'];
	  $orden[$i]['tipo_nc_dve']=$datos['tipo_nc_dve'];
         $orden[$i]['total_dve']=$datos['neto_dve']+$datos['iva_dve']+$datos['exento_dve'];
         $i++;
      }
   }
   return $orden;
}

function documento_venta_cambia_caja($id_emp,$id_tdo,$numero_dve,$id_cca){
   $sql = "UPDATE documento_venta SET  id_cca=$id_cca WHERE id_emp=$id_emp AND id_tdo=$id_tdo AND numero_dve=$numero_dve ";
   if (sql_query($sql)) {
      return true;
   }
   return false;
}

function documento_venta_actualiza_pago($id_emp,$id_tdo,$numero_dve,$id_cca,$forma_pago){
	//falta obtener tipo de seccion.. documento o de usuario??
	sql_begin("work");

	$cont_mov=0;
	$datos_dve=documento_venta_datos($id_emp,$id_tdo,$numero_dve);
	$emp=usuario_empresa();
	$suc=$datos_dve['seccion_id_suc'];
	$dep=$datos_dve['seccion_id_dep'];
	$sec=$datos_dve['seccion_id_sec'];
	$tipo_sec=seccion_datos( $emp,$suc,$dep,$sec);
	$id_tsc=$tipo_sec['id_tsc'];
	$fecha_aco=$datos_dve["fecha_dve"];
	$hora_aco=dateFormat("H:i:s");
	$asientos=asiento_documento_venta_lista_dve($id_emp,$id_tdo,$numero_dve);
	$datos_cliente=documento_venta_cliente_datos($id_emp,$numero_dve,$id_tdo);
	$persona=cliente_datos($datos_cliente['id_cli']);
   	$id_per=$persona["id_per"];
	$mov=cuenta_asiento_lista($id_emp,$asientos[0]["id_aco"]);
	$glosa=$mov[0]["descripcion_cas"];
	$id_usu=usuario_id();

	//print_r($mov);
	for ($i=0;$i<count($mov);$i++){
		// tomo la parte del haber y la guardo(esta parte del asiento no cambia) para nuevo asiento
		if ($mov[$i]["afecta_cas"]=="H"){
			$movimientos[$cont_mov]["id_emp"]=$id_emp;
			$movimientos[$cont_mov]["id_cco"]=$mov[$i]["id_cco"];
			$movimientos[$cont_mov]["auxiliar_id_aux"]=$mov[$i]["auxiliar_id_aux"];
			$movimientos[$cont_mov]["auxiliar_id_emp"]=$mov[$i]["auxiliar_id_emp"];
			$movimientos[$cont_mov]["seccion_id_emp"]=$mov[$i]["seccion_id_emp"];
			$movimientos[$cont_mov]["seccion_id_suc"]=$mov[$i]["seccion_id_suc"];
			$movimientos[$cont_mov]["seccion_id_dep"]=$mov[$i]["seccion_id_dep"];
			$movimientos[$cont_mov]["seccion_id_sec"]=$mov[$i]["seccion_id_sec"];
			$movimientos[$cont_mov]["afecta_cas"]="H";
			$movimientos[$cont_mov]["monto_cas"]=$mov[$i]["monto_cas"];
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_aco;
			$movimientos[$cont_mov]["descripcion_cas"]=$glosa;
			$movimientos[$cont_mov]["tipo_movto_cas"]=$mov[$i]["tipo_movto_cas"];//0=Sin Docto 1= Compra 2=Venta 3=Ch
			$movimientos[$cont_mov]["tipo_docto_cas"]=$mov[$i]["tipo_docto_cas"];
			$movimientos[$cont_mov]["documento"]["id_tdo"]=$id_tdo;
			$movimientos[$cont_mov]["documento"]["numero_dve"]=$numero_dve;
			$cont_mov++;
		}
	}
	for ($i=0;$i<count($asientos);$i++){
		// CON EL MISMO ID ACO SE VAN ELIMINANDO LOS ANTICIPO_CLIENTE CREADOS.
		if(!asiento_documento_venta_eliminar($asientos[$i]["id_aco"])){
			sql_rollback("work");
			return -1;
		}
		$pagos=pago_documento_venta_numero_lista($id_emp,$id_tdo,$numero_dve);
		for ($j=0;$j<count($pagos);$j++){
			if (!pago_documento_venta_eliminar($id_emp,$id_tdo,$numero_dve,$pagos[$j]["id_cpa"])){
				sql_rollback("work");
				return -1;
			}
			if (!asiento_pago_eliminar($pagos[$j]["id_cpa"])){
				sql_rollback("work");
				return -1;
			}
			if (!pago_eliminar ($pagos[$j]["id_cpa"])){
				sql_rollback("work");
				return -1;
			}
		}
		if(!cuenta_asiento_eliminar($asientos[$i]["id_aco"])){
			sql_rollback("work");
			return -1;
		}
		if(!asiento_contable_eliminar($asientos[$i]["id_aco"])){
			sql_rollback("work");
			return -1;
		}
		if ($asientos[$i]["docto_id_tdo"]==TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE){
			if (!documento_venta_eliminar ($id_emp,$asientos[$i]["docto_id_tdo"],$asientos[$i]["docto_numero_dve"])){
				sql_rollback("work");
				return -1;
			}
		}
	}
	//eliminar_pago_anterior
	if (!documento_venta_cambia_caja($id_emp,$id_tdo,$numero_dve,$id_cca)){
		sql_rollback("work");
		return -1;
	}

	//ingresar la nueva foma de pago
	for ($i=1;$i<=count($forma_pago);$i++){
		if (!pago_agregar($id_emp,$forma_pago[$i]["numero_cpa"],$forma_pago[$i]["id_fpa"],$forma_pago[$i]["id_cca"],$datos_cliente['id_cli'],$forma_pago[$i]["id_ifi"],$forma_pago[$i]["nro_interno_sve"],$forma_pago[$i]["numero_docto_cpa"],$forma_pago[$i]["codigo_cpa"],$forma_pago[$i]["de_la_plaza_cpa"],$forma_pago[$i]["valor_cpa"],$forma_pago[$i]["fecha_vcto_cpa"],$forma_pago[$i]["fecha_cobro_cpa"],$forma_pago[$i]["fecha_docto_cpa"],$forma_pago[$i]["id_udo"],$forma_pago[$i]["id_epa"],$forma_pago[$i]["id_ttc"],$id_usu)){
			sql_rollback("work");
			return -1;
		}
		$id_cpa=secuencia_ultimo_valor("sec_id_cpa");
		if ($forma_pago[$i]["id_fpa"]==FORMA_PAGO_EFECTIVO || $forma_pago[$i]["id_fpa"]==FORMA_PAGO_CHEQUE_AL_DIA){
			//buscar cuenta banco por caja
			$movimientos[$cont_mov]["id_emp"]=usuario_empresa();
			$caja_seccion=caja_seccion_datos(usuario_empresa(),$suc,$dep,$sec);
			$caja_cuenta_corriente_lista=caja_cuenta_corriente_lista($caja_seccion["caja_id_emp"],$caja_seccion["caja_id_suc"],$caja_seccion["caja_id_dep"],$caja_seccion["caja_id_sec"]);
			if (count($caja_cuenta_corriente_lista)>=2 || count($caja_cuenta_corriente_lista)==0){
				$movimientos[$cont_mov]["id_cco"]=110101;//cuenta_caja
			}else{
				$cuenta_corriente_banco_datos=cuenta_corriente_banco_datos($caja_cuenta_corriente_lista[0]['numero_ccb']);
				$movimientos[$cont_mov]["id_cco"]=$cuenta_corriente_banco_datos["id_cco"];
			}
			$movimientos[$cont_mov]["auxiliar_id_aux"]="";
			$movimientos[$cont_mov]["auxiliar_id_emp"]="";
			$movimientos[$cont_mov]["seccion_id_emp"]=usuario_empresa();
			$movimientos[$cont_mov]["seccion_id_suc"]=$suc;
			$movimientos[$cont_mov]["seccion_id_dep"]=$dep;
			$movimientos[$cont_mov]["seccion_id_sec"]=$sec;
			$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
			$movimientos[$cont_mov]["afecta_cas"]="D";
			$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
			$movimientos[$cont_mov]["fecha_cas"]=$fecha_aco;
			$movimientos[$cont_mov]["descripcion_cas"]=$glosa;
			$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
			$movimientos[$cont_mov]["tipo_pago"]=1;
			$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
			$cont_mov++;

		}else{
			if ($forma_pago[$i]["id_fpa"]!=FORMA_PAGO_DEPOSITO_EN_CTA_CTE){
				$cuenta_forma_pago=cuenta_forma_pago_datos(0,usuario_empresa(),$forma_pago[$i]["id_fpa"],$id_tsc);
				$movimientos[$cont_mov]["id_emp"]=usuario_empresa();
				$movimientos[$cont_mov]["id_cco"]=$cuenta_forma_pago['id_cco'];
				$movimientos[$cont_mov]["auxiliar_id_aux"]="";
				$movimientos[$cont_mov]["auxiliar_id_emp"]="";
				$movimientos[$cont_mov]["seccion_id_emp"]=usuario_empresa();
				$movimientos[$cont_mov]["seccion_id_suc"]=$suc;
				$movimientos[$cont_mov]["seccion_id_dep"]=$dep;
				$movimientos[$cont_mov]["seccion_id_sec"]=$sec;
				$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
				$movimientos[$cont_mov]["afecta_cas"]="D";
				$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
				$movimientos[$cont_mov]["fecha_cas"]=$fecha_aco;
				$movimientos[$cont_mov]["descripcion_cas"]=$glosa;
				$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
				$movimientos[$cont_mov]["tipo_pago"]=1;
				$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
			}else{
				$movimientos[$cont_mov]["id_emp"]=usuario_empresa();
				$cuenta_forma_pago=cuenta_forma_pago_datos_cta_cte(usuario_empresa(),$forma_pago[$i]["id_fpa"],$forma_pago[$i]["id_ifi"],$id_tsc);
				$movimientos[$cont_mov]["id_cco"]=$cuenta_forma_pago['id_cco'];
				$movimientos[$cont_mov]["auxiliar_id_aux"]="";
				$movimientos[$cont_mov]["auxiliar_id_emp"]="";
				$movimientos[$cont_mov]["seccion_id_emp"]=usuario_empresa();
				$movimientos[$cont_mov]["seccion_id_suc"]=$suc;
				$movimientos[$cont_mov]["seccion_id_dep"]=$dep;
				$movimientos[$cont_mov]["seccion_id_sec"]=$sec;
				$movimientos[$cont_mov]["tipo_docto_cas"]=$forma_pago[$i]["id_fpa"];
				$movimientos[$cont_mov]["afecta_cas"]="D";
				$movimientos[$cont_mov]["monto_cas"]=$forma_pago[$i]["valor_cpa"];
				$movimientos[$cont_mov]["fecha_cas"]=$fecha_aco;
				$movimientos[$cont_mov]["descripcion_cas"]=$glosa;
				$movimientos[$cont_mov]["tipo_movto_cas"]=4;//0=Sin Docto 1= Compra 2=Venta 3=Ch 4=pago
				$movimientos[$cont_mov]["tipo_pago"]=1;
				$movimientos[$cont_mov]["id_cpa_pago"]=$id_cpa;
			}
			$cont_mov++;
		}
		if (!pago_documento_venta_agregar($id_cpa,0,$id_tdo,$numero_dve)){
			sql_rollback("work");
			return -1;
		}
	}
	//print_r($movimientos);
	$numero_aco_cliente=asiento_contable_automatico("T", $fecha_aco, $hora_aco, $emp, $suc, $dep, $sec, $id_usu, $movimientos, false, true, $id_per, false, false,"",0,$id_cca);
	if ($numero_aco_cliente==false){
		sql_rollback("work");
		return -20;
	}
	//sql_rollback("work");
	sql_commit("work");
   return 1;
}

function documento_venta_detalle_cancelacion ($id_emp=0,$id_cli=0,$finicio='',$ftermino='') {
// ***********************************************************************************
// * Funcion php: permite obtener una lista de los registros de venta de los documentos de venta que estan pagados
// * Creada por: Luis Mella
// * Fecha: 9 de Mayo de 2006
// * Datos de salida:
// *
// *
// ***********************************************************************************
   $documento_venta = array();
   $id_emp=($id_emp==0 || $id_emp=="")? usuario_empresa():$id_emp;
   $id_fpa=FORMA_PAGO_CUENTA_CORRIENTE;
   $id_fpa1=FORMA_PAGO_ASIENTO_CONTABLE;
   $sql=" SELECT dv.id_emp,dv.id_tdo,dv.numero_dve,dv.tipo_nc_dve,dv.fecha_dve,dv.neto_dve,
  dv.iva_dve,dv.exento_dve,dv.signo_dve,dv.pagado_dve,dv.fecha_vcto_dve,p2.id_suc,p2.id_dep,p2.id_sec,p2.id_cpa,p2.id_fpa,p2.numero_docto_cpa,p.valor_cpa as adeudado,
  p2.valor_cpa,p2.fecha_vcto_cpa,p2.fecha_docto_cpa,p2.fecha_emision_cpa,FP.nombre_fpa,TD.nombre_tdo,dvc.id_cli,
  TD.nombre_tdo as nombre_doc,
  dv.numero_dve as numero_doc,
  dv.id_tdo as tipo_doc
  FROM documento_venta dv
  INNER JOIN pago_documento_venta pdv ON (pdv.id_emp=dv.id_emp AND pdv.id_tdo=dv.id_tdo AND pdv.numero_dve=dv.numero_dve)
  INNER JOIN documento_venta_cliente dvc ON (dvc.id_emp=dv.id_emp AND dvc.id_tdo=dv.id_tdo AND dvc.numero_dve=dv.numero_dve)
  INNER JOIN pago p ON (p.id_cpa=pdv.id_cpa)
  INNER JOIN abono a ON (a.id_cpa=p.id_cpa)
  INNER JOIN pago p2 ON (p2.id_cpa=a.abono_id_cpa)
  INNER JOIN forma_pago FP ON (FP.id_fpa=p2.id_fpa)
  INNER JOIN forma_pago FP1 ON (FP1.id_fpa=p.id_fpa)
  INNER JOIN tipo_docto_venta TD ON (TD.id_tdo=dv.id_tdo)
  WHERE dv.id_emp=$id_emp AND FP1.id_fpa=$id_fpa
  AND p2.nulo_cpa IS FALSE";
  if ($id_cli>0) {
     $sql.=" AND dvc.id_cli=".$id_cli;
   }
   if($finicio!='' && $ftermino!=''){
      $sql.=" AND p2.fecha_emision_cpa BETWEEN '$finicio' AND '$ftermino'";
   }elseif($finicio!=''){
      $sql.=" AND p2.fecha_emision_cpa>='$finicio'";
   }elseif($ftermino!=''){
          $sql.=" AND p2.fecha_emision_cpa<='$ftermino'";
   }
   if ($rs=sql_query($sql)) {
         $i=0;
         while ($datos=sql_fetch_array($rs)) {
         $documento_venta[$i]['id_tdo_doc'] = $datos['tipo_doc'];
       $documento_venta[$i]['numero_dve'] = $datos['numero_doc'];
       $documento_venta[$i]['id_emp'] = $datos['id_emp'];
       $documento_venta[$i]['id_suc'] = $datos['id_suc'];
       $documento_venta[$i]['id_dep'] = $datos['id_dep'];
       $documento_venta[$i]['id_sec'] = $datos['id_sec'];
       $seccion=seccion_datos($datos['id_emp'],$datos['id_suc'],$datos['id_dep'],$datos['id_sec']);
       $documento_venta[$i]['nombre_sec'] = $seccion['nombre_sec'];
       $documento_venta[$i]['fecha_dve'] = $datos['fecha_dve'];
       $documento_venta[$i]['neto_dve'] = $datos['neto_dve'];
       $documento_venta[$i]['iva_dve'] = $datos['iva_dve'];
       $documento_venta[$i]['exento_dve'] = $datos['exento_dve'];
       $documento_venta[$i]['signo_dve'] = $datos['signo_dve'];
       $documento_venta[$i]['pagado_dve'] = ($datos['pagado_dve']=='t')? 1:0;
       $documento_venta[$i]['fecha_vcto_dve'] = $datos['fecha_vcto_dve'];
//       $documento_venta[$i]['id_cca'] = $datos['id_cca'];
       $documento_venta[$i]['id_fpa'] = $datos['id_fpa'];
       $documento_venta[$i]['id_cli'] = $datos['id_cli'];
       $documento_venta[$i]['numero_docto_cpa'] = $datos['numero_docto_cpa'];
       $documento_venta[$i]['valor_cpa'] = $datos['valor_cpa'];
       $documento_venta[$i]['fecha_vcto_cpa'] = $datos['fecha_vcto_cpa'];
       $documento_venta[$i]['fecha_emision_cpa'] = $datos['fecha_emision_cpa'];
       $documento_venta[$i]['fecha_docto_cpa'] = $datos['fecha_docto_cpa'];
       $documento_venta[$i]['nombre_dep'] = $datos['nombre_dep'];
       $documento_venta[$i]['nombre_fpa'] = $datos['nombre_fpa'];
       $documento_venta[$i]['nombre_tdo'] = $datos['nombre_doc'];
       $documento_venta[$i]['tipo_nc_dve'] = $datos['tipo_nc_dve'];
       $i++;
         }
      }
      return $documento_venta;
}

function documento_venta_genera_nota_credito ($id_emp=0,$id_cli=0,$finicio='',$ftermino='') {
// ***********************************************************************************
// * Funcion php: permite obtener una lista de los registros de venta de los documentos de venta que se hayan generado nota de credito
// * Creada por: Luis Mella
// * Fecha: 9 de Mayo de 2006
// * Datos de salida:
// *
// *
// ***********************************************************************************
   $documento_venta_nc = array();
   $id_emp=($id_emp==0 || $id_emp=="")? usuario_empresa():$id_emp;
   $id_tdo=TIPO_DOCTO_VENTA_CREDITO;
    $sql="SELECT dvr.numero_dve,dvr.id_tdo,TD1.nombre_tdo,
          dv1.neto_dve,dv1.iva_dve,dv1.exento_dve,
          dv1.fecha_dve,dv1.fecha_vcto_dve,
	  dv1.seccion_id_emp,
          dv1.seccion_id_suc,
	  dv1.seccion_id_dep,
          dv1.seccion_id_sec,
          dv.numero_dve as numero_fac,dv.id_tdo as tipo_fac,TD.nombre_tdo as nombre_fac,
          dvc.id_cli
          FROM documento_venta dv
          INNER JOIN documento_venta_cliente dvc ON (dvc.id_emp=dv.id_emp AND dvc.id_tdo=dv.id_tdo AND dvc.numero_dve=dv.numero_dve)
          INNER JOIN tipo_docto_venta TD ON (TD.id_tdo=dv.id_tdo)
          INNER JOIN documento_venta_relacionado dvr ON (dvr.id_emp_rel=dv.id_emp AND dvr.id_tdo_rel=dv.id_tdo
          AND dvr.numero_dve_rel=dv.numero_dve)
          INNER JOIN documento_venta dv1 ON (dv1.id_emp=dvr.id_emp AND dv1.id_tdo=dvr.id_tdo AND dv1.numero_dve=dvr.numero_dve)
          INNER JOIN tipo_docto_venta TD1 ON (TD1.id_tdo=dvr.id_tdo)";
    $sql.=" WHERE dv.id_emp=$id_emp AND dvr.id_tdo=$id_tdo and dv1.nulo_dve is false";
    if ($id_cli>0) {
         $sql.=" AND dvc.id_cli=".$id_cli;
   }
   if($finicio!='' && $ftermino!=''){
      $sql.=" AND dv1.fecha_dve BETWEEN '$finicio' AND '$ftermino'";
   }elseif($finicio!=''){
      $sql.=" AND dv1.fecha_dve>='$finicio'";
   }elseif($ftermino!=''){
          $sql.=" AND dv1.fecha_dve<='$ftermino'";
   }
   if ($rs=sql_query($sql)) {
       $i=0;
       while ($datos=sql_fetch_array($rs)) {
       $documento_venta_nc[$i]['id_emp'] = $datos['id_emp'];
       $documento_venta_nc[$i]['numero_dve'] = $datos['numero_dve'];
       $documento_venta_nc[$i]['id_tdo'] = $datos['id_tdo'];
       $documento_venta_nc[$i]['nombre_tdo'] = $datos['nombre_tdo'];
       $documento_venta_nc[$i]['fecha_dve'] = $datos['fecha_dve'];
       $documento_venta_nc[$i]['fecha_vcto_dve'] = $datos['fecha_vcto_dve'];
       $documento_venta_nc[$i]['neto_dve'] = $datos['neto_dve'];
       $documento_venta_nc[$i]['iva_dve'] = $datos['iva_dve'];
       $documento_venta_nc[$i]['exento_dve'] = $datos['exento_dve'];
       $documento_venta_nc[$i]['total_nc'] = $datos['neto_dve'] + $datos['iva_dve'] + $datos['exento_dve'];
       $documento_venta_nc[$i]['seccion_id_emp'] = $datos['seccion_id_emp'];
       $documento_venta_nc[$i]['seccion_id_suc'] = $datos['seccion_id_suc'];
       $documento_venta_nc[$i]['seccion_id_dep'] = $datos['seccion_id_dep'];
       $documento_venta_nc[$i]['seccion_id_sec'] = $datos['seccion_id_sec'];
       $documento_venta_nc[$i]['id_sec'] = $datos['id_sec'];
       $seccion=seccion_datos($datos['seccion_id_emp'],$datos['seccion_id_suc'],$datos['seccion_id_dep'],$datos['seccion_id_sec']);
       $documento_venta_nc[$i]['nombre_sec'] = $seccion['nombre_sec'];
       $documento_venta_nc[$i]['id_cli'] = $datos['id_cli'];
       $documento_venta_nc[$i]['numero_fac'] = $datos['numero_fac'];
       $documento_venta_nc[$i]['tipo_fac'] = $datos['tipo_fac'];
       $documento_venta_nc[$i]['nombre_fac'] = $datos['nombre_fac'];
       $i++;
         }
      }
      return $documento_venta_nc;
}

function nota_credito_genera_anticipo_cliente ($id_emp=0,$id_cli=0,$finicio='',$ftermino='') {
// ***********************************************************************************
// * Funcion php: permite obtener una lista de los registros de venta de los documentos de venta tipo nota credito que hayan generado anticipo cliente
// * Creada por: Luis Mella
// * Fecha: 29 de agosto de 2006
// * Datos de salida:
// *
// *
// ***********************************************************************************
   $documento = array();
   $id_emp=($id_emp==0 || $id_emp=="")? usuario_empresa():$id_emp;
   $id_tdo=TIPO_DOCTO_VENTA_CREDITO;
   $id_tdo1=TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE;
    $sql="
 		SELECT distinct dv1.id_emp,dv1.id_tdo as tipo_docto,dv1.numero_dve as numero_nota_credito,tdv1.nombre_tdo,dv1.seccion_id_emp,dv1.seccion_id_suc,
                dv1.seccion_id_dep,dv1.seccion_id_sec,dv1.neto_dve,dv1.iva_dve,dv1.exento_dve,dv1.fecha_dve,dv1.fecha_vcto_dve,
          	 (select dv.numero_dve FROM  documento_venta dv
			INNER JOIN documento_venta_cliente dvc
			ON (dvc.id_emp=dv.id_emp AND dvc.id_tdo=dv.id_tdo AND dvc.numero_dve=dv.numero_dve)
			INNER JOIN asiento_documento_venta adv
			ON (adv.docto_id_emp=dv.id_emp AND adv.docto_id_tdo=dv.id_tdo AND docto_numero_dve=dv.numero_dve)
			INNER JOIN cuenta_asiento cas on (cas.id_aco=adv.id_aco and cas.correlativo_cas=adv.correlativo_cas)
				where cas.id_aco=cas1.id_aco and cas.afecta_cas='H' and cas.tipo_movto_cas=2 and adv.docto_id_tdo=$id_tdo1
		) as numero_anticipo,

          	 (select dv.id_tdo FROM  documento_venta dv
			INNER JOIN documento_venta_cliente dvc
			ON (dvc.id_emp=dv.id_emp AND dvc.id_tdo=dv.id_tdo AND dvc.numero_dve=dv.numero_dve)
			INNER JOIN asiento_documento_venta adv
			ON (adv.docto_id_emp=dv.id_emp AND adv.docto_id_tdo=dv.id_tdo AND docto_numero_dve=dv.numero_dve)
			INNER JOIN cuenta_asiento cas on (cas.id_aco=adv.id_aco and cas.correlativo_cas=adv.correlativo_cas)
			where cas.id_aco=cas1.id_aco and cas.afecta_cas='H' and cas.tipo_movto_cas=2 and adv.docto_id_tdo=$id_tdo1
		) as tipo_documento,

           	 (select tdv.nombre_tdo FROM  documento_venta dv
			INNER JOIN tipo_docto_venta tdv on (tdv.id_tdo=dv.id_tdo)
			INNER JOIN documento_venta_cliente dvc
			ON (dvc.id_emp=dv.id_emp AND dvc.id_tdo=dv.id_tdo AND dvc.numero_dve=dv.numero_dve)
			INNER JOIN asiento_documento_venta adv
			ON (adv.docto_id_emp=dv.id_emp AND adv.docto_id_tdo=dv.id_tdo AND docto_numero_dve=dv.numero_dve)
			INNER JOIN cuenta_asiento cas on (cas.id_aco=adv.id_aco and cas.correlativo_cas=adv.correlativo_cas)
			where cas.id_aco=cas1.id_aco and cas.afecta_cas='H' and cas.tipo_movto_cas=2 and adv.docto_id_tdo=$id_tdo1
		) as nombre_documento

           FROM  documento_venta dv1
		INNER JOIN tipo_docto_venta tdv1 on (tdv1.id_tdo=dv1.id_tdo)

		INNER JOIN documento_venta_cliente dvc1
		ON (dvc1.id_emp=dv1.id_emp AND dvc1.id_tdo=dv1.id_tdo AND dvc1.numero_dve=dv1.numero_dve)
		INNER JOIN asiento_documento_venta adv1
		ON (adv1.docto_id_emp=dv1.id_emp AND adv1.docto_id_tdo=dv1.id_tdo AND adv1.docto_numero_dve=dv1.numero_dve)
		INNER JOIN cuenta_asiento cas1 on (cas1.id_aco=adv1.id_aco and cas1.correlativo_cas=adv1.correlativo_cas)
		where adv1.docto_id_tdo=$id_tdo and dv1.id_emp=$id_emp and
					exists(select dv.numero_dve FROM  documento_venta dv
					INNER JOIN documento_venta_cliente dvc
					ON (dvc.id_emp=dv.id_emp AND dvc.id_tdo=dv.id_tdo AND dvc.numero_dve=dv.numero_dve)
					INNER JOIN asiento_documento_venta adv
					ON (adv.docto_id_emp=dv.id_emp AND adv.docto_id_tdo=dv.id_tdo AND docto_numero_dve=dv.numero_dve)
					INNER JOIN cuenta_asiento cas on (cas.id_aco=adv.id_aco and cas.correlativo_cas=adv.correlativo_cas)
					where cas.id_aco=cas1.id_aco and cas.afecta_cas='H' and cas.tipo_movto_cas=2 and adv.docto_id_tdo=$id_tdo1
					)";
   if ($id_cli>0) {
         $sql.=" AND dvc1.id_cli=".$id_cli;
   }
   if($finicio!='' && $ftermino!=''){
      $sql.=" AND dv1.fecha_dve BETWEEN '$finicio' AND '$ftermino'";
   }elseif($finicio!=''){
      $sql.=" AND dv1.fecha_dve>='$finicio'";
   }elseif($ftermino!=''){
          $sql.=" AND dv1.fecha_dve<='$ftermino'";
   }
   if ($rs=sql_query($sql)) {
       $i=0;
       while ($datos=sql_fetch_array($rs)) {
       $documento[$i]['id_emp'] = $datos['id_emp'];
       $documento[$i]['numero_nota_credito'] = $datos['numero_nota_credito'];
       $documento[$i]['tipo_docto'] = $datos['tipo_docto'];
       $documento[$i]['nombre_tdo'] = $datos['nombre_tdo'];
       $documento[$i]['fecha_dve'] = $datos['fecha_dve'];
       $documento[$i]['fecha_vcto_dve'] = $datos['fecha_vcto_dve'];
       $documento[$i]['neto_dve'] = $datos['neto_dve'];
       $documento[$i]['iva_dve'] = $datos['iva_dve'];
       $documento[$i]['exento_dve'] = $datos['exento_dve'];
       $documento[$i]['total_nc'] = $datos['neto_dve'] + $datos['iva_dve'] + $datos['exento_dve'];
       $documento[$i]['seccion_id_emp'] = $datos['seccion_id_emp'];
       $documento[$i]['seccion_id_suc'] = $datos['seccion_id_suc'];
       $documento[$i]['seccion_id_dep'] = $datos['seccion_id_dep'];
       $documento[$i]['seccion_id_sec'] = $datos['seccion_id_sec'];
       $seccion=seccion_datos($datos['seccion_id_emp'],$datos['seccion_id_suc'],$datos['seccion_id_dep'],$datos['seccion_id_sec']);
       $documento[$i]['nombre_sec'] = $seccion['nombre_sec'];
       $documento[$i]['numero_anticipo'] = $datos['numero_anticipo'];
       $documento[$i]['tipo_documento'] = $datos['tipo_documento'];
       $documento[$i]['nombre_documento'] = $datos['nombre_documento'];
       $i++;
         }
      }
      return $documento;
}

  function documento_venta_saldos_por_pagar ($id_emp=0,$id_cli=0,$finicio='',$ftermino='', $numero_dve=0, $id_tdo=0,$id_uco=0) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una lista de los registros de venta de los documentos de venta que estan sin pago
// // // // // * Creada por: Luis Mella
// // // // // * Modificada por : Patricio Alarcon
// // // // // * Fecha: 9 de Mayo de 2006
// // // // // * Datos de salida:
// // // // // *
// // // // // *
// // // // // ***********************************************************************************
	$saldo = array();
	$id_emp=($id_emp==0 || $id_emp=="")? usuario_empresa():$id_emp;
	$sucursales=array();
	if($id_uco!=0){
		$sucursales=sucursal_uco_lista_suc($id_emp,$id_uco);
	}

	$sql="SELECT PD.id_emp,D.id_tdo,D.seccion_id_emp,D.seccion_id_suc,D.seccion_id_dep,D.seccion_id_sec,D.fecha_dve,D.neto_dve,";
	$sql.=" D.iva_dve,D.exento_dve,D.signo_dve,D.pagado_dve,D.pagado_dve,D.fecha_vcto_dve,TD.nombre_tdo,DVC.id_cli,DVC.titular_dvc,";
	$sql.=" D.numero_dve,regresion_saldo(PD.id_cpa,'$ftermino') as saldo FROM pago_documento_venta PD";
	$sql.=" INNER JOIN documento_venta D ON (D.id_emp=PD.id_emp AND D.id_tdo=PD.id_tdo AND D.numero_dve=PD.numero_dve)";
	$sql.=" INNER JOIN documento_venta_cliente DVC ON (DVC.id_emp=D.id_emp AND DVC.id_tdo=D.id_tdo AND DVC.numero_dve=D.numero_dve)";
	$sql.=" INNER JOIN cliente C on(C.id_cli=DVC.id_cli)";
	$sql.=" INNER JOIN persona PE on(PE.id_per=C.id_per)";
	$sql.=" INNER JOIN pago P ON (P.id_cpa=PD.id_cpa)";
	$sql.=" INNER JOIN forma_pago FP ON (FP.id_fpa=P.id_fpa)";
	$sql.=" INNER JOIN tipo_docto_venta TD ON (TD.id_tdo=D.id_tdo)";
	$sql.=" LEFT JOIN institucion_financiera IF ON (IF.id_ifi=P.id_ifi)";
	$sql.=" LEFT JOIN ubicacion_docto UD ON (UD.id_udo=P.id_udo)";
	$sql.=" WHERE PD.id_emp=$id_emp ";
	$sql.=" AND (PD.id_tdo=".TIPO_DOCTO_VENTA_FACTURA." OR PD.id_tdo=".TIPO_DOCTO_VENTA_BOLETA." OR PD.id_tdo=".TIPO_DOCTO_VENTA_FACTURA_EXENTA." ) ";
	if ($id_cli>0) {
	$sql.=" AND DVC.id_cli=".$id_cli;
	$sql.=" AND DVC.titular_dvc='t'";
	}
	if($finicio!='' && $ftermino!=''){
		$sql.=" AND D.fecha_dve BETWEEN '$finicio' AND '$ftermino'";
	}elseif($finicio!=''){
		$sql.=" AND D.fecha_dve>='$finicio'";
	}elseif($ftermino!=''){
		$sql.=" AND D.fecha_dve<='$ftermino'";
	}
	if ($numero_dve > 0)
	{$sql.= " AND D.numero_dve = $numero_dve ";}

	if ($id_tdo > 0)
	{$sql.= " AND D.id_tdo = $id_tdo ";}
		if(!empty($sucursales)){
		$sql.="AND (";
		for ($i=0;$i<count($sucursales);$i++){
		$suc=$sucursales[$i]["id_suc"];
		if ($i>0){
				$sql.=" or ";
				}
		$sql.="D.seccion_id_suc=$suc ";
		}
		$sql.=")";
	}

   if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
        if ($datos['saldo']>0) {
         $saldo[$i]['nombre_tdo'] = $datos['nombre_tdo'];
         $saldo[$i]['numero_dve'] = $datos['numero_dve'];
         $saldo[$i]['id_emp'] = $datos['id_emp'];
         $saldo[$i]['id_tdo'] = $datos['id_tdo'];
         $saldo[$i]['seccion_id_emp'] = $datos['seccion_id_emp'];
         $saldo[$i]['seccion_id_suc'] = $datos['seccion_id_suc'];
         $saldo[$i]['seccion_id_dep'] = $datos['seccion_id_dep'];
         $saldo[$i]['seccion_id_sec'] = $datos['seccion_id_sec'];
         $seccion=seccion_datos($datos['seccion_id_emp'],$datos['seccion_id_suc'],$datos['seccion_id_dep'],$datos['seccion_id_sec']);
         $saldo[$i]['nombre_sec'] = $seccion['nombre_sec'];
         $saldo[$i]['fecha_dve'] = $datos['fecha_dve'];
         $saldo[$i]['neto_dve'] = $datos['neto_dve'];
         $saldo[$i]['iva_dve'] = $datos['iva_dve'];
         $saldo[$i]['exento_dve'] = $datos['exento_dve'];
         $saldo[$i]['signo_dve'] = $datos['signo_dve'];
         $saldo[$i]['pagado_dve'] = ($datos['pagado_dve']=='f')? 1:0;
         $saldo[$i]['fecha_vcto_dve'] = $datos['fecha_vcto_dve'];
         $saldo[$i]['id_cli'] = $datos['id_cli'];
         $saldo[$i]['nombre_dep'] = $datos['nombre_dep'];
         $saldo[$i]['saldo'] = $datos['saldo'];
         $saldo[$i]['total_dve']=$saldo[$i]['neto_dve']+$saldo[$i]['iva_dve']+$saldo[$i]['exento_dve'];
         $saldo[$i]['abono_dve']=$saldo[$i]['total_dve']-$saldo[$i]['saldo'];  // abono total de la factura incluyendo los pago que no son cta cte
         $i++;
         }
      }
   }
//   print_r($saldo);
   return $saldo;
 }

function documento_venta_cta_cte($id_emp=0,$id_cli=0,$dia1,$ftermino,$id_uco=0) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una lista de los registros de venta de los documentos de venta que estan sin pago
// // // // // * Creada por: Patricio Alarcon
// // // // // * Fecha: 04 de Octubre de 2007
// // // // // * Datos de salida:
// // // // // *
// // // // // *
// // // // // ***********************************************************************************
	list($dia,$mes,$ano)=split("[-/]",$ftermino);
	if($mes=='01'){
		$mes_inv=12;
		$ano_inv=$ano-1;
	}else{
		$mes_inv=$mes-1;
		$ano_inv=$ano;
	}
	$saldo = array();
	$id_emp=usuario_empresa();
	$sucursales=array();
	if($id_uco!=0){
		$sucursales=sucursal_uco_lista_suc($id_emp,$id_uco);
	}

	$sql="SELECT PD.id_emp,D.id_tdo,D.seccion_id_emp,D.seccion_id_suc,D.seccion_id_dep,D.seccion_id_sec,D.fecha_dve,D.neto_dve,";
	$sql.=" D.iva_dve,D.exento_dve,D.signo_dve,D.pagado_dve,D.pagado_dve,D.fecha_vcto_dve,TD.nombre_tdo,DVC.id_cli,DVC.titular_dvc,";
	$sql.=" D.numero_dve,regresion_saldo(PD.id_cpa,'$ftermino') as saldo FROM pago_documento_venta PD";
	$sql.=" INNER JOIN documento_venta D ON (D.id_emp=PD.id_emp AND D.id_tdo=PD.id_tdo AND D.numero_dve=PD.numero_dve)";
	$sql.=" INNER JOIN documento_venta_cliente DVC ON (DVC.id_emp=D.id_emp AND DVC.id_tdo=D.id_tdo AND DVC.numero_dve=D.numero_dve)";
	$sql.=" INNER JOIN cliente C on(C.id_cli=DVC.id_cli)";
	$sql.=" INNER JOIN persona PE on(PE.id_per=C.id_per)";
	$sql.=" INNER JOIN pago P ON (P.id_cpa=PD.id_cpa)";
	$sql.=" INNER JOIN forma_pago FP ON (FP.id_fpa=P.id_fpa)";
	$sql.=" INNER JOIN tipo_docto_venta TD ON (TD.id_tdo=D.id_tdo)";
	$sql.=" LEFT JOIN institucion_financiera IF ON (IF.id_ifi=P.id_ifi)";
	$sql.=" LEFT JOIN ubicacion_docto UD ON (UD.id_udo=P.id_udo)";
	$sql.=" WHERE PD.id_emp=$id_emp AND (PD.id_tdo=".TIPO_DOCTO_VENTA_FACTURA." OR PD.id_tdo=".TIPO_DOCTO_VENTA_BOLETA." OR PD.id_tdo=".TIPO_DOCTO_VENTA_FACTURA_EXENTA." ) ";
	$sql.=" AND DVC.id_cli=$id_cli AND DVC.titular_dvc='t' ";
	$sql.=" AND D.fecha_dve BETWEEN '$dia1' AND '$ftermino'";

	if(!empty($sucursales)){
		$sql.="AND (";
		for ($i=0;$i<count($sucursales);$i++){
			$suc=$sucursales[$i]["id_suc"];
			if ($i>0){
				$sql.=" or ";
			}
			$sql.="D.seccion_id_suc=$suc ";
		}
		$sql.=")";
	}

	$sql.=" UNION ";

	$sql.="SELECT PD.id_emp,D.id_tdo,D.seccion_id_emp,D.seccion_id_suc,D.seccion_id_dep,D.seccion_id_sec,D.fecha_dve,D.neto_dve,";
	$sql.=" D.iva_dve,D.exento_dve,D.signo_dve,D.pagado_dve,D.pagado_dve,D.fecha_vcto_dve,TD.nombre_tdo,DVC.id_cli,DVC.titular_dvc,";
	$sql.=" D.numero_dve,regresion_saldo(PD.id_cpa,'$ftermino') as saldo FROM pago_documento_venta PD";
	$sql.=" INNER JOIN inventario_dve IDV ON (IDV.id_emp=PD.id_emp AND IDV.id_tdo=PD.id_tdo AND IDV.numero_dve=PD.numero_dve)";
	$sql.=" INNER JOIN documento_venta D ON (D.id_emp=IDV.id_emp AND D.id_tdo=IDV.id_tdo AND D.numero_dve=IDV.numero_dve)";
	$sql.=" INNER JOIN documento_venta_cliente DVC ON (DVC.id_emp=D.id_emp AND DVC.id_tdo=D.id_tdo AND DVC.numero_dve=D.numero_dve)";
	$sql.=" INNER JOIN cliente C on(C.id_cli=DVC.id_cli)";
	$sql.=" INNER JOIN persona PE on(PE.id_per=C.id_per)";
	$sql.=" INNER JOIN pago P ON (P.id_cpa=PD.id_cpa)";
	$sql.=" INNER JOIN forma_pago FP ON (FP.id_fpa=P.id_fpa)";
	$sql.=" INNER JOIN tipo_docto_venta TD ON (TD.id_tdo=D.id_tdo)";
	$sql.=" LEFT JOIN institucion_financiera IF ON (IF.id_ifi=P.id_ifi)";
	$sql.=" LEFT JOIN ubicacion_docto UD ON (UD.id_udo=P.id_udo)";
	$sql.=" WHERE IDV.ano_inv=$ano_inv AND IDV.mes_inv=$mes_inv ";
	$sql.=" AND (IDV.id_tdo=".TIPO_DOCTO_VENTA_FACTURA." OR IDV.id_tdo=".TIPO_DOCTO_VENTA_BOLETA." OR IDV.id_tdo=".TIPO_DOCTO_VENTA_FACTURA_EXENTA." ) ";
	$sql.=" AND IDV.id_emp=$id_emp ";
	$sql.=" AND DVC.id_cli=".$id_cli;
	$sql.=" AND DVC.titular_dvc='t'";


	if(!empty($sucursales)){
		$sql.="AND (";
		for ($i=0;$i<count($sucursales);$i++){
			$suc=$sucursales[$i]["id_suc"];
			if ($i>0){
					$sql.=" or ";
					}
			$sql.="D.seccion_id_suc=$suc ";
		}
		$sql.=")";
	}

   if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
        if ($datos['saldo']>0) {
         $saldo[$i]['nombre_tdo'] = $datos['nombre_tdo'];
         $saldo[$i]['numero_dve'] = $datos['numero_dve'];
         $saldo[$i]['id_emp'] = $datos['id_emp'];
         $saldo[$i]['id_tdo'] = $datos['id_tdo'];
         $saldo[$i]['seccion_id_emp'] = $datos['seccion_id_emp'];
         $saldo[$i]['seccion_id_suc'] = $datos['seccion_id_suc'];
         $saldo[$i]['seccion_id_dep'] = $datos['seccion_id_dep'];
         $saldo[$i]['seccion_id_sec'] = $datos['seccion_id_sec'];
         $seccion=seccion_datos($datos['seccion_id_emp'],$datos['seccion_id_suc'],$datos['seccion_id_dep'],$datos['seccion_id_sec']);
         $saldo[$i]['nombre_sec'] = $seccion['nombre_sec'];
         $saldo[$i]['fecha_dve'] = $datos['fecha_dve'];
         $saldo[$i]['neto_dve'] = $datos['neto_dve'];
         $saldo[$i]['iva_dve'] = $datos['iva_dve'];
         $saldo[$i]['exento_dve'] = $datos['exento_dve'];
         $saldo[$i]['signo_dve'] = $datos['signo_dve'];
         $saldo[$i]['pagado_dve'] = ($datos['pagado_dve']=='f')? 1:0;
         $saldo[$i]['fecha_vcto_dve'] = $datos['fecha_vcto_dve'];
         $saldo[$i]['id_cli'] = $datos['id_cli'];
         $saldo[$i]['nombre_dep'] = $datos['nombre_dep'];
         $saldo[$i]['saldo'] = $datos['saldo'];
         $saldo[$i]['total_dve']=$saldo[$i]['neto_dve']+$saldo[$i]['iva_dve']+$saldo[$i]['exento_dve'];
         $saldo[$i]['abono_dve']=$saldo[$i]['total_dve']-$saldo[$i]['saldo'];  // abono total de la factura incluyendo los pago que no son cta cte
         $i++;
         }
      }
   }
//   print_r($saldo);
   return $saldo;
 }



 function documento_venta_prestamo_cliente ($id_cli=0,$finicio='',$ftermino='',$numero_dve=0,$id_uco=0) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una lista de los registros de venta que son prestamos cliente
// // // // // * Creada por: Luis Mella
// // // // // * Fecha: 9 de Mayo de 2006
// // // // // * Datos de salida:
// // // // // ***********************************************************************************
   $saldo = array();
   $id_emp=usuario_empresa();
	$sucursales=array();
	if($id_uco!=0){
		$sucursales=sucursal_uco_lista_suc($id_emp,$id_uco);
	}
   $id_tdo=TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE;

$sql="select dv.id_emp,dv.seccion_id_emp,dv.seccion_id_suc,dv.seccion_id_dep,dv.seccion_id_sec,dv.id_tdo,dv.numero_dve,tdv.nombre_tdo,dv.neto_dve,dvc.id_cli,
      dv.fecha_dve,dv.fecha_vcto_dve,
		COALESCE((select sum(p1.valor_cpa) FROM pago p1
		inner join pago_documento_venta pdv1 on (pdv1.id_emp=dv.id_emp and pdv1.id_tdo=dv.id_tdo and pdv1.numero_dve=dv.numero_dve)
                inner join pago_documento_venta pdv on (pdv.id_cpa=p1.id_cpa)
                WHERE p1.id_emp=dv.id_emp AND p1.id_cpa=pdv1.id_cpa AND p1.nulo_cpa='f'";
                if($ftermino!=''){
              	 $sql.=" AND p1.fecha_emision_cpa<='$ftermino'";
    		}
$sql.="	),0) as pagado
	        from documento_venta dv
		inner join documento_venta_cliente dvc on (dvc.id_emp=dv.id_emp and dvc.id_tdo=dv.id_tdo and dvc.numero_dve=dv.numero_dve)
		inner join tipo_docto_venta tdv on (tdv.id_tdo=dv.id_tdo)
        	where dv.id_emp=$id_emp and dv.id_tdo=$id_tdo and dv.nulo_dve='f'";

     if ($id_cli>0) {
      $sql.=" AND dvc.id_cli=".$id_cli;
   }
   if($finicio!='' && $ftermino!=''){
            $sql.=" AND dv.fecha_dve BETWEEN '$finicio' AND '$ftermino'";
      }elseif($finicio!=''){
            $sql.=" AND dv.fecha_dve>='$finicio'";
      }elseif($ftermino!=''){
               $sql.=" AND dv.fecha_dve<='$ftermino'";
      }
   if ($numero_dve > 0)
   {$sql.= " AND dv.numero_dve = $numero_dve ";}
if(!empty($sucursales)){
        $sql.="AND (";
        for ($i=0;$i<count($sucursales);$i++){
            $suc=$sucursales[$i]["id_suc"];
            if ($i>0){
			     $sql.=" or ";
			}
            $sql.="DV.seccion_id_suc=$suc ";
        }
        $sql.=")";
    }
   if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
	//if($datos['neto_dve']-$datos['pagado']>0){
		$saldo[$i]['nombre_tdo'] = $datos['nombre_tdo'];
		$saldo[$i]['numero_dve'] = $datos['numero_dve'];
		$saldo[$i]['id_emp'] = $datos['id_emp'];
		$saldo[$i]['id_tdo'] = $datos['id_tdo'];
		$saldo[$i]['seccion_id_emp'] = $datos['seccion_id_emp'];
		$saldo[$i]['seccion_id_suc'] = $datos['seccion_id_suc'];
		$saldo[$i]['seccion_id_dep'] = $datos['seccion_id_dep'];
		$saldo[$i]['seccion_id_sec'] = $datos['seccion_id_sec'];
		$seccion=seccion_datos($datos['seccion_id_emp'],$datos['seccion_id_suc'],$datos['seccion_id_dep'],$datos['seccion_id_sec']);
		$saldo[$i]['nombre_sec'] = $seccion['nombre_sec'];
		$saldo[$i]['fecha_dve'] = $datos['fecha_dve'];
		$saldo[$i]['neto_dve'] = $datos['neto_dve'];
		$saldo[$i]['id_cli'] = $datos['id_cli'];
		$saldo[$i]['abono_dve'] = $datos['pagado'];  // abono total de la factura incluyendo los pago que no son cta cte
		$saldo[$i]['saldo_total'] = $datos['neto_dve']-$saldo[$i]['abono_dve'];
		$saldo[$i]['saldo'] = $datos['neto_dve']-$saldo[$i]['abono_dve'];
		$i++;
	//}
      }
   }
   return $saldo;
 }

 function prestamo_cliente_cta_cte($id_cli,$finicio,$ftermino,$id_uco=0) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una lista de los registros de venta que son prestamos cliente
// // // // // * Creada por: Patricio Alarcon
// // // // // * Fecha: 4 de Octubre de 2007
// // // // // * Datos de salida:
// // // // // ***********************************************************************************
	list($dia,$mes,$ano)=split("[-/]",$ftermino);
	if($mes=='01'){
		$mes_inv=12;
		$ano_inv=$ano-1;
	}else{
		$mes_inv=$mes-1;
		$ano_inv=$ano;
	}
	$saldo = array();
	$id_emp=usuario_empresa();
	$sucursales=array();
	if($id_uco!=0){
		$sucursales=sucursal_uco_lista_suc($id_emp,$id_uco);
	}
	$sql="SELECT DV.numero_dve,DV.id_emp,DV.id_tdo,DV.seccion_id_suc,DV.seccion_id_dep,DV.seccion_id_sec,DV.fecha_dve,DV.neto_dve,DVC.id_cli, ";
	$sql.="regresion_saldo_prestamo_cliente(dv.id_emp,dv.numero_dve,'$ftermino') as saldo ";
	$sql.="FROM documento_venta DV ";
	$sql.="INNER JOIN documento_venta_cliente DVC ON(DVC.id_tdo=DV.id_tdo and DVC.numero_dve=DV.numero_dve) ";
	$sql.="WHERE DV.id_emp=$id_emp ";
	$sql.="AND DV.id_tdo=".TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE." AND DV.nulo_dve='f' ";
	$sql.="AND DV.fecha_dve BETWEEN '$finicio' AND '$ftermino' ";
	$sql.="AND DVC.titular_dvc is true ";
	$sql.="AND DVC.id_cli=$id_cli ";
	if(!empty($sucursales)){
		$sql.="AND (";
		for ($i=0;$i<count($sucursales);$i++){
			$suc=$sucursales[$i]["id_suc"];
			if ($i>0){
				$sql.=" or ";
			}
			$sql.="DV.seccion_id_suc=$suc ";
		}
		$sql.=") ";
    	}

	$sql.="union ";

	$sql.="SELECT DV.numero_dve,DV.id_emp,DV.id_tdo,DV.seccion_id_suc,DV.seccion_id_dep,DV.seccion_id_sec,DV.fecha_dve,DV.neto_dve,DVC.id_cli, ";
	$sql.="regresion_saldo_prestamo_cliente(dv.id_emp,dv.numero_dve,'$ftermino') as saldo ";
	$sql.="FROM inventario_dve IDV ";
	$sql.="INNER JOIN documento_venta DV on(IDV.id_emp=DV.id_emp AND IDV.id_tdo=DV.id_tdo AND IDV.numero_dve=DV.numero_dve)";
	$sql.="INNER JOIN documento_venta_cliente DVC ON(DVC.id_tdo=DV.id_tdo and DVC.numero_dve=DV.numero_dve) ";
	$sql.="WHERE IDV.ano_inv=$ano_inv AND IDV.mes_inv=$mes_inv AND IDV.id_tdo=".TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE." AND IDV.id_emp=$id_emp ";
	$sql.="AND DV.nulo_dve='f' AND DVC.titular_dvc is true ";
	$sql.="AND DVC.id_cli=$id_cli ";
	if(!empty($sucursales)){
		$sql.="AND (";
		for ($i=0;$i<count($sucursales);$i++){
			$suc=$sucursales[$i]["id_suc"];
			if ($i>0){
				$sql.=" or ";
			}
			$sql.="DV.seccion_id_suc=$suc ";
		}
		$sql.=") ";
    	}


	if ($rs=sql_query($sql)) {
		$i=0;
		while ($datos=sql_fetch_array($rs)) {
			if($datos['saldo']>0){
				$saldo[$i]['nombre_tdo'] = "PRESTAMO CLIENTE";
				$saldo[$i]['numero_dve'] = $datos['numero_dve'];
				$saldo[$i]['id_emp'] = $datos['id_emp'];
				$saldo[$i]['id_tdo'] = $datos['id_tdo'];
				$saldo[$i]['seccion_id_emp'] = $id_emp;
				$saldo[$i]['seccion_id_suc'] = $datos['seccion_id_suc'];
				$saldo[$i]['seccion_id_dep'] = $datos['seccion_id_dep'];
				$saldo[$i]['seccion_id_sec'] = $datos['seccion_id_sec'];
				$seccion=seccion_datos($id_emp,$datos['seccion_id_suc'],$datos['seccion_id_dep'],$datos['seccion_id_sec']);
				$saldo[$i]['nombre_sec'] = $datos['nombre_sec'];
				$saldo[$i]['fecha_dve'] = $datos['fecha_dve'];
				$saldo[$i]['neto_dve'] = $datos['neto_dve'];
				$saldo[$i]['id_cli'] = $datos['id_cli'];
				$saldo[$i]['saldo_total'] = $datos['saldo'];
				$saldo[$i]['saldo'] = $datos['saldo'];
				$saldo[$i]['abono_dve'] = $datos['neto_dve']-$datos['saldo'];  // abono total de la factura incluyendo los pago que no son cta cte
				$i++;
			}
		}
	}
	return $saldo;
 }

function documento_venta_cancelacion_prestamo_cliente ($id_emp=0,$id_cli=0,$finicio='',$ftermino='') {
// ***********************************************************************************
// * Funcion php: permite obtener una lista de los registros de venta de los documentos de venta que estan pagados
// * Creada por: Luis Mella
// * Fecha: 9 de Mayo de 2006
// * Datos de salida:
// *
// *
// ***********************************************************************************
   $documento_venta_prestamo = array();
   $id_emp=($id_emp==0 || $id_emp=="")? usuario_empresa():$id_emp;
   $id_tdo=TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE;
    $sql=" select cierre_caja.id_emp,cierre_caja.id_suc,cierre_caja.id_dep,cierre_caja.id_sec,p.id_cli,p.id_fpa,p.id_ifi,p.fecha_emision_cpa,p.fecha_cobro_cpa,p.fecha_docto_cpa,p.valor_cpa,
dv.id_tdo,dv.numero_dve,td.nombre_tdo,fp.nombre_fpa,p.numero_docto_cpa
 from pago p
 inner join pago_documento_venta pdv on (pdv.id_cpa=p.id_cpa)
 inner join documento_venta dv on (dv.id_emp=pdv.id_emp and dv.id_tdo=pdv.id_tdo and dv.numero_dve=pdv.numero_dve)
 inner join tipo_docto_venta td ON (td.id_tdo=dv.id_tdo)
 inner join cierre_caja ON (cierre_caja.id_cca=p.id_cca)
 inner join forma_pago fp ON (fp.id_fpa=p.id_fpa)
where pdv.id_emp=$id_emp and pdv.id_tdo=$id_tdo AND p.nulo_cpa IS FALSE";
  if ($id_cli>0) {
     $sql.=" AND p.id_cli=".$id_cli;
   }
   if($finicio!='' && $ftermino!=''){
      $sql.=" AND p.fecha_emision_cpa BETWEEN '$finicio' AND '$ftermino'";
   }elseif($finicio!=''){
      $sql.=" AND p.fecha_emision_cpa>='$finicio'";
   }elseif($ftermino!=''){
          $sql.=" AND p.fecha_emision_cpa<='$ftermino'";
   }
   if ($rs=sql_query($sql)) {
         $i=0;
         while ($datos=sql_fetch_array($rs)) {
	$documento_venta_prestamo[$i]['id_tdo'] = $datos['tipo'];
	$documento_venta_prestamo[$i]['numero_dve'] = $datos['numero_dve'];
	$documento_venta_prestamo[$i]['id_emp'] = $datos['id_emp'];
	$documento_venta_prestamo[$i]['id_suc'] = $datos['id_suc'];
	$documento_venta_prestamo[$i]['id_dep'] = $datos['id_dep'];
	$documento_venta_prestamo[$i]['id_sec'] = $datos['id_sec'];
	$seccion=seccion_datos($datos['id_emp'],$datos['id_suc'],$datos['id_dep'],$datos['id_sec']);
	$documento_venta_prestamo[$i]['nombre_sec'] = $seccion['nombre_sec'];
	$documento_venta_prestamo[$i]['id_fpa'] = $datos['id_fpa'];
	$documento_venta_prestamo[$i]['id_cli'] = $datos['id_cli'];
	$documento_venta_prestamo[$i]['numero_docto_cpa'] = $datos['numero_docto_cpa'];
	$documento_venta_prestamo[$i]['valor_cpa'] = $datos['valor_cpa'];
	$documento_venta_prestamo[$i]['fecha_vcto_cpa'] = $datos['fecha_vcto_cpa'];
	$documento_venta_prestamo[$i]['fecha_emision_cpa'] = $datos['fecha_emision_cpa'];
	$documento_venta_prestamo[$i]['fecha_docto_cpa'] = $datos['fecha_docto_cpa'];
	$documento_venta_prestamo[$i]['fecha_cobro_cpa'] = $datos['fecha_cobro_cpa'];
	$documento_venta_prestamo[$i]['nombre_fpa'] = $datos['nombre_fpa'];
	$documento_venta_prestamo[$i]['nombre_tdo'] = $datos['nombre_tdo'];
	$i++;
	}
	}
	return $documento_venta_prestamo;
}


 function busca_pagos_con_cheques ($id_emp=0,$finicio='',$ftermino='',$id_udo=0,$id_epa=0,$id_fpa=FORMA_PAGO_CHEQUE) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una lista de los registros de pagos que se hayan pagado con cheques
// // // // // * Creada por: Luis Mella
// // // // // * Fecha: 9 de Mayo de 2006
// // // // // * Datos de salida:
// // // // // *
// // // // // * AND NOT P.id_epa=ESTADO_PAGO_CANCELADO
// // // // // ***********************************************************************************

  $pagos = array();
  $id_emp=($id_emp==0 || $id_emp=="")? usuario_empresa():$id_emp;
  $id_uco=uco_caja();
  $sql="SELECT p.id_emp,p.id_suc,p.id_dep,p.id_sec,p.id_cli,C.id_per,PE.cedula_per,
        PE.nombre_per,PE.paterno_per,PE.materno_per,FP.nombre_fpa,IF.nombre_ifi,p.id_ifi,p.id_udo,p.numero_docto_cpa,
        p.fecha_cobro_cpa,p.fecha_emision_cpa,p.valor_cpa,p.id_cpa,saldo_abonable(p.id_cpa) as saldo,uc.id_uco
        FROM pago p
 INNER JOIN cliente C on(C.id_cli=p.id_cli)
 INNER JOIN persona PE on(PE.id_per=C.id_per)
 INNER JOIN forma_pago FP ON (FP.id_fpa=p.id_fpa)
 INNER JOIN institucion_financiera IF ON (IF.id_ifi=p.id_ifi)
 INNER JOIN sucursal_uco uc ON (uc.id_emp=p.id_emp and uc.id_suc=p.id_suc)
 WHERE p.id_emp=$id_emp AND p.id_fpa=$id_fpa AND saldo_abonable(p.id_cpa) > 0 AND uc.id_uco=$id_uco";
   if ($id_epa>0) {
       $sql.=" AND p.id_epa=$id_epa";
   }
  if($finicio!='' && $ftermino!=''){
            $sql.=" AND p.fecha_cobro_cpa BETWEEN '$finicio' AND '$ftermino'";
  }elseif($finicio!=''){
       $sql.=" AND p.fecha_cobro_cpa>='$finicio'";
  }elseif($ftermino!=''){
            $sql.=" AND p.fecha_cobro_cpa<='$ftermino'";
  }
  if ($id_udo>0) {
       $sql.=" AND p.id_udo=$id_udo";
  }
  $sql.=" order by p.fecha_cobro_cpa,p.valor_cpa ";
   if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
         $pagos[$i]['id_emp'] = $datos['id_emp'];
      /*   $seccion = "";
         $seccion.= ($datos['id_emp'] > 10)? $datos['id_emp']:"0".$datos['id_emp'];
         $seccion.= ($datos['id_suc'] > 10)? $datos['id_suc'] : "0".$datos['id_suc'];
         $seccion.= ($datos['id_dep'] > 10)? $datos['id_dep'] : "0".$datos['id_dep'];
         $seccion.= ($datos['id_sec'] > 10)? $datos['id_sec'] : "0".$datos['id_sec'];
 */      $pagos[$i]['seccion'] = $datos['id_emp']."-".$datos['id_suc']."-".$datos['id_dep']."-".$datos['id_sec'];
         $pagos[$i]['id_tdo'] = $datos['id_tdo'];
         $pagos[$i]['id_ifi'] = $datos['id_ifi'];
         $pagos[$i]['id_udo'] = $datos['id_udo'];
         $pagos[$i]['nombre_udo'] = $datos['nombre_udo'];
         $pagos[$i]['id_cli'] = $datos['id_cli'];
         $pagos[$i]['id_per'] = $datos['id_per'];
         $pagos[$i]['id_cpa'] = $datos['id_cpa'];
         $pagos[$i]['id_fpa'] = $datos['id_fpa'];
         $pagos[$i]['cedula_per'] = $datos['cedula_per'];
         $pagos[$i]['nombre_per'] = $datos['nombre_per'];
         $pagos[$i]['paterno_per'] = $datos['paterno_per'];
         $pagos[$i]['materno_per'] = $datos['materno_per'];
         $pagos[$i]['nombre_cliente']=$pagos[$i]['nombre_per']." ".$pagos[$i]['paterno_per']." ".$pagos[$i]['materno_per'];
         $pagos[$i]['nombre_fpa'] = $datos['nombre_fpa'];
         $pagos[$i]['numero_docto_cpa'] = $datos['numero_docto_cpa'];
         $pagos[$i]['nombre_ifi'] = $datos['nombre_ifi'];
         $pagos[$i]['valor_cpa'] = $datos['valor_cpa'];
         $pagos[$i]['fecha_vcto_cpa'] = $datos['fecha_cobro_cpa'];
         $pagos[$i]['fecha_docto_cpa'] = $datos['fecha_docto_cpa'];
         $pagos[$i]['saldo_pago'] = $datos['saldo'];
         $i++;
      }
   }
   return $pagos;
 }
function busca_inventario_cheques ($id_emp=0,$finicio='',$ftermino='',$id_udo=0,$id_fpa=FORMA_PAGO_CHEQUE,$id_uco=0) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una lista de los registros de pagos que se hayan pagado con cheques
// // // // // * Creada por: Luis Mella
// // // // // * Fecha: 9 de Mayo de 2006
// // // // // * Datos de salida:
// // // // // *
// // // // // * AND NOT P.id_epa=ESTADO_PAGO_CANCELADO
// // // // // ***********************************************************************************

  $pagos = array();
  $id_emp=($id_emp==0 || $id_emp=="")? usuario_empresa():$id_emp;
  //$id_uco=uco_caja();
  $sql="SELECT p.id_emp,p.id_suc,p.id_dep,p.id_sec,p.id_cli,C.id_per,PE.cedula_per,
        PE.nombre_per,PE.paterno_per,PE.materno_per,FP.nombre_fpa,IF.nombre_ifi,p.id_ifi,p.id_udo,p.numero_docto_cpa,
        p.fecha_cobro_cpa,p.fecha_emision_cpa,p.valor_cpa,p.id_cpa,regresion_saldo_abonable(p.id_cpa,'$ftermino') as saldo,uc.id_uco
        FROM pago p
 INNER JOIN cliente C on(C.id_cli=p.id_cli)
 INNER JOIN persona PE on(PE.id_per=C.id_per)
 INNER JOIN forma_pago FP ON (FP.id_fpa=p.id_fpa)
 LEFT JOIN institucion_financiera IF ON (IF.id_ifi=p.id_ifi)
 INNER JOIN sucursal_uco uc ON (uc.id_emp=p.id_emp and uc.id_suc=p.id_suc)
 WHERE p.id_emp=$id_emp AND (p.id_fpa=$id_fpa or p.id_fpa=".FORMA_PAGO_DEP_A_PLAZO.") AND regresion_saldo_abonable(p.id_cpa,'$ftermino') > 0 AND uc.id_uco=$id_uco";
   if($finicio!='' && $ftermino!=''){
            $sql.=" AND p.fecha_emision_cpa BETWEEN '$finicio' AND '$ftermino'";
  }elseif($finicio!=''){
       $sql.=" AND p.fecha_emision_cpa>='$finicio'";
  }elseif($ftermino!=''){
            $sql.=" AND p.fecha_emision_cpa<='$ftermino'";
  }
  if ($id_udo>0) {
       $sql.=" AND p.id_udo=$id_udo";
  }
  $sql.=" order by p.id_fpa,p.fecha_emision_cpa,p.valor_cpa ";
   if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
		$pagos[$i]['id_emp'] = $datos['id_emp'];
	/*   $seccion = "";
		$seccion.= ($datos['id_emp'] > 10)? $datos['id_emp']:"0".$datos['id_emp'];
		$seccion.= ($datos['id_suc'] > 10)? $datos['id_suc'] : "0".$datos['id_suc'];
		$seccion.= ($datos['id_dep'] > 10)? $datos['id_dep'] : "0".$datos['id_dep'];
		$seccion.= ($datos['id_sec'] > 10)? $datos['id_sec'] : "0".$datos['id_sec'];
	*/      $pagos[$i]['seccion'] = $datos['id_emp']."-".$datos['id_suc']."-".$datos['id_dep']."-".$datos['id_sec'];
		$pagos[$i]['id_tdo'] = $datos['id_tdo'];
		$pagos[$i]['id_ifi'] = $datos['id_ifi'];
		$pagos[$i]['id_udo'] = $datos['id_udo'];
		$pagos[$i]['nombre_udo'] = $datos['nombre_udo'];
		$pagos[$i]['id_cli'] = $datos['id_cli'];
		$pagos[$i]['id_per'] = $datos['id_per'];
		$pagos[$i]['id_cpa'] = $datos['id_cpa'];
		$pagos[$i]['id_fpa'] = $datos['id_fpa'];
		$pagos[$i]['cedula_per'] = $datos['cedula_per'];
		$pagos[$i]['nombre_per'] = $datos['nombre_per'];
		$pagos[$i]['paterno_per'] = $datos['paterno_per'];
		$pagos[$i]['materno_per'] = $datos['materno_per'];
		$pagos[$i]['nombre_cliente']=$pagos[$i]['nombre_per']." ".$pagos[$i]['paterno_per']." ".$pagos[$i]['materno_per'];
		$pagos[$i]['nombre_fpa'] = $datos['nombre_fpa'];
		$pagos[$i]['numero_docto_cpa'] = $datos['numero_docto_cpa'];
		$pagos[$i]['nombre_ifi'] = $datos['nombre_ifi'];
		$pagos[$i]['valor_cpa'] = $datos['valor_cpa'];
		$pagos[$i]['fecha_vcto_cpa'] = $datos['fecha_cobro_cpa'];
		$pagos[$i]['fecha_docto_cpa'] = $datos['fecha_docto_cpa'];
		$pagos[$i]['fecha_emision_cpa'] = $datos['fecha_emision_cpa'];
		$pagos[$i]['saldo_pago'] = $datos['saldo'];
		$i++;
      }
   }
   return $pagos;
 }

 function documento_venta_lista_nota_credito ($fi,$ff,$id_tdo,$id_emp) {
   $tdps = array();
   $sql = "SELECT
            DV.id_tdo, DV.id_emp, DV.numero_dve, DV.fecha_dve, DV.neto_dve, DV.iva_dve,
            DV.exento_dve, DVR.id_emp_rel, DVR.id_tdo_rel, DVR.numero_dve_rel, C.nombre_cli,
            P.nombre_per, P.paterno_per

            FROM documento_venta DV

            inner join tipo_docto_venta TDV using (id_tdo)
            inner join documento_venta_relacionado DVR
            on DV.id_emp = DVR.id_emp and
               DV.id_tdo = DVR.id_tdo and
               DV.numero_dve = DVR.numero_dve

           inner join documento_venta_cliente DVC
           on DV.id_emp = DVC.id_emp and
              DV.id_tdo = DVC.id_tdo and
              DV.numero_dve = DVC.numero_dve

           inner join cliente C using (id_cli)

           inner join persona P using(id_per)

           WHERE
                DV.id_tdo = $id_tdo
            and DV.id_emp = $id_emp
            and DV.fecha_dve between '$fi' and '$ff'

           ORDER BY DVR.numero_dve_rel ";

   if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
         $tdps[$i]['id_emp'] = $datos['id_emp'];
         $tdps[$i]['id_tdo'] = $datos['id_tdo'];
         $tdps[$i]['numero_dve'] = $datos['numero_dve'];
         $tdps[$i]['fecha_dve'] = $datos['fecha_dve'];
         $tdps[$i]['neto_dve'] = $datos['neto_dve'];
         $tdps[$i]['iva_dve'] = $datos['iva_dve'];
         $tdps[$i]['exento_dve'] = $datos['exento_dve'];
         $tdps[$i]['id_emp_rel'] = $datos['id_emp_rel'];
         $tdps[$i]['id_tdo_rel'] = $datos['id_tdo_rel'];
         $tdps[$i]['numero_dve_rel'] = $datos['numero_dve_rel'];
         $tdps[$i]['nombre_cli'] = $datos['nombre_cli'];
         $tdps[$i]['nombre_per'] = $datos['nombre_per']." ".$datos['paterno_per'];
         $tdps[$i]['tipo'] = "Nota Credito";
         $i++;
      }
   }
   return $tdps;
 }


//****************listado de facturas, con depto emisor  y total docto*****************//
function documento_venta_lista_facturas_pendientes_departamento ($fi,$ff,$id_emp,$depto="",$rut="",$nombre="") {
   $tdps = array();
   $sql = "SELECT
            DVE.id_emp, DVE.id_tdo, DVE.numero_dve, DVE.fecha_dve, DVE.fecha_vcto_dve,
            (DVE.neto_dve + DVE.iva_dve + DVE.impuesto_esp_dve + DVE.exento_dve) as total_docto,
            S.nombre_sec, C.nombre_cli, P.nombre_per, P.paterno_per, P.materno_per,P.cedula_per,
            regresion_saldo(PA.id_cpa,'$ff') as saldo,C.id_cli

            FROM
                  documento_venta DVE

            inner join seccion S on

               DVE.seccion_id_emp = S.id_emp and
               DVE.seccion_id_dep = S.id_dep and
               DVE.seccion_id_suc = S.id_suc and
               DVE.seccion_id_sec = S.id_sec

            inner join documento_venta_cliente DVC on
               DVE.id_emp = DVC.id_emp and
               DVE.id_tdo = DVC.id_tdo and
               DVE.numero_dve = DVC.numero_dve

             inner join cliente C on
               DVC.id_cli = C.id_cli

            inner join persona P on
               C.id_per = P.id_per

            inner join pago_documento_venta PDV on
               DVE.id_emp = PDV.id_emp and
               DVE.id_tdo = PDV.id_tdo and
               DVE.numero_dve = PDV.numero_dve

            inner join pago PA on
               PDV.id_cpa = PA.id_cpa

            WHERE
               DVE.fecha_dve between '$fi' and '$ff' and
               DVE.id_emp = $id_emp and
               (DVE.id_tdo = 1   or
                 DVE.id_tdo = 4 or
                 DVE.id_tdo = 5) and
                 DVE.pagado_dve = 'f' and
                 PA.nulo_cpa = 'f' and
	         regresion_saldo(PA.id_cpa,'$ff') > 0 ";

          if ($depto || $depto != "" || !empty($depto))
             {
                 $depto_e=explode(",",$depto);    //1_1_1_1 , 1_1_2_1 ... quito comas
                     $sql.= " and ( ";

                      for ($x=0; $x <count($depto_e)-1; $x++)
                     {
                           if ($x >0 )
                           {
                              $sql.= " or ";
                           }

                           $depto2 = explode("_",$depto_e[$x]); //1_1_1_2 ... quito guiones bajos

                           for ($i=0; $i<count($depto2); $i++)
                           {
                                 if ($i==0)
                                 {
                                      $sql.= " ( DVE.seccion_id_emp = $depto2[$i] and ";
                                 }
                                 if ($i==1)
                                 {
                                      $sql.= "  DVE.seccion_id_suc = $depto2[$i] and ";
                                 }
                                 if ($i==2)
                                 {
                                      $sql.= "  DVE.seccion_id_dep = $depto2[$i] and ";
                                 }
                                 if ($i==3)
                                 {
                                      $sql.= "  DVE.seccion_id_sec = $depto2[$i] ) ";
                                 }

                           } //for i

                           $depto2="";

                     }//for x
                    $sql.= " ) ";
             }

              if ($rut)
              {
                  $sql.= " and P.cedula_per = '$rut' ";
              }

              if ($nombre)
              {
                  $sql.= " AND (upper(P.nombre_per) LIKE upper('$nombre%') ";
                  $sql.= " OR upper(P.paterno_per) LIKE upper('$nombre%') OR upper(P.materno_per) LIKE upper('$nombre%') ";
                  $sql.= " OR upper(P.nombre_per)|| ' ' || upper(P.paterno_per) LIKE upper('$nombre%')";
                  $sql.= " OR upper(C.nombre_cli) LIKE upper('$nombre%')) ";
              }

//             $sql.= " GROUP BY
//                DVE.numero_dve,DVE.id_emp, DVE.id_tdo, DVE.fecha_dve, DVE.fecha_vcto_dve,
//                DVE.neto_dve, DVE.iva_dve, DVE.impuesto_esp_dve, DVE.exento_dve,
//                S.nombre_sec, C.nombre_cli, P.nombre_per, P.paterno_per, P.cedula_per,
//                DCO.siniestro_dci, C.id_cli ";

            if ($depto == "")
            {
               $sql.=" Order BY DVE.id_tdo,DVE.fecha_dve ";
            }
            else
            {
               $sql.=" ORDER BY DVE.id_tdo,DVE.fecha_dve ";
            }


   if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
if ($datos['cedula_per']=='84807200-1' && compareDate($datos['fecha_dve'],'01-12-2006' )==-1) {
			continue;
		}
	 $tdps[$i]['nro'] = $i+1;
         $tdps[$i]['id_emp'] = $datos['id_emp'];
         $tdps[$i]['id_tdo'] = $datos['id_tdo'];
         $tdps[$i]['numero_dve'] = $datos['numero_dve'];
         $tdps[$i]['fecha_dve'] = $datos['fecha_dve'];
         $tdps[$i]['fecha_vcto_dve'] = $datos['fecha_vcto_dve'];
         $tdps[$i]['total_docto'] = $datos['total_docto'];
         $tdps[$i]['nombre_sec'] = $datos['nombre_sec'];
         $tdps[$i]['nombre_cli'] = $datos['nombre_cli'];
         $tdps[$i]['cedula_per'] = $datos['cedula_per'];
         $tdps[$i]['siniestro_dci'] = $datos['siniestro_dci'];
         $tdps[$i]['nombre_per'] = $datos['paterno_per']." ".$datos['materno_per']." ".$datos['nombre_per'];
         $tdps[$i]['valor_pago'] = $datos['valor_pago'];
         $tdps[$i]['id_cli'] = $datos['id_cli'];
	 $tdps[$i]['saldo'] = $datos['saldo'];
	 $tdps[$i]['valor_pago'] = $datos['total_docto'] - $datos['saldo'];
         $i++;
      }
   }
   return $tdps;
 }





function documento_venta_lista_facturas_pendientes ($fi='',$ff='',$id_emp,$tipo_sec,$rut="",$nombre="",$listado=0,$funcionario=0,$cia=0,$id_uco=0)
{
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una lista de los documentos pendientes
// // // // // * Creada por: francisco y modificada por Luis Mella
// // // // // * Fecha: 28 de diciembre de 2006
// // // // // * Datos de salida:
// // // // // *tipo sec=1 es igual productos y servicios
// // // // // *tipo sec=2 vehiculos
// // // // // ***********************************************************************************

   $tdps = array();
	if($id_uco!=0){
	  $sucursales=sucursal_uco_lista_suc($id_emp,$id_uco);
	}
   $sql = "SELECT DISTINCT
            DVE.id_emp, DVE.numero_dve, DVE.fecha_dve, DVE.fecha_vcto_dve,
            (DVE.neto_dve + DVE.iva_dve + DVE.impuesto_esp_dve + DVE.exento_dve) as total_docto,
            S.nombre_sec,S.id_tsc, C.nombre_cli, P.nombre_per, P.paterno_per, P.cedula_per,
            regresion_saldo(PA.id_cpa,'$ff') as saldo, C.id_cli, seccion_id_emp,seccion_id_dep,seccion_id_suc,seccion_id_sec, DRC.fono_drc,
           DVE.id_tdo

            FROM
                  documento_venta DVE

            inner join seccion S on

               DVE.seccion_id_emp = S.id_emp and
               DVE.seccion_id_dep = S.id_dep and
               DVE.seccion_id_suc = S.id_suc and
               DVE.seccion_id_sec = S.id_sec

            inner join documento_venta_cliente DVC on
               DVE.id_emp = DVC.id_emp and
               DVE.id_tdo = DVC.id_tdo and
               DVE.numero_dve = DVC.numero_dve and
               DVC.titular_dvc = 't'

            inner join cliente C on
               DVC.id_cli = C.id_cli

            inner join persona P on
               C.id_per = P.id_per

            inner join direccion_cliente DRC
            on C.id_cli = DRC.id_cli
	       and DVC.correlativo_drc = DRC.correlativo_drc

            left join documento_venta_ot DVO on
               DVE.id_emp = DVO.id_emp and
               DVE.id_tdo = DVO.id_tdo and
               DVE.numero_dve = DVO.numero_dve

            inner join pago_documento_venta PDV on
               DVE.id_emp = PDV.id_emp and
               DVE.id_tdo = PDV.id_tdo and
               DVE.numero_dve = PDV.numero_dve

            inner join pago PA on
               PDV.id_cpa = PA.id_cpa";
	    if ($funcionario>0)
              {
		$sql.=" inner join empleado EM on
		EM.id_per = P.id_per

		inner join contrato CON on
		CON.id_per = EM.id_per and
		CON.activo_ctt = 1";
              }

           $sql.=" WHERE
                DVE.id_emp = $id_emp and
               ( DVE.id_tdo = 1   or
                DVE.id_tdo = 4 or
                DVE.id_tdo = 5 ) and
                DVE.pagado_dve = 'f' and
                PA.nulo_cpa = 'f' and
	        regresion_saldo(PA.id_cpa,'$ff') > 0 ";
                if($fi!='' && $ff!=''){
		$sql.=" AND DVE.fecha_dve BETWEEN '$fi' AND '$ff'";
		}elseif($finicio!=''){
		$sql.=" AND DVE.fecha_dve>='$fi'";
		}elseif($ftermino!=''){
			$sql.=" AND DVE.fecha_dve<='$ff'";
		}

		if ($cia != 0)
		{
			$sql.= " AND C.id_tcl = ".TIPO_CLIENTE_CSEGUROS;
		}


	        if ($tipo_sec==1)
              {
                  $sql.= " and (S.id_tsc = 3 ";
		  $sql.= " or S.id_tsc = 4 ";
		  $sql.= " or S.id_tsc = 5 ";
		  $sql.= " or S.id_tsc = 6 ";
		  $sql.= " or S.id_tsc = 7 )";
              }
	      if ($tipo_sec==2)
              {
                  $sql.= " and (S.id_tsc = 1 ";
		  $sql.= " or S.id_tsc = 2 )";
              }
              if ($rut)
              {
                  $sql.= " and P.cedula_per = '$rut' ";
              }

              if ($nombre)
              {
                  $sql.= " AND (upper(P.nombre_per) LIKE upper('$nombre%') ";
                  $sql.= " OR upper(P.paterno_per) LIKE upper('$nombre%') OR upper(P.materno_per) LIKE upper('$nombre%') ";
                  $sql.= " OR upper(P.nombre_per)|| ' ' || upper(P.paterno_per) LIKE upper('$nombre%')";
                  $sql.= " OR upper(C.nombre_cli) LIKE upper('$nombre%')) ";
              }
/*
            $sql.= " GROUP BY
               DVE.numero_dve,DVE.id_emp, DVE.fecha_dve, DVE.fecha_vcto_dve,
               DVE.neto_dve, DVE.iva_dve, DVE.impuesto_esp_dve, DVE.exento_dve,
               S.nombre_sec, C.nombre_cli, P.nombre_per, P.paterno_per, P.cedula_per,
               DCO.siniestro_dci, C.id_cli,seccion_id_emp,seccion_id_dep,seccion_id_suc,seccion_id_sec,pa.id_cpa ";
*/

				if(!empty($sucursales)){
			        $sql.="AND (";
			        for ($i=0;$i<count($sucursales);$i++){
			            $suc=$sucursales[$i]["id_suc"];
			            if ($i>0){
						     $sql.=" or ";
						}
			            $sql.="DVE.seccion_id_suc=$suc ";
			        }
			        $sql.=")";
			    }

            if ($listado == 1)
            {
               $sql.=" Order BY C.id_cli ";
            }
            if ($listado == 2)
            {
               $sql.=" ORDER BY S.nombre_sec ";
            }


   if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {

	if ($datos['cedula_per']=='84807200-1' && compareDate($datos['fecha_dve'],'01-12-2006' )==-1) {
			continue;
		}

         $tdps[$i]['id_emp'] = $datos['id_emp'];
         //$tdps[$i]['id_tdo'] = $datos['id_tdo'];
         $tdps[$i]['numero_dve'] = $datos['numero_dve'];
         $tdps[$i]['fecha_dve'] = $datos['fecha_dve'];
         $tdps[$i]['fecha_vcto_dve'] = $datos['fecha_vcto_dve'];
         $tdps[$i]['total_docto'] = $datos['total_docto'];
         $tdps[$i]['nombre_sec'] = $datos['nombre_sec'];
         $tdps[$i]['nombre_cli'] = $datos['nombre_cli'];
         $tdps[$i]['cedula_per'] = $datos['cedula_per'];
         $tdps[$i]['nombre_per'] = $datos['nombre_per']." ".$datos['paterno_per'];
         $tdps[$i]['saldo'] = $datos['saldo'];
         $tdps[$i]['id_cli'] = $datos['id_cli'];
         $tdps[$i]['valor_pago'] = $datos['total_docto'] - $datos['saldo'];
	 $tdps[$i]['id_emp'] = $datos['seccion_id_emp'];
	 $tdps[$i]['id_tdo'] = $datos['id_tdo'];
	 $tdps[$i]['id_suc'] = $datos['seccion_id_suc'];
	 $tdps[$i]['id_dep'] = $datos['seccion_id_dep'];
	 $tdps[$i]['id_sec'] = $datos['seccion_id_sec'];
	 $tdps[$i]['fono_drc'] = $datos['fono_drc'];
         $i++;
      }
   }
   return $tdps;
 }

 function documento_venta_nota_credito_valor ($id_tdo,$id_emp,$id_tdo_fac,$numero_dve) {
   $tdp = array();
   $sql = "SELECT SUM(DVE.neto_dve + DVE.iva_dve + DVE.impuesto_esp_dve + DVE.exento_dve) as total_nc
            from documento_venta DVE

            inner join documento_venta_relacionado DVR
            on DVE.id_emp = DVR.id_emp and
               DVE.id_tdo = DVR.id_tdo and
               DVE.numero_dve = DVR.numero_dve


            where DVR.id_tdo = $id_tdo
            and DVR.id_emp_rel = $id_emp and
                DVR.id_tdo_rel = $id_tdo_fac and
                DVR.numero_dve_rel = $numero_dve";

   if ($datos=sql_fetch_array(sql_query($sql))) {
      $tdp['total_nc'] = $datos['total_nc'];
   }
   return $tdp;
}

 function documento_venta_saldo_lista ($id_cli=0,$id_tdo,$numero_dve=0) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una el saldo de un documento de venta
// // // // // * Creada por: Luis Mella
// // // // // * Fecha: 23 de junio de 2006
// // // // // * Datos de salida:
// // // // // *
// // // // // *
// // // // // ***********************************************************************************
  $saldos = array();
  $id_emp=usuario_empresa();
   	$sql=" SELECT pdv.id_cpa,pdv.numero_dve,dv.seccion_id_emp,dv.seccion_id_suc,dv.seccion_id_dep,dv.seccion_id_sec,saldo(pdv.id_cpa) as saldo ";
	$sql.="FROM  pago_documento_venta pdv ";
	$sql.="INNER JOIN documento_venta dv ON(dv.id_emp=pdv.id_emp AND dv.id_tdo=pdv.id_tdo AND dv.numero_dve=pdv.numero_dve) ";
	if($id_cli!=0){
		$sql.="INNER JOIN documento_venta_cliente dvc ON (dvc.id_emp=pdv.id_emp AND dvc.id_tdo=pdv.id_tdo AND dvc.numero_dve=pdv.numero_dve) ";
	}
	$sql.="WHERE pdv.id_emp=$id_emp AND pdv.id_tdo=$id_tdo ";
	if($id_cli!=0){
		$sql.="AND dvc.id_cli=$id_cli ";
	}
	$sql.="AND saldo(pdv.id_cpa) > 0 ";

if ($numero_dve!=0) {
   $sql.=" AND pdv.numero_dve=$numero_dve";
}
if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
       $saldos[$i]['seccion_id_emp'] = $datos['seccion_id_emp'];
       $saldos[$i]['seccion_id_suc'] = $datos['seccion_id_suc'];
       $saldos[$i]['seccion_id_dep'] = $datos['seccion_id_dep'];
       $saldos[$i]['seccion_id_sec'] = $datos['seccion_id_sec'];
       $saldos[$i]['id_cpa'] = $datos['id_cpa'];
       $saldos[$i]['numero_dve'] = $datos['numero_dve'];
       $saldos[$i]['saldo'] = $datos['saldo'];
       $i++;
      }
   }
 return $saldos;
 }


function saldo_anticipo_cliente($id_emp,$id_tdo,$numero_dve,$ftermino=''){
	if($ftermino==''){
		$ftermino=dateDate();
	}
	$sql = "SELECT regresion_saldo_anticipo_cliente($id_emp,$id_tdo,$numero_dve,'$ftermino')";
	if ($rs=sql_query($sql)) {
		list($saldo) = sql_fetch_row($rs);
		return $saldo;
	}
	return false;
}


function saldo_anticipo_cliente_lista ($id_cli=0,$id_tdo,$numero_dve=0,$finicio='',$ftermino='',$id_uco=0) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener  el saldo de un documento de venta anticipo cliente
// // // // // * Creada por: Luis Mella
// // // // // * Fecha: 25 de julio de 2006
// // // // // * Datos de salida:
// // // // // ***********************************************************************************
   $id_emp=usuario_empresa();
	$sucursales=array();
	if($id_uco!=0){
		$sucursales=sucursal_uco_lista_suc($id_emp,$id_uco);
	}
   if($ftermino==''){
      $ftermino=dateDate();
      }
   $sql=" SELECT dvc.id_cli,
      	  dv.numero_dve,
	  dv.id_tdo,
	  td.nombre_tdo,
	  dv.fecha_dve,
	  dv.fecha_vcto_dve,
	  dv.seccion_id_emp,
	  dv.seccion_id_suc,
	  dv.seccion_id_dep,
	  dv.seccion_id_sec,
	  dv.neto_dve,
          regresion_saldo_anticipo_cliente(dv.id_emp,dv.id_tdo,dv.numero_dve,'$ftermino') as saldo
	  FROM  documento_venta dv
	  INNER JOIN documento_venta_cliente dvc
	  ON (dvc.id_emp=dv.id_emp AND dvc.id_tdo=dv.id_tdo AND dvc.numero_dve=dv.numero_dve)
	  INNER JOIN tipo_docto_venta td ON (td.id_tdo=dv.id_tdo)
	  WHERE dv.id_emp=$id_emp AND dv.id_tdo=$id_tdo AND dv.nulo_dve='f'";

if ($id_cli!=0) {
   $sql.=" AND dvc.id_cli=$id_cli";
}
if ($numero_dve!=0) {
   $sql.=" AND dv.numero_dve=$numero_dve";
}
 if($finicio!='' && $ftermino!=''){
            $sql.=" AND dv.fecha_dve BETWEEN '$finicio' AND '$ftermino'";
      }elseif($finicio!=''){
            $sql.=" AND dv.fecha_dve>='$finicio'";
      }elseif($ftermino!=''){
               $sql.=" AND dv.fecha_dve<='$ftermino'";
      }
	if(!empty($sucursales)){
        $sql.="AND (";
        for ($i=0;$i<count($sucursales);$i++){
            $suc=$sucursales[$i]["id_suc"];
            if ($i>0){
			     $sql.=" or ";
			}
            $sql.="DV.seccion_id_suc=$suc ";
        }
        $sql.=")";
    }

if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
			$saldos[$i]['seccion_id_emp'] = $datos['seccion_id_emp'];
			$saldos[$i]['seccion_id_suc'] = $datos['seccion_id_suc'];
			$saldos[$i]['seccion_id_dep'] = $datos['seccion_id_dep'];
			$saldos[$i]['seccion_id_sec'] = $datos['seccion_id_sec'];
			$seccion=seccion_datos($datos['seccion_id_emp'],$datos['seccion_id_suc'],$datos['seccion_id_dep'],$datos['seccion_id_sec']);
			$saldos[$i]['nombre_sec'] = $seccion['nombre_sec'];
			$saldos[$i]['id_tdo'] = $datos['id_tdo'];
			$saldos[$i]['id_cli'] = $datos['id_cli'];
			$saldos[$i]['nombre_tdo'] = $datos['nombre_tdo'];
			$saldos[$i]['numero_dve'] = $datos['numero_dve'];
			$saldos[$i]['fecha_dve'] = $datos['fecha_dve'];
			$saldos[$i]['fecha_vcto_dve'] = $datos['fecha_vcto_dve'];
			$saldos[$i]['neto_dve'] = $datos['neto_dve'];
			$saldos[$i]['saldo'] = $datos['saldo'];
			$saldos[$i]['total_dve'] = $datos['neto_dve'];
			$saldos[$i]['abono_dve'] = $datos['neto_dve']-$datos['saldo'];
			$i++;
      }
   }
 return $saldos;
 }


function anticipo_cliente_cta_cte($id_cli,$id_tdo,$finicio,$ftermino,$id_uco) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener  el saldo de un documento de venta anticipo cliente
// // // // // * Creada por: Luis Mella
// // // // // * Fecha: 25 de julio de 2006
// // // // // * Datos de salida:
// // // // // ***********************************************************************************
   	$id_emp=usuario_empresa();
	list($dia,$mes,$ano)=split("[-/]",$ftermino);
	if($mes=='01'){
		$mes_inv=12;
		$ano_inv=$ano-1;
	}else{
		$mes_inv=$mes-1;
		$ano_inv=$ano;
	}
	$sucursales=array();
	if($id_uco!=0){
		$sucursales=sucursal_uco_lista_suc($id_emp,$id_uco);
	}
   	$sql=" SELECT dvc.id_cli,
		dv.numero_dve,
		dv.id_tdo,
		td.nombre_tdo,
		dv.fecha_dve,
		dv.fecha_vcto_dve,
		dv.seccion_id_emp,
		dv.seccion_id_suc,
		dv.seccion_id_dep,
		dv.seccion_id_sec,
		dv.neto_dve,
		regresion_saldo_anticipo_cliente(dv.id_emp,dv.id_tdo,dv.numero_dve,'$ftermino') as saldo
		FROM  documento_venta dv
		INNER JOIN documento_venta_cliente dvc
		ON (dvc.id_emp=dv.id_emp AND dvc.id_tdo=dv.id_tdo AND dvc.numero_dve=dv.numero_dve)
		INNER JOIN tipo_docto_venta td ON (td.id_tdo=dv.id_tdo)
		WHERE dv.id_emp=$id_emp AND dv.id_tdo=$id_tdo ";
		$sql.=" AND dv.nulo_dve='f' AND dvc.id_cli=$id_cli";
		$sql.=" AND dv.fecha_dve BETWEEN '$finicio' AND '$ftermino'";
		if(!empty($sucursales)){
			$sql.="AND (";
			for ($i=0;$i<count($sucursales);$i++){
				$suc=$sucursales[$i]["id_suc"];
				if ($i>0){
					$sql.=" or ";
				}
				$sql.="DV.seccion_id_suc=$suc ";
			}
			$sql.=")";
		}

	$sql.="union ";//unido a lo que quedo en inventario

	$sql.=" SELECT dvc.id_cli,
		dv.numero_dve,
		dv.id_tdo,
		'AC' as nombre_tdo,
		dv.fecha_dve,
		dv.fecha_vcto_dve,
		dv.seccion_id_emp,
		dv.seccion_id_suc,
		dv.seccion_id_dep,
		dv.seccion_id_sec,
		dv.neto_dve,
		regresion_saldo_anticipo_cliente(IDV.id_emp,IDV.id_tdo,IDV.numero_dve,'$ftermino') as saldo
		FROM  inventario_dve IDV
		INNER JOIN documento_venta dv on(DV.id_emp=IDV.id_emp AND DV.id_tdo=IDV.id_tdo AND DV.numero_dve=IDV.numero_dve)
		INNER JOIN documento_venta_cliente dvc
		ON (dvc.id_emp=dv.id_emp AND dvc.id_tdo=dv.id_tdo AND dvc.numero_dve=dv.numero_dve)
		WHERE IDV.ano_inv=$ano_inv AND IDV.mes_inv=$mes_inv AND IDV.id_tdo=$id_tdo AND IDV.id_emp=$id_emp AND dv.nulo_dve='f'";
		$sql.=" AND dvc.id_cli=$id_cli";
		if(!empty($sucursales)){
			$sql.="AND (";
			for ($i=0;$i<count($sucursales);$i++){
				$suc=$sucursales[$i]["id_suc"];
				if ($i>0){
					$sql.=" or ";
				}
				$sql.="DV.seccion_id_suc=$suc ";
			}
			$sql.=")";
		}

if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
		$saldos[$i]['seccion_id_emp'] = $datos['seccion_id_emp'];
		$saldos[$i]['seccion_id_suc'] = $datos['seccion_id_suc'];
		$saldos[$i]['seccion_id_dep'] = $datos['seccion_id_dep'];
		$saldos[$i]['seccion_id_sec'] = $datos['seccion_id_sec'];
		$seccion=seccion_datos($datos['seccion_id_emp'],$datos['seccion_id_suc'],$datos['seccion_id_dep'],$datos['seccion_id_sec']);
                $saldos[$i]['nombre_sec'] = $seccion['nombre_sec'];
      		$saldos[$i]['id_tdo'] = $datos['id_tdo'];
		$saldos[$i]['id_cli'] = $datos['id_cli'];
		$saldos[$i]['nombre_tdo'] = "ANTICIPO CLIENTE";
		$saldos[$i]['numero_dve'] = $datos['numero_dve'];
		$saldos[$i]['fecha_dve'] = $datos['fecha_dve'];
	        $saldos[$i]['fecha_vcto_dve'] = $datos['fecha_vcto_dve'];
		$saldos[$i]['neto_dve'] = $datos['neto_dve'];
		$saldos[$i]['saldo'] = $datos['saldo'];
	        $saldos[$i]['total_dve'] = $datos['neto_dve'];
                $saldos[$i]['abono_dve'] = $datos['neto_dve']-$datos['saldo'];
	$i++;
      }
   }
 return $saldos;
 }



 function documento_venta_documento_compra($id_cli,$fecha_inicio="", $fecha_fin="")
{
   $tdps=array();
   $sql=" SELECT DISTINCT DV.numero_dve, DV.fecha_dve, DV.id_tdo, DV.neto_dve, DV.iva_dve, TDV.nombre_tdo,SC.nombre_sec,SCP.id_pro, C.nombre_cli, SCPC.id_emp, SCPC.id_suc, SCPC.id_dep, SCPC.id_sec
      FROM documento_venta DV INNER JOIN tipo_docto_venta TDV using (id_tdo)
INNER JOIN documento_venta_cliente DVC using (id_emp, id_tdo, numero_dve)
INNER JOIN seccion SC ON  (DV.seccion_id_emp=SC.id_emp and DV.seccion_id_suc=SC.id_suc and DV.seccion_id_dep=SC.id_dep and DV.seccion_id_sec=SC.id_sec) INNER JOIN seccion_cliente_proveedor SCP ON (DV.seccion_id_emp=SCP.id_emp and DV.seccion_id_suc=SCP.id_suc and DV.seccion_id_dep=SCP.id_dep and DV.seccion_id_sec=SCP.id_sec) INNER JOIN cliente C ON (DVC.id_cli=C.id_cli) INNER JOIN seccion_cliente_proveedor SCPC ON (DVC.id_cli=SCPC.id_cli)";

	if (!empty($id_cli))
	{
		$sql.=" WHERE DVc.id_cli=$id_cli  ";
	}else
	{
		$sql.=" WHERE C.id_per=".PERSONA_ID_AUTOFRANCE. " and C.nombre_cli LIKE ('AUTOFRANCE%')  ";
	}
	$sql.=" AND DV.nulo_dve is false AND DVC.id_tdo<>6 ";

	$sql.=" and (not exists (SELECT DC.numero_dco, DC.id_tdc, DC.id_pro FROM documento_compra DC JOIN proveedor P on (DC.id_pro=P.id_pro) where DC.numero_dco=DV.numero_dve and DC.id_tdc=DV.id_tdo and P.id_per=".PERSONA_ID_AUTOFRANCE."))  ";




   if ($fecha_inicio!="")
   {
      $sql.=" AND fecha_dve>='$fecha_inicio'";
   }
   if ($fecha_fin!="")
   {
      $sql.= " AND fecha_dve<='$fecha_fin'";
   }

	$sql.=" AND fecha_dve>='01/12/2006' ";



   $sql.=" ORDER BY DV.fecha_dve ";
    if ($rs=sql_query($sql)) {
         $i=0;
            while ($datos=sql_fetch_array($rs)) {
            $tdps[$i]['numero_dve'] = $datos['numero_dve'];
               $tdps[$i]['nombre_sec'] = $datos['nombre_sec'];
  	       $tdps[$i]['id_pro'] = $datos['id_pro'];
               $tdps[$i]['id_tdo'] = $datos['id_tdo'];
               $tdps[$i]['neto_dve'] = $datos['neto_dve'];
               $tdps[$i]['iva_dve'] = round($datos['iva_dve']);
               $tdps[$i]['total_dve'] = round($datos['neto_dve']+$datos['iva_dve']);
               $tdps[$i]['nombre_tdo'] = $datos['nombre_tdo'];
               $tdps[$i]['fecha_dve'] = $datos['fecha_dve'];
	       $tdps[$i]['nombre_cli'] = str_replace(".","",str_replace("AUTOFRANCE LTDA","",$datos['nombre_cli']));
		$tdps[$i]['id_emp'] = $datos['id_emp'];
		$tdps[$i]['id_suc'] = $datos['id_suc'];
		$tdps[$i]['id_dep'] = $datos['id_dep'];
		$tdps[$i]['id_sec'] = $datos['id_sec'];
               $i++;
         }
         }
   return $tdps;
}


function documento_venta_lista_patentes_ot ($numero_dve,$id_tdo,$id_emp)
{
	$sql="SELECT DV.numero_dve, DV.id_tdo, OT.patente_veh, OT.total_otr, SV.nro_interno_sve
FROM documento_venta DV INNER JOIN documento_venta_ot DVOT USING  (id_emp, id_tdo, numero_dve) INNER JOIN orden_trabajo OT using (id_otr) INNER JOIN stock_vehiculo SV ON (OT.patente_veh=SV.patente_veh and (OT.fecha_entrada_otr BETWEEN SV.fecha_ingreso_sve and SV.fecha_salida_sve OR  (OT.fecha_entrada_otr>=SV.fecha_ingreso_sve and SV.fecha_salida_sve is NULL )) )
WHERE DV.id_emp=$id_emp and DV.id_tdo=$id_tdo and DV.numero_dve=$numero_dve";

	if ($rs=sql_query($sql)) {
         $i=0;
            while ($datos=sql_fetch_array($rs)) {
               $tdps[$i]['numero_dve'] = $datos['numero_dve'];
               $tdps[$i]['id_tdo'] = $datos['id_tdo'];
               $tdps[$i]['total_otr'] = $datos['total_otr'];
               $tdps[$i]['patente_veh'] = $datos['patente_veh'];
               $tdps[$i]['nro_interno_sve'] = $datos['nro_interno_sve'];
               $i++;
             }
         }
   	return $tdps;
}
function documentos_pendientes_por_cliente ($id_cli=0,$finicio='',$ftermino='',$id_uco=0) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener todos los documentos pendientes en cuenta corriente para un cliente
// // // // // * Creada por: Luis Mella
// // // // // * Modificada por : Patricio Alarcon
// // // // // * Fecha: 23 de agosto de 2006
// // // // // * Datos de salida:
// // // // // ***********************************************************************************
		$id_tdo=TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE;
		list($dia,$mes,$ano)=split("[-/]",$ftermino);
		$dia1="01/".$mes."/".$ano;
		if(usuario_id()==1285){
			//$pendiente_dve = documento_venta_cta_cte(0,$id_cli,$dia1,$ftermino,$id_uco); // OK
			//$pagos_pendientes = pagos_pendientes_cta_cte($id_cli,$finicio,$ftermino,$id_uco);
			//$anticipo_cliente = anticipo_cliente_cta_cte($id_cli,$id_tdo,$dia1,$ftermino,$id_uco);// OK
			//$prestamo_cliente = prestamo_cliente_cta_cte($id_cli,$dia1,$ftermino,$id_uco);// OK

			$pendiente_dve = documento_venta_saldos_por_pagar(0,$id_cli,$finicio,$ftermino,0,0,$id_uco);
			$pagos_pendientes = pagos_pendientes_cta_cte($id_cli,$finicio,$ftermino,$id_uco);
			$anticipo_cliente = saldo_anticipo_cliente_lista($id_cli,$id_tdo,0,$finicio,$ftermino,$id_uco);
			$prestamo_cliente = documento_venta_prestamo_cliente($id_cli,$finicio,$ftermino,0,$id_uco);

		}else{
			$pendiente_dve = documento_venta_saldos_por_pagar(0,$id_cli,$finicio,$ftermino,0,0,$id_uco);
			$pagos_pendientes = pagos_pendientes_lista($id_cli,0,0,$finicio,$ftermino,0,$id_uco);
			$anticipo_cliente = saldo_anticipo_cliente_lista($id_cli,$id_tdo,0,$finicio,$ftermino,$id_uco);
			$prestamo_cliente = documento_venta_prestamo_cliente($id_cli,$finicio,$ftermino,0,$id_uco);
		}


		$count=0;
	 if(!empty($pendiente_dve)){
		  for($i=0; $i < count($pendiente_dve); $i++) {
		  $documentos_pendientes[$count]["tipo_doc"]=$pendiente_dve[$i]["id_tdo"];
		  $documentos_pendientes[$count]["tipo"]=1;
		  $documentos_pendientes[$count]["nombre_tipo_doc"]=$pendiente_dve[$i]["nombre_tdo"];
		  $documentos_pendientes[$count]["numero_doc"]=$pendiente_dve[$i]["numero_dve"];
		  $documentos_pendientes[$count]["fecha_doc"]=$pendiente_dve[$i]["fecha_dve"];
		  $documentos_pendientes[$count]["fecha_venc"]=$pendiente_dve[$i]["fecha_vcto_dve"];
		  $documentos_pendientes[$count]["nombre_sec"]=$pendiente_dve[$i]["nombre_sec"];
		  $documentos_pendientes[$count]["total_doc"]=$pendiente_dve[$i]["total_dve"];
		  $documentos_pendientes[$count]["total_abono"]=$pendiente_dve[$i]["abono_dve"];
                  $documentos_pendientes[$count]["total_saldo"]=$pendiente_dve[$i]["saldo"];
		  $count++;
                 }
	}
	if(!empty($pagos_pendientes)){
	        for($i=0; $i < count($pagos_pendientes); $i++) {
		  $documentos_pendientes[$count]["tipo_doc"]=$pagos_pendientes[$i]["id_fpa"];
		  $documentos_pendientes[$count]["tipo"]=2;
		  $documentos_pendientes[$count]["nombre_tipo_doc"]=$pagos_pendientes[$i]["nombre_fpa"];
		  $documentos_pendientes[$count]["numero_doc"]=$pagos_pendientes[$i]["numero_docto_cpa"];
                  $documentos_pendientes[$count]["id_udo"]=$pagos_pendientes[$i]["id_udo"];
                  $documentos_pendientes[$count]["id_epa"]=$pagos_pendientes[$i]["id_epa"];
		  switch ($pagos_pendientes[$i]["id_fpa"]) {
			case FORMA_PAGO_CHEQUE:
			 $documentos_pendientes[$count]["fecha_venc"]=$pagos_pendientes[$i]["fecha_cobro_cpa"];
                         $documentos_pendientes[$count]["de_la_plaza_cpa"]=$pagos_pendientes[$i]["de_la_plaza_cpa"];
			 $documentos_pendientes[$count]["id_ifi"]=$pagos_pendientes[$i]["id_ifi"];

		      	break;
			case FORMA_PAGO_DEP_A_PLAZO:
			 $documentos_pendientes[$count]["fecha_venc"]=$pagos_pendientes[$i]["fecha_docto_cpa"];
			 $documentos_pendientes[$count]["de_la_plaza_cpa"]=$pagos_pendientes[$i]["de_la_plaza_cpa"];
			 $documentos_pendientes[$count]["id_ifi"]=$pagos_pendientes[$i]["id_ifi"];

			break;
			case FORMA_PAGO_DEPOSITO_EN_CTA_CTE:
			 $documentos_pendientes[$count]["fecha_venc"]=$pagos_pendientes[$i]["fecha_docto_cpa"];
		         $documentos_pendientes[$count]["de_la_plaza_cpa"]=$pagos_pendientes[$i]["de_la_plaza_cpa"];
			 $documentos_pendientes[$count]["id_ifi"]=$pagos_pendientes[$i]["id_ifi"];
			break;
			case FORMA_PAGO_VALE_VISTA:
			 $documentos_pendientes[$count]["fecha_venc"]=$pagos_pendientes[$i]["fecha_docto_cpa"];
			 $documentos_pendientes[$count]["de_la_plaza_cpa"]=$pagos_pendientes[$i]["de_la_plaza_cpa"];
			 $documentos_pendientes[$count]["id_ifi"]=$pagos_pendientes[$i]["id_ifi"];
			break;
			case FORMA_PAGO_TARJETA_DE_CREDITO:
			$documentos_pendientes[$count]["fecha_venc"]=$pagos_pendientes[$i]["fecha_docto_cpa"];
                        $documentos_pendientes[$count]["codigo_cpa"]=$pagos_pendientes[$i]["codigo_cpa"];
			$documentos_pendientes[$count]["fecha_vcto_cpa"]=$pagos_pendientes[$i]["fecha_docto_cpa"];

			break;
			case FORMA_PAGO_VALE_CAP:
			 $documentos_pendientes[$count]["fecha_venc"]=$pagos_pendientes[$i]["fecha_vcto_cpa"];
                         $documentos_pendientes[$lm]["codigo_cpa"]=$pagos_pendientes[$i]["codigo_cpa"];
			break;
			}
		  $documentos_pendientes[$count]["fecha_doc"]=$pagos_pendientes[$i]["fecha_emision_cpa"];
		  $documentos_pendientes[$count]["nombre_sec"]=$pagos_pendientes[$i]["nombre_sec"];
		  $documentos_pendientes[$count]["total_doc"]=$pagos_pendientes[$i]["valor_cpa"];
		  $documentos_pendientes[$count]["total_abono"]=$pagos_pendientes[$i]["abono_pg"];
                  $documentos_pendientes[$count]["total_saldo"]=$pagos_pendientes[$i]["saldo"];
		  $count++;
                 }
	}
 if(!empty($anticipo_cliente)){
	        for($i=0; $i < count($anticipo_cliente); $i++) {
		  $documentos_pendientes[$count]["tipo_doc"]=$anticipo_cliente[$i]["id_tdo"];
		   $documentos_pendientes[$count]["tipo"]=1;
		  $documentos_pendientes[$count]["nombre_tipo_doc"]=$anticipo_cliente[$i]["nombre_tdo"];
		  $documentos_pendientes[$count]["numero_doc"]=$anticipo_cliente[$i]["numero_dve"];
		  $documentos_pendientes[$count]["fecha_doc"]=$anticipo_cliente[$i]["fecha_dve"];
		  $documentos_pendientes[$count]["fecha_venc"]=$anticipo_cliente[$i]["fecha_vcto_dve"];
		  $documentos_pendientes[$count]["nombre_sec"]=$anticipo_cliente[$i]["nombre_sec"];
		  $documentos_pendientes[$count]["total_doc"]=$anticipo_cliente[$i]["total_dve"]*-1;
		  $documentos_pendientes[$count]["total_abono"]=$anticipo_cliente[$i]["abono_dve"];
                  $documentos_pendientes[$count]["total_saldo"]=$anticipo_cliente[$i]["saldo"]*-1;
		  $count++;
                 }
	}
if(!empty($prestamo_cliente)){
	        for($i=0; $i < count($prestamo_cliente); $i++) {
		  $documentos_pendientes[$count]["tipo_doc"]=$prestamo_cliente[$i]["id_tdo"];
		  $documentos_pendientes[$count]["tipo"]=1;
		  $documentos_pendientes[$count]["nombre_tipo_doc"]=$prestamo_cliente[$i]["nombre_tdo"];
		  $documentos_pendientes[$count]["numero_doc"]=$prestamo_cliente[$i]["numero_dve"];
		  $documentos_pendientes[$count]["fecha_doc"]=$prestamo_cliente[$i]["fecha_dve"];
		  $documentos_pendientes[$count]["fecha_venc"]=$prestamo_cliente[$i]["fecha_vcto_dve"];
		  $documentos_pendientes[$count]["nombre_sec"]=$prestamo_cliente[$i]["nombre_sec"];
		  $documentos_pendientes[$count]["total_doc"]=$prestamo_cliente[$i]["neto_dve"];
		  $documentos_pendientes[$count]["total_abono"]=$prestamo_cliente[$i]["abono_dve"];
                  $documentos_pendientes[$count]["total_saldo"]=$prestamo_cliente[$i]["saldo_total"];
		  $count++;
                 }
	}
//  print_r($documentos_pendientes);
return $documentos_pendientes;
}
function pagos_realizados_por_cliente ($id_cli=0,$finicio='',$ftermino='') {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener todos los pagos realizados por cliente en cuenta corriente
// // // // // * Creada por: Luis Mella
// // // // // * Fecha: 23 de agosto de 2006
// // // // // * Datos de salida:
// // // // // ***********************************************************************************
		$cancelado = documento_venta_detalle_cancelacion(0,$id_cli,$finicio,$ftermino);
	        $pagos_abonados = pago_abonados_por_cliente_lista($id_cli,$finicio,$ftermino);
	        $nota_credito_por_documento = documento_venta_genera_nota_credito(0,$id_cli,$finicio,$ftermino);
		$nota_credito_genera_anticipo_cliente = nota_credito_genera_anticipo_cliente(0,$id_cli,$finicio,$ftermino);
	        $pago_abona_prestamo_cliente = documento_venta_cancelacion_prestamo_cliente(0,$id_cli,$finicio,$ftermino);
	        $movimiento_ac = movimiento_contable_rebaja_ac(0,$id_cli,$finicio,$ftermino);
	   $lm=0;
	   if(!empty($cancelado)){
	     	for($i=0; $i < count($cancelado); $i++) {
		    	$pagos_abonados_por_cliente[$lm]["nombre_fpa"]=$cancelado[$i]["nombre_fpa"];
			$pagos_abonados_por_cliente[$lm]["numero_docto_cpa"]=$cancelado[$i]["numero_docto_cpa"];
			$pagos_abonados_por_cliente[$lm]["nombre_sec"]=$cancelado[$i]["nombre_sec"];
			$pagos_abonados_por_cliente[$lm]["fecha_docto_cpa"]=$cancelado[$i]["fecha_emision_cpa"];
			 switch ($cancelado[$i]["id_fpa"]) {
			case FORMA_PAGO_CHEQUE:
			$pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$cancelado[$i]["fecha_cobro_cpa"];
		      	break;
			case FORMA_PAGO_DEP_A_PLAZO:
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$cancelado[$i]["fecha_docto_cpa"];
			break;
			case FORMA_PAGO_DEPOSITO_EN_CTA_CTE:
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$cancelado[$i]["fecha_docto_cpa"];
			break;
			case FORMA_PAGO_VALE_VISTA:
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$cancelado[$i]["fecha_docto_cpa"];
			break;
			case FORMA_PAGO_TARJETA_DE_CREDITO:
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$cancelado[$i]["fecha_docto_cpa"];
			break;
			case FORMA_PAGO_VALE_CAP:
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$cancelado[$i]["fecha_vcto_cpa"];
			break;
			}
			$pagos_abonados_por_cliente[$lm]["valor_cpa"]=$cancelado[$i]["valor_cpa"];
			$pagos_abonados_por_cliente[$lm]["nombre_tdo"]=$cancelado[$i]["nombre_tdo"];
			$pagos_abonados_por_cliente[$lm]["numero_dve"]=$cancelado[$i]["numero_dve"];
			$pagos_abonados_por_cliente[$lm]["id_tdo_doc"]=$cancelado[$i]["id_tdo_doc"];
                        $pagos_abonados_por_cliente[$lm]["tipo"]=1; /* tipo 1 es para señalar que es un documento de venta*/
		    	$lm++;
			}
	}
 	if(!empty($pagos_abonados)){
		for($i=0; $i< count($pagos_abonados); $i++) {
  			$pagos_abonados_por_cliente[$lm]["nombre_fpa"]=$pagos_abonados[$i]["nombre_abono"];
			$pagos_abonados_por_cliente[$lm]["numero_docto_cpa"]=$pagos_abonados[$i]["numero_docto_abono"];
			$pagos_abonados_por_cliente[$lm]["nombre_sec"]=$pagos_abonados[$i]["nombre_sec"];
			$pagos_abonados_por_cliente[$lm]["fecha_docto_cpa"]=$pagos_abonados[$i]["fecha_emision_cpa"];
			switch ($pagos_abonados[$i]["id_fpa_pago"]) {
			case FORMA_PAGO_CHEQUE:
			$pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$pagos_abonados[$i]["fecha_cobro_cpa"];
		      	$pagos_abonados_por_cliente[$lm]["de_la_plaza_cpa"]=$pagos_abonados[$i]["de_la_plaza_cpa"];
			$pagos_abonados_por_cliente[$lm]["id_ifi"]=$pagos_abonados[$i]["id_ifi"];
			break;
			case FORMA_PAGO_DEP_A_PLAZO:
			 $pagos_abonados_por_cliente[$lm]["id_ifi"]=$pagos_abonados[$i]["id_ifi"];
			 $pagos_abonados_por_cliente[$lm]["de_la_plaza_cpa"]=$pagos_abonados[$i]["de_la_plaza_cpa"];
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$pagos_abonados[$i]["fecha_docto_cpa"];
			break;
			case FORMA_PAGO_DEPOSITO_EN_CTA_CTE:
			 $pagos_abonados_por_cliente[$lm]["id_ifi"]=$pagos_abonados[$i]["id_ifi"];
			 $pagos_abonados_por_cliente[$lm]["de_la_plaza_cpa"]=$pagos_abonados[$i]["de_la_plaza_cpa"];
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$pagos_abonados[$i]["fecha_docto_cpa"];
			break;
			case FORMA_PAGO_VALE_VISTA:
			 $pagos_abonados_por_cliente[$lm]["id_ifi"]=$pagos_abonados[$i]["id_ifi"];
			 $pagos_abonados_por_cliente[$lm]["de_la_plaza_cpa"]=$pagos_abonados[$i]["de_la_plaza_cpa"];
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$pagos_abonados[$i]["fecha_docto_cpa"];
			break;
			case FORMA_PAGO_TARJETA_DE_CREDITO:
		         $pagos_abonados_por_cliente[$lm]["id_ttc"]=$pagos_abonados[$i]["id_ttc"];
			 $pagos_abonados_por_cliente[$lm]["codigo_cpa"]=$pagos_abonados[$i]["codigo_cpa"];
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$pagos_abonados[$i]["fecha_docto_cpa"];
			break;
			case FORMA_PAGO_VALE_CAP:
			 $pagos_abonados_por_cliente[$lm]["codigo_cpa"]=$pagos_abonados[$i]["codigo_cpa"];
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$pagos_abonados[$i]["fecha_vcto_cpa"];
			break;
			}
			$pagos_abonados_por_cliente[$lm]["numero_pago"]=$pagos_abonados[$i]["numero_docto_pago"];
			$pagos_abonados_por_cliente[$lm]["valor_cpa"]=$pagos_abonados[$i]["abonado"];
			$pagos_abonados_por_cliente[$lm]["nombre_tdo"]=$pagos_abonados[$i]["nombre_pago"];
			$pagos_abonados_por_cliente[$lm]["numero_dve"]=$pagos_abonados[$i]["numero_docto_pago"];
	                $pagos_abonados_por_cliente[$lm]["id_tdo_doc"]=$pagos_abonados[$i]["id_fpa_pago"];
                        $pagos_abonados_por_cliente[$lm]["id_udo"]=$pagos_abonados[$i]["id_udo"];
			$pagos_abonados_por_cliente[$lm]["id_epa"]=$pagos_abonados[$i]["id_epa"];
                        $pagos_abonados_por_cliente[$lm]["valor_total"]=$pagos_abonados[$i]["valor_total"];
                        $pagos_abonados_por_cliente[$lm]["tipo"]=2; /* tipo 1 es para señalar que es un documento de venta*/
			$lm++;
	  	}
	}
	if(!empty($nota_credito_por_documento)){
		for($i=0; $i< count($nota_credito_por_documento); $i++) {
  			$pagos_abonados_por_cliente[$lm]["nombre_fpa"]=$nota_credito_por_documento[$i]["nombre_tdo"];
			$pagos_abonados_por_cliente[$lm]["numero_docto_cpa"]=$nota_credito_por_documento[$i]["numero_dve"];
			$pagos_abonados_por_cliente[$lm]["nombre_sec"]=$nota_credito_por_documento[$i]["nombre_sec"];
			$pagos_abonados_por_cliente[$lm]["fecha_docto_cpa"]=$nota_credito_por_documento[$i]["fecha_dve"];
			$pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$nota_credito_por_documento[$i]["fecha_vcto_dve"];
			$pagos_abonados_por_cliente[$lm]["valor_cpa"]=$nota_credito_por_documento[$i]["total_nc"];
			$pagos_abonados_por_cliente[$lm]["nombre_tdo"]=$nota_credito_por_documento[$i]["nombre_fac"];
			$pagos_abonados_por_cliente[$lm]["numero_dve"]=$nota_credito_por_documento[$i]["numero_fac"];
	                 $pagos_abonados_por_cliente[$lm]["id_tdo_doc"]=$nota_credito_por_documento[$i]["tipo_fac"];
	                 $pagos_abonados_por_cliente[$lm]["tipo"]=1; /* tipo 1 es para señalar que es un documento de venta*/
			$lm++;
	  	}
	}
	if(!empty($movimiento_ac)){
		for($i=0; $i< count($movimiento_ac); $i++) {
  			$pagos_abonados_por_cliente[$lm]["nombre_fpa"]=$movimiento_ac[$i]["nombre_aco"];
			$pagos_abonados_por_cliente[$lm]["numero_docto_cpa"]=$movimiento_ac[$i]["numero_aco"];
			$pagos_abonados_por_cliente[$lm]["nombre_sec"]=$movimiento_ac[$i]["nombre_sec"];
			$pagos_abonados_por_cliente[$lm]["fecha_docto_cpa"]=$movimiento_ac[$i]["fecha_aco"];
			$pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$movimiento_ac[$i]["fecha_aco"];
			$pagos_abonados_por_cliente[$lm]["valor_cpa"]=$movimiento_ac[$i]["monto_cas"];
			$pagos_abonados_por_cliente[$lm]["nombre_tdo"]=$movimiento_ac[$i]["nombre_tdo"];
			$pagos_abonados_por_cliente[$lm]["numero_dve"]=$movimiento_ac[$i]["numero_dve"];
	                $pagos_abonados_por_cliente[$lm]["id_tdo_doc"]=$movimiento_ac[$i]["id_tdo"];
			$pagos_abonados_por_cliente[$lm]["tipo"]=1; /* tipo 1 es para señalar que es un documento de venta*/
			$lm++;
	  	}
	}
 	if(!empty($nota_credito_genera_anticipo_cliente)){
		for($i=0; $i< count($nota_credito_por_documento); $i++) {
  			$pagos_abonados_por_cliente[$lm]["nombre_fpa"]=$nota_credito_genera_anticipo_cliente[$i]["nombre_tdo"];
			$pagos_abonados_por_cliente[$lm]["numero_docto_cpa"]=$nota_credito_genera_anticipo_cliente[$i]["numero_nota_credito"];
			$pagos_abonados_por_cliente[$lm]["nombre_sec"]=$nota_credito_genera_anticipo_cliente[$i]["nombre_sec"];
			$pagos_abonados_por_cliente[$lm]["fecha_docto_cpa"]=$nota_credito_genera_anticipo_cliente[$i]["fecha_dve"];
			$pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$nota_credito_genera_anticipo_cliente[$i]["fecha_vcto_dve"];
			$pagos_abonados_por_cliente[$lm]["valor_cpa"]=$nota_credito_genera_anticipo_cliente[$i]["total_nc"];
			$pagos_abonados_por_cliente[$lm]["nombre_tdo"]=$nota_credito_genera_anticipo_cliente[$i]["nombre_documento"];
			$pagos_abonados_por_cliente[$lm]["numero_dve"]=$nota_credito_genera_anticipo_cliente[$i]["numero_anticipo"];
	                $pagos_abonados_por_cliente[$lm]["id_tdo_doc"]=$nota_credito_genera_anticipo_cliente[$i]["tipo_documento"];
			$pagos_abonados_por_cliente[$lm]["tipo"]=1; /* tipo 1 es para señalar que es un documento de venta*/
			$lm++;
	  	}
	}

        if(!empty($pago_abona_prestamo_cliente)){
		for($i=0; $i< count($pago_abona_prestamo_cliente); $i++) {
  			$pagos_abonados_por_cliente[$lm]["nombre_fpa"]=$pago_abona_prestamo_cliente[$i]["nombre_fpa"];
			$pagos_abonados_por_cliente[$lm]["numero_docto_cpa"]=$pago_abona_prestamo_cliente[$i]["numero_docto_cpa"];
			$pagos_abonados_por_cliente[$lm]["nombre_sec"]=$pago_abona_prestamo_cliente[$i]["nombre_sec"];
			$pagos_abonados_por_cliente[$lm]["fecha_docto_cpa"]=$pago_abona_prestamo_cliente[$i]["fecha_emision_cpa"];
                        switch ($pago_abona_prestamo_cliente[$i]["id_fpa"]) {
			case FORMA_PAGO_CHEQUE:
			$pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$pago_abona_prestamo_cliente[$i]["fecha_cobro_cpa"];
		      	break;
			case FORMA_PAGO_DEP_A_PLAZO:
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$pago_abona_prestamo_cliente[$i]["fecha_docto_cpa"];
			break;
			case FORMA_PAGO_DEPOSITO_EN_CTA_CTE:
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$pago_abona_prestamo_cliente[$i]["fecha_docto_cpa"];
			break;
			case FORMA_PAGO_VALE_VISTA:
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$pago_abona_prestamo_cliente[$i]["fecha_docto_cpa"];
			break;
			case FORMA_PAGO_TARJETA_DE_CREDITO:
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$pago_abona_prestamo_cliente[$i]["fecha_docto_cpa"];
			break;
			case FORMA_PAGO_VALE_CAP:
			 $pagos_abonados_por_cliente[$lm]["fecha_vcto_cpa"]=$pago_abona_prestamo_cliente[$i]["fecha_vcto_cpa"];
			break;
			}
			$pagos_abonados_por_cliente[$lm]["valor_cpa"]=$pago_abona_prestamo_cliente[$i]["valor_cpa"];
			$pagos_abonados_por_cliente[$lm]["nombre_tdo"]=$pago_abona_prestamo_cliente[$i]["nombre_tdo"];
			$pagos_abonados_por_cliente[$lm]["numero_dve"]=$pago_abona_prestamo_cliente[$i]["numero_dve"];
	                $pagos_abonados_por_cliente[$lm]["id_tdo_doc"]=$pago_abona_prestamo_cliente[$i]["id_tdo"];
			$pagos_abonados_por_cliente[$lm]["tipo"]=1; /* tipo 1 es para señalar que es un documento de venta*/
			$lm++;
	  	}
	}
	return $pagos_abonados_por_cliente;
}
 function documento_venta_resumen_ingresos ($finicio='',$ftermino='',$id_suc=0,$id_dep=0,$id_sec=0) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una lista de un resumen de ingresos de los docuemntos de venta por seccion
// // // // // * Creada por: Luis Mella
// // // // // * Fecha: 28 de septiembre de 2006
// // // // // * Datos de salida:
// // // // // * resumen de las ventas
// // // // // *
// // // // // ***********************************************************************************
   $resumen = array();
   $id_emp=usuario_empresa();
   $sql=" SELECT Resumen.id_cco,Resumen.seccion_id_emp,Resumen.seccion_id_suc,Resumen.seccion_id_dep,Resumen.seccion_id_sec,Resumen.nombre_sec,cc.nombre_cco,Resumen.mayorista_cli,Resumen.total from
		(SELECT ca.seccion_id_emp,ca.seccion_id_suc,ca.seccion_id_dep,ca.seccion_id_sec,sec.nombre_sec,ca.id_cco,
			cl.mayorista_cli,SUM(ca.monto_cas) AS total
		from asiento_contable ac
		INNER JOIN cuenta_asiento ca ON (ca.id_aco=ac.id_aco)
		INNER JOIN asiento_documento_venta adv on (adv.id_aco=ca.id_aco and adv.correlativo_cas=ca.correlativo_cas)
		INNER JOIN documento_venta dv ON (dv.id_emp=adv.docto_id_emp and dv.id_tdo=adv.docto_id_tdo and dv.numero_dve=adv.docto_numero_dve)
		INNER JOIN documento_venta_cliente dvc ON (dvc.id_emp=dv.id_emp and dvc.id_tdo=dv.id_tdo and dvc.numero_dve=dv.numero_dve)
		INNER JOIN cliente cl ON (cl.id_cli=dvc.id_cli)
		INNER JOIN seccion sec ON (sec.id_emp=ca.seccion_id_emp and sec.id_suc=ca.seccion_id_suc and sec.id_dep=ca.seccion_id_dep and sec.id_sec=ca.seccion_id_sec)
		WHERE ac.nulo_aco='f' and ca.tipo_movto_cas=2 and ac.tipo_aco='T' AND ac.movto_sis_aco='T' AND ca.afecta_cas='H' AND ca.id_cco <> 211512 AND ca.id_cco <> 211201 and dv.id_tdo<>3 ";
	if($finicio!='' && $ftermino!=''){
		$sql.=" AND ac.fecha_aco BETWEEN '$finicio' AND '$ftermino'";
	} elseif($finicio!='') {
		$sql.=" AND ac.fecha_aco>='$finicio'";
	} elseif($ftermino!='') {
		$sql.=" AND ac.fecha_aco<='$ftermino'";
	}
	$sql.= " AND ac.id_emp=$id_emp";
	if ($id_suc > 0)
	{$sql.= " AND ac.id_suc=$id_suc";}
	if ($id_dep > 0)
	{$sql.= " AND ac.id_dep=$id_dep";}
	if ($id_sec > 0)
	{$sql.= " AND ac.id_sec=$id_sec";}
// 	$sql.=" and dv.id_tdo=1 or dv.id_tdo=2";
	$sql.=" group by ca.seccion_id_emp,ca.seccion_id_suc,ca.seccion_id_dep,ca.seccion_id_sec,ca.id_cco,sec.nombre_sec,cl.mayorista_cli";
	$sql.=" order by ca.id_cco) as Resumen";
	$sql.=" INNER JOIN cuenta_contable cc ON (cc.id_cco=Resumen.id_cco and cc.id_emp=Resumen.seccion_id_emp)";

 $opciones="w+";
 $file="/var/www/autofrance/temporal/temporal.txt";
 $archivo = fopen($file,$opciones);
     if ($rs=sql_query($sql)) {
      $i=0;
      $precio_mo_interna=0;
      $precio_mo_externa=0;
       while ($datos=sql_fetch_array($rs)) {
	  $resumen[$i]['id_cco'] = $datos['id_cco'];
	  $resumen[$i]['seccion_id_emp']=$datos['seccion_id_emp'];
          $resumen[$i]['seccion_id_suc']=$datos['seccion_id_suc'];
	  $resumen[$i]['seccion_id_dep']=$datos['seccion_id_dep'];
	  $resumen[$i]['seccion_id_sec']=$datos['seccion_id_sec'];
          $resumen[$i]['nombre_cco']=$datos['nombre_cco'];
          $resumen[$i]['nombre_sec']=$datos['nombre_sec'];
	  $resumen[$i]['mayorista_cli']=$datos['mayorista_cli'];
        	  if($resumen[$i]['mayorista_cli']=='f'){
 	  $resumen[$i]['Tipo_cliente']='Detalle';
 	  }
 	  if($resumen[$i]['mayorista_cli']=='t'){
 	  $resumen[$i]['Tipo_cliente']='Mayorista';
 	  }
	  $tipo_fac=documento_venta_desglose_periodo($finicio,$ftermino,$resumen[$i]['id_cco'],$id_suc,$id_dep,$id_sec,$resumen[$i]['mayorista_cli'],$resumen[$i]['seccion_id_emp'],$resumen[$i]['seccion_id_suc'],$resumen[$i]['seccion_id_dep'],$resumen[$i]['seccion_id_sec']);
//print_r ($tipo_fac);
       if(!empty($tipo_fac)){
         for($c=0; $c<count($tipo_fac); $c++) {
	  $resumen[$i]['Interno']+=$tipo_fac[$c]['Interno_fac'];
          $resumen[$i]['Externo']+=$tipo_fac[$c]['Externo_fac'];
	  $resumen[$i]['calculo_interno']+=$tipo_fac[$c]['calculo_interno'];
	  $resumen[$i]['calculo_externo']+=$tipo_fac[$c]['calculo_externo'];

                $v1=$tipo_fac[$c]['Interno_fac'];
                $v2=$tipo_fac[$c]['Externo_fac'];
                $v3=$tipo_fac[$c]['calculo_interno'];
                $v4=$tipo_fac[$c]['calculo_externo'];
                $v5=$resumen[$i]['calculo_externo'];
                $v6=$resumen[$i]['calculo_interno'];
              //  $str="'C:'$c,'I:'$i'||'";
          }
         }
	  $precio_mo=precio_producto(ID_BIE_MANO_DE_OBRA,$id_emp,$id_suc,$id_dep,$id_sec);
	  if (!isset($precio_mo["valor_depto_ppr"]) || !$precio_mo["valor_depto_ppr"]>0) {$precio_mo["valor_depto_ppr"]=0;}
          $precio_mo_interna=($precio_mo["valor_depto_ppr"]/(SISTEMA_IVA+1));
	  $precio_mo_externa=($precio_mo["valor_ppr"]/(SISTEMA_IVA+1));
          $resumen[$i]['valor_depto_ppr']=($resumen[$i]['calculo_interno']/$precio_mo_interna);
	  $resumen[$i]['valor_ppr']=($resumen[$i]['calculo_externo']/$precio_mo_externa);

	fputs ($archivo,$str);

	  $resumen[$i]['fecha_cas']=$datos['fecha_cas'];
          $resumen[$i]['monto_cas']=$datos['monto_cas'];
          $resumen[$i]['Periodo']+=$datos['total'];
          $acumulado=documento_venta_suma_periodo_resumen_ingresos($resumen[$i]['id_cco'],$id_suc,$id_dep,$id_sec,$resumen[$i]['mayorista_cli'],$ftermino,$resumen[$i]['seccion_id_emp'],$resumen[$i]['seccion_id_suc'],$resumen[$i]['seccion_id_dep'],$resumen[$i]['seccion_id_sec']);
      	  $resumen[$i]['Acumulado']=$acumulado[0]['Acumulado_Periodo'];
	  $i++;
          }
	  }
//       print_r($resumen);
	fclose($archivo);

         return $resumen;
         }

function documento_venta_notas_credito_resumen_ingresos ($finicio='',$ftermino='',$id_suc=0,$id_dep=0,$id_sec=0) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una lista de un resumen de ingresos de las notas de credito por seccion
// // // // // * Creada por: Luis Mella
// // // // // * Fecha: 28 de septiembre de 2006
// // // // // * Datos de salida:
// // // // // * resumen de las ventas
// // // // // *
// // // // // ***********************************************************************************
    $id_tdo=TIPO_DOCTO_VENTA_CREDITO;
    $resumen_nc = array();
   $id_emp=usuario_empresa();
   $sql=" SELECT Resumen.id_cco,Resumen.seccion_id_emp,Resumen.seccion_id_suc,Resumen.seccion_id_dep,Resumen.seccion_id_sec,Resumen.nombre_sec,cc.nombre_cco,Resumen.total from
		(SELECT ca.seccion_id_emp,ca.seccion_id_suc,ca.seccion_id_dep,ca.seccion_id_sec,sec.nombre_sec,ca.id_cco,SUM(ca.monto_cas) AS total
		from asiento_contable ac
		INNER JOIN cuenta_asiento ca ON (ca.id_aco=ac.id_aco)
		INNER JOIN asiento_documento_venta adv on (adv.id_aco=ca.id_aco and adv.correlativo_cas=ca.correlativo_cas)
		INNER JOIN documento_venta dv ON (dv.id_emp=adv.docto_id_emp and dv.id_tdo=adv.docto_id_tdo and dv.numero_dve=adv.docto_numero_dve)
		INNER JOIN documento_venta_cliente dvc ON (dvc.id_emp=dv.id_emp and dvc.id_tdo=dv.id_tdo and dvc.numero_dve=dv.numero_dve)
		INNER JOIN cliente cl ON (cl.id_cli=dvc.id_cli)
		INNER JOIN seccion sec ON (sec.id_emp=ca.seccion_id_emp and sec.id_suc=ca.seccion_id_suc and sec.id_dep=ca.seccion_id_dep and sec.id_sec=ca.seccion_id_sec)
		WHERE ac.nulo_aco='f' and ca.tipo_movto_cas=2 and ac.tipo_aco='T' AND ac.movto_sis_aco='T' AND ca.afecta_cas='D' and DV.nulo_dve is FALSE AND ca.id_cco <> 211512 AND dv.id_tdo=$id_tdo";
	if($finicio!='' && $ftermino!=''){
		$sql.=" AND ac.fecha_aco BETWEEN '$finicio' AND '$ftermino'";
	} elseif($finicio!='') {
		$sql.=" AND ac.fecha_aco>='$finicio'";
	} elseif($ftermino!='') {
		$sql.=" AND ac.fecha_aco<='$ftermino'";
	}
	$sql.= " AND ac.id_emp=$id_emp";
	if ($id_suc > 0)
	{$sql.= " AND ac.id_suc=$id_suc";}
	if ($id_dep > 0)
	{$sql.= " AND ac.id_dep=$id_dep";}
	if ($id_sec > 0)
	{$sql.= " AND ac.id_sec=$id_sec";}
  $sql.=" group by ca.seccion_id_emp,ca.seccion_id_suc,ca.seccion_id_dep,ca.seccion_id_sec,ca.id_cco,sec.nombre_sec";
 $sql.=" order by ca.id_cco) as Resumen";
 $sql.=" INNER JOIN cuenta_contable cc ON (cc.id_cco=Resumen.id_cco and cc.id_emp=Resumen.seccion_id_emp)";
     if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
	  $resumen_nc[$i]['id_cco'] = $datos['id_cco'];
	  $resumen_nc[$i]['seccion_id_emp']=$datos['seccion_id_emp'];
          $resumen_nc[$i]['seccion_id_suc']=$datos['seccion_id_suc'];
	  $resumen_nc[$i]['seccion_id_dep']=$datos['seccion_id_dep'];
	  $resumen_nc[$i]['seccion_id_sec']=$datos['seccion_id_sec'];
          $resumen_nc[$i]['nombre_cco']=$datos['nombre_cco'];
          $resumen_nc[$i]['nombre_sec']=$datos['nombre_sec'];
          $resumen_nc[$i]['fecha_cas']=$datos['fecha_cas'];
          $resumen_nc[$i]['monto_cas']=$datos['monto_cas'];
          $resumen_nc[$i]['Periodo']+=$datos['total'];
          $i++;
          }
	  }
     return $resumen_nc;
     }




function documento_venta_suma_periodo_resumen_ingresos ($id_cco,$id_suc,$id_dep,$id_sec,$tipo_cli,$fecha,$id_emp_det,$id_suc_det,$id_dep_det,$id_sec_det) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una lista de un resumen de ingresos para calcular el acumulado
// // // // // * Creada por: Luis Mella
// // // // // * Fecha: 3 de octubre de 2006
// // // // // * Datos de salida:
// // // // // * resumen de las ventas
// // // // // *
// // // // // ***********************************************************************************
   $periodo = array();
//    $fecha=dateFormat("d/m/Y");
   list ($dia,$mes,$ano)=split("[-/]",$fecha);
   $id_emp=usuario_empresa();
   $ult=ultimo_dia_mes($mes);
    $sql=" SELECT Resumen.id_cco,Resumen.seccion_id_emp,Resumen.seccion_id_suc,Resumen.seccion_id_dep,Resumen.seccion_id_sec,Resumen.nombre_sec,cc.nombre_cco,Resumen.mayorista_cli,Resumen.total from
		(SELECT ca.seccion_id_emp,ca.seccion_id_suc,ca.seccion_id_dep,ca.seccion_id_sec,sec.nombre_sec,ca.id_cco,cl.mayorista_cli,SUM(ca.monto_cas) AS total
		from asiento_contable ac
		INNER JOIN cuenta_asiento ca ON (ca.id_aco=ac.id_aco)
		INNER JOIN asiento_documento_venta adv on (adv.id_aco=ca.id_aco and adv.correlativo_cas=ca.correlativo_cas)
		INNER JOIN documento_venta dv ON (dv.id_emp=adv.docto_id_emp and dv.id_tdo=adv.docto_id_tdo and dv.numero_dve=adv.docto_numero_dve)
		INNER JOIN documento_venta_cliente dvc ON (dvc.id_emp=dv.id_emp and dvc.id_tdo=dv.id_tdo and dvc.numero_dve=dv.numero_dve)
		INNER JOIN cliente cl ON (cl.id_cli=dvc.id_cli)
		INNER JOIN seccion sec ON (sec.id_emp=ca.seccion_id_emp and sec.id_suc=ca.seccion_id_suc and sec.id_dep=ca.seccion_id_dep and sec.id_sec=ca.seccion_id_sec)
		WHERE ac.nulo_aco='f' and ca.tipo_movto_cas=2 and ac.tipo_aco='T' AND ac.movto_sis_aco='T' AND ca.afecta_cas='H' AND cl.mayorista_cli='$tipo_cli' AND ca.id_cco=$id_cco and dv.id_tdo<>3 and ca.seccion_id_emp=$id_emp_det and ca.seccion_id_suc=$id_suc_det and ca.seccion_id_dep=$id_dep_det and ca.seccion_id_sec=$id_sec_det";
//	$sql.=" AND ac.fecha_aco >='01/$mes/$ano'";
	$sql.=" AND ac.fecha_aco BETWEEN '01/$mes/$ano' AND '$ult/$mes/$ano'";
	$sql.= " AND ac.id_emp=$id_emp";
	if ($id_suc > 0)
	{$sql.= " AND ac.id_suc=$id_suc";}
	if ($id_dep > 0)
	{$sql.= " AND ac.id_dep=$id_dep";}
	if ($id_sec > 0)
	{$sql.= " AND ac.id_sec=$id_sec";}
// 	$sql.=" and dv.id_tdo=1 or dv.id_tdo=2";
	$sql.=" group by ca.seccion_id_emp,ca.seccion_id_suc,ca.seccion_id_dep,ca.seccion_id_sec,ca.id_cco,sec.nombre_sec,cl.mayorista_cli";
	$sql.=" order by ca.id_cco) as Resumen";
	$sql.=" INNER JOIN cuenta_contable cc ON (cc.id_cco=Resumen.id_cco and cc.id_emp=Resumen.seccion_id_emp)";
  	if ($rs=sql_query($sql)) {
     	$i=0;
        while ($datos=sql_fetch_array($rs)) {
        $periodo[$i]['monto_cas']=$datos[$i]['total'];
        $periodo[$i]['Acumulado_Periodo']=$datos['total'];
        $i++;
        }
        }
         return $periodo;
        }
 function documento_venta_desglose_periodo ($finicio='',$ftermino='',$id_cco,$id_suc,$id_dep,$id_sec,$tipo_cli,$id_emp_det,$id_suc_det,$id_dep_det,$id_sec_det) {
// // // // // // ***********************************************************************************
// // // // // // * Funcion php: permite obtener una lista de un resumen de ingresos para sacar las facturas internas y extrenas y
// // // // // // * Creada por: Luis Mella
// // // // // // * Fecha: 3 de octubre de 2006
// // // // // // * Datos de salida:
// // // // // // * resumen de las ventas
// // // // // // *
// // // // // // ***********************************************************************************
    $desgloce = array();
    $calculo_interno=0;
    $calculo_Externo=0;
    $id_emp=usuario_empresa();

//       $sql=" SELECT Resumen.id_cco,Resumen.seccion_id_emp,Resumen.seccion_id_suc,Resumen.seccion_id_dep,Resumen.seccion_id_sec,Resumen.nombre_sec,cc.nombre_cco,Resumen.mayorista_cli,Resumen.total from
// 		(SELECT ca.seccion_id_emp,ca.seccion_id_suc,ca.seccion_id_dep,ca.seccion_id_sec,sec.nombre_sec,ca.id_cco,cl.mayorista_cli,SUM(ca.monto_cas) AS total
// 		from asiento_contable ac
// 		INNER JOIN cuenta_asiento ca ON (ca.id_aco=ac.id_aco)
// 		INNER JOIN asiento_documento_venta adv on (adv.id_aco=ca.id_aco and adv.correlativo_cas=ca.correlativo_cas)
// 		INNER JOIN documento_venta dv ON (dv.id_emp=adv.docto_id_emp and dv.id_tdo=adv.docto_id_tdo and dv.numero_dve=adv.docto_numero_dve)
// 		INNER JOIN documento_venta_cliente dvc ON (dvc.id_emp=dv.id_emp and dvc.id_tdo=dv.id_tdo and dvc.numero_dve=dv.numero_dve)
// 		INNER JOIN cliente cl ON (cl.id_cli=dvc.id_cli)
// 		INNER JOIN seccion sec ON (sec.id_emp=ca.seccion_id_emp and sec.id_suc=ca.seccion_id_suc and sec.id_dep=ca.seccion_id_dep and sec.id_sec=ca.seccion_id_sec)
// 		WHERE ac.nulo_aco='f' and ca.tipo_movto_cas=2 and ac.tipo_aco='T' AND ac.movto_sis_aco='T' AND ca.afecta_cas='H' AND cl.mayorista_cli='$tipo_cli' AND ca.id_cco=$id_cco and dv.id_tdo<>3 and ca.seccion_id_emp=$id_emp_det and ca.seccion_id_suc=$id_suc_det and ca.seccion_id_dep=$id_dep_det and ca.seccion_id_sec=$id_sec_det";
// 	if($finicio!='' && $ftermino!=''){
// 		$sql.=" AND ac.fecha_aco BETWEEN '$finicio' AND '$ftermino'";
// 	} elseif($finicio!='') {
// 		$sql.=" AND ac.fecha_aco>='$finicio'";
// 	} elseif($ftermino!='') {
// 		$sql.=" AND ac.fecha_aco<='$ftermino'";
// 	}
// 	$sql.= " AND ac.id_emp=$id_emp";
// 	if ($id_suc > 0)
// 	{$sql.= " AND ac.id_suc=$id_suc";}
// 	if ($id_dep > 0)
// 	{$sql.= " AND ac.id_dep=$id_dep";}
// 	if ($id_sec > 0)
// 	{$sql.= " AND ac.id_sec=$id_sec";}
// // 	$sql.=" and dv.id_tdo=1 or dv.id_tdo=2";
// 	$sql.=" group by ca.seccion_id_emp,ca.seccion_id_suc,ca.seccion_id_dep,ca.seccion_id_sec,ca.id_cco,sec.nombre_sec,cl.mayorista_cli";
// 	$sql.=" order by ca.id_cco) as Resumen";
// 	$sql.=" INNER JOIN cuenta_contable cc ON (cc.id_cco=Resumen.id_cco and cc.id_emp=Resumen.seccion_id_emp)";






    $sql="SELECT ac.fecha_aco,cl.id_per,ca.id_cco,ca.seccion_id_emp,ca.seccion_id_suc,ca.seccion_id_dep,ca.seccion_id_sec,sec.nombre_sec,cc.nombre_cco,ca.monto_cas
    from asiento_contable ac
    INNER JOIN cuenta_asiento ca ON (ca.id_aco=ac.id_aco)
    INNER JOIN asiento_documento_venta adv on (adv.id_aco=ca.id_aco and adv.correlativo_cas=ca.correlativo_cas)
    INNER JOIN documento_venta dv ON (dv.id_emp=adv.docto_id_emp and dv.id_tdo=adv.docto_id_tdo and dv.numero_dve=adv.docto_numero_dve)
    INNER JOIN documento_venta_cliente dvc ON (dvc.id_emp=dv.id_emp and dvc.id_tdo=dv.id_tdo and dvc.numero_dve=dv.numero_dve)
    INNER JOIN cliente cl ON (cl.id_cli=dvc.id_cli)
    INNER JOIN seccion sec ON (sec.id_emp=ca.seccion_id_emp and sec.id_suc=ca.seccion_id_suc and sec.id_dep=ca.seccion_id_dep and sec.id_sec=ca.seccion_id_sec)
    INNER JOIN cuenta_contable cc ON (cc.id_cco=ca.id_cco and cc.id_emp=ca.seccion_id_emp)
    WHERE ac.nulo_aco='f' and ca.tipo_movto_cas=2 and ac.tipo_aco='T' AND ac.movto_sis_aco='T' AND ca.afecta_cas='H' and dv.id_tdo<>3 AND ca.id_cco=$id_cco
    AND cl.mayorista_cli='$tipo_cli' AND ac.id_emp=$id_emp and ca.seccion_id_emp=$id_emp_det and ca.seccion_id_suc=$id_suc_det and ca.seccion_id_dep=$id_dep_det and ca.seccion_id_sec=$id_sec_det ";
    if ($id_suc > 0)
    {$sql.= " AND ac.id_suc=$id_suc";}
    if ($id_dep > 0)
    {$sql.= " AND ac.id_dep=$id_dep";}
    if ($id_sec > 0)
    {$sql.= " AND ac.id_sec=$id_sec";}
    if($finicio!='' && $ftermino!=''){
		$sql.=" AND ac.fecha_aco BETWEEN '$finicio' AND '$ftermino'";
	} elseif($finicio!='') {
		$sql.=" AND ac.fecha_aco>='$finicio'";
	} elseif($ftermino!='') {
		$sql.=" AND ac.fecha_aco<='$ftermino'";
	}
//     $sql.= " AND dv.id_tdo=1 or dv.id_tdo=2 ";
    $sql.=" order by ca.id_cco";
    if ($rs=sql_query($sql)) {
    $i=0;
    while ($datos=sql_fetch_array($rs)) {
	$desgloce[$i]['id_cco']=$datos['id_cco'];
        $desgloce[$i]['id_per']=$datos['id_per'];
        if($desgloce[$i]['id_per']==PERSONA_ID_AUTOFRANCE){
           $desgloce[$i]['Interno_fac']+=$datos['monto_cas'];
	   if($desgloce[$i]['id_cco']==CUENTA_MECANICA_SERVICIOS || $desgloce[$i]['id_cco']==CUENTA_MECANICA_SERVICIOS_DYP){
		   $calculo_interno+=$datos['monto_cas'];
		}
     } else {
        $desgloce[$i]['Externo_fac']+=$datos['monto_cas'];
		if($desgloce[$i]['id_cco']==CUENTA_MECANICA_SERVICIOS || $desgloce[$i]['id_cco']==CUENTA_MECANICA_SERVICIOS_DYP){
			$calculo_Externo+=$datos['monto_cas'];
		}
	$desgloce[$i]['calculo_interno']=$calculo_interno;
	$desgloce[$i]['calculo_externo']=$calculo_Externo;
     }
     $i++;
     }
     }
     return $desgloce;
     }
function resumen_lubricantes ($mes=0,$año=0,$id_suc,$id_dep,$id_sec) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una lista de un resumen de lubricantes para calcular el acumulado
// // // // // * Creada por: Luis Mella
// // // // // * Fecha: 13 de octubre de 2006
// // // // // * Datos de salida:
// // // // // * resumen de los lubricantes
// // // // // *
// // // // // ***********************************************************************************
   $resumen_lubricantes = array();
   $id_emp=usuario_empresa();
   $sql="SELECT detalle.id_emp,
		detalle.id_suc,
		detalle.id_dep,
		detalle.id_sec,
		detalle.nombre_sec,
		detalle.id_bie,
		detalle.codigo_externo_bie,
		detalle.nombre_bie,
		detalle.cantidad,
		detalle.precio
		from
 (select mp.id_emp,mp.id_suc,mp.id_dep,mp.id_sec,bs.id_bie,bs.codigo_externo_bie,bs.nombre_bie,sec.nombre_sec,sum(dmp.cantidad_dmp) as cantidad,sum(dmp.precio_dmp) as precio
 from detalle_movimiento_producto dmp
 inner join movimiento_producto mp on (mp.id_mpr=dmp.id_mpr";
if ($mes > 0)
	{$sql.= " and to_char(mp.fecha_mpr,'mm')='$mes'";}
if ($año > 0)
	{$sql.= " and to_char(mp.fecha_mpr,'YYYY')='$año'";}
 $sql.= ")";
 $sql.= " INNER JOIN bien_servicio bs on (bs.id_bie=dmp.id_bie)";
 $sql.= " INNER JOIN articulo art on (art.id_bie=dmp.id_bie)";
 $sql.= " INNER JOIN seccion sec ON (sec.id_emp=mp.id_emp and sec.id_suc=mp.id_suc and sec.id_dep=mp.id_dep and sec.id_sec=mp.id_sec)";
 $sql.= " where bs.id_cbi=8 AND mp.id_emp=$id_emp";
 if ($id_suc > 0)
	{$sql.= " AND mp.id_suc=$id_suc";}
	if ($id_dep > 0)
	{$sql.= " AND mp.id_dep=$id_dep";}
	if ($id_sec > 0)
	{$sql.= " AND mp.id_sec=$id_sec";}
     	$sql.=" group by mp.id_emp,mp.id_suc,mp.id_dep,mp.id_sec,bs.id_bie,bs.codigo_externo_bie,bs.nombre_bie,sec.nombre_sec) as detalle";
   	if ($rs=sql_query($sql)) {
     	$i=0;
        while ($datos=sql_fetch_array($rs)) {
        $resumen_lubricantes[$i]['seccion']=$datos['nombre_sec'];
        $resumen_lubricantes[$i]['id_bie']=$datos['id_bie'];
        $resumen_lubricantes[$i]['codigo_externo_bie']=$datos['codigo_externo_bie'];
        $resumen_lubricantes[$i]['nombre_bie']=$datos['nombre_bie'];
        $resumen_lubricantes[$i]['cantidad']=$datos['cantidad'];
        $unidad_producto=articulo_datos($resumen_lubricantes[$i]['id_bie']);
        $resumen_lubricantes[$i]['total_litros']=($unidad_producto["cantidad_art"]*$resumen_lubricantes[$i]['cantidad']);
	$resumen_lubricantes[$i]['precio']=$datos['precio'];
        $i++;
        }
        }
  $nuevo_resumen=array();
  $cod_ant=0;
  $cout=0;
  $total_litros_parcial=0;
  $total_venta_parcial=0;
  $total_litros=0;
  $total_venta=0;


        for($i=0;$i<count($resumen_lubricantes);$i++)
        {
                if(substr($resumen_lubricantes[$i]['codigo_externo_bie'],0,2)==substr($resumen_lubricantes[$i+1]['codigo_externo_bie'],0,2))
                {
                $nuevo_resumen[$cout]["seccion"]=$resumen_lubricantes[$i]['seccion'];
		$nuevo_resumen[$cout]["codigo_externo_bie"]=$resumen_lubricantes[$i]['codigo_externo_bie'];
		$nuevo_resumen[$cout]["nombre_bie"]=$resumen_lubricantes[$i]['nombre_bie'];
		$nuevo_resumen[$cout]["total_litros"]=$resumen_lubricantes[$i]['total_litros'];
		$nuevo_resumen[$cout]["precio"]=$resumen_lubricantes[$i]['precio'];
                $total_litros_parcial+=$resumen_lubricantes[$i]['total_litros'];
		$total_venta_parcial+=$resumen_lubricantes[$i]['precio'];
               	}else{
                     	$nuevo_resumen[$cout]["seccion"]=$resumen_lubricantes[$i]['seccion'];
			$nuevo_resumen[$cout]["codigo_externo_bie"]=$resumen_lubricantes[$i]['codigo_externo_bie'];
			$nuevo_resumen[$cout]["nombre_bie"]=$resumen_lubricantes[$i]['nombre_bie'];
			$nuevo_resumen[$cout]["total_litros"]=$resumen_lubricantes[$i]['total_litros'];
			$nuevo_resumen[$cout]["precio"]=$resumen_lubricantes[$i]['precio'];
                        $total_litros+=$resumen_lubricantes[$i]['total_litros'];
                        $total_venta+=$resumen_lubricantes[$i]['precio'];
			$cout++;
				$nuevo_resumen[$cout]["seccion"]='';
				$nuevo_resumen[$cout]["codigo_externo_bie"]='';
				$nuevo_resumen[$cout]["nombre_bie"]='SUB TOTAL :';
				$nuevo_resumen[$cout]["total_litros"]=$total_litros_parcial+$total_litros;
				$nuevo_resumen[$cout]["precio"]=$total_venta_parcial+$total_venta;
                               	$cout++;
                                $nuevo_resumen[$cout]["seccion"]='';
				$nuevo_resumen[$cout]["codigo_externo_bie"]='';
				$nuevo_resumen[$cout]["nombre_bie"]='';
				$nuevo_resumen[$cout]["total_litros"]='';
				$nuevo_resumen[$cout]["precio"]='';
				$total_litros=0;
				$total_venta=0;
			}
                         	$cout++;
                        }
//        print_r($nuevo_resumen);
       return $nuevo_resumen;
}
function solicitud_repuestos_pendientes ($finicio='',$ftermino='',$id_suc=0,$id_dep=0,$id_sec=0) {
// // // // // ***********************************************************************************
// // // // // * Funcion php: permite obtener una lista de repuestos por entregar
// // // // // * Creada por: Luis Mella
// // // // // * Fecha: 17 de octubre de 2006
// // // // // * Datos de salida:
// // // // // * resumen de las ventas
// // // // // *
// // // // // ***********************************************************************************
   $solicitud = array();
   $id_emp=usuario_empresa();
   $sql="SELECT sr.id_sre,sr.codigo_sre,sr.fecha_sre,ot.codigo_otr,ot.fecha_entrada_otr,sr.id_emp,sr.id_suc,sr.id_dep,
        sr.id_sec,dsr.fecha_estimada_sre,dsr.id_bie,bs.codigo_externo_bie,dsr.cantidad_sre,dsr.entregado_sre
	FROM solicitud_repuestos sr
	INNER JOIN detalle_solicitud_repuesto dsr on (dsr.id_sre=sr.id_sre)
	INNER JOIN orden_trabajo ot on (ot.id_otr=sr.id_otr)
	INNER JOIN bien_servicio bs on (bs.id_bie=dsr.id_bie)
        WHERE  dsr.entregado_sre='f' and sr.id_emp=$id_emp";
     if ($id_suc > 0)
	{$sql.= " AND sr.id_suc=$id_suc";}
	if ($id_dep > 0)
	{$sql.= " AND sr.id_dep=$id_dep";}
	if ($id_sec > 0)
	{$sql.= " AND sr.id_sec=$id_sec";}

        if($finicio!='' && $ftermino!=''){
		$sql.=" AND sr.fecha_sre BETWEEN '$finicio' AND '$ftermino'";
	} elseif($finicio!='') {
		$sql.=" AND sr.fecha_sre>='$finicio'";
	} elseif($ftermino!='') {
		$sql.=" AND sr.fecha_sre<='$ftermino'";
	}
       if ($rs=sql_query($sql)) {
       $i=0;
       while ($datos=sql_fetch_array($rs)) {
          $solicitud[$i]['codigo_sre']=$datos['codigo_sre'];
	  $solicitud[$i]['id_emp']=$datos['id_emp'];
          $solicitud[$i]['id_suc']=$datos['id_suc'];
	  $solicitud[$i]['id_dep']=$datos['id_dep'];
	  $solicitud[$i]['id_sec']=$datos['id_sec'];
          $solicitud[$i]['codigo_otr']=$datos['codigo_otr'];
          $solicitud[$i]['fecha_entrada_otr']=$datos['fecha_entrada_otr'];
          $solicitud[$i]['codigo_externo_bie']=$datos['codigo_externo_bie'];
          $solicitud[$i]['cantidad_sre']=$datos['cantidad_sre'];
          $solicitud[$i]['fecha_estimada_sre']=$datos['fecha_estimada_sre'];
          $i++;
          }
	  }
     return $solicitud;
     }
function movimiento_contable_rebaja_ac ($id_emp=0,$id_cli=0,$finicio='',$ftermino='') {
// ***********************************************************************************
// * Funcion php: permite obtener una lista de los registros de venta de los documentos de venta que se hayan generado nota de credito
// * Creada por: Luis Mella hasta el fin
// * Fecha: 9 de Mayo de 2006
// * Datos de salida:
// *
// *
// ***********************************************************************************
   $movimiento = array();
   $id_emp=($id_emp==0 || $id_emp=="")? usuario_empresa():$id_emp;
   $id_tdo=TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE;
   $sql="Select tdv.nombre_tdo,dv.numero_dve,dv.id_tdo,dvc.id_cli,ac.tipo_aco,ac.numero_aco,ac.fecha_aco,cas.monto_cas,cas.seccion_id_emp,cas.seccion_id_suc,
	cas.seccion_id_dep,cas.seccion_id_sec FROM  documento_venta dv
	INNER JOIN tipo_docto_venta tdv on (tdv.id_tdo=dv.id_tdo)
	INNER JOIN documento_venta_cliente dvc
	ON (dvc.id_emp=dv.id_emp AND dvc.id_tdo=dv.id_tdo AND dvc.numero_dve=dv.numero_dve)
	INNER JOIN asiento_documento_venta adv
	ON (adv.docto_id_emp=dv.id_emp AND adv.docto_id_tdo=dv.id_tdo AND docto_numero_dve=dv.numero_dve)
	INNER JOIN cuenta_asiento cas on (cas.id_aco=adv.id_aco and cas.correlativo_cas=adv.correlativo_cas)
        INNER JOIN asiento_contable ac on (ac.id_aco=cas.id_aco)
	where cas.id_aco=cas.id_aco and cas.afecta_cas='D' and cas.tipo_movto_cas=2 and ac.nulo_aco='f' and adv.docto_id_tdo=6 ";
    if ($id_cli>0) {
         $sql.=" AND dvc.id_cli=".$id_cli;
   }
   if($finicio!='' && $ftermino!=''){
      $sql.=" AND ac.fecha_aco BETWEEN '$finicio' AND '$ftermino'";
   }elseif($finicio!=''){
      $sql.=" AND ac.fecha_aco>='$finicio'";
   }elseif($ftermino!=''){
          $sql.=" AND ac.fecha_aco<='$ftermino'";
   }
   if ($rs=sql_query($sql)) {
       $i=0;
       while ($datos=sql_fetch_array($rs)) {
       $movimiento[$i]['numero_aco'] = $datos['numero_aco'];
       $movimiento[$i]['tipo_aco'] = $datos['tipo_aco'];
	if($datos['tipo_aco']=='E'){
	$movimiento[$i]['nombre_aco'] = 'EGRESO';
	}
	if($datos['tipo_aco']=='T'){
	$movimiento[$i]['nombre_aco'] = 'TRASPASO';
	}
	if($datos['tipo_aco']=='I'){
	$movimiento[$i]['nombre_aco'] = 'INGRESO';
	}
       $movimiento[$i]['fecha_aco'] = $datos['fecha_aco'];
       $movimiento[$i]['monto_cas'] = $datos['monto_cas'];
       $movimiento[$i]['nombre_tdo'] = $datos['nombre_tdo'];
       $movimiento[$i]['seccion_id_emp'] = $datos['seccion_id_emp'];
       $movimiento[$i]['seccion_id_suc'] = $datos['seccion_id_suc'];
       $movimiento[$i]['seccion_id_dep'] = $datos['seccion_id_dep'];
       $movimiento[$i]['seccion_id_sec'] = $datos['seccion_id_sec'];
       $seccion=seccion_datos($datos['seccion_id_emp'],$datos['seccion_id_suc'],$datos['seccion_id_dep'],$datos['seccion_id_sec']);
       $movimiento[$i]['nombre_sec'] = $seccion['nombre_sec'];
       $movimiento[$i]['id_cli'] = $datos['id_cli'];
       $movimiento[$i]['numero_dve'] = $datos['numero_dve'];
       $movimiento[$i]['id_tdo'] = $datos['id_tdo'];
       $movimiento[$i]['nombre_tdo'] = $datos['nombre_tdo'];
       $i++;
         }
      }
      return $movimiento;
}

function Egreso_contable_rebaja_documento_venta ($id_emp=0,$id_cli=0,$finicio='',$ftermino='') {
// ***********************************************************************************
// * Funcion php: permite obtener una lista de los registros de venta(facturas y boletas que se hayan rebajado por egreso
// * Creada por: Luis Mella
// * Fecha: 9 de Mayo de 2006
// * Datos de salida:
// *
// *
// ***********************************************************************************
   $movimiento = array();
   $id_emp=($id_emp==0 || $id_emp=="")? usuario_empresa():$id_emp;
   $id_tdo=TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE;
   $sql="Select tdv.nombre_tdo,dv.numero_dve,dv.id_tdo,dvc.id_cli,ac.tipo_aco,ac.numero_aco,ac.fecha_aco,cas.monto_cas,cas.seccion_id_emp,cas.seccion_id_suc,
	cas.seccion_id_dep,cas.seccion_id_sec FROM  documento_venta dv
	INNER JOIN tipo_docto_venta tdv on (tdv.id_tdo=dv.id_tdo)
	INNER JOIN documento_venta_cliente dvc
	ON (dvc.id_emp=dv.id_emp AND dvc.id_tdo=dv.id_tdo AND dvc.numero_dve=dv.numero_dve)
	INNER JOIN asiento_documento_venta adv
	ON (adv.docto_id_emp=dv.id_emp AND adv.docto_id_tdo=dv.id_tdo AND docto_numero_dve=dv.numero_dve)
	INNER JOIN cuenta_asiento cas on (cas.id_aco=adv.id_aco and cas.correlativo_cas=adv.correlativo_cas)
        INNER JOIN asiento_contable ac on (ac.id_aco=cas.id_aco)
	where cas.id_aco=cas.id_aco and cas.afecta_cas='D' and cas.tipo_movto_cas=2 and ac.nulo_aco='f' and adv.docto_id_tdo=6 ";
    if ($id_cli>0) {
         $sql.=" AND dvc.id_cli=".$id_cli;
   }
   if($finicio!='' && $ftermino!=''){
      $sql.=" AND ac.fecha_aco BETWEEN '$finicio' AND '$ftermino'";
   }elseif($finicio!=''){
      $sql.=" AND ac.fecha_aco>='$finicio'";
   }elseif($ftermino!=''){
          $sql.=" AND ac.fecha_aco<='$ftermino'";
   }
   if ($rs=sql_query($sql)) {
       $i=0;
       while ($datos=sql_fetch_array($rs)) {
       $movimiento[$i]['numero_aco'] = $datos['numero_aco'];
       $movimiento[$i]['tipo_aco'] = $datos['tipo_aco'];
	if($datos['tipo_aco']=='E'){
	$movimiento[$i]['nombre_aco'] = 'EGRESO';
	}
	if($datos['tipo_aco']=='T'){
	$movimiento[$i]['nombre_aco'] = 'TRASPASO';
	}
	if($datos['tipo_aco']=='I'){
	$movimiento[$i]['nombre_aco'] = 'INGRESO';
	}
       $movimiento[$i]['fecha_aco'] = $datos['fecha_aco'];
       $movimiento[$i]['monto_cas'] = $datos['monto_cas'];
       $movimiento[$i]['nombre_tdo'] = $datos['nombre_tdo'];
       $movimiento[$i]['seccion_id_emp'] = $datos['seccion_id_emp'];
       $movimiento[$i]['seccion_id_suc'] = $datos['seccion_id_suc'];
       $movimiento[$i]['seccion_id_dep'] = $datos['seccion_id_dep'];
       $movimiento[$i]['seccion_id_sec'] = $datos['seccion_id_sec'];
       $seccion=seccion_datos($datos['seccion_id_emp'],$datos['seccion_id_suc'],$datos['seccion_id_dep'],$datos['seccion_id_sec']);
       $movimiento[$i]['nombre_sec'] = $seccion['nombre_sec'];
       $movimiento[$i]['id_cli'] = $datos['id_cli'];
       $movimiento[$i]['numero_dve'] = $datos['numero_dve'];
       $movimiento[$i]['id_tdo'] = $datos['id_tdo'];
       $movimiento[$i]['nombre_tdo'] = $datos['nombre_tdo'];
       $i++;
         }
      }
      return $movimiento;
}


function docs_nulos_id_cca($fecha_ini,$fecha_fin)
{
        $id_emp=usuario_empresa();
        $id_suc=usuario_sucursal();
        $id_dep=usuario_departamento();
        $id_sec=usuario_seccion();
        $dnul=array();
        $sql="SELECT id_tdo,numero_dve FROM documento_venta ";
        $sql.="WHERE nulo_dve='t' AND (";
        $a=0;
        $id_cca=lista_cierre_caja_fecha($id_emp,$id_suc,$id_dep,$id_sec,$fecha_ini,$fecha_fin);
        foreach($id_cca as $cca)
        {
        	if($a==0)
        	{
        	       $sql.=" id_cca=$cca[id_cca]";
        	}else{
        	       $sql.=" OR id_cca=$cca[id_cca]";
        	}
        	$a++;
        }
        $sql.=" )";
        if ($rs=sql_query($sql))
        {
                $i=0;
                while($datos=sql_fetch_array($rs))
                {
                        $dnul[$i]['numero_dve']=$datos['numero_dve'];
                        $dnul[$i]['id_tdo']=$datos['id_tdo'];
			$i++;
                }
        }
        return $dnul;
}

function documento_venta_existe_interna ($id_emp,$id_tdo,$numero_dve,$clientes) {
   $sql = "select id_cli from documento_venta inner join documento_venta_cliente using (id_tdo,numero_dve,id_emp)
	WHERE
      id_emp=$id_emp AND
      id_tdo=$id_tdo AND
      numero_dve=$numero_dve AND (";

	for ($i=0;$i<count($clientes);$i++)
	{
		if ($i>0)
		{
			$sql.=" or ";
		}
			$sql.="id_cli = ".$clientes[$i]['id_cli'];

	}
	$sql.=" ) ";

   if ($rs=sql_query($sql)) {
      list($total) = sql_fetch_row( $rs );
      if ($total>0) {
         return true;
      }
   }
   return false;
}

function documento_venta_inventario_cuenta ($ftermino='',$seccion=0,$cuenta="",$id_uco=0){
// ***********************************************************************************
// * Funcion php: permite obtener una lista de los registros de venta de los documentos de venta que estan pagados
// * Creada por: Luis Mella
// * Fecha: 9 de Mayo de 2006
// * Datos de salida:
// *
// *
// ***********************************************************************************
	$inventario_cuenta = array();
	$sucursales=array();
	if($seccion!=0){
		list($id_emp,$id_suc,$id_dep,$id_sec)=split("_",$seccion);
	}else{
		$id_emp=usuario_empresa();
	}
    if($id_uco!=0){
      $sucursales=sucursal_uco_lista_suc($id_emp,$id_uco);
    }



$sql="

SELECT DISTINCT * FROM
((SELECT

        PE.cedula_per as rut,
        PE.nombre_per as nombre,
        DV.numero_dve as nro_Documento,
        DV.fecha_dve as fecha_Documento,
	DV.fecha_dve as fecha_docto,
        DV.fecha_vcto_dve as fecha_vencimiento,
        TDV.nombre_tdo as tipo,
        (DV.neto_dve + DV.iva_dve + DV.impuesto_esp_dve + DV.exento_dve) as valor_documento,
        regresion_saldo(PDV.id_cpa,'$ftermino') as saldo,
	SE.nombre_sec

        FROM documento_venta dv
        inner join pago_documento_venta PDV on(PDV.id_emp=DV.id_emp and PDV.id_tdo=DV.id_tdo and PDV.numero_dve=DV.numero_dve)
        inner join tipo_docto_venta TDV on(TDV.id_tdo=DV.id_tdo)
        inner join documento_venta_cliente DVC ON (DVC.id_emp=DV.id_emp AND DVC.id_tdo=DV.id_tdo AND DVC.numero_dve=DV.numero_dve)
        inner join cliente C on(C.id_cli=DVC.id_cli)
        inner join persona PE on(PE.id_per=C.id_per)
	inner join seccion SE ON (SE.id_emp=DV.seccion_id_emp AND SE.id_suc=DV.seccion_id_suc AND SE.id_dep=DV.seccion_id_dep AND SE.id_sec=DV.seccion_id_sec)
        where DV.fecha_dve>='01/01/2005' AND DV.id_emp=$id_emp AND DV.fecha_dve <='$ftermino' and regresion_saldo(PDV.id_cpa,'$ftermino') > 0 AND DV.nulo_dve IS FALSE AND DVC.titular_dvc is true ";
	if($seccion!=0){
		$sql.="AND  DV.seccion_id_suc=$id_suc AND DV.seccion_id_dep=$id_dep AND DV.seccion_id_sec=$id_sec ";
	}
	if(!empty($sucursales)){
        $sql.="AND (";
        for ($i=0;$i<count($sucursales);$i++){
            $suc=$sucursales[$i]["id_suc"];
            if ($i>0){
			     $sql.=" or ";
			}
            $sql.="DV.seccion_id_suc=$suc ";
        }
        $sql.=")";
    }
	if($cuenta!=""){
		if($cuenta=="110401"){
			$sql.="AND (SE.id_tsc=".SECCION_VENTAS_NUEVOS." OR SE.id_tsc=".SECCION_VENTAS_USADOS.") ";
		}
		if($cuenta=="110403"){
			$sql.="AND (SE.id_tsc=".SECCION_REPUESTOS." OR SE.id_tsc=".SECCION_SERVICIOS." OR SE.id_tsc=".SECCION_BODEGA." OR SE.id_tsc=".SECCION_ADMINISTRACION." OR SE.id_tsc=".SECCION_SERVICIODYP.") ";
		}
	}
$sql.=")
union
(
SELECT

        PE.cedula_per as rut,
        PE.nombre_per as nombre,
        P.numero_docto_cpa as nro_documento,
        P.fecha_emision_cpa as fecha_documento,
	P.fecha_docto_cpa as fecha_docto,
        P.fecha_vcto_cpa as fecha_vencimiento,
        FP.nombre_fpa as tipo,
        valor_cpa as valor_documento,
        regresion_saldo_abonable(P.id_cpa,'$ftermino') as saldo,
        SE.nombre_sec
       FROM pago P
       left join forma_pago FP on (FP.id_fpa=P.id_fpa)
       left join cliente C on(C.id_cli=P.id_cli)
       left join persona PE on(PE.id_per=C.id_per)
       inner join seccion SE ON (SE.id_emp=P.id_emp AND SE.id_suc=P.id_suc AND SE.id_dep=P.id_dep AND SE.id_sec=P.id_sec)
       where P.fecha_emision_cpa>='01/01/2005' and P.id_emp=$id_emp and P.fecha_emision_cpa<='$ftermino' and P.nulo_cpa is false AND (P.id_fpa=16 or P.id_fpa=18) and regresion_saldo_abonable(P.id_cpa,'$ftermino')>0 ";
	if($seccion!=0){
		$sql.="AND  P.id_suc=$id_suc AND P.id_dep=$id_dep AND P.id_sec=$id_sec ";
	}
	if(!empty($sucursales)){
        $sql.="AND (";
        for ($i=0;$i<count($sucursales);$i++){
            $suc=$sucursales[$i]["id_suc"];
            if ($i>0){
			     $sql.=" or ";
			}
            $sql.="P.id_suc=$suc ";
        }
        $sql.=")";
    }
	if($cuenta!=""){
		if($cuenta=="110401"){
			$sql.="AND (SE.id_tsc=".SECCION_VENTAS_NUEVOS." OR SE.id_tsc=".SECCION_VENTAS_USADOS.") ";
		}
		if($cuenta=="110403"){
			$sql.="AND (SE.id_tsc=".SECCION_REPUESTOS." OR SE.id_tsc=".SECCION_SERVICIOS." OR SE.id_tsc=".SECCION_BODEGA." OR SE.id_tsc=".SECCION_ADMINISTRACION." OR SE.id_tsc=".SECCION_SERVICIODYP.") ";
		}
	}


$sql.=")) as virtual
ORDER BY nro_documento,fecha_documento,tipo
;

";
  if ($rs=sql_query($sql)) {
         $i=0;
         while ($datos=sql_fetch_array($rs)) {
		//NO SACAR ( PARA DEJAR FUERA LOS MOVIMIENTOS DE AUTOFRANCE DE NOVIEMBRE HACIA ATRAS )
		if ($datos['rut']=='84807200-1' && compareDate($datos['fecha_documento'],'01-12-2006' )==-1) {
			continue;
		}
         $inventario_cuenta[$i]['Rut'] = $datos['rut'];
	$inventario_cuenta[$i]['Nombre'] = substr($datos['nombre'],0,21);
        $inventario_cuenta[$i]['Seccion'] = $datos['nombre_sec'];
	$inventario_cuenta[$i]['Nro_Documento'] = $datos['nro_documento'];
	$inventario_cuenta[$i]['Fecha_Documento'] = $datos['fecha_documento'];
	$inventario_cuenta[$i]['Fecha_Vencimiento'] = $datos['fecha_vencimiento'];
	$inventario_cuenta[$i]['Tipo'] = $datos['tipo'];
	$inventario_cuenta[$i]['Valor_Documento'] = $datos['valor_documento'];
	$inventario_cuenta[$i]['Saldo'] = $datos['saldo'];
	$inventario_cuenta[$i]['Abono'] = $datos['valor_documento']-$datos['saldo'];
        $i++;
         }
      }
      return $inventario_cuenta;
}




function resumen_cuentas_por_caja ($id_cca) {
// ***********************************************************************************
// * Funcion php: permite obtener una lista de los registros de los movimientos contables por caja.
// * Creada por: Luis Mella
// * Fecha: 8 de febrero de 2007
// * Datos de salida:
// *
// *
// ***********************************************************************************
$resumen_cuenta = array();
$sql="
SELECT
               ca.id_cco,
               cc.nombre_cco,
               s.nombre_sec,
               ca.afecta_cas,
               sum(monto_cas) as monto
               from asiento_contable ac
               inner join cuenta_asiento ca on (ca.id_aco=ac.id_aco)
               inner join asiento_cierre_caja acc on (acc.id_aco=ac.id_aco)
               inner join cuenta_contable cc on (cc.id_cco=ca.id_cco and cc.id_emp=ca.id_emp)
               inner join seccion s on (s.id_emp=ca.seccion_id_emp and s.id_suc=ca.seccion_id_suc and s.id_dep=ca.seccion_id_dep and s.id_sec=ca.seccion_id_sec and s.id_emp=ca.id_emp)
               where acc.id_cca=$id_cca and ac.nulo_aco='f'
               GROUP BY ca.id_cco,cc.nombre_cco,s.nombre_sec,ca.afecta_cas
               order by ca.afecta_cas
;
";
  if ($rs=sql_query($sql)) {
        $i=0;
        while ($datos=sql_fetch_array($rs)) {
	$resumen_cuenta[$i]['id_cco'] = $datos['id_cco'];
	$resumen_cuenta[$i]['nombre_cco'] = $datos['nombre_cco'];
        $resumen_cuenta[$i]['nombre_sec'] = $datos['nombre_sec'];
	$resumen_cuenta[$i]['afecta_cas'] = $datos['afecta_cas'];
	$resumen_cuenta[$i]['monto'] = $datos['monto'];
	$i++;
         }
      }
      return $resumen_cuenta;
     }

function detalle_cuentas_por_caja ($id_cca) {
// ***********************************************************************************
// * Funcion php: permite obtener una lista de los registros de los movimientos contables por caja.
// * Creada por: Luis Mella
// * Fecha: 8 de febrero de 2007
// * Datos de salida:
// *
// *
// ***********************************************************************************
$detalle_cuenta = array();
$sql="
SELECT
      ac.id_aco,
      ac.tipo_aco,
      ac.numero_aco,
      ac.fecha_aco,
      ca.id_cco,
      cc.nombre_cco,
      s.nombre_sec,
      ca.afecta_cas,
      ca.monto_cas as monto,
      ca.descripcion_cas
      from asiento_contable ac
      inner join cuenta_asiento ca on (ca.id_aco=ac.id_aco)
      inner join asiento_cierre_caja acc on (acc.id_aco=ac.id_aco)
      inner join cuenta_contable cc on (cc.id_cco=ca.id_cco and cc.id_emp=ca.id_emp)
      inner join seccion s on (s.id_emp=ca.seccion_id_emp and s.id_suc=ca.seccion_id_suc and s.id_dep=ca.seccion_id_dep and s.id_sec=ca.seccion_id_sec and s.id_emp=ca.id_emp)
      where acc.id_cca=$id_cca and ac.nulo_aco='f'
      order by ac.id_aco,ca.afecta_cas
;
";
  if ($rs=sql_query($sql)) {
        $i=0;
        while ($datos=sql_fetch_array($rs)) {
	$detalle_cuenta[$i]['tipo_aco'] = $datos['tipo_aco'];
        $detalle_cuenta[$i]['numero_aco'] = $datos['numero_aco'];
        $detalle_cuenta[$i]['fecha_aco'] = $datos['fecha_aco'];
        $detalle_cuenta[$i]['id_cco'] = $datos['id_cco'];
	$detalle_cuenta[$i]['nombre_cco'] = $datos['nombre_cco'];
        $detalle_cuenta[$i]['nombre_sec'] = $datos['nombre_sec'];
	$detalle_cuenta[$i]['afecta_cas'] = $datos['afecta_cas'];
	$detalle_cuenta[$i]['monto'] = $datos['monto'];
	$detalle_cuenta[$i]['descripcion_cas'] = $datos['descripcion_cas'];
	$i++;
         }
      }
      return $detalle_cuenta;
     }

function documento_venta_interno_lista($numero_dve=0,$tipo=0,$opcion=0, $id_emp=0, $id_suc=0, $id_dep=0, $id_sec=0, $finicio='',$ftermino='',$criterio1='',$criterio2='',$id_uco=0){
	if($finicio==""){
		$finicio="01/12/2006";
	}
   	$id_emp=($id_emp==0)?usuario_empresa():$id_emp;
	if($id_uco!=0){
     	 	$sucursales=sucursal_uco_lista_suc($id_emp,$id_uco);
    	}
   $sql="SELECT PDV.id_cpa,regresion_saldo(PDV.id_cpa,'$ftermino') as saldo_dve,DV.id_emp,DV.seccion_id_suc,DV.seccion_id_dep,DV.seccion_id_sec,DV.numero_dve,DV.id_tdo,T.nombre_tdo, DVC.id_cli,C.nombre_cli,C.id_per,P.cedula_per,P.id_pss,P.nombre_per,P.paterno_per,P.materno_per, DV.fecha_dve,DV.neto_dve,DV.iva_dve,DV.exento_dve,DV.nulo_dve,DV.visado_dve,DV.descto_dve ";
   $sql.=" FROM documento_venta DV INNER JOIN tipo_docto_venta T ON(T.id_tdo=DV.id_tdo) ";
	$sql.="INNER JOIN pago_documento_venta PDV on(PDV.id_tdo=DV.id_tdo and PDV.numero_dve=DV.numero_dve and PDV.id_emp=Dv.id_emp) " ;
   $sql.="INNER JOIN documento_venta_cliente DVC ON(DVC.id_tdo=DV.id_tdo and DVC.numero_dve=DV.numero_dve) ";
   $sql.="INNER JOIN cliente C on(C.id_cli=DVC.id_cli) ";
   $sql.="INNER JOIN persona P on(P.id_per=C.id_per) ";
   $sql.="WHERE DV.id_emp=$id_emp AND DV.id_tdo!=".TIPO_DOCTO_VENTA_ANTICIPO_CLIENTE." AND DV.id_tdo!=".TIPO_DOCTO_VENTA_PRESTAMO_CLIENTE." AND DV.nulo_dve is false and DVC.titular_dvc='t'  ";
	$sql.=" AND P.cedula_per=".sql_escape($criterio1)." AND P.id_pss=$criterio2";
   if ($numero_dve!=0){
      $sql.=" AND DV.numero_dve=$numero_dve ";
   }

   if ($id_sec!=0){
      $sql.= " AND DV.seccion_id_suc=$id_suc AND DV.seccion_id_dep=$id_dep AND DV.seccion_id_sec=$id_sec";
   }
	if(!empty($sucursales)){
		$sql.="AND (";
		for ($i=0;$i<count($sucursales);$i++){
			$suc=$sucursales[$i]["id_suc"];
			if ($i>0){
				$sql.=" or ";
			}
			$sql.="DV.seccion_id_suc=$suc ";
		}
		$sql.=")";
    	}
   if ($docto!=0){
      $sql.= "AND DV.id_tdo=$docto";
   }
   if ($tipo!=0){
      $sql.= "AND DV.id_tdo=$tipo";
   }
   if($finicio!='' && $ftermino!=''){
            $sql.=" AND DV.fecha_dve BETWEEN '$finicio' AND '$ftermino'";
      }elseif($finicio!=''){
            $sql.=" AND DV.fecha_dve>='$finicio'";
         }elseif($ftermino!=''){
               $sql.=" AND DV.fecha_dve<='$ftermino'";
      }
   $sql.=" ORDER BY DV.id_tdo,DV.numero_dve,DV.fecha_dve ";
   $orden=array();
   if ($rs=sql_query($sql)) {
      $i=0;
      while($datos=sql_fetch_array($rs)){
	if ($datos['saldo_dve']>0){
		$orden[$i]['seccion_id_suc']=$datos['seccion_id_suc'];
		$orden[$i]['seccion_id_dep']=$datos['seccion_id_dep'];
		$orden[$i]['seccion_id_sec']=$datos['seccion_id_sec'];
		$orden[$i]['id_cpa']=$datos['id_cpa'];
		$orden[$i]['numero_dve']=$datos['numero_dve'];
		$orden[$i]['id_tdo']=$datos['id_tdo'];
		$orden[$i]['id_cli']=$datos['id_cli'];
		$orden[$i]['nombre_tdo']=substr($datos['nombre_tdo'],0,2);
		$orden[$i]['fecha_dve']=$datos['fecha_dve'];
		$orden[$i]['cedula_per']=$datos['cedula_per'];
		$orden[$i]['nombre_cli']=$datos['nombre_cli'];
		$orden[$i]['nombre_per']=$datos['nombre_per'];
		$orden[$i]['paterno_per']=$datos['paterno_per'];
		if ($orden[$i]["nombre_cli"]=='' || $orden[$i]["nombre_cli"]==null ){
			$orden[$i]["nombre_cli"]=$orden[$i]["nombre_per"]." ".$orden[$i]["paterno_per"];
		}
		$orden[$i]['nulo_dve']=$datos['nulo_dve'];
		$orden[$i]['neto_dve']=$datos['neto_dve'];
		$orden[$i]['iva_dve']=$datos['iva_dve'];
		$orden[$i]['exento_dve']=$datos['exento_dve'];
		$orden[$i]['total_dve']=$datos['neto_dve']+$datos['iva_dve']+$datos['exento_dve'];
		$orden[$i]['saldo_dve']=$datos['saldo_dve'];
		$orden[$i]['visado_dve']=$datos['visado_dve'];

		$orden[$i]['descto_dve']=$datos['descto_dve'];
		$i++;
	}
      }
   }
   return $orden;
}

function buscar_documento_mov_contable($numero_dve=0,$tipo=0,$opcion=0, $id_emp=0, $id_suc=0, $id_dep=0, $id_sec=0, $finicio='',$ftermino='',$criterio1='',$criterio2='',$docto=0,$tipo_mov=''){
   $id_emp=($id_emp==0)?usuario_empresa():$id_emp;
   	$sql="SELECT DV.id_emp,DV.id_tdo,CA.seccion_id_suc,CA.seccion_id_dep,CA.seccion_id_sec,DV.numero_dve, ";
	$sql.="DV.fecha_dve,DV.neto_dve,DV.iva_dve,DV.exento_dve,DV.nulo_dve,DV.visado_dve,DV.descto_dve, ";
	$sql.="T.nombre_tdo, DVC.id_cli,C.nombre_cli,C.id_per,P.cedula_per,P.id_pss,P.nombre_per, ";
	$sql.="P.paterno_per,P.materno_per,  ";
	$sql.="CA.id_aco,CA.id_cco,CA.monto_cas,CC.nombre_cco,CA.auxiliar_id_aux,A.nombre_aux ";
	$sql.="FROM cuenta_asiento CA ";
	$sql.="LEFT JOIN auxiliar A ON(A.id_aux=CA.auxiliar_id_aux) ";
	$sql.="INNER JOIN asiento_documento_venta AD ON(AD.id_aco=CA.id_aco AND AD.correlativo_cas=CA.correlativo_cas) ";
   	$sql.="INNER JOIN documento_venta DV ON(AD.docto_id_emp=DV.id_emp and AD.docto_id_tdo=DV.id_tdo AND  AD.docto_numero_dve=DV.numero_dve) ";
	$sql.="INNER JOIN tipo_docto_venta T ON(T.id_tdo=DV.id_tdo) ";
	$sql.="INNER JOIN cuenta_contable CC on(CC.id_cco=CA.id_cco) ";
	$sql.="INNER JOIN documento_venta_cliente DVC ON(DVC.id_tdo=DV.id_tdo and DVC.numero_dve=DV.numero_dve) ";
	$sql.="INNER JOIN cliente C on(C.id_cli=DVC.id_cli) ";
	$sql.="INNER JOIN persona P on(P.id_per=C.id_per) ";
	$sql.="WHERE (substr(ca.id_cco,1,2)::integer=51 or DV.tipo_mov_dve='j') AND CA.afecta_cas='H' AND CA.tipo_movto_cas=2 AND DV.id_emp=$id_emp AND DVC.titular_dvc='t' ";
	$sql.="AND CA.id_emp=$id_emp AND A.id_emp=$id_emp AND CC.id_emp=$id_emp";
   if ($numero_dve!=0){
      $sql.=" AND DV.numero_dve=$numero_dve ";
   }
   switch($opcion){
      case 1:
         $sql.=" AND P.cedula_per=".sql_escape($criterio1)." AND P.id_pss=$criterio2";
         break;
      case 2:
         $sql.= " AND (upper(P.nombre_per) LIKE upper('$criterio1%') ";
         $sql.= "OR upper(P.paterno_per) LIKE upper('$criterio1%') OR upper(P.materno_per) LIKE upper('$criterio1%') ";
         $sql.= "OR upper(P.nombre_per)|| ' ' || upper(P.paterno_per) LIKE upper('$criterio1%')";
         $sql.= "OR upper(C.nombre_cli) LIKE upper('$criterio1%')) ";
         break;
      case 3:
         $sql.=" AND DV.numero_dve=$criterio1";
         break;
   }
   if ($id_sec!=0){
      $sql.= " AND DV.seccion_id_suc=$id_suc AND DV.seccion_id_dep=$id_dep AND DV.seccion_id_sec=$id_sec";
   }
   if ($docto!=0){
      $sql.= "AND DV.id_tdo=$docto";
   }
   if ($tipo!=0){
      $sql.= "AND DV.id_tdo=$tipo";
   }
   if($finicio!='' && $ftermino!=''){
            $sql.=" AND DV.fecha_dve BETWEEN '$finicio' AND '$ftermino'";
      }elseif($finicio!=''){
            $sql.=" AND DV.fecha_dve>='$finicio'";
         }elseif($ftermino!=''){
               $sql.=" AND DV.fecha_dve<='$ftermino'";
      }
   $sql.=" ORDER BY DV.id_tdo,DV.numero_dve,DV.fecha_dve ";
   $orden=array();
   if ($rs=sql_query($sql)) {
      $i=0;
      while($datos=sql_fetch_array($rs)){
	$orden[$i]['id_cco']=$datos['id_cco'];
	$orden[$i]['nombre_cco']=$datos['nombre_cco'];
	$orden[$i]['auxiliar_id_aux']=$datos['auxiliar_id_aux'];
	$orden[$i]['nombre_aux']=$datos['nombre_aux'];
	if ($datos['seccion_id_suc']<10){$suc="0".$datos['seccion_id_suc'];}else{$suc=$datos['seccion_id_suc'];}
	if ($datos['seccion_id_dep']<10){$dep="0".$datos['seccion_id_dep'];}else{$dep=$datos['seccion_id_dep'];}
	if ($datos['seccion_id_sec']<10){$sec="0".$datos['seccion_id_sec'];}else{$sec=$datos['seccion_id_sec'];}
	$orden[$i]['seccion']=$suc.$dep.$sec;
         $orden[$i]['numero_dve']=$datos['numero_dve'];
         $orden[$i]['id_tdo']=$datos['id_tdo'];
         $orden[$i]['nombre_tdo']=substr($datos['nombre_tdo'],0,2);
         $orden[$i]['fecha_dve']=$datos['fecha_dve'];
         $orden[$i]['cedula_per']=$datos['cedula_per'];
         $orden[$i]['nombre_cli']=$datos['nombre_cli'];
         $orden[$i]['nombre_per']=$datos['nombre_per'];
         $orden[$i]['paterno_per']=$datos['paterno_per'];
	 if ($orden[$i]["nombre_cli"]=='' || $orden[$i]["nombre_cli"]==null ){
		$orden[$i]["nombre_cli"]=$orden[$i]["nombre_per"]." ".$orden[$i]["paterno_per"];
	 }
         $orden[$i]['nulo_dve']=$datos['nulo_dve'];
	if ($orden[$i]["nulo_dve"]=='f'){
		$orden[$i]['neto_dve']=$datos['neto_dve'];
		$orden[$i]['iva_dve']=$datos['iva_dve'];
		$orden[$i]['exento_dve']=$datos['exento_dve'];
		//$orden[$i]['total_dve']=$datos['neto_dve']+$datos['iva_dve']+$datos['exento_dve'];
		$orden[$i]['total_dve']=$datos["monto_cas"];
	} else {
		$orden[$i]['neto_dve']='';
		$orden[$i]['iva_dve']='';
		$orden[$i]['exento_dve']='';
		$orden[$i]['total_dve']='NULO';
	}
        $orden[$i]['visado_dve']=$datos['visado_dve'];

	 $orden[$i]['descto_dve']=$datos['descto_dve'];
         $i++;
      }
   }
   return $orden;
}



function dia_minimo_facturacion ($dia='') {
// ***********************************************************************************
// * Funcion php: permite verificar si existe el registro señalado en la tabla origen_destino
// * Creada por: Autogenerador de funciones
// * Fecha: 26 de Abril de 2007
// * Datos de salida:
// * 		 true si existe
// * 		 false si no existe
// ***********************************************************************************


	$sql = "SELECT ";
	if ($dia=='') {
		$sql.="dia_minimo_facturacion(now()::date)-now()::date";
	} else {
		$sql.="dia_minimo_facturacion($dia)-now()::date";
	}

	if ($rs=sql_query($sql)) {
		list($total) = sql_fetch_row( $rs );
		return $total;
	}
	return 0;
}


function documento_venta_datos_guia_despacho_venta ($id_emp,$id_suc,$id_dep,$id_sec,$id_tdo,$numero_dve) {

   $tdps = array();
   $sql = "select DV.fecha_dve, DV.neto_dve, DV.iva_dve, C.id_cli, DVC.correlativo_drc, P.id_per,
		P.cedula_per, DDV.correlativo_ddv,DDV.detalle_ddv, C.nombre_cli, DC.domicilio_drc

	from documento_venta DV

	inner join documento_venta_cliente DVC
	on (DV.id_emp = DVC.id_emp and DV.numero_dve = DVC.numero_dve and DV.id_tdo = DVC.id_tdo)

	inner join cliente C
	on (DVC.id_cli = C.id_cli)

	inner join persona P
	on (C.id_per = P.id_per)

	inner join direccion_cliente DC
	on (DC.correlativo_drc = DVC.correlativo_drc and DC.id_cli = DVC.id_cli)

	inner join detalle_documento_venta DDV
	on (DV.numero_dve = DDV.numero_dve)

	where
	DV.id_tdo = $id_tdo and DV.id_emp = $id_emp and DV.seccion_id_suc = $id_suc and DV.seccion_id_dep = $id_dep
	and DV.seccion_id_sec = $id_sec
	and DV.numero_dve = $numero_dve ";

   if ($rs=sql_query($sql)) {
      $i=0;
      while ($datos=sql_fetch_array($rs)) {
         $tdps[$i]['fecha_dve'] = $datos['fecha_dve'];
	 $tdps[$i]['neto_dve'] = $datos['neto_dve'];
	$tdps[$i]['iva_dve'] = $datos['iva_dve'];
	$tdps[$i]['id_cli'] = $datos['id_cli'];
	$tdps[$i]['correlativo_drc'] = $datos['correlativo_drc'];
	$tdps[$i]['id_per'] = $datos['id_per'];
	$tdps[$i]['cedula_per'] = $datos['cedula_per'];
	$tdps[$i]['correlativo_ddv'] = $datos['correlativo_ddv'];
	$tdps[$i]['detalle_ddv'] = $datos['detalle_ddv'];
	$tdps[$i]['nombre_per'] = $datos['nombre_cli'];
	$tdps[$i]['domicilio_drc'] = $datos['domicilio_drc'];


         $i++;
      }
   }
   return $tdps;
}

function documento_venta_por_meson($fecha_inicio,$fecha_fin,$id_usu)
{
	$sql=" SELECT TDV.nombre_tdo, DV.id_tdo, DV.numero_dve, DV.fecha_dve, DV.neto_dve, DV.iva_dve, DV.exento_dve , NV.codigo_nve, C.codigo_cot, C.fecha_cot, P.paterno_per, P.materno_per, P.nombre_per  FROM documento_venta DV JOIN documento_venta_nv using (numero_dve, id_tdo, id_emp) JOIN tipo_docto_venta TDV using (id_tdo)  JOIN documento_venta_cliente using (numero_Dve, id_emp, id_tdo) JOIN cliente using (id_cli) JOIN persona P using (id_per)
JOIN nota_venta NV using(id_nve) LEFT JOIN cotizacion_nv CNV using (id_nve) LEFT JOIN cotizacion C using (id_cot)
WHERE NV.id_usu=$id_usu and DV.fecha_dve>='$fecha_inicio' and DV.fecha_dve<='$fecha_fin' and DV.nulo_dve is false and (DV.id_tdo=1 or DV.id_tdo=4) and (DV.tipo_nc_dve is NULL or DV.tipo_nc_dve<>1)
order by numero_dve";

	if ($rs=sql_query($sql)) {
      		$i=$total=0;
      		while ($datos=sql_fetch_array($rs)) {
			$tdps[$i]['nro'] = $i+1;
			$tdps[$i]['nombre_tdo'] = $datos['nombre_tdo'];
			$tdps[$i]['id_tdo'] = $datos['id_tdo'];
			$tdps[$i]['numero_dve'] = $datos['numero_dve'];
			$tdps[$i]['fecha_dve'] = $datos['fecha_dve'];
			$tdps[$i]['neto_dve'] = $datos['neto_dve'];
			$tdps[$i]['iva_dve'] = $datos['iva_dve'];
			$tdps[$i]['exento_dve'] = $datos['exento_dve'];
			$tdps[$i]['codigo_nve'] = $datos['codigo_nve'];
			$tdps[$i]['codigo_cot'] = $datos['codigo_cot'];
			$tdps[$i]['fecha_cot'] = $datos['fecha_cot'];
			$cliente=$datos['paterno_per']." ".$datos['materno_per']." ".$datos['nombre_per'];
			$tdps[$i]['cliente'] = trim($cliente);
			$total=$total+$datos['neto_dve'];
			$i++;
      		}
			$tdps[$i]['nro'] = "";
			$tdps[$i]['nombre_tdo'] = "";
			$tdps[$i]['id_tdo'] = "";
			$tdps[$i]['numero_dve'] = "";
			$tdps[$i]['fecha_dve'] = "";
			$tdps[$i]['neto_dve'] = $total;
			$tdps[$i]['iva_dve'] = "";
			$tdps[$i]['exento_dve'] = "";
			$tdps[$i]['codigo_nve'] = "";
			$tdps[$i]['codigo_cot'] = "";
			$tdps[$i]['fecha_cot'] = "";
			$tdps[$i]['cliente'] = "";

   	}
   return $tdps;




}


}//final de apis
?>
