Foros del Web » Programando para Internet » ASP Clásico »

Nuevos Rigistros

Estas en el tema de Nuevos Rigistros en el foro de ASP Clásico en Foros del Web. Hola A Todos Estoy Haciendo Una Pagina Donde Se Genera Una Registro Dentro Del Cual Va A Tener Un Numero Indeterminado De Detalles Es Decir ...
  #1 (permalink)  
Antiguo 23/10/2006, 19:56
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 4 meses
Puntos: 1
Nuevos Rigistros

Hola A Todos Estoy Haciendo Una Pagina Donde Se Genera Una Registro Dentro Del Cual Va A Tener Un Numero Indeterminado De Detalles Es Decir

El Encabezado Seria Los Datos De La Factura

El Detalle Serian Los Articulos


Mi Pregunta Es Existe Alguna Manera De Hacer Esto En El Mismo Formulario Sin Tener Que Grabar Primero El Encabezado


Saludos
  #2 (permalink)  
Antiguo 23/10/2006, 20:04
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Mi no entender

¿Para qué quieres grabar los detalles sin el encabezado?
  #3 (permalink)  
Antiguo 23/10/2006, 20:09
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 4 meses
Puntos: 1
quiero ir ingresando los detalles en el mismo formulario y que el cliente solamente una vez agrege el regristro tanto del encabezado como del detalle me explico
  #4 (permalink)  
Antiguo 23/10/2006, 20:13
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 4 meses
Puntos: 1
o tines alguna sugerencia mejor
  #5 (permalink)  
Antiguo 23/10/2006, 20:21
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Cita:
Iniciado por Fabu_dina Ver Mensaje
quiero ir ingresando los detalles en el mismo formulario y que el cliente solamente una vez agrege el regristro tanto del encabezado como del detalle me explico
para mi no te explicás o yo no te logro comprender... ¿son dos tablas relacionadas en donde "en un paso" debés ingresar 1 registro en una tabla y al mismo tiempo insertar N registros en otra y que estos últimos tengan una relación con el ID de la primera?
__________________
...___...
  #6 (permalink)  
Antiguo 23/10/2006, 20:27
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 4 meses
Puntos: 1
asi es
ese no es el problema

el problema es que tengo que hacer que en el mismo formulario puedan ir dando de alta los n registros de la tabla dependiente
  #7 (permalink)  
Antiguo 23/10/2006, 20:33
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
aaahhh, pues facil

No se como este tu formulario, pero puedes ir generando los controles dinámicamente via javascript y con solo un botón grabas el encabezado y todos los detalles. Como cada control que crees que corresponda a cada campo, lo crearás con el mismo nombre pues solo haces un split para separar cada registro.

¿Capichi?

Saludos
  #8 (permalink)  
Antiguo 23/10/2006, 20:38
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 4 meses
Puntos: 1
crear controles la vdd nunca lo he hecho si me puedes dar una ayuda con le principio.

otra es que si agregas demasiados controles mi pagina no puede llevar scroll
necesito que se vea en una sola pantalla a 800X600 porblema que me causa por el espacio al crear scroll

como puedo hacer una zona de la pagina que sea con scroll tipo un textarea pero en el cual voy a incluir codigo asp y java
  #9 (permalink)  
Antiguo 23/10/2006, 20:52
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
echale un ojo a este ejemplo rapido:

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Page title</title>
<script>
function AgregaConcepto()    {
  var miTabla = document.getElementById("cuerpoTabla");
	if ((miTabla.getElementsByTagName("tr").length + 1)<11){
    var fila = document.createElement("tr");
    var celda1 = document.createElement("td");
    var celda2 = document.createElement("td");
    var celda3 = document.createElement("td");
    var celda4 = document.createElement("td");
    var celda5 = document.createElement("td");
		celda1.width = "287px"
		celda2.width = "115px"
		celda3.width = "108px"
		celda4.width = "51px"
		celda5.align = "left"
    celda1.innerHTML = "<input type=checkbox><input type='text' name='EdOConcepto' size='37'>"
    celda2.innerHTML = "<input type='text' name='EdOCantidad' class='Cifras'>";
    celda3.innerHTML = "<input type='text' name='EdOPrecio' class='Cifras'></td>"
    celda4.innerHTML = "&nbsp;</td>"
    celda5.innerHTML = "<input type='text' name='EdOImporte' size='10' class='Cifras' value='0' onKeyPress='return SoloNumeros(event)' readOnly><input type='hidden' name='hidEdOImporte' value=''>"
    fila.appendChild(celda1);
    fila.appendChild(celda2);
    fila.appendChild(celda3);
    fila.appendChild(celda4);
    fila.appendChild(celda5);
    miTabla.appendChild(fila);
 }
}

