none
Guardar varios producto en un detalle de venta RRS feed

  • Pregunta

  • Buenas noches.

    Mi consulta es la siguiente. Estoy desarrollando un sistema de compras y ventas el cuál venía bastante bien, pero al momento de guardar una boleta de venta (la operación se realiza con éxito) me encuentro con que solo me guarda el primer ID que inserte a la grilla.

    Me di cuenta porque al entrar a SQL a consutar el detalle, solo me muestra el primer articulo que ingresé a la grilla. Cuando hago una venta de un solo articulo, no habría problema , pero cuando agrego 2 o más solo guarda el primero. Creo que es lógico porque la tabla detalle_venta solo tiene un ID relacionado a la tabla Articulos, por ende solo va a tomar un ID. 

    Estoy trabajando con Visual Studio y SQL SERVER, arquitectura en 3 capas. Estuve buscando información para resolver el problema y me encontré con que tal vez tendría que crear una tabla intermedia, puede ser?

    Si alguien me podría ayudar, estaría muy agradecido.

    Saludos.


    lunes, 14 de septiembre de 2020 0:03

Todas las respuestas

  • Hola EmiSavoretti,

    Así es, deberías crear una tabla intermedia para manejar la relación muchos a muchos entre facturas y productos. En esta tabla intermediaria guardas en cada fila el id de la factura y el id del producto (si gustas también guardas la cantidad de cada producto). Aquí tienes una guía. Espero que te sea de ayuda.  Por favor no olvides marcar una respuesta si resolviste tu consulta. Quedo pendiente de cualquier actualización. Gracias por levantar tu consulta en los foros de msdn.

     

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 


    lunes, 14 de septiembre de 2020 13:23
    Moderador
  • cualquier novedad nos avisas
    lunes, 14 de septiembre de 2020 15:16
    Moderador
  • Hola Gabriel.

    Primero, muchas gracias por tu ayuda. Estuve viendo el video, y el problema mío puede venir por otro lado entonces, porque yo las tablas las tengo creadas correctamente. Tengo las tablas: PRODUCTOS, CLIENTES, VENTAS Y DETALLE_VENTAS (entiendo que ésta sería la tabla intermedia, según el video).

    Yo pensé que tenía que crear una tabla intermedia entre DETALLE_VENTAS y PRODUCTOS, porque cuando se genera la venta solo me toma el primer producto ingresado. Creo tener todas las relaciones bien. No sé por donde puede estar el problema, será en el código? Trabajo en C#.

    Aguardo tu respuesta.

    Saludos cordiales.

    lunes, 14 de septiembre de 2020 23:13
  • pon el codigo para ver o haz un ejemplo pequeño donde te suceda el mismo problema y asi se podría solucionar mejor
    martes, 15 de septiembre de 2020 17:10
  • El tema es el siguiente, yo no sé donde está el error. Si estará en el código o estará en la query , o será alguna otra cosa.

    La venta se genera correctamente, al consultar el detalle de venta en la base de datos, solo arroja el primer producto que cargué de la venta, y el resto no. Por ejemplo:

    TENGO LOS PRODUCTOS, Manzana $10, Banana $5, Manzana $2.

    Cuando quiero vender esos 3 productos, se cargan correctamente en el gridview los 3:

    Manzana $10

    Banana $5

    Manzana $2

    Cuando genero la venta y voy a la base de datos a consultar el detalle. Solo me muestra el primer producto del gridview, en éste caso la manzana. No se como lograr que se genere correctamente el detalle con los 3 productos.

    sábado, 19 de septiembre de 2020 19:40
  • Ya lo pude resolver por suerte!!! Tenia mal ubicado un método. Estaba dentro de un IF y no iba ahi.

    Gracias por los aportes.

    martes, 22 de septiembre de 2020 1:51
  • Gran trabajo 
    martes, 22 de septiembre de 2020 16:35