Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Facturar Expediciones

Estas en el tema de Facturar Expediciones en el foro de Visual Basic clásico en Foros del Web. Muy buenas a todos! Intento generar facturas a partir de los envíos (Expediciones) realizador por cliente durante un periodo de tiempo. El problema lo he ...
  #1 (permalink)  
Antiguo 11/06/2008, 10:12
 
Fecha de Ingreso: junio-2008
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Facturar Expediciones

Muy buenas a todos!
Intento generar facturas a partir de los envíos (Expediciones) realizador por cliente durante un periodo de tiempo.
El problema lo he encontrado al intentar crear una factura.
He estado dandole vueltas, y más vueltas pero "no me sale". Estoy dando ya palos de ciego, por lo que les expongo el código que tengo por si me pudiesen orientar.

Me.cmdSeleccionar.Visible = False
Dim Fila As DataRow
Dim idFra As Integer
Dim i As Integer

Dim dtExp As DataTable = ds.Tables("EXPEDICION")
Dim dtFra As DataTable = ds.Tables("Facturas")

For i = 0 To Me.DataGridView1.RowCount - 1
If ds.Tables("EXPEDICION").Rows(i).Item("IDAGENCIA") = Me.txtIDCLIENTE.Text Then
Fila = ds.Tables("Facturas").NewRow
If ds.Tables("facturas").Rows.Count > 0 Then
idFra = ds.Tables("FACTURAS").Rows(ds.Tables("FACTURAS").R ows.Count - 1).Item("IDFACTURA") + 1

Else
idFra = 1
End If

Fila("IDFACTURA") = idFra

Fila("IDCLIENTE") = Me.txtIDCLIENTE.Text
Fila("FECHAEMISION") = Me.cboFechaEmision.Text
Fila("COBRADA") = False
Fila("IMPRESA") = False
ds.Tables("Facturas").Rows.Add(Fila)

End If
Next i


FiltrarPendientesCliente()

'Modificar a facturada la expedicion
For Each row As DataGridViewRow In DataGridView1.Rows

row.Cells("FACTURADO").Value = True
Next
Dim relFraExp As New DataRelation("FraExp", ds.Tables("Facturas").Columns("IDFACTURA"), _
ds.Tables("Expedicion").Columns("IDFACTURA"))
ds.Relations.Add(relFraExp)

bs.EndEdit()
da.Update(ds, "EXPEDICION")
daF.Update(ds, "Facturas")
ds.AcceptChanges()

Me.txtFactura.Text = idFra
MessageBox.Show("Creada Factura Nº: " & idFra)
'Mostrar expediciones facturadas
Dim dv As DataView = ds.Tables("Expedicion").DefaultView

dv.RowFilter = "IDFACTURA='" & Me.txtFactura.Text & "'"
Me.DataGridView1.DataSource = dv

Me da error al actualizar las tablas:Update requiere que UpdateCommand sea válido cuando se pasa la colección DataRow con filas modificadas.

No creo que el error lo tenga al cargar los datos, pero por si acaso (ya que no saben las vueltas que le he dado sin detectar el error), lo muestro a continuación:
cn.Open()
da = New OleDb.OleDbDataAdapter("Select * from Expedicion", cn)
dacli = New OleDb.OleDbDataAdapter("Select * from Agencias", cn)
daF = New OleDb.OleDbDataAdapter("Select * from Facturas", cn)

da.Fill(ds, "Expedicion")
dacli.Fill(ds, "Agencias")
daF.Fill(ds, "Facturas")
Dim clave(0) As DataColumn
clave(0) = New DataColumn
clave(0) = ds.Tables("Facturas").Columns("idfactura")
ds.Tables("Facturas").PrimaryKey = clave

Dim cF As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(daF)
daF.UpdateCommand = cF.GetUpdateCommand
daF.InsertCommand = cF.GetInsertCommand
daF.DeleteCommand = cF.GetDeleteCommand
cn.Close()

bs.DataSource = ds
bs.DataMember = "Expedicion"

Gracias por su atención. Posiblemente esté haciendo alguna "burrada", por lo que agradecería cualquier comentario, orientación o enlace.
Gracias de nuevo. Abrazos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:02.