function EliminaConcepto() {
    var miTabla = document.getElementById("cuerpoTabla");
    var i = 0;
    do
        if (miTabla.rows[i].getElementsByTagName("input")[0].checked == true)
            miTabla.deleteRow(i);
        else
            i ++;
    while (miTabla.rows.length != i)
		RecalculaOtros();
}

</script>
</head>
<body>

<ilayer name="scroll1" width="100%" height=450 clip="0,0,170,150">
<div id="scroll3" style="width:100%;height:450;overflow:scroll">
  <table cellpadding="0" cellspacing="0" border="0" width="780px" id="Grid">
   <tr>
	   <td width="10px">&nbsp;</td>
	   <td width="100px" align="center">Concepto</td>
	   <td width="260px" align="center">Descripcion</td>
	   <td width="80px" align="center">Cantidad</td>
	   <td width="130px" align="center">Precio</td>
	   <td width="25px"  align="center">&nbsp;</td>
	   <td width="125px" align="center">Importe</td>
	 </tr>
	 <tr><td colspan="7" height="3px"><hr color="#fff" size="2" >
<tr>
	   <td>&nbsp;</td>
	   <td valign="top"><div class="Concepto">OTROS
     <input type="button" onclick="AgregaConcepto()" value=" + ">
		 <input type="button" onclick="EliminaConcepto()" value=" - "><div></td>
     <td colspan="5" align="left" valign="top">
		     <table cellpadding="0" cellspacing="0" border="0" width="100%" align="left" style="padding-top:0px; margin-left:0px;margin-top:0px">
            <tbody id=cuerpoTabla>
              <tr id=a1>
                 <td width="287px"><input type=checkbox><input type="text" name="EdOConcepto" size="37"></td>
                 <td width="115px"><input type="text" name="EdOCantidad" class="Cifras" ></td>
                 <td width="108px"><input type="text" name="EdOPrecio" class="Cifras" ></td>
                 <td width="51px">&nbsp;</td>
                 <td align="left"><input type="text" name="EdOImporte" size="10" class="Cifras" value="0" readOnly>
                  							  <input type="hidden" name="hidEdOImporte" value="">
								 </td>
              </tr>
        </table>
</tr>
</table>
</div>
</layer>
</body>
</html>
Si no quieres usar layers, puedes usar un iframe

Saludos
  #10 (permalink)  
Antiguo 23/10/2006, 21:00
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 4 meses
Puntos: 1
muchas gracias esto es lo que necesito

ahora dime una cosa los controles se van crean con el mismo nombre incrementando un numero vdd

para trabajar como puedo saber que controles existen para hacer el grabado de detalles en la tabla????

repito muchas gracias por tu ayuda
  #11 (permalink)  
Antiguo 23/10/2006, 21:05
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
¿eh?

otra vez mi no entender

Los controles se crean con el mismo nombre (punto) ¿cuál número? (ojo, la función de "AgregaConcepto" tiene un if que limita solo 10 detalles, quìtaselo.

Para saber que controles se han creado (y llenado) haces un split en el request("NombreDelControl") y solo tendras aquellos con información. Ya de ti depende con JS (o ASP) hacer las validaciones de que el usuario no mande registros incompletos.
No se si me he dado a entender.
  #12 (permalink)  
Antiguo 23/10/2006, 21:09
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 4 meses
Puntos: 1
nunca he trabajao con el split abusando me puedes dar otra orientacion


gracias!!!!
  #13 (permalink)  
Antiguo 23/10/2006, 21:17
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
¿cómo has podido llegar a los 35 años sin usar el split?

Es fácil ......... mira el split se recoge una cadena con algún caracter separador y genera un arreglo con cada casilla llena según el dichoso separador. En el caso de los controles con el mismo nombre, se mandaran con la coma (,) como separador.

Por ejemplo, si tienes 13 controles llamados "EdOConcepto" y haces un vector = Split(Request("EdOConcepto"),","), tendrás un arreglo de 13 casillas (claro, si todos vienen con datos) uno por cada control creado.

Ahora, ya con tu vector creado haces un UBound para saber el número de registros del detalle y en un ciclo los vas agregando.

That's all folk

¿Me di a entender?
  #14 (permalink)  
Antiguo 23/10/2006, 21:20
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 4 meses
Puntos: 1
me has hecho reir a veces hace falta

si lo se a mis 35 no habia trabajo con el y mucho menos con el

UBound
  #15 (permalink)  
Antiguo 23/10/2006, 21:25
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Creo deducir que no has programado los 35 años en ASP (jejeje), bueno, no problema, hay muchas páginas de referencia, yo en lo personal prefiero w3schools.

Split
UBound

Bueno, cualquier cosita, la vemos mañana por que ya trabajé más de medio día (1/2 dia son 12 horas, snif)

Saludos
  #16 (permalink)  
Antiguo 23/10/2006, 21:26
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 4 meses
Puntos: 1
muchas gracias mañana nos vemos y te comento como quedo mi proyecto y te muestro a lo que llege


saludos muchas gracias y descanza
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:19.