Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/11/2010, 15:30
Astantler
 
Fecha de Ingreso: mayo-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 0
Exclamación (Urgente) Típico Caso: Guardar Factura (PHP y MySQL)

Hola a Todos:

Si, así como reza el titulo de este hilo, este es el tipico caso de la Factura, pero he tenido miles de problemas, no logro encontrar la logica para esto, me podrían echar una mano? La descripcion es la siguiente:

Tengo dos Tablas: Facturacion y Detalle_Factura (En MySQL), están constituidas de la siguiente manera (Echar un ojo al link):

[URL="http://img137.imageshack.us/i/diagrama1.jpg/"]http://img137.imageshack.us/i/diagrama1.jpg/[/URL]

En donde:

Tabla Facturacion:

#Id_Factura: PK y AUTO_INCREMENT (Distinto de Num_Factura, como tal)

Tabla Detalle_Factura:

#Cod_Detalle_Factura: PK y AUTO_INCREMENT
#ID_Factura_DF: PK

El Caso es este, tengo este formulario (Ver Imagen):

[URL="http://img137.imageshack.us/i/diagrama1.jpg/"]http://img153.imageshack.us/i/dibujowjd.jpg/[/URL]

Quiero que cuando le de en "Agregar Otro Item" automaticamente Viaje ese item por una Peticion AJAX, hecha a través de jQuery, dando a otro archivo que me almacenaría dicha consulta en una Transaccion (Toda la transaccion en un String), cuando se le dé en guardar, automaticamente me almacene todo.

Hay dos grandes inconvenientes con esto:

1. No podría obtener el Id Autoincremental de la Factura, ya que la transaccion no se ha ejecutado, por consiguiente, no podría ingresar el registro para el Detalle de la factura (Un producto), ya que carezco de su padre (El encabezado de la factura), osea, el codigo auto incremental.
2. No hay forma persistente de almacenar el String que tiene la transaccion, ya que cuando el archivo php externo que recibe los datos de la peticion Ajax termina de ejecutarse, todo se pierde, asi que no tendría sentido...

El codigo que tengo es este:

Código Javascript:
Ver original
  1. var haci = $("#cobHaci").val();
  2.          var idfact = $("#txtFact").val();
  3.          var fecha = $("#txtfecha").val();
  4.          var prov = $("#cobDist").val();
  5.          var prod = $("#cobProdu").val();
  6.          var pres = $("#cobPrese").val();
  7.          var cant = $("#txtCantProd").val();
  8.          var medida = $("#cobMedida").val();
  9.          var valunit = $("#txtValSinIva").val();
  10.          var iva = $("#txtIva").val();
  11.          var flete = $("#txtVlrFlete").val();
  12.          var partcost = $("#cobPartCost").val();
  13.         $.ajax({
  14.            type: "POST",
  15.            url: "GuardarFactura.php",
  16.            data: ({opcion: 'agregar', hacienda: haci, fechafact: fecha, proveedor: prov, insertarenc: insertarEnc, idfactura: idfact, producto: prod, presentacion: pres, cantidad: cant, medida: medida, valorunit: valunit, iva: iva, valorflete: flete, partecosto: partcost}),
  17.            success: function (data) {
  18.                $("#txtCantProd").val("");
  19.                $("#txtValSinIva").val("");
  20.                $("#txtIva").val("");
  21.                $("#txtVlrFlete").val("");
  22.                $("#cobProdu").val(0);
  23.                $("#cobPrese").val(0);
  24.                $("#cobMedida").val(0);
  25.                $("#cobPartCost").val(0);
  26.                insertarEnc = false;
  27.            }
  28.         });
  29.       });

El PHP que recibe esto no lo tengo terminado, a raíz del mismo problema.

Alguien podría echarme una mano? No he podido con esto Y lo requiero con muchisima urgencia.

De Antemano Muchas gracias