none
Recuperar valor borrado.

    Pregunta

  • Hola, estoy haciendo un sistema para un minisuper, bueno...paso a explicar mi duda.

    Tengo 2 datagridview uno donde voy agregando los productos para la venta de ese momento y otro donde tengo una lista con todos los productos en stock.

    Al agregar por ejemplo el producto con 100 unidades en stock una vez que se agrego al datagrid de la venta, se realiza la resta de la cantidad de stock del producto por ejemplo en este caso 1 quedo el producto con 99 unidades en stock.

    Una vez que el producto queda con 0 unidades en stock es eliminado del datagrid donde están todos los productos con el siguiente código:

      Private Function EliminarFila() As Integer
    
               Try
                Using cnn As New SqlConnection("...")
    
                    cnn.Open()
    
                   Dim cmd As SqlCommand = cnn.CreateCommand()
    
                    cmd.CommandText = _
                     "DELETE FROM Productos " & _
                     "WHERE Id_producto = @Id_producto"
    
                    Dim n As Integer
    
                   For Each row As DataGridViewRow In DataGridView1.SelectedRows
    
                     Dim Id_producto As Object = row.Cells(0).Value
    
                        cmd.Parameters.AddWithValue("@Id_producto", Id_producto)
    
                    Dim result As Integer = cmd.ExecuteNonQuery()
    
                    n += result
                    Next
    
                    Return n
    
                End Using
    
            Catch ex As Exception
                
                MsgBox("Ocurrio un error.")
    
            End Try
    
        End Function

    Ademas, tengo un botón el cual se encarga de que en caso de querer quitar un producto del datagriview ventas se pueda quitar y agregarlo nuevamente al datagridproducto agregando solamente la cantidad de stock. Acá dejo el código del mismo:

        Private Sub Button10_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
     
            Dim Fila As DataGridViewRow = DataGridView2.CurrentRow
    
            If Fila IsNot Nothing Then 'Si existe una referencia válida
    
                'Obtener los valores de la fila a quitar
                Dim Producto As String = CStr(Fila.Cells("Column1").Value)
                Dim Cantidad As Int32 = CInt(Fila.Cells("Column2").Value)
    
               'Quitar la fila
                DataGridView2.Rows.Remove(Fila)
    
                'Encontrar la fila según el producto que se ha quitado
                Dim FilaActualizar As DataGridViewRow =
                    DataGridView1.Rows.Cast(Of DataGridViewRow)().
                Where(Function(r) Convert.ToString(r.Cells("Nombre").Value) = Producto).
                FirstOrDefault()
    
                If FilaActualizar IsNot Nothing Then 'Acumular la cantidad
                    FilaActualizar.Cells("CantidadStock").Value += Cantidad
                End If
            End If
        End Sub

    En fin, mi duda es como puedo hacer de que encaso de que quiera quitar de la venta al producto y agregarlo al datagrid de los productos, teniendo en cuenta que el producto ya no existe en la base porque fue eliminado.

    Seria volver a agregar ese producto que fue quitado de la venta y agregarlo al datagridview pero teniendo en cuenta tambiénque el producto tiene otros campos apartes de los que se agregan al momento de agregarlo para una venta.

    ¿Podria ser creando una tabla con los productos eliminados?

    Espero me sepan entender, cualquier cosa solo comentenme.

    Saludos

    Les dejo un tema donde también explico un poco como es

    https://social.msdn.microsoft.com/Forums/es-ES/ce64dd40-3e23-4752-9c58-c5f7eea38ec8/restar-desde-un-datagrid-a-otro?forum=vbes#59a98516-f9cb-4c85-aa82-1eda64dfff3b

    miércoles, 7 de diciembre de 2016 13:45

Respuestas

  • Hola,

    Para mi no es necesario que muestres el stock y eventualmente la salida o actualizacion del stock la deberias hacer al confirmar la venta. O vos pensas que si reponen en la gondola al toque van a registrar un ingreso de mercaderia en el sistema.

    En un minisuper lo que pasa por la caja es porque esta en la gondola, si no hay mercaderia en la gondola nunca va pasar el producto por la caja, lease vender.


    Victor Koch

    • Marcado como respuesta Federico32113 miércoles, 7 de diciembre de 2016 22:13
    miércoles, 7 de diciembre de 2016 19:14
  • EstebanQuito125478,

    No comprendo porque borras el producto cuando el stock se convierte en 0, ¿no existe reposición de existencias?.

    Cuando un producto llega al stock 0 (o llega al stock mínimo permitido) no se elimina el producto, simplemente no se muestra en la lista de productos disponibles o no se permite la operación debido a que no existe stock disponible para la venta. 


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Federico32113 miércoles, 7 de diciembre de 2016 22:13
    miércoles, 7 de diciembre de 2016 19:05

Todas las respuestas

  • EstebanQuito125478,

    No comprendo porque borras el producto cuando el stock se convierte en 0, ¿no existe reposición de existencias?.

    Cuando un producto llega al stock 0 (o llega al stock mínimo permitido) no se elimina el producto, simplemente no se muestra en la lista de productos disponibles o no se permite la operación debido a que no existe stock disponible para la venta. 


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Federico32113 miércoles, 7 de diciembre de 2016 22:13
    miércoles, 7 de diciembre de 2016 19:05
  • Hola,

    Para mi no es necesario que muestres el stock y eventualmente la salida o actualizacion del stock la deberias hacer al confirmar la venta. O vos pensas que si reponen en la gondola al toque van a registrar un ingreso de mercaderia en el sistema.

    En un minisuper lo que pasa por la caja es porque esta en la gondola, si no hay mercaderia en la gondola nunca va pasar el producto por la caja, lease vender.


    Victor Koch

    • Marcado como respuesta Federico32113 miércoles, 7 de diciembre de 2016 22:13
    miércoles, 7 de diciembre de 2016 19:14