Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - ferarteclasico

#1
el siguiente programa se ejecuta en el localhost sin errores de ningin tipo , me da los resultados que yo espero, pero cuando subo el programa al servidor, no se ejecita el pragrama.En el programa se despliega un listado de articulos con script atosuggest que se conneta a una tabla en bd que contiene ese datos, sin embargo no se despliega ese listado en el servidor, no se porque, las bd sin identicas a las que tengo en localhost y la ruta que le tengo para hacer llamado a la bd tambien es correcta; la cuestion es que elijo un nombre del desplegable del autosugest y con un boton le doy añadir, y se añade una celda htmal que trae el nombre del articulo, su precio, su codigo, y puedo realizar esto tanats veces sean necesarias para generar una cotizacion.
el problema es que no funciona el script donde se despliega los nombres que esta en el onput type=text name=item; si pueden mirenlo a ver si me pueden colaborar con esto, les agradeceria mucho, los nombres se despliegan en el localhost, pero en el servidor no sirve,...porque?<?php 
//crear cotizacion 
include("conexion.php");
include(
"seguridad.php");
session_start();
///aqui llamo y capturo el nombre del usuario o vendedor, para posteriormente en las lineas 402 y 407 insertarlas en la BD.
$vendedor=$_SESSION["sesion_usuario"];


/*
/////// IJO AQUI COMO UAS LAS CONDICIONES PARA CIERTO TIPO DE RESTRICCIONES
if($_SESSION['sesion_tipo']=="compras3" OR $_SESSION['sesion_tipo']=="compras4" OR $_SESSION['sesion_tipo']=="compras5"){
//redirecciona a version
echo "<script>alert('No tiene permisos para utilizar esta opcion!!');location.href='version.php'</script>";
}

//averigua si puede colocar facturas de a&#241;os anteriores debido al corte
$a&#241;o=date("Y")-1;
$consulta="SELECT * FROM ap_parametros WHERE nombre='bloquear_factura' AND valor='si'";
if(mysql_num_rows(mysql_query($consulta))>0){
$valido=1;
}
else{
$valido=0;
}

*/



//guarda las variables que se encuentran en post
   
foreach($_POST as $nombre_campo => $valor){
   
$asignacion "\$" $nombre_campo "='" $valor "';";
   eval(
$asignacion);
 
   
   }
   


?>

<html>
<head>
<script>
function seleccionar2(){

if (typeof tamaño == "undefined"){
tamaño=0;
}
var c1,c2,c3,c4,c5,c6,numero;
var indice="OFF";
var iname=document.getElementById('item').value.toUpperCase();
var icode=document.getElementById('codigo').value.toUpperCase();

//valida que los valores no sean vacios

if ((iname!='') || (icode!='')){

//busca el elemento por item y con ese valor llena la tabla
   if (iname!=''){     
   for (i=0;i<items.length;i++){
     if (items[i]==iname){indice=i;
}
    }
    }

    if (icode!=''){
   for (i=0;i<codigos.length;i++){
     if (codigos[i]==icode){
    indice=i;
}
    }
    }


if (indice!="OFF"){

c1=codigos[indice];
c2=items[indice];
c3=unidades[indice];
c5=valores[indice];
c6=descuentos[indice];
//c6=subtotales[indice];
c4=0;
numero=tamaño;

tamaño++;

añadir2(c1,c2,c3,c4,c5,c6,numero);
}
document.getElementById('item').value='';
document.getElementById('codigo').value='';
}

}

