Visual Basic - STOCK AL HACER UNA FACTURA

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

STOCK AL HACER UNA FACTURA

Publicado por Juan Carlos (2 intervenciones) el 04/11/2012 02:10:42
Como están amigos... de nuevo de regreso con una consulta. La verdad voy avanzado en el sistema de Facturación en base al modelo de Kalizron. ahora ya esta echo el modelo de descarga del STOCK AL HACER UNA FACTURA pero no se que estoy haciendo mal porque solo me descuenta una fila de la grilla de ventas. ejm si vendo 2 sandias y 4 peras solo me vaja del stock las 4 peras. AYUDA quiero aprender con hacer que todos los items se descargen del inventario.
ACA EL CODIGO FUENTE.

Private Sub cmdfacturar_Click()
''validamos que si se eligio un cliente
If LBLCODIGOCLIENTE.Caption = "" Then MsgBox "Debe elegir un cliente de la Lista Clientes", vbInformation, "Aviso": Exit Sub
'''validamos que el detalle tenga por lo menos un producto que vayamos a facturar
With RSTEMPORALFACTURA
.Requery
If .BOF Or .EOF Then
MsgBox "No se ha agregado ningun producto al Detalle de la Nota de Venta", vbInformation, "Aviso"
FORMATOGRILLATEMPORAL
Exit Sub
Else
FORMATOGRILLATEMPORAL
End If
End With
'''' ahora agregamos factura
''parte uno garegamos datos factura
With RSFACTURA
.Requery
.AddNew
!CodigoFactura = TXTFACTURA.Text
!FechaFactura = Date
!codcliente = Val(LBLCODIGOCLIENTE.Caption)
!SubTotalFactura = SUBTOTAL
SUBTOTAL = 0
!IGV = SUBTOTAL * 0.12
!Total = SUBTOTAL + (SUBTOTAL * 0.12)
.Update
End With
''''parte dos guardamos el detalle de la factura... desde detalle temporal
Dim Registros As Integer
Registros = RSTEMPORALFACTURA.RecordCount
RSTEMPORALFACTURA.Requery
RSTEMPORALFACTURA.MoveFirst
'''creamos un bucle
For X = 1 To Registros
With RSDETALLEFACTURA
.Requery
.AddNew
!CodFactura = GRILLADETALLEFACTURA.Columns(1).Text
!codproducto = GRILLADETALLEFACTURA.Columns(2).Text
!cantidad = GRILLADETALLEFACTURA.Columns(4).Text
!precio = GRILLADETALLEFACTURA.Columns(5).Text
!importe = GRILLADETALLEFACTURA.Columns(6).Text
.Update
End With

If X = Registros Then Else RSTEMPORALFACTURA.MoveNext
Next
'restar inventario

RSTEMPORALFACTURA.Requery
RSTEMPORALFACTURA.MoveFirst
For X = 1 To Registros
With RSARTICULOS
.Requery
If .RecordCount > 0 Then
.MoveFirst
.Find "id='" + Trim(RSDETALLEFACTURA!codproducto) + "'"
End If
Dim stock As Integer
stock = !StockActualArticulo

!StockActualArticulo = stock - Val(GRILLADETALLEFACTURA.Columns(4).Text)
.Update
End With

If X = Registros Then Else RSTEMPORALFACTURA.MoveNext

Next


'''mandamos un mensaje indicando que la factura se creo correctamente
MsgBox "La Factura fue creada correctamente", vbInformation, "Aviso"
''''borramos el temporal
''OJOOOOOO''
BORRARTEMPORAL
'''''salir
Unload Me


End Sub

les agradesco de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

STOCK AL HACER UNA FACTURA

Publicado por Pedro Luis (57 intervenciones) el 04/11/2012 14:35:29
Prueba a poner el movefirst antes del recordcount
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

STOCK AL HACER UNA FACTURA

Publicado por Juan Carlos (2 intervenciones) el 05/11/2012 13:29:56
gracias amigo.... la verdad ya eh probado el poner primero el .movefirst pero me sigue dando el error. pero con todo se agradece el que te hayas preocupado en darme una solución.... muchas gracias amigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

STOCK AL HACER UNA FACTURA

Publicado por jorge (2 intervenciones) el 20/02/2013 23:54:41
ayuda con factura que debe ingresar todo manualmente los productos y estos alfinal deben guardarse como factura, osea ingresar los productos por textbox a un datagrif de ahi ejecutar la factura e imprimir y esta a su vez debe guardarse como factura espero su ayuda urgente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar