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;"> </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>"; } } }
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); } }