예제 #1
0
 public function tratar_tipos($accion)
 {
     if ($accion == 'agregar') {
         $tipo_comprobante = filter_input(INPUT_POST, 'tipo_comprobante');
         $descripcion = filter_input(INPUT_POST, 'descripcion');
         $clase_movimiento = filter_input(INPUT_POST, 'clase_movimiento');
         $ventas = filter_input(INPUT_POST, 'ventas');
         $compras = filter_input(INPUT_POST, 'compras');
         $contribuyente = filter_input(INPUT_POST, 'contribuyente');
         $estado = filter_input(INPUT_POST, 'estado');
         $tc0 = new ncf_tipo();
         $tc0->tipo_comprobante = strtoupper(strip_tags(trim($tipo_comprobante)));
         $tc0->descripcion = strtoupper(strip_tags(trim($descripcion)));
         $tc0->clase_movimiento = $clase_movimiento;
         $tc0->ventas = $ventas;
         $tc0->compras = $compras;
         $tc0->contribuyente = $contribuyente;
         $tc0->estado = $estado ? "TRUE" : "FALSE";
         if ($tc0->save()) {
             $this->new_message('¡Tipo de comprobante agregado con exito!');
         } else {
             $this->new_error_msg('Ocurrio un error al intengar agregar el Tipo de comprobante, por favor revise los datos ingresados.');
         }
     } elseif ($accion == 'eliminar') {
         $tipo_comprobante = filter_input(INPUT_POST, 'tipo_comprobante');
         $tc1 = new ncf_tipo();
         $registro = $tc1->get($tipo_comprobante);
         if ($registro->delete()) {
             $this->new_message('¡Tipo de comprobante eliminado con exito!');
         } else {
             $this->new_error_msg('Ocurrio un error al tratar de eliminar el Tipo de comprobante, por favor verifique los datos');
         }
     } else {
         $this->new_error_msg('Se recibió una solicitud incompleta.');
     }
 }
 public function procesar_facturas($valores_id, $archivo = FALSE)
 {
     if (!empty($valores_id)) {
         if (ob_get_status()) {
             ob_end_clean();
         }
         $pdf_doc = new PDF_MC_Table('P', 'mm', 'letter');
         $pdf_doc->SetTitle('Facturas de Venta');
         $pdf_doc->SetSubject('Facturas de Venta para clientes');
         $pdf_doc->SetAuthor($this->empresa->nombre);
         $pdf_doc->SetCreator('FacturaSctipts V_' . $this->version());
         $this->archivo = $archivo;
         $contador = 0;
         $this->factura = FALSE;
         foreach ($valores_id as $id) {
             $factura = new factura_cliente();
             $this->factura = $factura->get($id);
             if ($this->factura) {
                 $ncf_datos = new ncf_ventas();
                 $valores = $ncf_datos->get_ncf($this->empresa->id, $this->factura->idfactura, $this->factura->codcliente, $this->factura->fecha);
                 $ncf_tipo = new ncf_tipo();
                 $tipo_comprobante = $ncf_tipo->get($valores->tipo_comprobante);
                 $this->factura->ncf = $valores->ncf;
                 $this->factura->ncf_afecta = $valores->ncf_modifica;
                 $this->factura->estado = $valores->estado;
                 $this->factura->tipo_comprobante = $tipo_comprobante->descripcion;
                 if ($this->distrib_transporte) {
                     $transporte = $this->distrib_transporte->get($this->empresa->id, $this->factura->idfactura, $this->factura->codalmacen);
                     $this->idtransporte = isset($transporte[0]->idtransporte) ? str_pad($transporte[0]->idtransporte, 10, "0", STR_PAD_LEFT) : false;
                 }
                 $cliente = new cliente();
                 $this->cliente = $cliente->get($this->factura->codcliente);
                 $this->generar_pdf($pdf_doc);
                 $contador++;
             }
         }
         // Damos salida al archivo PDF
         if ($this->archivo) {
             if (!file_exists('tmp/' . FS_TMP_NAME . 'enviar')) {
                 mkdir('tmp/' . FS_TMP_NAME . 'enviar');
             }
             $pdf_doc->Output('tmp/' . FS_TMP_NAME . 'enviar/' . $archivo, 'F');
         } else {
             $pdf_doc->Output();
         }
         if (!$this->factura) {
             $this->new_error_msg("¡Factura de cliente no encontrada!");
         }
     }
 }