// Datos del tramite
 $idTramite	       = $_POST["idTramite"];
 $observaciones	   = $_POST["observaciones"];     
 
 // Carga datos del tramite
 $Tramite	= new Tramite();
 $Tramite->Load_Tramite($idTramite);
 $fecha_Comprobacion = $Tramite->Get_dato("t_fecha_registro");
 $aprobador          = $Tramite->Get_dato("t_dueno");
 $t_etapa_actual     = $Tramite->Get_dato("t_etapa_actual"); 
 $t_flujo            = $Tramite->Get_dato("t_flujo"); 
 $iniciador          =  $Tramite->Get_dato("t_iniciador");
 
 // Carga datos de la comprobacion
 $Comprobacion = new Comprobacion();
 $Comprobacion->Load_Comprobacion($idTramite);
 $TipoComp           = $Comprobacion->Get_dato("co_tipo");           // Tipo de comprobacion: 1: Viaje, 2: Amex, 3: Caja Chica              
 $cc_id_comprobacion = $Comprobacion->Get_dato("co_cc_clave");       // El ceco se captura en el alta de la comprobacion       
 $co_fecha_registro  = $Comprobacion->Get_dato("co_fecha_registro"); // Fecha de la comprobacion
 $co_id              = $Comprobacion->Get_dato("co_id");
 $co_total           = $Comprobacion->Get_dato("co_total");
 $co_total_aprobado  = $Comprobacion->Get_dato("co_total_aprobado");
 $co_pendiente       = $co_total - $co_total_aprobado;   // Cuanto falta por aprobar
                         
 // Datos del aprobador
 $Usuario		= new Usuario();
 $DatosAprobador = $Usuario ->Load_Usuario_By_ID($aprobador);
 $NumAprobador   = $Usuario ->Get_dato("u_usuario");
 
 // Actualiza las observaciones de la comprobacion
