Exemplo n.º 1
0
    function DetalleGuiaMadre()
    {
        $idGuia = $_REQUEST['id'];
        $dataGuia = $this->AutoLoadModel("OrdenVenta");
        $idTipoCambio = $dataGuia->BuscarCampoOVxId($idGuia, "IdTipoCambioVigente");
        //PREGUNTAR SI ACTUAL O AL ELEGIDO EN LA COMPRA
        $TipoCambio = $this->AutoLoadModel("TipoCambio");
        $dataTipoCambio = $TipoCambio->consultaDatosTCVigentexTCElegido($idTipoCambio);
        $simboloMoneda = $dataTipoCambio[0]['simbolo'];
        $TC_PrecioVenta = $dataTipoCambio[0]['venta'];
        $detalleOrdenVenta = new detalleOrdenVenta();
        $descuento = new Descuento();
        $dataDescuento = $descuento->listadoTotal();
        for ($i = 0; $i < count($dataDescuento); $i++) {
            $dscto[$dataDescuento[$i]['id']] = $dataDescuento[$i]['valor'];
        }
        $data = $detalleOrdenVenta->listaDetalleOrdenVentaGuia($idGuia);
        $total = 0;
        echo "<tr><th colspan=8><h3>DETALLE DE PRODUCTOS DE LA ORDEN DE PEDIDO (No incluye Gastos Adicionales)</h3></th></tr>";
        echo "\t<tr>\n\t\t\t\t\t<th>Cant.</th>\n\t\t\t\t\t<th>U.Med.</th>\n\t\t\t\t\t<th>Código.</th>\n\t\t\t\t\t<th>Descripción.</th>\n\t\t\t\t\t<th>Precio</th>\n\t\t\t\t\t<th>%Descto.</th>\n\t\t\t\t\t<th>P/Neto.</th>\n\t\t\t\t\t<th>Monto.</th>\n\t\t\t\t</tr>";
        $cantidad = count($data);
        for ($i = 0; $i < $cantidad; $i++) {
            $precioneto = number_format($data[$i]['precioaprobado'] * (1 - $data[$i]['descuentoaprobadovalor']), 2);
            $precioTotal = $data[$i]['preciofinal'] * $data[$i]['cantdespacho'];
            $total += $precioTotal;
            echo "<tr>";
            echo '<td>' . $data[$i]['cantdespacho'] . '</td>';
            echo '<td>' . $data[$i]['unidadmedida'] . '</td>';
            echo '<td>' . $data[$i]['codigopa'] . '</td>';
            echo '<td>' . $data[$i]['nompro'] . '</td>';
            echo '<td>' . ' ' . $simboloMoneda . ' ' . number_format($data[$i]['precioaprobado'], 2) . '</td>';
            echo '<td>' . $dscto[$data[$i]['descuentoaprobado']] . '</td>';
            echo '<td style="text-align:right;">' . ' ' . $simboloMoneda . ' ' . number_format($data[$i]['preciofinal'], 2) . '</td>';
            echo '<td style="text-align:right;">' . ' ' . $simboloMoneda . ' ' . number_format($precioTotal, 2) . '</td>';
            echo "</tr>";
        }
        echo '<tr style="color:#f00">';
        echo '<td colspan="7" class="right bold">
					
					Total a Pagar
				</td>';
        echo '<td class="right">' . '<input type="text" id="txtTotal" value="' . ' ' . $simboloMoneda . ' ' . number_format($total, 2) . '" class="text-100 right" readonly>' . '</td>';
        echo "</tr>";
        echo '<tr><td colspan="8" style="background:white;">&nbsp;</td></tr>';
        for ($i = 0; $i < $cantidad; $i++) {
            if ($data[$i]['serie'] != "") {
                echo "<tr>";
                echo '<th>' . $data[$i]['codigopa'] . '</th>';
                echo '<th>SERIES: </th>';
                echo '<td colspan="6">' . $data[$i]['serie'] . '</td>';
                echo "</tr>";
            }
        }
    }
