Problema Crear Factura
Publicado por sherezade (7 intervenciones) el 10/06/2008 20:48:42
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").Rows.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.
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,
Sherezade
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").Rows.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.
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,
Sherezade
Valora esta pregunta


0