none
PAGOS POR CAJA RRS feed

  • Debate general

  • Buenas tardes, estoy tratando de hacer un formulario donde me guarde los pagos efectuado por caja.

    cuando es un solo concepto de pago esta bien, pero como podria hacer cuando un recibo de pago tiene varios conceptos de pago para registrar.

    el idpago es identity, un recibo puede registrar muchoa pagos....

    estando en el formulario cargo los conceptos en un combo, selecciono el concepto y inserto el pago en un textbox,  

    ¿Como pordria hacer para ir acumumulando los conceptos de pago en el formulario para despues guardar todos con el mismo recibo?


    lutermick

    martes, 22 de octubre de 2013 22:09

Todas las respuestas

  • Hola

    Bueno depende del diseño de tu tabla en la DB ...y de que es lo que vas  a guardar...deberias especificar como vas a guardar los datos

    Tu quieres Guardar varios REgistros con el mismo numero de pago , pero diferente  ConceptoDePago ????

    si es asi que controles estas usando para ingresar los datos a tu Form ? pon una imagen o explicate mejor :)


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    martes, 22 de octubre de 2013 22:30
  • Gracias por responder Efrain:

    los datos se deberan guardar asi:

    • idpago    dni           pago         concepto      recibo
    • 100      123456       200.00        1                771013
    • 101      123456       300.00         2               771013
    • 102      123456        100.00         3              771013

    conceptos

    1=aportes

    2=prestamo

    3=interes

    mi problema esta en como ir acumulando los pagos en el formulario para despues guardarlos todos con el mismo reecibo:


    lutermick


    • Editado EdgCode martes, 22 de octubre de 2013 23:22 correccion
    martes, 22 de octubre de 2013 23:21
  • ¿Como pordria hacer para ir acumumulando los conceptos de pago en el formulario para despues guardar todos con el mismo recibo?

    podrias ir agtregandolos en una lista o quizas en un datagridview

    entonces cuando confirmas recorres los items del control y has creando los registros en la tabla de detalle

    Using conn As New SqlConnection("<connection string>") 
     conn.Open() 
    
     Dim id As integer = 0
     Dim query2 As String = "insertarventa" 
     Using cmd As New SqlCommand(query2, conn) 
      cmd.CommandType = SqlCommandType.StoredProcedure  
       
      cmd.Parameters.AddWithValue("@param1", textbox1.Text) 
      cmd.Parameters.AddWithValue("@param2", textbox2.Text) 
    
      id = CInt(cmd.ExecuteScalar())
    
     End Using 
      
    
     Dim query3 As String = "insertarproductosvendidos" 
     Using cmd As New SqlCommand(query3, conn) 
      cmd.CommandType = SqlCommandType.StoredProcedure  
       
      For Each row As DataGridViewRow In dataGridView1.Rows 
       cmd.Parameters.Clear() 
       cmd.Parameters.AddWithValue("@idpadre", id) 
       cmd.Parameters.AddWithValue("@param1", Convert.ToString(row.Cells("col1").Value)) 
       cmd.Parameters.AddWithValue("@param2", Convert.ToInt32(row.Cells("col2").Value)) 
    
       cmd.ExecuteNonQuery() 
      Next 
     End Using 
      
    End Using
    

    como veras tienes dos bloques, el primero es la cabecera en la segunda query usas el id de la primera

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 23 de octubre de 2013 0:30
  • ok ..algo asi me imagine

    podrias tener algo asi , con el boton Agregar Concepto vas agregando la cantidad del pago y el concepto . mientras el nro DNI , el nro RECIBO y cualquier otro dato se mantienen constantes ......

    podrias declarar 2 objetos lista de forma global , una para la cantidad del pago y otra para el concepto asi : 

     Dim montoPago As List(Of Doublel) = New List(Of Doublel)
     Dim conceptoPago As List(Of String) = New List(Of String)

    luego cada vez que ejecutes el boton Agregar Concepto se ejecutaria esto

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handle Button1.Click

      Dim monto As Decimal  = CDbl(TextBox3.Text)

      Dim concepto As String = ComboBox1.SelectedItem:ToString()

      montoPago.Add(monto)

      conceptoPago.Add(concepto)

    End Sub

    luego el boton guadar

     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

     Dim dni As String =TextBox1.Text

    Dim NroRecibo  As String = TextBox2.Text

    Dim k As Integer = conceptoPago.Count() -1

    For i =0 to k

       InsertarRegistros ( dni , montoPago.Item(i) , conceptoPago.Item(i) ,NroRecibo)

    Next

    montoPago.Clear()

    conceptoPago.Clear()

        End Sub

    Private Sub InsertarRegistros(ByVal dni As String, ByVal monto As String, ByVal concepto As String, ByVal nrorecibo As String)

            Dim comando As SqlCommand = New SqlCommand()
            Try
                comando.Connection = conexion
                comando.Connection.Open()
                comando.Parameters.Clear()
                comando.CommandText = "INSERT INTO TU TABLA (dni,monto,concepto,recibo) VALUES (@dni,@monto,@concepto,@recibo)"
                comando.Parameters.AddWithValue("@dni",dni)
                comando.Parameters.AddWithValue("@monto", monto)
                comando.Parameters.AddWithValue("@concepto", concepto)
                comando.Parameters.AddWithValue("@recibo", recibo)
         
                comando.ExecuteNonQuery()
                comando.Connection.Close()
            Catch ex As Exception
                MessageBox.Show("Error" & ex.ToString)
            End Try
        End Sub

    SI SOLUCIONO TU PROBLEMA NO OLVIDES VOTAR COMO UTIL Y MARACR COMO RESPUESTA...


    EFRAIN MEJIAS C VALENCIA - VENEZUELA


    miércoles, 23 de octubre de 2013 0:42
  • Disculapa la demora en responder... Probe tu ejemplo y si me guarda correcto, solo una consulta no hay forma de vizualizar como de van guardando cuando boy agregando los conceptos... quisiera usar lista visible.?

    gracias


    lutermick

    jueves, 24 de octubre de 2013 20:06
  • Gracias... Efrain ya logre mostrarlo en dos listbox. Me fue de mucha ayuda.


    lutermick

    jueves, 24 de octubre de 2013 20:13
  • SI SOLUCIONO TU PROBLEMA NO OLVIDES VOTAR COMO UTIL Y MARACR COMO RESPUESTA...

    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    sábado, 26 de octubre de 2013 9:42