function existencia22($v)
 {
     $aux = $this->fields["REORDEN"];
     return formato_numero($v, 2) . "--" . $aux;
 }
Exemple #2
0
            }
            $sql_ancho = "select * FROM print_formatos_detalle a, print_formatos b where a.CAMPO='" . $campo . "' and a.FORMATO_ID=b.FORMATO_ID AND b.TABLA='" . $table . "'";
            //if($campo=="CANTIDAD") echo $sql_ancho."++";
            $resultado = consulta($sql_ancho);
            $ancho = $resultado["ANCHO"] * 37.8;
            $conta_detalle++;
            $contenido_detalle .= "<td style='word-wrap: break-word;' valign='top' width=" . $ancho . " align=" . $resultado["ALINEAR"] . "><font size=1.2 pt>";
            if ($conta_detalle == 1) {
                $sql_coordenadas = "select a.COORDENADA_X, a.COORDENADA_Y FROM print_formatos_detalle a, print_formatos b where a.CAMPO='" . $campo . "' and a.FORMATO_ID=b.FORMATO_ID AND b.TABLA='" . $table . "'";
                $coordenadas = consulta($sql_coordenadas);
                $x = $coordenadas["COORDENADA_X"];
                $y = $coordenadas["COORDENADA_Y"] + $conta;
            }
            //		$valor=str_replace("\r\n", "<br>", $valor);
            if (in_array($campo, $numericos)) {
                $contenido_detalle .= formato_numero($valor, 2);
            } else {
                $contenido_detalle .= htmlspecialchars($valor);
            }
            $contenido_detalle .= "</font></td>";
        }
        $conta = $conta + 0.5;
        $contenido_detalle .= "</tr>";
        //	  if($dato["SERIES_DEBAJO"]<>"") $contenido_detalle.="<tr><td colspan=10 style='word-wrap: break-word;' width=700><font size=1.8pt>".$dato["SERIES_DEBAJO"]."</td></tr>";
        if ($dato["SERIES_DEBAJO"] != "") {
            $contenido_detalle .= "<tr><td></td><td colspan=4 style='word-wrap: break-word;' width=560><font size=1.8pt>" . $dato["SERIES_DEBAJO"] . "</td><td></td></tr>";
        }
    }
    $contenido_detalle .= "</table>";
    display($contenido_detalle, "", $x, $y);
}
function despliega_parteto($sql, $sql_parteto_total)
{
    global $TOTALES, $fecha_ini, $fecha_fin;
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASS);
    mysql_select_db(DB_NAME);
    $result = mysql_db_query(DB_NAME, $sql);
    $campos_moneda = array('TOTAL', 'UTILIDAD', 'COSTO');
    $campos_totales = array('TOTAL', 'UTILIDAD', 'COSTO', 'P_GLOBAL');
    $total_ventas = consulta($sql_parteto_total);
    $margen = array();
    $porcentaje = array();
    $TOTALES = array();
    ?>
	 <table border="0" align="center" cellspacing="0"><?php 
    $conta = 0;
    while ($dato = mysql_fetch_array($result, MYSQL_BOTH)) {
        if ($TOTALES["P_GLOBAL"] >= 80) {
            continue;
        }
        if ($conta == 0) {
            echo "<tr>";
            $i = count($dato) / 2;
            for ($aux = 0; $aux < $i; $aux++) {
                $campo = mysql_field_name($result, $aux);
                echo "<th class='titulo_barra'>" . $campo . "</th>";
            }
            echo "<TH>FACTURAS</TH><TH>FAC PROMEDIO</TH></tr>";
            $conta++;
        }
        if ($conta == 2) {
            $conta = 1;
            $aux_f = " bgcolor=#f5f5f4";
        } else {
            $aux_f = "";
            $conta = 2;
        }
        echo "<tr {$aux_f}>";
        $i = count($dato) / 2;
        for ($aux = 0; $aux < $i; $aux++) {
            $campo = mysql_field_name($result, $aux);
            $valor = $dato[$aux];
            if ($campo == "MARGEN" and $dato["TOTAL"] != 0) {
                $valor = formato_numero($dato["UTILIDAD"] * 100 / $dato["TOTAL"], 2);
                $margen[] = $valor;
            }
            if ($campo == "P_GLOBAL" and $dato["TOTAL"] != 0) {
                $valor = formato_numero($dato["TOTAL"] * 100 / $total_ventas["TOTAL"], 2);
                $porcentaje[] = $valor;
            }
            $TOTALES[mysql_field_name($result, $aux)] = $TOTALES[mysql_field_name($result, $aux)] * 1 + $valor;
            $alineacion = "align='right'";
            if ($campo == "CLIENTE") {
                $alineacion = " align='left' ";
            }
            if ($campo == "CLIENTE_ID") {
                $alineacion = " align='center' ";
            }
            echo "<td " . $alineacion . ">";
            if (in_array($campo, $campos_moneda)) {
                echo formato_moneda($valor, 2);
            } else {
                echo $valor;
            }
            if ($campo == "MARGEN" or $campo == "P_GLOBAL") {
                echo " % ";
            }
            echo "</td>";
        }
        if ($dato["CLIENTE"]) {
            $cliente_id = nombre_id("vta_c_clientes", "RAZON_SOCIAL", $dato["CLIENTE"], "CLIENTE_ID");
            if ($fecha_ini != "") {
                $where_aux = " and FECHA>='" . fecha_to_mysql($fecha_ini) . "' ";
            }
            if ($fecha_fin != "") {
                $where_aux .= " and FECHA<='" . fecha_to_mysql($fecha_fin) . "' ";
            }
            $aux = consulta("select count(*) as CUANTAS, sum(MONTO) AS MONTO from vta_p_facturas where CLIENTE_ID=" . $dato["CLIENTE_ID"] . " AND ESTATUS_FACTURA_ID<>2 " . $where_aux);
            $promedio = $aux["MONTO"] / $aux["CUANTAS"];
        }
        $TOTAL_FACTURAS = $TOTAL_FACTURAS + $aux["CUANTAS"];
        echo "<td ALIGN=CENTER>" . $aux["CUANTAS"] . "</td>";
        echo "<td ALIGN=right>" . formato_moneda($promedio, 2) . "</td>";
        echo "</tr>";
    }
    echo "<tr>";
    $conta = 0;
    foreach ($TOTALES as $valor) {
        echo "<td class='gran_total'>";
        $campo = mysql_field_name($result, $conta);
        if (in_array($campo, $campos_totales)) {
            if (in_array($campo, $campos_moneda)) {
                echo formato_moneda($valor, 2);
            } else {
                echo formato_numero($valor, 2);
            }
        }
        if ($campo == "MARGEN") {
            echo formato_numero(array_sum($margen) / count($margen), 2);
        }
        echo "</td>";
        $conta++;
    }
    echo "<td class='gran_total'>" . $TOTAL_FACTURAS . "</td>";
    echo "</tr>";
    $TOTALES["REGISTROS"] = mysql_num_rows($result);
    echo "</table>";
}
                    <td width="77" height="19" align="center" ><strong>CODIGO</strong></td>
                    <td width="50" height="19" align="center"><strong>CANT.</strong></td>
                    <td width="271" height="19" align="center"><strong>D E S C R I P C I O N</strong></td>
                    <td width="124" height="19" align="center"><strong>No DE SERIE</strong></td>
                    <td width="88" height="19" align="center"><strong>PRECIO UNITARIO</strong></td>
                    <td width="85" height="19" align="center"><strong>IMPORTE</strong></td>
                </tr>';