function añadir2(c1,c2,c3,c4,c5,c6,numero){

//construir filas y celdas para cada nuevo valor agregado
  var tabla;
  var nuevafila;
  var nuevacelda;
  //busca la posicion del valor en el vector si selecciona un nombre


   tabla=document.getElementById('tabla');
nuevafila= tabla.insertRow(1);

    //celda codigo
nuevacelda=nuevafila.insertCell(0);
nuevacelda.innerHTML= "<input type='text' readonly name='code"+numero+"' value='"+c1+"'>";


//celda descripcion
nuevacelda=nuevafila.insertCell(1);
nuevacelda.innerHTML= "<input type='text' readonly name='name"+numero+"' class='largo' value='"+c2+"'>";


//celda unidad de medida


nuevacelda=nuevafila.insertCell(2);
    nuevacelda.innerHTML= "<input type='text' readonly name='unidad"+numero+"' value='"+c3+"'>";




//celda cantidad
nuevacelda=nuevafila.insertCell(3);
    nuevacelda.innerHTML= "<input type='text' name='cantidad"+numero+"' class='cero' style='background-color:yellow' title='ingrese el valor' value='0'>";



/////AQUI ES EN DONDE TENDRE QUE CONSULTAR EL VALOR QUE YA EXISTE DEL ARTICULO Y QUEZAS DESDE AQUI TENDRE QUE REALIZAR LA MISMA VUELTA QUE REALICE EN reprtestock4 para

////// CALCULAR EL VALOR DE PRECIO A LA VENTA Y REDONDEAR LA CIFRA. PERO CREO QUE DESDE AQUI NO DEBI REALIZAR DICHO CALCULO, ANALIZAR.



   //celda costo unitario
  /*
  nuevacelda=nuevafila.insertCell(4);
    nuevacelda.innerHTML= "<input type='text' name='valor"+numero+"'  class='cero' style='background-color:yellow' title='ingrese el valor' value='0'>";
*/

nuevacelda=nuevafila.insertCell(4);
    nuevacelda.innerHTML= "<input type='text' readonly name='valor"+numero+"' value='"+c5+"'>";
///



//celda descuentos
nuevacelda=nuevafila.insertCell(5);
    nuevacelda.innerHTML= "<input type='text' name='descuento"+numero+"' class='cero' style='background-color:yellow' title='ingrese el valor' value='0.0000001'>";






/*

//celda subtotal

nuevacelda=nuevafila.insertCell(5);
    nuevacelda.innerHTML= "<input type='text' readonly name='subtotal"+numero+"' value='"+c6+"'>";

*/


  }
 
  function validacion2(){
var valido=1;
var etiquetas;
var ban=0;
if (document.getElementById('numero').value==''){
valido=0;
alert('falta llenar el numero de cotizacion');
}
if(document.getElementById('fecha').value==''){
valido=0;
alert('falta llenar la fecha de la cotizacion');
}
//revisa elemento por elemento para que no haya cantidad ni valor unitario en cero
etiquetas=getElementsByClass('cero');

for(i=0;i<etiquetas.length;i++){
if(etiquetas[i].value==0 || etiquetas[i].value==""){
ban=1;
valido=0;}
}
if(ban==1) alert('los elementos de la cotizacion no pueden tener valores cero o vacios!!');

if(tamaño==0){
valido=0;
alert('no hay ningun elemento de la cotizacion');
}
if (valido==1){
//construye un campo donde envia el tamaño
document.getElementById("tamaño").value=tamaño;
document.factura.submit();

}
else {

}

}
 
 
</script>
</head>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <head>
<script language="javascript" src="funciones.js"></script>
<title>Crear Cotizacion</title>

  <link href="estilos.css" rel="stylesheet" type="text/css" />
 
<style>
input.largo, th.largo {
width:300px;
}


</style>
    <script language="javascript" src="autosuggest.js"></script>

  </head>

<body>
<h1>Creación de la cotizacion</h1>
<script>
tamaño=0;
</script>
 
<?php  ///rutina de a&#241;adir elemento....?>
<div id="autosuggest"><ul></ul></div>

<form method="post" name="selecciona">




Buscar por nombre:<input type="text" name="item" id="item" onKeyUp="this.value=this.value.toUpperCase();" size="65"/>
<script language="javascript">
var items = new Array();
    var codigos= new Array();
var unidades=new Array();


var valores=new Array();
var descuentos=new Array();

//var subtotales=new Array();



<?php
//pasa todos los items desde la BD


include("conexion.php");





$consulta="SELECT * FROM ap_inventario";
$resultado=mysql_query($consulta);
$i=0;
while ($dato=mysql_fetch_array($resultado)){
echo "\n items[".$i."]='".$dato["item"]."';";
echo "\n codigos[".$i."]='".$dato["codigo"]."';";
echo "\n unidades[".$i."]='".$dato["unidad"]."';";

 





$consulta="SELECT IF( ((SELECT fecha1 FROM ap_ordencompra WHERE codigo = '".$dato["codigo"]."' AND  fecha1 = ( SELECT MAX( fecha1 ) FROM ap_ordencompra WHERE codigo = '".$dato["codigo"]."' ))>LOCALTIME) AND 

((SELECT valor  FROM ap_ordencompra WHERE codigo='"
.$dato["codigo"]."'  AND (fecha1=(SELECT MAX(fecha1) FROM ap_ordencompra WHERE codigo='".$dato["codigo"]."')))>(SELECT valor  FROM ap_ingresos WHERE 

codigo='"
.$dato["codigo"]."'  AND fecha=(SELECT MAX(fecha) FROM ap_ingresos WHERE codigo='".$dato["codigo"]."'))),(SELECT valor FROM ap_ordencompra WHERE codigo = '".$dato["codigo"]."' AND  fecha1 = ( SELECT MAX( 

fecha1 ) FROM ap_ordencompra WHERE codigo = '"
.$dato["codigo"]."' )),(SELECT valor FROM ap_ingresos WHERE codigo = '".$dato["codigo"]."' AND  fecha = ( SELECT MAX( fecha ) FROM ap_ingresos WHERE codigo 

= '"
.$dato["codigo"]."' ))) AS valor";






$resultado1=mysql_query($consulta);


$valorcapturado=mysql_result($resultado1,0,"valor");


////*********while ($datos=mysql_fetch_array($resultado1)){

/////***************************
//////aqui miro si el valor capturado ya sea $ de ap_ordecompra &#243; $ de ap_ingresos , si alguno de ellos es mayor a cero entonces siga con la consulta
if($valorcapturado>0){

//////aqui calculo el precio a la venta; divido por 0.83 para generar un margen de ganacias del casi 20%
$valor[0]=($valorcapturado/0.83);
///tuve que quitar el 1.16, pues yasu me pidio qie en la cotizacion, en cada precio no me apareciera el iva incluido,solo que apareciera al final cerca al subtotal
///de todos los precios
///*1.16;
/////////aqui redondeo cada uno de los valores del vector:
$valor2[0]=round($valor[0],1);

echo "\n valores[".$i."]='".$valor2[0]."';";

////$i++;

}

////////////////////**********************************
//////aqui miro si el valor capturado ya sea $ de ap_ordecompra &#243; $ de ap_ingresos , si alguno de ellos es cero entonces me seleccione el valor de ap_inventario

if($valorcapturado==0){

//////esto lo hice para hacer una prueba, seria lo mismo de arriba pero con esto igualandolo a cero
///$datos['valor']=1;

/*

$consulta2="SELECT valor FROM ap_inventario WHERE codigo='".$valorcapturado."' ";
$resultado2=mysql_query($consulta2);

$valorcapturado_nuevo=mysql_result($resultado2,0,"valor");
*/



/////AQUI TRAIGO EL VALOR DE LA TABLA ap_inventario, DEL SELECT QUE SE REALIZO EN LA PARTE DE ARRIBA
$valor_inventario=$dato["codigo"] ;



///********while ($dat=mysql_fetch_array($resultado1)){

//////aqui calculo el precio a la venta; divido por 0.83 para generar un margen de ganacias del casi 20%
$valor[0]=($valor_inventario/0.83);
///tuve que quitar el 1.16, pues yasu me pidio qie en la cotizacion, en cada precio no me apareciera el iva incluido,solo que apareciera al final cerca al subtotal
///de todos los precios
///*1.16;
/////////aqui redondeo cada uno de los valores del vector:



$valor2[0]=round($valor[0],1);

echo "\n valores[".$i."]='".$valor2[0]."';";

/////$i++;

///**************}

}











///*******}

    


$i++;
}






////////////////////////////////////////

?>

new AutoSuggest(document.getElementById('item'),items);

</script>

Buscar por codigo:<input type="text" name="codigo" id="codigo" onKeyUp="this.value=this.value.toUpperCase();" />
<script language="javascript">


AutoSuggest(document.getElementById('codigo'),codigos);

</script>



<?php


 
////////AQUI INSERTO EL VALOR DEL PRECIO A LA VENTA DE CADA ARTICULO
///////////////////////////////////////////////////
/////////////////////aqui selecciono el valor mas reciente en fecha que haya ingresado


///$consulta="SELECT valor,codigo  FROM ap_ingresos WHERE codigo='".$dato['codigo']."'  AND fecha=(SELECT MAX(fecha) FROM ap_ingresos WHERE codigo='".$dato['codigo']."')  ";


/////EN ESTA INSTRUCCION 


//$valores= Array();
//$descuentos= Array();








?>








        </br></br>
<input type="button" value="añadir elemento" onClick="seleccionar2();"  />

</form>
<br />
<br />




<form method="post" name="factura"  >

Nro. de la cotizacion: <input  type="text" name="numero" id="numero" onKeyUp="this.value=this.value.toUpperCase();" size='30' maxlength='20'>
fecha de la cotizacion: <input  name="fecha" id="fecha" size="11"><a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fPopCalendar(document.factura.fecha);return false;" ><img class="PopcalTrigger" align="absmiddle" src="calendario1/calbtn.gif" width="34" height="22" border="0" alt=""></a>
<iframe width="174" height="189" name="gToday:normal:agenda.js" id="gToday:normal:agenda.js" src="calendario1/ipopeng.htm" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-500px; left:-500px;">
</iframe>


cliente:<select  name="cliente" id="cliente">
<?php
    
$consulta="SELECT * FROM ap_cliente ORDER BY cliente ASC";
$resultado=mysql_query($consulta);
while ($var=mysql_fetch_array($resultado)){
echo "<option>".$var["cliente"]."</option>";
}
?>

</select>

</br></br><div style="witdh:100%;height:2px;background-color: #FF0000"></div>


<h2>Elementos de la cotizacion:</h2>
<div id="espacio">
<table  border="1px" id="tabla">
<thead>

<tr><th>Codigo</th><th class="largo">Descripción</th><th>Unidad</th><th>Cantidad</th><th>Valor Unitario</th><th>Descuento%</th></tr>


   </thead>
   <tbody>
   </tbody>
   

</table>
</div>
    <input type="hidden" name="tamaño" id="tamaño" value="">
<input type="button" value="limpiar tabla" onClick="destruir();">
<input type="button" value="guardar seleccion" onClick="validacion2();">
</form>

<?php 
//rutina para guardar la cotizacion

if ($_POST['numero']!=""){
//si la cotizacion es repetida no la guarda
if(mysql_num_rows(mysql_query("SELECT * FROM ap_cotizacion WHERE id_factura='$numero'"))){
echo 
"<script>alert('Error: El numero de la cotizacion ya existe!!');location.href='cotizacion52.php'</script>";
}

/*
if(mysql_num_rows(mysql_query("SELECT * FROM ap_salidas WHERE id_factura='$numero'"))){
echo "<script>alert('Error: El numero de la cotizacion ya existe!!');location.href='cotizacion3.php'</script>";
}
*/

//si la opcion de bloquear facturas esta activada no es posible guardar facturas de a&#241;os pasados
$a&#241;o=date("Y");
$a&#241;o2=substr($fecha,0,4);
if ($valido==AND $a&#241;o2<$a&#241;o){
echo "<script>alert('Error: No es posible guardar facturas de a&#241;os pasados al actual');location.href='cotizacion52.php'</script>";
}


//realiza varias operaciones de upload de datos teniendo el tama&#241;o del vector

for ($i=0;$i<$tama&#241;o;$i++){

$asignacion "\$codigo=\$code".$i.";";
eval(
$asignacion);
$asignacion "\$cantidad=\$cantidad".$i.";";
eval(
$asignacion);
$asignacion "\$valor=\$valor".$i.";";
eval(
$asignacion);

$asignacion "\$descripcion=\$name".$i.";";
eval(
$asignacion);


$asignacion "\$descuento=\$descuento".$i.";";
eval(
$asignacion);

///aqui llamo y capturo el nombre del usuario o vendedor, para posteriormente en las lineas 408 y 413 insertarlas en la BD.
$vendedor=$_SESSION["sesion_usuario"];
//$_POST['$valor']==$valor;


    
$consulta="INSERT INTO ap_cotizacion(id_factura,fecha,cliente,codigo,descripcion,cantidad,valor,descuento,vendedor) VALUES('$numero','$fecha','$cliente','$codigo','$descripcion','$cantidad','$valor','$descuento','$vendedor')";
    
$resultado=mysql_query($consulta);



$consulta="INSERT INTO ap_cotizacion_aux(id_factura,fecha,cliente,codigo,descripcion,cantidad,valor,descuento,vendedor) VALUES('$numero','$fecha','$cliente','$codigo','$descripcion','$cantidad','$valor','$descuento','$vendedor')";
    
$resultado=mysql_query($consulta);



}
echo "<script>alert('cotizacion guardada!!')</script>";

}
?>



<form name="form1" method="post" >
<input type="checkbox" name="cotizar"  >vizualizar cotizacion<br>
<input type="submit" name="ok"  value="GENERAR">

</form>

<?php

if ($ok == "GENERAR") {

if ( 
$cotizar == "on" ){ 




$captura_fecha="SELECT DISTINCT fecha FROM ap_cotizacion_aux WHERE vendedor='$vendedor' ";
$resultado_fecha=mysql_query($captura_fecha);
while (
$row mysql_fetch_array($resultado_fecha)){ 
$fecha_capturada=$row['fecha'];
}


$captura_cliente="SELECT DISTINCT cliente FROM ap_cotizacion_aux WHERE vendedor='$vendedor' ";
$resultado_cliente=mysql_query($captura_cliente);
while (
$row mysql_fetch_array($resultado_cliente)){ 
$cliente_capturado=$row['cliente'];
}





$captura_datos="SELECT * FROM ap_cliente WHERE cliente='$cliente_capturado' ";
$resultado_datos=mysql_query($captura_datos);
while (
$row mysql_fetch_array($resultado_datos)){ 

$direccion_obtenida=$row['direccion'];
$telefono_obtenido=$row['telefono'];
$nit_obtenido=$row['nit'];
}




$captura_datos="SELECT id_factura FROM ap_cotizacion_aux WHERE vendedor='$vendedor' ";
$resultado_datos=mysql_query($captura_datos);
while (
$row mysql_fetch_array($resultado_datos)){ 

$numero_obtenido=$row['id_factura'];


}


////aqui traigo el nombre del vendedor de esta session, para poder realizar la busqueda de articulos asociados a el dentro de la cotizacion_aux

  
$vendedor=$_SESSION["sesion_usuario"];

$resultado="SELECT * FROM ap_cotizacion_aux WHERE vendedor='$vendedor' ";

$resultado2=mysql_query($resultado);

// Se inicial el formulario 


echo "<form name='procesar' method='post'> "


$tabla="<table border='1px'><tr><thead><th colspan='2'><center><img src='http://www.ferreteriamacot.com/web/logo.png' width='100px'  height='50'> 
<hr width='50%'>Cra.  14  No.  20-16 / Tel 6711804    Bucaramanga</center></td><th colspan='4'><center>FERRETERIA MACOT S.A</center><center>NIT. 900.063.205-8</center></td></tr>"
;

///src='http://localhost/proyecto/logo.png'


/////http://www.ferreteriamacot.com/web/logo.png


//<td colspan='2' class='titulo'>



$tabla.=utf8_encode("<tr><th colspan='1'>Numero Cotizacion<td colspan='1'>".$numero_obtenido."<th colspan='4'>C O T I Z A C I O N");

$tabla.=utf8_encode("<tr><th colspan='1'>Vendedor<td colspan='1'>".$vendedor."");

$tabla.=utf8_encode("<tr><th colspan='1'>Fecha<td colspan='1'>".$fecha_capturada."");

$tabla.=utf8_encode("<tr><th colspan='1'>Cliente<td colspan='1'>".$cliente_capturado."");

$tabla.=utf8_encode("<tr><th colspan='1'>Nit<td colspan='1'>".$nit_obtenido."");

$tabla.=utf8_encode("<tr><th colspan='1'>Direccion<td colspan='1'>".$direccion_obtenida."");

$tabla.=utf8_encode("<tr><th colspan='1'>Telefono<td colspan='1'>".$telefono_obtenido."");



$tabla.="<tr><th>CODIGO<th>ARTICULO<th>DESCUENTO %<th>CANTIDAD<th>VALOR<th>V.TOTAL<tbody>";
//<thead>

// Extraemos y componemos los checbox din&#225;micos de los datos de nuestra tabla de la BD. 
while ($row mysql_fetch_array($resultado2)){ 


//////AQUI OY A MIRAR LO DEL DESCUENTO

$captura_descuento=$row['descuento'];

if(
$captura_descuento==0){

$precio_cotizacion=$row['valor'];

}

if(
$captura_descuento>0){

$descuento=(1-($row['descuento']/100 ));


$precio_cotizacion=$row['valor']*$descuento;




}







/////creo que el subtotal debo volverlo en un vector, osea me guarde los valores dentro de un vector $subtotal[$i]
$subtotal[$i]=$row['cantidad']*$precio_cotizacion;



$tabla.=utf8_encode("<tr><td>".$row['codigo']."<td>".$row['descripcion']."<td>".$row['descuento']."<td>".$row['cantidad']."<td>$".number_format($precio_cotizacion,0,',','.')."<td>$".number_format($subtotal[$i],0,',','.')."");

///$".number_format($costo[$j],0,',','.')."
///".$row['valor']." 
////".$subtotal[$i]."







 
//$subtotal=$row['cantidad']*$row['valor'];

$i++;


////aqui se suman todos los subtotales
$suma=array_sum($subtotal);


///aqui voy a tener que modificar lo del total, pues ahora , el iva va incluido en el precio de cada uni de los articulos
///********
////aqui vuelvo a poner el iva de forma general y no individual, dinde el el na estaba siendo incluido en cada precio de cada articulo
$iva=$suma*0.16;

$total=$suma+$iva;
///**********
///$total=$suma;
/////////desde aqui sumo todos los valores que se habian guardado en le vector de los subtotales
$tabla.= utf8_encode("<tr><td><td><td><td><th>SUBTOTAL<th>$".number_format($suma,0,',','.')."");
///".$suma."


//$tabla.= utf8_encode("<tr><td><td><td><th>RETEFUENTE<th>");



///***
$tabla.= utf8_encode("<tr><td><td><td><td><th>IVA<th>$".number_format($iva,0,',','.')."");
///" .$iva.  "
///***



$tabla.= utf8_encode("<tr><td><td><td><td><th>TOTAL<th>$".number_format($total,0,',','.')."");
////" .$total.  "



//echo utf8_encode("<tr><td>total de la cotizacion<td>".$subtotal."");
//echo array_sum($subtotal); 

$tabla.= "</table>";
echo 
$tabla;
echo 
"</form>";



$_SESSION['tabla']=$tabla;
unset(
$tabla);

echo 
"<a href='importaexcel.php'>Exportar a excel</a>";

echo 
"<br><a href='limpiar_cotizacion.php'>Limpiar hoja de cotizacion</a>";



};

};

//echo "</form>";






?>


</body>
</html>