$pdf->AddFont('consola', 'I', 'consolai.php');
$pdf->AliasNbPages();
$pdf->AddPage();
$cnn = new conexion();
$idTramite = $_GET['id'];
//Se cargan los comensales de la comprobacion de invitacion
$comensales = new Comensales();
$invitados = $comensales->Load_comensales_by_tramite($idTramite);
// Carga datos de autorizadores
$rutaAutorizacion = new RutaAutorizacion();
$autorizadores = $rutaAutorizacion->getNombreAutorizadores($idTramite);
//Se carga el tramite de la comprobacion
$tramite = new Tramite();
$tramite->Load_Tramite($idTramite);
//Se carga la comprobacion
$comp_inv = new Comprobacion();
$comp_inv->Load_Comprobacion_Invitacion_By_co_mi_tramite($idTramite);
//Se obtiene el id del tramite de la solicitud de invitacion
$id_tramite_sol_inv = $comp_inv->Get_dato("co_tramite");
//Se carga la solicitud de invitacion a la que hace referencia la comprobacion
$sol_inv = new C_SV();
$sol_inv->Load_Solicitud_Invitacion_Tramite($id_tramite_sol_inv);
//Datos de la comprobacion
$idComprobacion = $comp_inv->Get_dato("co_id");
$co_fecha_registro = cambiarFormatoFecha($comp_inv->Get_dato("co_fecha_registro"));
$co_tipo = $comp_inv->Get_dato("co_tipo");
$motivo = $comp_inv->Get_dato("co_motivo");
$ciudad = $comp_inv->Get_dato("co_ciudad");
$co_tramite = $comp_inv->Get_dato("co_tramite");
$co_cc_clave = $comp_inv->Get_dato("co_cc_clave");
$subtotal_comp = number_format($comp_inv->Get_dato("co_subtotal"), 2, ".", ",");
Beispiel #3
0
 /**
  * Enter description here...
  *
  * @param unknown_type $tramite
  */
 public function Notificar($tramite, $comentario = "Ninguna", $TipoSolicitud, $etapaComp = "", $coTipo = "")
 {
     //Se agrego $etapaComp para las comprobaciones ya autorizadas.
     //session_start();
     $cad_iniciador = "";
     $cad_grupo = "";
     $cad_usuario = "";
     $U = new Usuario();
     file_put_contents("setsion.txt", $_SESSION["idusuario"]);
     $U->Load_usuario($_SESSION["idusuario"]);
     //echo $_SESSION["idusuario"]." dso";
     $NameUser = $U->Get_dato("u_nombre") . " " . $U->Get_dato("u_paterno") . " " . $U->Get_dato("u_materno");
     $T = new Tramite();
     $F = new Flujo();
     $C = new Comprobacion();
     //$E	= new Etapa();
     $T->Load_Tramite($tramite);
     //$F->Load($T->Get_dato("t_flujo"));
     //$E->Load_Etapa($T->Get_dato("t_etapa_actual"));
     //$nombre_tramite=$F->Get_dato("f_nombre");
     $cad_grupo = "La " . $TipoSolicitud . " No.  <strong>" . sprintf("%05s", $tramite) . "</strong>";
     $cad_iniciador = $cad_grupo;
     $cad_usuario = $cad_grupo;
     $etapa = "";
     if ($T->Get_dato("t_cerrado") == 1) {
         //SI EL TRAMITE SE CERRO
         if ($T->Get_dato("t_cancelado") == 0) {
             $cad_iniciador .= " ha sido <strong> Aprobada </strong> por <strong>{$NameUser}</strong> y  <strong>Cerrada Correctamente</strong> ";
             $etapa = "AUTORIZADA";
             $cad_usuario = "";
             $cad_grupo = "";
         } else {
             $etapa = "CANCELADA";
             $cad_iniciador .= " ha sido <strong>Cancelada</strong> por <strong>{$NameUser}</strong> ";
             $cad_grupo = "";
             $cad_usuario = "";
         }
     } else {
         //PASA A UNA ETAPA DETERMINADA
         //$et_ant=$this->etapa_anterior($T->Get_dato("t_etapa_actual"));
         if ($T->Get_dato("t_etapa_actual") == 2) {
             //SE ACABA DE CAPTURAR
             $cad_usuario .= " ha sido <strong>Generada</strong>";
             $cad_iniciador .= " ha sido <strong>Generada</strong> Correctamente";
             $etapa = "GENERADA";
         } elseif ($T->Get_dato("t_etapa_actual") == 3 && $etapaComp == "") {
             $cad_usuario .= " ha sido <strong>Generada</strong>";
             $cad_iniciador .= " ha sido <strong>Generada</strong> Correctamente";
             $etapa = "GENERADA";
         } elseif ($T->Get_dato("t_etapa_actual") == 3 && isset($etapaComp) && !empty($etapaComp)) {
             $cad_usuario .= " ha sido <strong>Generada</strong>";
             $cad_iniciador .= " ha sido <strong> Aprobada </strong> por <strong>{$NameUser}</strong> y pasa a la siguiente etapa para su aprobación";
             $etapa = "APROBADA";
         } else {
             $cad_iniciador .= " ha sido <strong>APROBADA</strong> por <strong>{$NameUser}</strong> y pasa a la siguiente Etapa para su Aprobación.";
             $etapa = "APROBADA";
         }
         /*if($T->Get_dato("t_grupo")>0){//ES UN GRUPO
         				$G	= new Grupo();
         				$G->Load_data($T->Get_dato("t_grupo"));
         	
         				//$cad_grupo		.=" ha sido asignada al Grupo: <strong>" . $G->Get_dato("g_nombre") . "</strong> y queda en espera de su aprobacion";
         				$cad_grupo			.=" ha sido asignada a tu Grupo para su Aprobación";
         				//MANDAMOS NOTIFICACION PARA TODO EL GRUPO
         				$this->Notifica_grupo($T->Get_dato("t_id"),$cad_grupo,$T->Get_dato("t_grupo"),$comentario);
         				$cad_usuario	="";		
         			}
         			else{*/
         $cad_grupo = "";
         $cad_usuario .= " y te ha sido Asignada para su Aprobación.";
         //MANDAMOS A INSERTAR LA NOTIFICACION
         //}
     }
     $U_Iniciador = new Usuario();
     $U_Iniciador->Load_usuario($T->Get_dato("t_iniciador"));
     if ($T->Get_dato("t_iniciador") != $T->Get_dato("t_owner")) {
         $this->Add($cad_iniciador, $T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_usuario"));
         $this->envia_mail_iniciador($T->Get_dato("t_id"), $T->Get_dato("t_iniciador"), $etapa, $TipoSolicitud, $comentario);
     }
     if ($TipoSolicitud == "Comprobacion") {
         if ($coTipo != "2") {
             $C->Load_Comprobacion($tramite);
             $co_id = $C->Get_dato("co_id");
             $query = sprintf("SELECT * FROM detalle_comprobacion where dc_comprobacion=%s", $co_id);
             $rst = parent::consultar($query);
             if ($fila = mysql_fetch_assoc($rst)) {
                 if (trim($cad_usuario != "")) {
                     $U_Iniciador->Load_usuario($fila['dc_responsable']);
                     $this->Add($cad_usuario, $T->Get_dato("t_id"), $fila['dc_responsable']);
                     $this->envia_mail_usuario($T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_id"), $TipoSolicitud, $T->Get_dato("t_iniciador"), $comentario);
                 }
             }
         } else {
             $C->Load_Comprobacion_Amex($tramite);
             $co_id = $C->Get_dato_amx("co_id");
             $query = sprintf("SELECT * FROM detalle_comprobacion_amex where dca_comprobacion=%s", $co_id);
             $rst = parent::consultar($query);
             if ($fila = mysql_fetch_assoc($rst)) {
                 if (trim($cad_usuario != "")) {
                     $U_Iniciador->Load_usuario($fila['dca_responsable']);
                     $this->Add($cad_usuario, $T->Get_dato("t_id"), $fila['dca_responsable']);
                     $this->envia_mail_usuario($T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_id"), $TipoSolicitud, $T->Get_dato("t_iniciador"), $comentario);
                 }
             }
         }
     } else {
         if (trim($cad_usuario != "")) {
             $U_Iniciador->Load_usuario($T->Get_dato("t_owner"));
             $this->Add($cad_usuario, $T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_usuario"));
             $this->envia_mail_usuario($T->Get_dato("t_id"), $T->Get_dato("t_owner"), $TipoSolicitud, $T->Get_dato("t_iniciador"), $comentario);
         }
     }
 }
         echo $queryActualizaE = sprintf("UPDATE periodo_presupuestal SET pp_presupuesto_disponible='%s',pp_presupuesto_utilizado='%s' WHERE pp_id='%s'", $DPPdisponible, $DPPutilizado, $idPP);
         $cnn->ejecutar($queryActualizaE);
     }
     exit(header("Location: ./index.php?okAut"));
 }
 if ($modo == "enviarSupervisor") {
     $montoToleranciaSupervisorFnanzas = ULT_APROBACION;
     $anticipoComprobado = $_POST["anticipoComprobado"];
     $personalComprobado = $_POST["personalComprobado"];
     $amexComprobado = $_POST["amexComprobado"];
     $efectivoComprobado = $_POST["efectivoComprobado"];
     $amexExternoComprobado = $_POST["amexExternoComprobado"];
     $montoDescotar = $_POST["montoDescotar"];
     $montoReembolsar = $_POST["montoReembolsar"];
     $totalComprobado = $totalComprobado;
     $comprobacion = new Comprobacion();
     $comprobacion->Load_Comprobacion_By_co_mi_tramite($idTramite);
     $comprobacion->ActualizarResumenFinanzas($idTramite, $anticipoComprobado, $personalComprobado, $amexExternoComprobado, $efectivoComprobado, $montoDescotar, $montoReembolsar, $amexExternoComprobado, $totalComprobado);
     $idComprobacion = $comprobacion->Get_dato("co_id");
     $usuario = new Usuario();
     $siguienteDueno = $totalComprobado <= $montoToleranciaSupervisorFnanzas ? $usuario->getGerenteSFinanzas(SUPERVISOR_FINANZAS) : $usuario->getGerenteSFinanzas(GERENTE_FINANZAS);
     $sql = "DELETE \n\t\t\t\t\tFROM detalle_comprobacion \n\t\t\t\t\tWHERE dc_comprobacion = '{$idComprobacion}'";
     $cnn->ejecutar($sql);
     for ($i = 1; $i <= $rows; $i++) {
         $tipoComprobacion = $_POST['row_tipoComprobacion' . $i];
         $noTransaccion = $_POST['row_noTransaccion' . $i] == "N/A" ? 0 : $_POST['row_noTransaccion' . $i];
         $cargoTarjeta = $_POST['row_cargoTarjeta' . $i];
         $concepto = $_POST['row_concepto' . $i];
         $tipoComida = $_POST['row_tipoComida' . $i] == "N/A" ? 0 : $_POST['row_tipoComida' . $i];
         $comentario = $_POST['row_comentario' . $i];
         $asistentes = $_POST['row_asistentes' . $i];
Beispiel #5
0
function obtener_ruta_de_autorizacion_de_comprobacion_viaje($id_tramite)
{
    $t_ruta_autorizacion = "";
    $id_agencia = "";
    $id_director_de_area = "";
    $id_director_general = "";
    $id_controlling = "";
    $id_finanzas = "";
    $agencia = true;
    $dir_area = true;
    $dir_gral = true;
    $controlling = true;
    $finanzas = true;
    //Cargamos la comprobacion de viaje en base al tramite
    $compViaje = new Comprobacion();
    $compViaje->Load_Comprobacion_By_co_mi_tramite($id_tramite);
    //Se obtiene el ID del usuario de agencia
    $usuario_aux = new Usuario();
    $id_agencia = $usuario_aux->Get_Id_by_Tipo("4");
    //El 4 es el ID del tipo agencia actualmente 16/abr/2012
    //El primer autorizador es el "Gerente de area",
    //osea el responsable del centro de costos de la comprobacion de invitacion.
    $cc_id = $compViaje->Get_dato("co_cc_clave");
    $cc = new CentroCosto();
    $cc->Load_CeCo($cc_id);
    $id_gerente_de_area = $cc->Get_Dato("cc_responsable");
    /*	
    	//Se checa si el usuario es de "BMW Financial Services".
    	$tramite = new Tramite();
    	$tramite->Load_Tramite($id_tramite);
    	$id_iniciador = $tramite->Get_dato("t_iniciador");
    	
    	$usuario = new Usuario();
    	$usuario->Load_Usuario_By_ID($id_iniciador);
    	$usu_empresa = $usuario->Get_dato("u_empresa");
    	if($usu_empresa == "2"){
    		$dir_gral = true;
    	}else{
    		//Se checa si existe un invitado de tipo "Gobierno".
    		$comensales = new Comensales();
    		$comensales_array = $comensales->Load_comensales_by_tramite($id_tramite);
    		$no_invitados = count($comensales_array);
    		for($i=0;$i<$no_invitados;$i++){
    			if($comensales_array[$i]['dci_tipo_invitado'] == "Gobierno"){
    				$dir_gral = true;
    				break;
    			}
    		}
    		if($dir_gral == true){
    		}else{
    			//Se checa si el monto solicitado por persona es mayor a 50 EUR.
    			$si_monto_pesos = $sol_inv->Get_dato("si_monto_pesos");
    			
    			$divisa = new Divisa();
    			$divisa->Load_data("3"); //div_id de EUR = 3
    			$tasa_eur = $divisa->Get_dato("div_tasa");
    			
    			$monto_x_persona = $si_monto_pesos/$tasa_eur/$no_invitados;
    			if($monto_x_persona > 50){
    				$dir_gral = true;
    			}
    		}
    	}
    */
    $usuario = new Usuario();
    //El segundo autorizador es el "Director de area".
    if ($dir_area == true) {
        $id_director_de_area = $cc->Get_Dato("cc_director_de_area");
    }
    $agrup_usu = new AgrupacionUsuarios();
    //El cuarto autorizador es el "Controlling".
    if ($controlling == true) {
        $agrup_usu->Load_Grupo_de_Usuario_By_Nombre('Controlling');
        $id_controlling = $agrup_usu->Get_dato("au_id");
    }
    //El quinto autorizador es el "Finanzas".
    if ($finanzas == true) {
        $agrup_usu->Load_Grupo_de_Usuario_By_Nombre('Finanzas');
        $id_finanzas = $agrup_usu->Get_dato("au_id");
    }
    //Se arma la ruta de autorizacion
    $t_ruta_autorizacion = $id_agencia . "|" . $id_gerente_de_area;
    if ($dir_area == true && $id_director_de_area != "") {
        if (existe_substr($t_ruta_autorizacion, $id_director_de_area, "|") == false) {
            $t_ruta_autorizacion .= "|" . $id_director_de_area;
        }
    }
    if ($dir_gral == true && $id_director_general != "") {
        if (existe_substr($t_ruta_autorizacion, $id_director_general, "|") == false) {
            $t_ruta_autorizacion .= "|" . $id_director_general;
        }
    }
    if ($controlling == true && $id_controlling != "") {
        if (existe_substr($t_ruta_autorizacion, $id_controlling, "|") == false) {
            $t_ruta_autorizacion .= "|" . $id_controlling;
        }
    }
    if ($finanzas == true && $id_finanzas != "") {
        if (existe_substr($t_ruta_autorizacion, $id_finanzas, "|") == false) {
            $t_ruta_autorizacion .= "|" . $id_finanzas;
        }
    }
    return $t_ruta_autorizacion;
}
 public function agregaAutorizadoresExcedentes($idTramite, $excepciones)
 {
     $autorizadoresExcedentes = '';
     $excepciones = json_decode($excepciones);
     //error_log("Excepciones por politica: ".$excepciones->noExcepcionesPoliticas);
     //error_log("Excepciones por presupuesto: ".$excepciones->noExcepcionesPresupuesto);
     $tramites = new Tramite();
     $tramites->Load_Tramite($idTramite);
     $rutaAutorizacion = $tramites->Get_dato('t_ruta_autorizacion');
     $flujoTramite = $tramites->Get_dato('t_flujo');
     $autorizador = $this->get_administrador();
     $bandera_Anticipo = $this->requiereAnticipo($idTramite);
     switch ($flujoTramite) {
         case FLUJO_SOLICITUD:
             $autorizadoresExcedentes = $excepciones->noExcepcionesPresupuesto != 0 ? "|" . $this->get_controller() : '';
             $autorizadoresExcedentes .= !$this->requiereAgencia($idTramite) ? "|" . $this->get_administrador() : '';
             $autorizadoresExcedentes .= $this->requiereAgencia($idTramite) && $bandera_Anticipo == true ? "|" . $this->get_administrador() : '';
             break;
         case FLUJO_SOLICITUD_GASTOS:
             $autorizadoresExcedentes = $excepciones->noExcepcionesPoliticas != 0 ? "|" . $this->get_controlInterno() : '';
             $autorizadoresExcedentes .= "|" . $this->get_administrador();
             break;
         case FLUJO_COMPROBACION:
             $comprobaciones = new Comprobacion();
             $comprobaciones->Load_Comprobacion_By_co_mi_tramite($idTramite);
             $tramiteSolicitud = $comprobaciones->Get_dato('co_tramite');
             $autorizadoresExcedentes = $excepciones->noExcepcionesPoliticas != 0 ? "|" . $this->get_controlInterno() : '';
             $autorizadoresExcedentes .= $tramiteSolicitud == -1 && $excepciones->noExcepcionesPresupuesto != 0 ? "|" . $this->get_controller() : '';
             $autorizadoresExcedentes .= "|" . $this->get_administrador();
             break;
         case FLUJO_COMPROBACION_GASTOS:
             $autorizadoresExcedentes = $excepciones->noExcepcionesPoliticas != 0 ? "|" . $this->get_controlInterno() : '';
             $autorizadoresExcedentes .= "|" . $this->get_administrador();
             break;
     }
     $query = sprintf("UPDATE tramites SET t_ruta_autorizacion = CONCAT(t_ruta_autorizacion, '%s') WHERE t_id = '%s'", $autorizadoresExcedentes, $idTramite);
     parent::ejecutar($query);
 }
    $idcargoAmex = $_POST['idcargoAmex'];
    //Id del concepto personal
    $concepto = new Concepto();
    $concepto->Load_Concepto_By_Nombre($conceptoPersonal);
    $conceptoP = $concepto->Get_Dato("dc_id");
    error_log("Id Concepto: " . $conceptoP);
    //conversion de divisa
    if ($divisa == "MXN") {
        $divisaId = 1;
    } elseif ($divisa == "USD") {
        $divisaId = 2;
    } elseif ($divisa == "EUR") {
        $divisaId = 3;
    }
    $comentarioCodificado = utf8_decode($comentario);
    $comprobacion = new Comprobacion();
    $comprobacion->ActualizarCamposAprobados($idtramitefin, $tipoAnticipo, $notransaccion, $fecha, $comentarioCodificado, $monto, $propina, $iva, $imphospedaje, $total, $divisaId, $conceptoP, $detalleProcedente, $idcargoAmex);
}
if (isset($_POST['tramitePersonales'])) {
    $cnn = new conexion();
    $idtramitefin = $_POST['tramitePersonales'];
    $dc_id = 0;
    $query = sprintf("SELECT dc_id FROM detalle_comprobacion\n\t\t\tINNER JOIN comprobaciones ON co_id = dc_comprobacion\n\t\t\tWHERE dc_concepto = '31' AND co_mi_tramite = '%s'", $idtramitefin);
    //error_log($query);
    $rst = $cnn->consultar($query);
    while ($arr = mysql_fetch_assoc($rst)) {
        $dc_id = $arr['dc_id'];
        $query = sprintf("DELETE FROM detalle_comprobacion WHERE dc_id = '%s'", $dc_id);
        //error_log($query);
        $cnn->ejecutar($query);
    }
 } else {
     $cTipo_id = 3;
 }
 $co_subtotal = $_POST['co_subtotal'];
 $co_iva = $_POST['co_iva'];
 $observ = $_POST['observ'];
 $invitacionLug = $_POST['lugar_inv'];
 $fecha_inv = $_POST['fechainvitacion'];
 $excedente = $_POST['banderavalida'];
 $tot_invitados = $_POST['numInvitados'];
 $co_ciudad = $_POST['co_ciudad_data'];
 $sesionDelegado = $_POST['delegado'];
 $co_amex_comprobado = $_POST['t_amex_comprobado'];
 $co_efectivo_comprobado = $_POST['t_reembolso'];
 // Registra nueva comprobacion
 $comprobacion = new Comprobacion();
 $concepto = new Concepto();
 $concepto->Load_Concepto_By_Nombre("Comidas  Invitacion");
 // Guarda los detalles de la comprobacion
 $cDate = $_POST['fecha'];
 $cConc = $concepto->Get_Dato("dc_id");
 if (isset($_POST['moneda'])) {
     $cExch = $_POST['moneda'];
 } else {
     $cExch = "1";
 }
 // Guardar campo del IVA
 if ($cExch == "1") {
     $cImp = str_replace(",", "", $_POST['impuesto']);
     $cImp_porc = 0;
     if ($cImp != 0) {
Beispiel #9
0
function CreateComprobacionAmex3($bu, $depto, $usuario, $fecha, $concepto1, $subtotal1, $iva1, $tasa1, $concepto2, $subtotal2, $iva2, $tasa2, $concepto3, $subtotal3, $iva3, $tasa3)
{
    $comprobacion = new Comprobacion();
    $comprobacion->TRAMITE_ID = getNextTramiteID();
    $comprobacion->BUSINESS_UNIT = $bu;
    $comprobacion->ID_DEPTO = $depto;
    $comprobacion->ID_USUARIO = $usuario['vendor'];
    $comprobacion->ID_PRODUCTO = $usuario['producto'];
    $comprobacion->ID_VENDOR = $usuario['vendor'];
    $comprobacion->FECHA = $fecha;
    $comprobacion->AgregaLineaDeConcepto($concepto1['nombre'], $concepto1['cuenta'], $subtotal1, $iva1, $tasa1);
    $comprobacion->AgregaLineaDeConcepto($concepto2['nombre'], $concepto2['cuenta'], $subtotal2, $iva2, $tasa2);
    $comprobacion->AgregaLineaDeConcepto($concepto3['nombre'], $concepto3['cuenta'], $subtotal3, $iva3, $tasa3);
    $conn = new ConexionERP();
    $conn->Conectar();
    error_log('');
    error_log('// --------- ComprobacionAmex');
    $conn->Registra_ComprobacionAmex($comprobacion);
    $conn->Desconectar();
}
Beispiel #10
0
function GuardaComprobacionesAmex($valida = false)
{
        #Leer todas las comprobaciones sencillas cuyo STATUS_ERP = 1 y co_tipo = 2 (AMEX)
        $VConn = new conexion();

        $VSql = "SELECT
                    *
                 FROM
                     comprobaciones
                         inner join tramites on (t_id = co_mi_tramite)
                         inner join usuario on (t_iniciador = u_id)
                         inner join empresas on (u_empresa = e_id)             
                         inner join cat_cecos on (cc_id = co_cc_clave)                                                            
                 WHERE
                     (co_tipo = 2) AND 
                     co_status_erp = 1";

        $VRes = $VConn->consultar($VSql);
        $Filas = mysql_num_rows($VRes);
        
        #Por cada comprobacion se guarda en el ERP un registro
        $conn = new ConexionERP();
        $conn->Conectar();

        for($i=0; $i<$Filas; $i++)
        {

            #tramite de la comprobacion
            $TRAMITE_ID = mysql_result($VRes,$i,"t_id");

            #leer los datos por cada fila que saque el query e insertar una fila por cada registro...
            $MONTO_TOTAL = mysql_result($VRes,$i,"co_total"); #monto total de la comprobacion
            $BUSINESS_UNIT = mysql_result($VRes,$i,"e_codigo");
            $FECHA = mysql_result($VRes,$i,"t_fecha_cierre");
            $ID_USUARIO = mysql_result($VRes,$i,"t_iniciador");
            $ID_PRODUCTO = mysql_result($VRes,$i,"u_producto");
            $ID_VENDOR = mysql_result($VRes,$i,"u_proveedor");
            $ID_ANTICIPO_RELACIONADO = mysql_result($VRes,$i,"co_tramite");
            $TIPO = mysql_result($VRes,$i,"co_tipo");
            $ID_COMPROBACION = mysql_result($VRes,$i,"co_id");
            
            
            #sacar los centros de costo a los cuales se guardaron los montos de la comprobacion
            $Ceco = "SELECT * FROM ceco_detalle INNER JOIN cat_cecos ON (ceco_detalle_ceco = cc_id) WHERE ceco_detalle_tramite = $TRAMITE_ID";
            $ResCeco = $VConn->consultar($Ceco);
            $NumCecosEnComprovacion = mysql_num_rows($ResCeco);
            
            #
            # convertimos los valores de los centros de costos a porcentajes
            #

            # 1. Sacamos el porcentaje por ceco.
            $porcentajePorCECO = Array();
            while($CentroCostos = mysql_fetch_assoc($ResCeco))
            {
                $MontoCeco = $CentroCostos["ceco_detalle_cantidad"];
                $Ceco = $CentroCostos["cc_centrocostos"];
                $porcentajePorCECO[$Ceco] = ($MontoCeco * 100) / $MONTO_TOTAL;
            }
            //error_log(print_r($porcentajePorCECO, True));
            
            # 2. Creamos una comprobacion por cada centro de costos
            # $BANDERA = false;
            $contadorCeco = 0;
            $TRAMITE_ID = getTramiteID($TRAMITE_ID);
            foreach ($porcentajePorCECO as $ceco => $porcentaje)
            {
                $TRAMITE_ID = $TRAMITE_ID + $contadorCeco;
                $contadorCeco = $contadorCeco + 1;

                # Saca los conceptos de la comprobacion
                $LineaComprobacion = "
                    SELECT
                        d.dc_id AS ID,
                        d.dc_concepto,
                        d.dc_monto,
                        d.dc_iva,
                        d.dc_total,
                        d.dc_porcentaje_iva,
                        c.dc_id AS IdConcepto,
                        c.cp_concepto,
                        c.cp_cuenta
                    FROM
                        detalle_comprobacion d,
                        cat_conceptos c
                    WHERE
                         d.dc_concepto = c.dc_id AND
                         dc_comprobacion = $ID_COMPROBACION";

                //array_push($arr, $ID_COMPROBACION);

                #crear el objeto de la clase de comprobacion
                $Comprobacion = new Comprobacion();
         
               //echo "<BR>";
                $ResLineas = $VConn->consultar($LineaComprobacion);
                $FilLineas = mysql_num_rows($ResLineas);

                #if(!$BANDERA)
                for($l=0; $l<$FilLineas; $l++)
                {
                    #$BANDERA = TRUE;
                    #se sacan los datos de los detalles de la comprobacion por cada comprobacion
                    $ID_CONCEPTO = mysql_result($ResLineas, $l, "IdConcepto");
                    $CONCEPTO = mysql_result($ResLineas, $l, "cp_concepto");
                    $CUENTA = mysql_result($ResLineas, $l, "cp_cuenta");
                    $MONTO_SUBTOTAL = mysql_result($ResLineas, $l, "dc_monto");
                    $MONTO_IVA = mysql_result($ResLineas, $l, "dc_iva");
                    $MONTO_TOTAL = mysql_result($ResLineas, $l, "dc_total");
                    $TASA_IVA = mysql_result($ResLineas, $l, "dc_porcentaje_iva");

                    $linea = new LineaComprobacion();
                    $linea->ID_CONCEPTO = $ID_CONCEPTO;
                    $linea->CONCEPTO = $CONCEPTO;
                    $linea->CUENTA = $CUENTA;
                    $linea->MONTO_SUBTOTAL = ($MONTO_SUBTOTAL * $porcentaje) / 100;
                    $linea->MONTO_IVA = ($MONTO_IVA * $porcentaje) / 100;
                    $linea->MONTO_TOTAL = $MONTO_SUBTOTAL + $MONTO_IVA;
                    $linea->TASA_IVA = $TASA_IVA / 100;
                    $Comprobacion->AgregaLinea($linea);
                }
                
                #asignar datos a variables de la comprobacion
                $Comprobacion->TIPO = $TIPO;
                $Comprobacion->TRAMITE_ID = $TRAMITE_ID;
                $Comprobacion->BUSINESS_UNIT = $BUSINESS_UNIT;
                $Comprobacion->ID_USUARIO = $ID_USUARIO;
                $Comprobacion->ID_PRODUCTO = $ID_PRODUCTO;
                $Comprobacion->ID_DEPTO = $ceco; 
                $Comprobacion->FECHA = $FECHA;
                $Comprobacion->MONTO_TOTAL = $MONTO_TOTAL;
                $Comprobacion->ID_VENDOR = $ID_VENDOR;
                //$Comprobacion->ID_ANTICIPO_RELACIONADO = getTramiteID($ID_ANTICIPO_RELACIONADO);
                
                if($valida){
                    global $VALIDACIONES;
                    $VALIDACIONES = $VALIDACIONES . "Comprobante Amex: $TRAMITE_ID\n";
                    $Comprobacion->Valida();
                    $VALIDACIONES = $VALIDACIONES . "------------------------------\n";
                    
                } else {
                    
                    #Guardar la comprobacion
                    $conn->Registra_ComprobacionAmex($Comprobacion);
                                        
                }                   
                            
            }
            
            if (!$valida){
            
                #Modificar el status_erp del tramite a enviado a ERP ($ESTATUS_ERP_ENVIADO = 2)
                $VUpdt = "UPDATE comprobaciones SET co_status_erp  = 2 WHERE co_id = $ID_COMPROBACION";
                $VExecute = $VConn->insertar($VUpdt);
                #echo "Comprobacion $TRAMITE_ID realizada....";                
                
            }
        }
        $conn->Desconectar();    

}