$detalle = mysql_query("select * from vta_p_remisiones_detalle where REMISION_ID={$id_remision}");
$tbl_reg = array();
$n = 0;
while ($row = mysql_fetch_array($detalle)) {
    $codigo = $row['CLAVE'];
    $cantidad = $row['CANTIDAD'];
    $can = floor($cantidad);
    if ($can == $cantidad || $cantidad == 0) {
        $cantidad = formato_numero($cantidad, 0);
    }
    $desc = utf8_encode($row['DESCRIPCION']);
    $nserie = $row['SERIES'];
    $nserie_debajo = $row['SERIES_DEBAJO'];
    $precio_uni = $row['PRECIO'];
    $importe = $row['CANTIDAD'] * $precio_uni;
    $precio_uni = formato_moneda($precio_uni, 2);
    $importe = formato_moneda($importe, 2);
    //$series_debajo=$row['SERIES'];
    if ($nserie_debajo == "") {
        $tbl_reg[$n] = '<tr>	
					<td style="background:url(\'../images/remisiones/cuadro_left2.png\') left repeat-y">&nbsp;</td>
					<td align="center">' . $codigo . '</td>
					<td align="center">' . $cantidad . '</td>
					<td align="left">' . $desc . '</td>
function reportes_facturas_ventas2($sql, $rollup_fields)
{
    global $TOTALES, $TIPO_REPORTE, $CLIENTE_ID, $USUARIO_ID, $direccion, $orderby;
    $TOTALES_MX = array();
    $TOTALES_USD = array();
    $TOTALES_MX_USD = array();
    $PARCIALES_MX = array();
    $PARCIALES_USD = array();
    $PARCIALES_MX_USD = array();
    $paciales_mx_mod = array();
    $parciales_usd_mod = array();
    $parciales_mx_usd_mod = array();
    $anterior_mod = array();
    $print_parcial = array();
    foreach ($rollup_fields as $value) {
        $anterior_mod[$value] = array();
        $parciales_mx_mod[$value] = array();
        $parciales_usd_mod[$value] = array();
        $parciales_mx_usd_mod[$value] = array();
    }
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASS);
    mysql_select_db(DB_NAME);
    $result = mysql_db_query(DB_NAME, $sql);
    ?>
	 <table id="tblDefects" border="0" align="center" cellspacing="0">
<?php 
    $conta = 0;
    $campos_moneda = array('SUBTOTAL', 'IVA', 'TOTAL', 'UTILIDAD', 'COSTO');
    $campos_totales = array('SUBTOTAL', 'IVA', 'TOTAL', 'UTILIDAD', 'COSTO');
    $cliente_anterior = "";
    while ($dato = mysql_fetch_array($result, MYSQL_BOTH)) {
        //		if (
        //			(($cliente_anterior<>$dato["CLIENTE"]) AND ($TIPO_REPORTE=="cliente")) OR
        //			(($vendedor_anterior<>$dato["EJECUTIVO"]) AND ($TIPO_REPORTE=="vendedor"))
        //		   )
        foreach ($rollup_fields as $field) {
            if ($dato[$field] != $anterior_mod[$field] && $anterior_mod[$field] != "") {
                //imprime parciales
                echo "<tr class='subs'>";
                $conta2 = 0;
                $conta3 = 0;
                foreach ($parciales_mx_mod[$field] as $valor) {
                    echo "<td class='TEsubtotales'>";
                    $campo = mysql_field_name($result, $conta2);
                    if (in_array($campo, $campos_totales)) {
                        echo formato_moneda($valor, 2);
                    }
                    if ($campo == "FECHA") {
                        echo "Total MN (<b>" . $anterior_mod[$field] . "</b>)";
                    }
                    echo "</td>";
                    $conta2++;
                }
                echo "</tr>";
                echo "<tr>";
                $conta = 0;
                foreach ($parciales_usd_mod[$field] as $valor) {
                    echo "<td class='TEsubtotales'>";
                    $campo = mysql_field_name($result, $conta3);
                    if (in_array($campo, $campos_totales)) {
                        echo formato_moneda($valor, 2);
                    }
                    if ($campo == "FECHA") {
                        echo "Total USD (<b>" . $anterior_mod[$field] . "</b>)";
                    }
                    echo "</td>";
                    $conta3++;
                }
                echo "</tr>";
                echo "<tr>";
                $conta3 = 0;
                foreach ($parciales_mx_usd_mod[$field] as $valor) {
                    echo "<td class='TEsubtotales'>";
                    $campo = mysql_field_name($result, $conta3);
                    if (in_array($campo, $campos_totales)) {
                        echo formato_moneda($valor, 2);
                    }
                    if ($campo == "FECHA") {
                        echo "Gran Total MX";
                    }
                    echo "</td>";
                    $conta3++;
                }
                echo "</tr>";
                $parciales_mx_mod[$field] = array();
                $parciales_usd_mod[$field] = array();
                $parciales_mx_usd_mod[$field] = array();
            }
            //imprime parciales
        }
        //END FOR EACH
        //DATO ANTERIOR
        $cliente_anterior = $dato["CLIENTE"];
        $vendedor_anterior = $dato["EJECUTIVO"];
        foreach ($rollup_fields as $value) {
            $anterior_mod[$value] = $dato[$value];
        }
        if ($conta == 0) {
            //TITULOS
            echo "<tr>";
            $i = count($dato) / 2;
            for ($aux = 0; $aux < $i; $aux++) {
                $campo = mysql_field_name($result, $aux);
                $img_ordenamiento = "";
                if ($orderby == $campo) {
                    if ($_POST['mode'] != "excel") {
                        if ($direccion == "ASC" or $direccion == "") {
                            $img_ordenamiento = "<img src=" . TEImagesPath . "arror_up.png>";
                        } else {
                            $img_ordenamiento = "<img src=" . TEImagesPath . "arror_down.png>";
                        }
                    }
                }
                echo "<th align=center><a href='javascript:reordena(\"{$campo}\")'><font style='font-size:11px'>" . despiega_nombre_columna_reportes($campo) . "</font></a> {$img_ordenamiento}</th>";
            }
            echo "</tr>";
            $conta++;
        }
        //color de fondo
        if ($conta == 2) {
            $conta = 1;
            $aux_f = " bgcolor=#f5f5f4";
        } else {
            $aux_f = "";
            $conta = 2;
        }
        //empieza imprecion de fila
        echo "<tr {$aux_f}>";
        $i = count($dato) / 2;
        for ($aux = 0; $aux < $i; $aux++) {
            $campo = mysql_field_name($result, $aux);
            //---modificado
            if (empty($_POST['nueva_paridad']) || $_POST['nueva_paridad'] <= 0 || !is_numeric($_POST['nueva_paridad'])) {
                //validacion
                $par = 1;
                //nueva paridad
            } else {
                $par = $_POST['nueva_paridad'];
            }
            //fin nueva paridad
            //si son dolares
            if ($_POST['tipo_moneda'] == 1 && ($campo == 'SUBTOTAL' || $campo == 'IVA' || $campo == 'TOTAL') && $dato[7] == 'USD') {
                $valor2 = $dato[$aux] * $par;
                //valor en pesos
                $valor = $dato[$aux];
                //val dolares
            } elseif ($_POST['tipo_moneda'] == 2 && ($campo == 'SUBTOTAL' || $campo == 'IVA' || $campo == 'TOTAL') && $dato[7] == 'MX') {
                $valor2 = $dato[$aux] / $par;
                //val pesos
                $valor = $dato[$aux];
                //val dolares
            } else {
                //si no se selecciono tipo de moneda
                $valor2 = $dato[$aux];
                $valor = $dato[$aux];
            }
            //----fin modificado
            //			 if ($campo=="UTILIDAD") $valor=$dato["TOTAL"]-$dato["COSTO"];
            //			 if (($campo=="DIAS_VENCIDOS") AND ($dato["ESTATUS"]<>"Activa")) $valor="";
            if ($dato["MONEDA"] == "MX") {
                $campo = mysql_field_name($result, $aux);
                foreach ($rollup_fields as $field) {
                    $parciales_mx_mod[$field][$campo] = $parciales_mx_mod[$field][$campo] * 1 + $valor;
                    $parciales_mx_usd[$field][$campo] = $parciales_mx_usd[$field][$campo] * 1 + $valor;
                }
                $PARCIALES_MX[mysql_field_name($result, $aux)] = $PARCIALES_MX[mysql_field_name($result, $aux)] * 1 + $valor;
                $TOTALES_MX[mysql_field_name($result, $aux)] = $TOTALES_MX[mysql_field_name($result, $aux)] * 1 + $valor;
                $PARCIALES_MX_USD[mysql_field_name($result, $aux)] = $PARCIALES_MX_USD[mysql_field_name($result, $aux)] + $valor;
                $TOTALES_MX_USD[mysql_field_name($result, $aux)] += $valor;
            }
            if ($dato["MONEDA"] == "USD") {
                $campo = mysql_field_name($result, $aux);
                foreach ($rollup_fields as $field) {
                    $parciales_usd_mod[$field][$campo] += $parciales_usd_mod[$field][$campo] * 1 + $valor;
                    $parciales_mx_usd[$field][$campo] += $valor * $dato["PARIDAD"];
                }
                $PARCIALES_USD[mysql_field_name($result, $aux)] = $PARCIALES_USD[mysql_field_name($result, $aux)] * 1 + $valor;
                $TOTALES_USD[mysql_field_name($result, $aux)] = $TOTALES_USD[mysql_field_name($result, $aux)] * 1 + $valor;
                $PARCIALES_MX_USD[mysql_field_name($result, $aux)] = $PARCIALES_MX_USD[mysql_field_name($result, $aux)] + $valor * $dato["PARIDAD"];
                $TOTALES_MX_USD[mysql_field_name($result, $aux)] += $valor * $dato["PARIDAD"];
            }
            //		       echo "<td align=right nowrap>";
            $titulo = " title='" . $valor . "'";
            global $REPORTE_COLUMNA;
            $alineacion = "right";
            if ($REPORTE_COLUMNA[$campo]["ALINEACION"]) {
                $alineacion = $REPORTE_COLUMNA[$campo]["ALINEACION"];
            }
            echo "<td align='{$alineacion}' {$titulo}>";
            if ($campo == "FACTURA") {
                $aux_factura = consulta("select FACTURA_ID FROM vta_p_facturas where FOLIO_FISCAL='" . $dato["FACTURA"] . "'");
                $lupita = $_POST['mode'] != "excel" ? "<img border=0 src='../images/samples_ico1.png'>" : "";
                echo "<a href='../admin/index.php?table=vta_p_facturas&edit=" . $aux_factura["FACTURA_ID"] . "' target=_new>{$lupita}</a>";
            }
            if ($valor < 0) {
                echo "<b>";
            }
            if ($campo == "MARGEN" and $dato["TOTAL"] != 0) {
                $margen_aux = $dato["UTILIDAD"] * 100 / $dato["SUBTOTAL"];
                $valor = formato_numero($margen_aux, 2);
                $margen[] = $valor;
            }
            //			   if(in_array($campo, $campos_moneda)) echo formato_moneda($valor,2); else echo $valor;
            if (in_array($campo, $campos_moneda)) {
                echo formato_moneda($valor, 2);
            } else {
                if ($_POST['mode'] != "excel" and strlen($valor) > 30) {
                    echo substr($valor, 0, 30) . "...";
                } else {
                    echo $valor;
                }
            }
            echo "</td>";
        }
        echo "</tr>";
    }
    //END WHILE
    //PARCIALES FINALES
    foreach ($rollup_fields as $field) {
        if ($dato[$field] != $anterior_mod[$field] && $anterior_mod[$field] != "") {
            //imprime parciales
            echo "<tr class='subs'>";
            $conta2 = 0;
            $conta3 = 0;
            foreach ($parciales_mx_mod[$field] as $valor) {
                echo "<td class='TEsubtotales'>";
                $campo = mysql_field_name($result, $conta2);
                if (in_array($campo, $campos_totales)) {
                    echo formato_moneda($valor, 2);
                }
                if ($campo == "FECHA") {
                    echo "Total MN (" . $anterior_mod[$field] . ")";
                }
                echo "</td>";
                $conta2++;
            }
            echo "</tr>";
            echo "<tr>";
            $conta = 0;
            foreach ($parciales_usd_mod[$field] as $valor) {
                echo "<td class='TEsubtotales'>";
                $campo = mysql_field_name($result, $conta3);
                if (in_array($campo, $campos_totales)) {
                    echo formato_moneda($valor, 2);
                }
                if ($campo == "FECHA") {
                    echo "Total USD (" . $anterior_mod[$field] . ")";
                }
                echo "</td>";
                $conta3++;
            }
            echo "</tr>";
            echo "<tr>";
            $conta3 = 0;
            foreach ($parciales_mx_usd_mod[$field] as $valor) {
                echo "<td class='TEsubtotales'>";
                $campo = mysql_field_name($result, $conta3);
                if (in_array($campo, $campos_totales)) {
                    echo formato_moneda($valor, 2);
                }
                if ($campo == "FECHA") {
                    echo "Gran Total MX (" . $anterior_mod[$field] . ")";
                }
                echo "</td>";
                $conta3++;
            }
            echo "</tr>";
            //
            $parciales_mx_mod[$field] = array();
            $parciales_usd_mod[$field] = array();
            $parciales_mx_usd_mod[$field] = array();
        }
        //imprime parciales
    }
    //END FOR EACH
    //PARCIALES FINALES
    /*
    		echo "<tr>";$conta2=0;$conta3=0;
    		foreach($PARCIALES_MX as $valor)
    		{
    			echo "<td class='TEsubtotales'>";$campo=mysql_field_name($result,$conta2); 
    			 if(in_array($campo, $campos_totales)) echo formato_moneda($valor,2);
    			 if($campo=="FECHA") echo "Total MN";
    			echo "</td>";$conta2++;
    		}
    		echo "</tr>";
    		echo "<tr>";$conta=0;
    		foreach($PARCIALES_USD as $valor)
    		{
    			echo "<td class='TEsubtotales'>";$campo=mysql_field_name($result,$conta3); 
    			 if(in_array($campo, $campos_totales)) echo formato_moneda($valor,2);
    			 if($campo=="FECHA") echo "Total USD";
    			echo "</td>";$conta3++;
    		}
    		echo "</tr>";			
    */
    ////////// GRAN TOTAL
    if (!$CLIENTE_ID and !$USUARIO_ID) {
        echo "<tr>";
        $conta = 0;
        foreach ($TOTALES_MX as $valor) {
            echo "<td class='gran_total'>";
            $campo = mysql_field_name($result, $conta);
            if (in_array($campo, $campos_totales)) {
                echo formato_moneda($valor, 2);
            }
            if ($campo == "FECHA") {
                echo "Gran Total MN";
            }
            echo "</td>";
            $conta++;
        }
        echo "</tr>";
        echo "<tr>";
        $conta = 0;
        foreach ($TOTALES_USD as $valor) {
            echo "<td class='gran_total'>";
            $campo = mysql_field_name($result, $conta);
            if (in_array($campo, $campos_totales)) {
                echo formato_moneda($valor, 2);
            }
            if ($campo == "FECHA") {
                echo "Gran Total USD";
            }
            echo "</td>";
            $conta++;
        }
        echo "</tr>";
        echo '<tr>';
        foreach ($TOTALES_MX_USD as $key => $valor) {
            echo "<td class='gran_total'>";
            #$campo=mysql_field_name($result,$conta);
            $campo = $key;
            if (in_array($campo, $campos_totales)) {
                echo formato_moneda($valor, 2);
            }
            if ($campo == "FECHA") {
                echo "Gran Total MX";
            }
            echo "</td>";
            $conta++;
        }
        echo "</tr>";
    }
    echo "</table>";
}