Exemplo n.º 2
0
 function generaFactura()
 {
     $pdf = $this->AutoLoadModel('pdf');
     $ordenventa = $this->AutoLoadModel('documento');
     $EnLetras = new EnLetras();
     $meses = array("", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
     $cobro = $this->AutoLoadModel('ordencobro');
     $idDoc = $_REQUEST['id'];
     $buscaFactura = $ordenventa->buscaDocumento($idDoc, "");
     if (!empty($_REQUEST['id']) && !empty($buscaFactura) && $_REQUEST['id'] > 0 && $buscaFactura[0]['nombredoc'] == 1 && $buscaFactura[0]['esAnulado'] != 1) {
         //obtemos la condicion y tiempo de credito
         //obtemos los porcenajes y modo que fue facturado
         $porcentaje = $buscaFactura[0]['porcentajefactura'];
         $modo = $buscaFactura[0]['modofactura'];
         $numeroFactura = $buscaFactura[0]['numdoc'];
         $serieFactura = str_pad($buscaFactura[0]['serie'], 3, '0', STR_PAD_LEFT);
         //buscamos la guia de remision que le pertenece en caso que lo hubiera
         $filtro = "nombredoc=4";
         $dataGuia = $ordenventa->buscadocumentoxordenventaPrimero($buscaFactura[0]['idordenventa'], $filtro);
         $numeroRelacionado = $dataGuia[0]['numdoc'];
         $tipodocumentorelacionado = $dataGuia[0]['nombredoc'];
         //Grabamos en
         //*********************//
         $dataFactura = $pdf->buscarxOrdenVenta($buscaFactura[0]['idordenventa']);
         $dataFactura[0]['numeroRelacionado'] = $numeroRelacionado;
         $dataFactura[0]['numeroFactura'] = $numeroFactura;
         $dataFactura[0]['serieFactura'] = $serieFactura;
         $dataFactura[0]['fecha'] = date('d/m/Y');
         $dataFactura[0]['referencia'] = 'VEN: ' . $dataFactura[0]['idvendedor'] . ' DC: ' . $dataFactura[0]['codigov'];
         $data = $pdf->buscarDetalleOrdenVenta($buscaFactura[0]['idordenventa']);
         $dataCobro = $pdf->buscarOrdenCompraxId($buscaFactura[0]['idordenventa']);
         if ($dataCobro[0]['escontado'] == 1 && $dataCobro[0]['escredito'] == 0 && $dataCobro[0]['esletras'] == 0) {
             $dataFactura[0]['condicion'] = 'CONTADO';
         } elseif ($dataCobro[0]['escredito'] == 1 && $dataCobro[0]['esletras'] == 0) {
             $dataFactura[0]['condicion'] = 'CREDITO';
         } elseif ($dataCobro[0]['esletras'] == 1) {
             $dataFactura[0]['condicion'] = 'LETRAS';
             //$dataFactura[0]['fechavencimiento']=$pdf->listaDetalleOrdenCompraxId($dataCobro[0]['idordencobro'],3);
         }
         $descuento = new Descuento();
         $dataDescuento = $descuento->listadoTotal();
         for ($i = 0; $i < count($dataDescuento); $i++) {
             $dscto[$dataDescuento[$i]['id']] = $dataDescuento[$i]['valor'];
         }
         $cantidad = count($data);
         $dataN = array();
         $total = 0;
         $cont = 0;
         for ($i = 0; $i < $cantidad; $i++) {
             if ($porcentaje != "") {
                 if ($modo == 1) {
                     $precio = $data[$i]['preciofinal'];
                     $data[$i]['preciofinal'] = $precio * $porcentaje / 100;
                     $cantidadP = $data[$i]['cantdespacho'] - $data[$i]['cantdevuelta'];
                     $data[$i]['cantdespacho'] = $cantidadP;
                 } elseif ($modo == 2) {
                     $cantidadP = $data[$i]['cantdespacho'] - $data['cantdevuelta'];
                     $data[$i]['cantdespacho'] = $cantidadP * $porcentaje / 100;
                 } else {
                     $data[$i]['cantdespacho'] = $data[$i]['cantdespacho'] - $data[$i]['cantdevuelta'];
                 }
             } else {
                 $data[$i]['cantdespacho'] = $data[$i]['cantdespacho'] - $data[$i]['cantdevuelta'];
             }
             if ($data[$i]['cantdespacho'] > 0) {
                 $dataN[$cont]['cantdespacho'] = $data[$i]['cantdespacho'];
                 $dataN[$cont]['preciofinal'] = $data[$i]['preciofinal'];
                 $dataN[$cont]['nompro'] = $data[$i]['nompro'];
                 $dataN[$cont]['codigopa'] = $data[$i]['codigopa'];
                 $cont++;
             }
         }
         echo '';
         $cantidadDocumentos = 0;
         $maximoItem = $this->configIni("MaximoItem", "Factura");
         if ($cont % $maximoItem == 0) {
             $cantidadDocumentos = $cont / $maximoItem;
         } elseif ($cont % $maximoItem != 0) {
             $cantidadDocumentos = floor($cont / $maximoItem) + 1;
         }
         //acutalizamos Documento que ya fue impreso,numero Relacionado y su tipo
         $dataV['esimpreso'] = 1;
         $dataV['CantidadDocumentos'] = $cantidadDocumentos;
         $dataV['numerorelacionado'] = $numeroRelacionado;
         $dataV['tipoDocumentoRelacionado'] = $tipodocumentorelacionado;
         $filtro = "iddocumento='" . $idDoc . "'";
         $exitoE = $ordenventa->actualizarDocumento($dataV, $filtro);
         $datos['hojas'] = $cantidadDocumentos;
         $datos['maximoItem'] = $maximoItem;
         $datos['Factura'] = $dataFactura;
         $datos['DetalleFactura'] = $dataN;
         $datos['letras'] = $EnLetras;
         $datos['mes'] = $meses[date('n')];
         $this->view->show('/documento/generaFactura.phtml', $datos);
     }
 }