function ListarProductosExtra() { global $action, $tamPagina, $txtMoDet; $oProducto = new producto(); $idprov = getSesionDato("FiltraProv"); $idlab = getSesionDato("FiltraLab"); $idalias = getSesionDato("FiltraAlias"); $idmarca = getSesionDato("FiltraMarca"); $idcolor = getSesionDato("FiltraColor"); $idtalla = getSesionDato("FiltraTalla"); $base = getSesionDato("FiltraBase"); $idfamilia = getSesionDato("FiltraFamilia"); $idsubfamilia = getSesionDato("FiltraSubFamilia"); $ref = getSesionDato("FiltraReferencia"); $cb = getSesionDato("FiltraCB"); $nombre = getSesionDato("FiltraNombre"); $idalias = $nombre ? getLikeProductoAlias2Id($nombre, $IdIdioma = false) : $idalias; $obsoletos = getSesionDato("FiltraObsoletos"); $indice = getSesionDato("PaginadorListaProd"); $txtModelo = $txtMoDet[1]; $txtDetalle = $txtMoDet[2]; $hayProductos = $oProducto->ListadoFlexible($idprov, $idmarca, $idcolor, $idtalla, false, $indice, $base, false, $idfamilia, $tamPagina, $ref, $cb, $nombre, $obsoletos, $idalias, $idlab, $idsubfamilia); $num = 0; $jsOut = ""; $jsLex = new jsLextable(); $jsOut .= jsLabel("color", $txtModelo); $jsOut .= jsLabel("talla", $txtDetalle); $jsOut .= jsLabel("modificar", _("Modificar")); $jsOut .= jsLabel("referencia", _("Referencia")); $jsOut .= jsLabel("unid", _("Unid")); $jsOut .= jsLabel("pv", _("PV")); $jsOut .= jsLabel("nuevatallacolor", _("Nuevo {$txtModelo} / {$txtDetalle}")); $oldId = -1; $num = 0; while ($oProducto->SiguienteProducto()) { $num++; $id = $oProducto->getId(); $nombre = $oProducto->getNombre(); $descripcion = $oProducto->get("Descripcion"); $marca = getIdMarca2Texto($oProducto->get("IdMarca")); $ref = $oProducto->getReferencia(); $cb = $oProducto->getCB(); $talla = getIdTalla2Texto($oProducto->get("IdTalla")); $color = getIdColor2Texto($oProducto->get("IdColor")); $lab = getNombreLaboratorio($oProducto->get("IdLabHab")); $lextalla = $jsLex->add($talla); $lexcolor = $jsLex->add($color); $fam = getIdFamilia2Texto($oProducto->get("IdFamilia")); $sub = getIdSubFamilia2Texto($oProducto->get("IdFamilia"), $oProducto->get("IdSubFamilia")); $manejaserie = $oProducto->get("Serie"); $manejalote = $oProducto->get("Lote"); $manejafv = $oProducto->get("FechaVencimiento"); $eservicio = $oProducto->get("Servicio") > 0 ? 1 : 0; //Servicio $esimagen = "'" . $oProducto->get("Imagen") . "'"; $eservicio = $oProducto->get("MetaProducto") > 0 ? 1 : $eservicio; //MetaProducto $lexfam = $jsLex->add($fam); $lexsub = $jsLex->add($sub); $idBase = $oProducto->get("IdProdBase"); if ($idBase != $oldId) { $nombre = addslashes($nombre); $ref = addslashes($ref); $jsOut .= "cPH({$id},'{$nombre}','{$ref}',{$lexfam},{$lexsub},'{$descripcion}','{$marca}','{$lab}','{$eservicio}','{$idBase}');\n"; } $jsOut .= "cP({$id},{$cb},{$lextalla},{$lexcolor},{$idBase},{$manejaserie},{$manejalote},{$manejafv},{$eservicio},{$esimagen});\n"; $oldId = $idBase; } $jsOut = $jsLex->jsDump() . $jsOut; $paginador = jsPaginador($indice, $tamPagina, $num); $jsOut .= $paginador; $jsOut .= "cListProductos();"; $jsOut .= $paginador; $jsOut .= AutoOpen(); echo "<center>"; echo jsBody($jsOut); echo "</center>"; }
function ListarAlmacen($referencia, $donde, $marcadotrans = false, $cb = false, $idbase = false, $soloLlenos = false, $obsoletos = false, $soloNS = false, $soloLote = false, $soloOferta = false, $reservados = false) { global $action, $tamPagina; $base = getSesionDato("BusquedaProdBase"); $ot = getTemplate("ListadoMonoProductoMultiAlmacen"); if (!$ot) { error(__FILE__ . __LINE__, "Info: template no encontrado"); return false; } //Extraemos datos $almacen = getSesionDato("Articulos"); $IdLocal = $donde ? $donde : ""; if ($referencia) { $id = genReferencia2IdProducto($referencia); $idbase = getProdBaseFromId($id); } $IdProducto = !$base ? getIdFromCodigoBarras($cb) : ""; if (!$IdLocal and !$IdProducto) { echo gas("Aviso", _("Sin resultados")); if (!$IdProducto) { setSesionDato("BusquedaReferencia", false); if (!$base) { setSesionDato("BusquedaCB", false); } //si no encontro nada, no se busca en esa ref } return false; } $indice = getSesionDato("PaginadorAlmacen"); $idalias = ""; $nombre = ""; if (isset($_SESSION["BusquedaNombre"]) and $_SESSION["BusquedaNombre"]) { $nombre = $_SESSION["BusquedaNombre"]; } if ($nombre) { $idalias = getLikeProductoAlias2Id($nombre, $IdIdioma = false); } $res = $almacen->ListadoModular($IdLocal, $IdProducto, $indice, $tamPagina, $idbase, $nombre, $soloLlenos, $obsoletos, $soloNS, $soloLote, $soloOferta, $idalias, $reservados); $haytrans = is_array($marcadotrans) and count($marcadotrans); $num = 0; $jsOut = ""; $jsLex = new jsLextable(); $jsOut .= jsLabel("comprar", _("Comprar")); $jsOut .= jsLabel("modificar", _("Modificar")); $jsOut .= jsLabel("referencia", _("Referencia")); $jsOut .= jsLabel("unid", _("Unid")); $jsOut .= jsLabel("pv", _("PV")); $jsOut .= jsLabel("seleccionar", _("Seleccionar")); $jsOut .= jsLabel("cuantasunidades", _("¿Cuántas unidades?"), false); $oldId = -1; while ($almacen->SiguienteArticulo()) { $num++; $transid = $almacen->get("Id"); $ref = $almacen->get("Referencia"); $cb = $almacen->get("CodigoBarras"); $nombre = $almacen->get("Nombre"); $nombre = getParametro("ProductosLatin1") ? iso2utf($nombre) : $nombre; $unidades = $almacen->get("Unidades"); $contenedor = $almacen->get("Contenedor"); $ucontenedor = $almacen->get("UnidadesPorContenedor"); $precio = $almacen->get("CostoUnitario"); $ident = $almacen->get("Identificacion"); $id = $almacen->get("IdProducto"); $iconos = $almacen->Iconos(); $talla = getIdTalla2Texto($almacen->get("IdTalla")); $lextalla = $jsLex->add($talla); $color = getIdColor2Texto($almacen->get("IdColor")); $lexcolor = $jsLex->add($color); $desc = $almacen->get("Descripcion"); $nombreLocal = getNombreLocalId($almacen->get("IdLocal")); $lexlocal = $jsLex->add($nombreLocal); $ManejaSerie = $almacen->get("Serie"); $statusns = $almacen->get("StatusNS"); $ventamenudeo = $almacen->get("VentaMenudeo"); $UnidadMedida = $almacen->get("UnidadMedida"); $fam = getIdFamilia2Texto($almacen->get("IdFamilia")); $sub = getIdSubFamilia2Texto($almacen->get("IdFamilia"), $almacen->get("IdSubFamilia")); $lexfam = $jsLex->add($fam); $lexsub = $jsLex->add($sub); $sel = ($haytrans and in_array($transid, $marcadotrans)) ? 1 : 0; $idBase = $almacen->get("IdProdBase"); $marca = getIdMarca2Texto($almacen->get("IdMarca")); $lab = getNombreLaboratorio(getIdLaboratorioFromIdProducto($id)); if ($idBase != $oldId) { $numlex = $jsLex->add($ident); $nombre = addslashes($nombre); $ref = addslashes($ref); $jsOut .= "cAH({$idBase},'{$nombre}','{$ref}','{$desc}',{$numlex},{$lexfam},{$lexsub},{$ManejaSerie},'{$UnidadMedida}','{$contenedor}',{$ucontenedor},'{$marca}','{$ventamenudeo}','{$lab}');\n"; } $jsOut .= "cA({$id},'{$iconos}','{$cb}',{$unidades},'{$precio}',{$sel},{$transid},{$lextalla},{$lexcolor},{$lexlocal},{$ManejaSerie},'{$UnidadMedida}','{$contenedor}',{$ucontenedor},'{$ventamenudeo}','{$statusns}');\n"; $oldId = $idBase; } $jsOut = $jsLex->jsDump() . $jsOut; $jsOut .= AutoOpen(); $paginador = $ot->jsPaginador($indice, $tamPagina, $num); $jsOut .= $paginador; $jsOut .= "cListAlmacen();"; $jsOut .= $paginador; echo "<center>"; echo jsBody($jsOut); echo "</center>"; }
function ListarProductos($idprov, $idmarca, $idcolor, $idtalla, $seleccion, $idprod, $idbase, $nombre = false, $ref = false, $cb = false, $obsoletos = false, $idlab = false, $idalias = false, $porproveedor = false, $stockminimo = false) { global $action, $tamPagina; $oProducto = new producto(); $idalias = $nombre ? getLikeProductoAlias2Id($nombre, $IdIdioma = false) : $idalias; $base = $idbase; //$idprod??? $indice = getSesionDato("PaginadorCompras"); $Moneda = getSesionDato("Moneda"); $txtMoDet = getModeloDetalle2txt(); $txtModelo = $txtMoDet[1]; $txtDetalle = $txtMoDet[2]; $hayProductos = $oProducto->ListadoFlexibleCompras($idprov, $idmarca, $idcolor, $idtalla, false, $indice, $base, false, false, $tamPagina, $ref, $cb, $nombre, $obsoletos = false, $idalias, $idlab, $porproveedor, $stockminimo); $num = 0; $jsOut = ""; $jsLex = new jsLextable(); $jsOut .= jsLabel("color", $txtModelo); $jsOut .= jsLabel("talla", $txtDetalle); $jsOut .= jsLabel("comprar", _("Comprar")); $jsOut .= jsLabel("modificar", _("Modificar")); $jsOut .= jsLabel("referencia", _("Referencia")); $jsOut .= jsLabel("unid", _("Unid")); $jsOut .= jsLabel("pv", _("PV")); $jsOut .= jsLabel("nuevatallacolor", _("Nuevo {$txtModelo} o {$txtDetalle}")); $oldId = -1; $num = 0; while ($oProducto->SiguienteProducto()) { $num++; $id = $oProducto->getId(); $cb = $oProducto->getCB(); $nombre = $oProducto->getNombre(); $descripcion = $oProducto->get("Descripcion"); $marca = getIdMarca2Texto($oProducto->get("IdMarca")); $lab = getNombreLaboratorio($oProducto->get("IdLabHab")); $ref = $oProducto->getReferencia(); $talla = getIdTalla2Texto($oProducto->get("IdTalla")); $color = getIdColor2Texto($oProducto->get("IdColor")); $manejaserie = $oProducto->get("Serie"); $manejalote = $oProducto->get("Lote"); $manejafv = $oProducto->get("FechaVencimiento"); $eservicio = $oProducto->get("Servicio") > 0 ? 1 : 0; //Servicio $eservicio = $oProducto->get("MetaProducto") ? 1 : $eservicio; //MetaProducto $lextalla = $jsLex->add($talla); $lexcolor = $jsLex->add($color); $fam = getIdFamilia2Texto($oProducto->get("IdFamilia")); $sub = getIdSubFamilia2Texto($oProducto->get("IdFamilia"), $oProducto->get("IdSubFamilia")); $lexfam = $jsLex->add($fam); $lexsub = $jsLex->add($sub); $idBase = $oProducto->get("IdProdBase"); if ($idBase != $oldId) { $ref = addslashes($ref); $nombre = addslashes($nombre); $jsOut .= "cLH({$id},'{$nombre}','{$ref}',{$lexfam},{$lexsub},'{$descripcion}','{$marca}','{$lab}','{$idBase}');\n"; } $jsOut .= "cL({$id},{$cb},{$lextalla},{$lexcolor},{$manejaserie},{$manejalote},{$manejafv},{$eservicio});\n"; $oldId = $idBase; } $jsOut = $jsLex->jsDump() . $jsOut; $paginador = jsPaginador($indice, $tamPagina, $num); $jsOut .= $paginador; $jsOut .= "cListProductos();"; $jsOut .= $paginador; $jsOut .= AutoOpen(); $detadoc = getSesionDato("detadoc"); $documento = getNombreDocumentoCompra($detadoc); $tipodoc = $detadoc[0]; $idprov = !$detadoc[1] ? 1 : $detadoc[1]; $nombreprov = !$idprov ? 'CASAS VARIAS' : $detadoc[2]; $fechapago = $detadoc[8]; $idsubsid = !$detadoc[9] ? '' : $detadoc[9]; $nombresubsid = !$detadoc[10] ? '' : $detadoc[10]; $nrodoc = $detadoc[3]; $anrodoc = explode("-", $nrodoc); $sdoc = $anrodoc[0]; $ndoc = isset($anrodoc[1]) ? $anrodoc[1] : ''; $fdoc = $detadoc[4]; $tipocambio = $detadoc[6]; $fcambio = $detadoc[7]; $tipomoneda = $detadoc[5]; $tpfecha = 'Fecha Emisión : '; $checkigv = getSesionDato("incImpuestoDet") == 'true' ? 'CHECKED' : ''; $checkipc = getSesionDato("incPercepcion") == 'true' ? 'CHECKED' : ''; $checkcredt = getSesionDato("aCredito") == 'true' ? 'CHECKED' : ''; $admiteCompra = !selAdmite('Compras'); $tipodoc = selAdmite('Compras') ? "O" : $tipodoc; $checkF = ''; $checkO = ''; $checkR = ''; $checkG = ''; $checkSD = ''; switch ($tipodoc) { case "F": $habilita = "apareceCapa('prov');" . "apareceCapa('ndoc');" . "apareceCapa('fdoc');" . "apareceCapa('acred');" . "apareceCapa('pgdoc');" . "cambiodoc('F');"; $checkF = 'selected'; break; case "O": $habilita = "apareceCapa('prov');" . "apareceCapa('acred');" . "desapareceCapa('ndoc');" . "apareceCapa('fdoc');" . "apareceCapa('pgdoc');" . "cambiodoc('O');" . "CambiaTextDoc(1);"; $checkigv = 'selected'; setSesionDato("incImpuestoDet", 'true'); $checkO = 'selected'; break; case "R": $habilita = "apareceCapa('prov');" . "apareceCapa('ndoc');" . "apareceCapa('acred');" . "apareceCapa('pgdoc');" . "apareceCapa('fdoc');" . "cambiodoc('R'); "; $checkR = 'selected'; break; case "G": $habilita = "apareceCapa('prov');" . "apareceCapa('ndoc');" . "apareceCapa('fdoc');" . "apareceCapa('acred');" . "apareceCapa('pgdoc');" . "cambiodoc('G'); "; $checkG = 'selected'; break; case "SD": $habilita = "apareceCapa('prov');" . "desapareceCapa('ndoc');" . "desapareceCapa('acred');" . "apareceCapa('fdoc');" . "apareceCapa('pgdoc');" . "cambiodoc('SD'); "; $checkSD = 'selected'; } $tnrodoc = $nrodoc ? 'Nro ' . $nrodoc : ''; $titulo = selAdmite('Compras') ? 'Pedido' : $documento . ' ' . $tnrodoc; $tpfecha = $detadoc[0] == 'O' ? 'Fecha Entrega : ' : $tpfecha; $checkTS = $tipomoneda == 1 ? 'CHECKED' : ''; $habilita_tmoneda = $tipomoneda == 1 ? "desapareceCapa('cambiomoneda');" : ""; $checkTD = $tipomoneda == 2 ? 'CHECKED' : ''; $habilita_tmoneda = $tipomoneda == 2 ? "apareceCapa('cambiomoneda');" : ''; echo "<script type='text/JavaScript' language='javascript' " . "src='modulos/calendario/calendar.js'></script>" . "<script type='text/JavaScript' language='javascript' " . "src='modulos/calendario/lang/calendar-sp.js'></script>" . "<script type='text/JavaScript' language='javascript' " . "src='modulos/calendario/calendar-setup.js'></script>\n\n<center>\n<table border='0' class='listado'>\n <tr class='formaCabeza'>\n <td colspan='3' height='16'>\n <div id='t_comprov' class='formaTitulo'>{$titulo}</div>\n </td>\n </tr>\n <tr>\n <td class='lh' colspan='3' style='padding: 0em 1em 0.3em 0.6em'>\n\n <div id=prov style='display: none;color:#000000;'> \n <b>Proveedor :</b>\n <input type=hidden id=IdProvHab name=IdProvHab value='{$idprov}' > \n <input type=hidden id=modopagina name=modopagina value='Compras'>\n <input class=btn onclick='auxAltaProv();' type='button' value='+'> \n <input class=btn onclick='auxProveedorHab();' type='button' value='...'> \n <input class=xbtlh name=TextoProvHab id=TextoProvHab value='{$nombreprov}' readonly/>\n </div>\n\n \n <b>Presupuesto :</b>\n\t<select>\n "; if ($admiteCompra) { echo "<option onclick=" . '"' . "s_radioComprobante('F');" . '"' . " {$checkF} >Factura</option>\n\t\t<option onclick=" . '"' . "s_radioComprobante('R');" . '"' . " {$checkR}>Boleta</option>\n\t\t<option onclick=" . '"' . "s_radioComprobante('G');" . '"' . " {$checkG}>Albarán</option>\n\t\t<option onclick=" . '"' . "s_radioComprobante('SD');" . '"' . " {$checkSD}>Ticket</option>"; } echo "\n\t</select>\n </td>\n </tr>\n <tr> \n <td colspan='3' style='' Align='center'>\n\n <div id=ndoc style='display: none;color:#000000;'>\n <b>Serie :</b> \n <input class=cbt id='SDoc' name='SDoc' value='{$sdoc}' class='cajaPequena' type='text'\n size='4' maxlength='4' onkeypress='return soloAlfaNumericoSerieBase(event);' onblur='setndoc(this.value);' onkeyup='this.value=this.value.toUpperCase()'>\n <b>Nro :</b> \n <input class=cbt id='NDoc' name='NDoc' value='{$ndoc}' class='cajaPequena' type='text' \n size='7' maxlength='7' onkeypress='return soloNumerosEnterosBase(event,this.value);' onblur='setndoc(this.value);'>\n </div>\n\n\n\n <div id=fdoc style='display: none;color:#000000;'>\n \n <b><span id='fecha_op'>{$tpfecha}</span></b> \n\n <input class=cbt name='FechaDoc' type='text' id='FechaDoc' class='cajaPequena'\n size='8' maxlength='10' value='{$fdoc}' readonly> \n\n <img style='margin-top:-6px' src='img/gpos_calendario.png' name='Image1' id='Image11' \n border='0' onMouseOver=" . '"' . "this.style.cursor='pointer'" . '"' . " >\n <script>Calendar.setup( \n {inputField : 'FechaDoc',ifFormat : '%d/%m/%Y', button : 'Image11', onUpdate : setfechadoc });\n </script>\n\n </div>\n\n <div id=pgdoc style='display: none;color:#000000;'>\n \n <b> Fecha Pago :</b>\n <input class=cbt NAME='FechaPago' type='text' id='FechaPago' class='cajaPequena' \n size='8' maxlength='10' value='{$fechapago}' readonly> \n <img src='img/gpos_calendario.png' name='Image2' id='Image22' \n border='0' onMouseOver=" . '"' . "this.style.cursor='pointer'" . '"' . " >\n <script>Calendar.setup( \n {inputField : 'FechaPago',ifFormat : '%d/%m/%Y', button : 'Image22', \n onUpdate : setfechapagodoc });\n </script>\n </div>\n\n </td>\n </tr> \n <tr>\n <td class='lh' colspan='3' style='padding: 0em 1em 0.2em 1em' Align='center'>\n \n <input type=radio id ='tipoSoles' name='grupo2' value='0' \n onclick=" . '"' . "desapareceCapa('cambiomoneda'); cambiomoneda(1);" . '"' . " {$checkTS} >\n " . $Moneda[1]['T'] . "\n <input type=radio id='tipoDolar' name='grupo2' value='1' \n onclick=" . '"' . "apareceCapa('cambiomoneda'); cambiomoneda(2);" . '"' . " {$checkTD} >\n " . $Moneda[2]['T'] . "\n\n \n\n <div id=acred style='display: none;color:#000000; '>\n <input type=checkbox onclick=aCredito(this.checked); {$checkcredt} >\n Crédito\n <input type=checkbox onclick=incluirPercepcion(this.checked); {$checkipc} >\n Percepción\n </div> \n <input type=checkbox onclick=incluirIGV(this.checked); {$checkigv} >\n Impuesto\n\n\n </td>\n </tr>\n <tr>\n <td colspan='3' Align='center'>\n <div id=cambiomoneda style='display: none; color:#000000'> \n\n <b>Cambio : </b> \n <input class=cbt name='TipoCambio' class='InputPrecio' value='{$tipocambio}' \n onblur='settipocambio(this.value);' onkeypress='return soloNumerosBase(event,this.value);' size='5'> \n <input class=cbt NAME='FechaCambio' type='text' id='FechaCambio' class='cajaPequena' \n value='{$fcambio}' size='8' maxlength='10' value='' readonly> \n\n <img src='img/gpos_calendario.png' name='Image' id='Image'\n border='0' onMouseOver=" . '"' . "this.style.cursor='pointer'" . '"' . ">\n <script>Calendar.setup( \n {inputField : 'FechaCambio',ifFormat : '%d/%m/%Y', button : 'Image', \n onUpdate : setfechacambio });\n </script>\n\n </div>\n </td>\n </tr>\n</table>\n</center>\n\n<script>{$habilita} {$habilita_tmoneda} parent.Compras_cambiaBtnCarrito('Ver');</script>"; echo "<center>"; echo jsBody($jsOut); echo "</center>"; }