SoloCodigo

Bases de Datos => SQL Server => Mensaje iniciado por: blusky en Miércoles 28 de Septiembre de 2011, 23:26

Título: Actualizar inventario al eliminar factura
Publicado por: blusky en Miércoles 28 de Septiembre de 2011, 23:26
Hola a todos!!!

Tengo un form donde elimino la factura y su detalle, pero lo que quiero hacer es que despues
de eliminar la factura y detalle que se actualicen mis existencias ya que esa factura no me servira para efectos de reporte de ventas y por eso necesito que mis existencias se actualicen(la  factura que se elimine,agregar la existencia que esta en detalle de factura).

El problema radica en como hacer para tomar los valores del detalle para que se vuelvan a agregar a mi inventario??

 :think:

Gracias,

Espero me puedan ayudar
Título: Re:Actualizar inventario al eliminar factura
Publicado por: gabio2 en Jueves 29 de Septiembre de 2011, 04:45
Mi estimado Blusky dejame decirte que eso tiene que ver con tú análisis de BD, en algún momento debiste haber guardado el "id" de tú inventario al cual pertenece tú producto, así como también debiste guardar en algún lado el número de productos que vendiste.. entonces lo único que requieres hacer.. es consultar ese id de tú inventario y el número de productos a "actualizar"  para el folio de esa venta cancelada.. y así ya tienes los datos suficiente para "actualizar" tú inventario..  es todo.. no sé si me di a entender.. en caso que no .. puedes seguir preguntando.. saludos. :)
Título: Re:Actualizar inventario al eliminar factura
Publicado por: blusky en Sábado 1 de Octubre de 2011, 01:53
Hola gabio2, gracias por tomarte el tiempo y responder mi pregunta.

Fijate que no tengo problemas cuando realizo una venta, el inventario dsiminuye, no se porque cuando quiero eliminar la factura no se me actualiza el inventario.

Te muestro el codigo para que veas como lo hice, algo parecido hice con la venta, lo unico que cambie en la consulta fue el signo.

Public Sub eliminarDetalle()

        Try
         
            For i As Integer = 0 To Me.DataGridView2.Rows.Count - 1

                Try
                    Dim com As SqlClient.SqlCommand = New SqlClient.SqlCommand("Update Producto set Cantidad_Llena = Cantidad_Llena + " & Me.DataGridView2.Item(1, i).Value & " WHERE Id_Producto=" & Me.DataGridView2.Item(2, i).Value, abrirConexion)
                    Dim com2 As SqlClient.SqlCommand = New SqlClient.SqlCommand("Update Producto set Cantidad_Vacia = Cantidad_Vacia - " & Me.DataGridView2.Item(1, i).Value & " WHERE Id_Producto=" & Me.DataGridView2.Item(2, i).Value, abrirConexion)

                    com.ExecuteNonQuery()
                    com2.ExecuteNonQuery()
                Catch ex As Exception
                    ex.Message.ToString()
                End Try

            Next i

        Catch ex As Exception
            ex.Message.ToString()
        End Try


    End Sub

Espero tu opinion!!  Para poder detectar que esta pasando que no logro hacer esto.

 :suerte:

Gracias!!
Título: Re:Actualizar inventario al eliminar factura
Publicado por: softevolutions en Domingo 6 de Noviembre de 2011, 12:01
Lo tienes MUUUUUUUUUUCHO mas facil.

Yo trabajo todo en base de datos mediante instrucciones SQL, no hago lo mismo que has hecho tu, linea a linea de detalle, lo trabajo en bloque.

Te pongo un ejemplo.

Si tu tabla de detalle se llama "detalle" y entre otros campos tienes el id_articulo y la cantidad, puedes hacer esto:

update inventario set existencias = existencias + detalle.cantidad from detalle where detalle.id_articulo = inventario.id_articulo and detalle.factura = XXXX

esto vincula ambas tablas, detalle e inventario mediante el id_articulo.

Espero te sirva de orientacion.