Siguiente con el Modulo Cartera de Clientes en esta parte vamos a ir organizando la venta para que reciba el saldo.
Lo primero que debemos hacer es modificar la ventana de Ventas y lo primero es que vamos a colocar cero en el cuadro de Abono txtAbonoFact.Text = 0.
Agregamos eso al procedimiento Inicial de la ventana de Ventas quedando de la siguiente manera.
Sub Inicial() txtFechaApro.Text = Format(Date, "dd/mm/yyyy") cmdTipoFact.ListIndex = 0 txtDias.Text = 0 txtDesuentoVPro.Text = 0 txtPorcDescuentoPro = 0 txtAbonoFact.Text = 0 End Sub
Ahora hay que agregar el campo nuevo que creamos en la tabla tblVentas el proceso es el siguiente para agregar el saldo.
Modificamos el Procedimiento Finalizar_Guardado_Factura de la ventana de Ventas.
Agregamos el siguiente código que calcula el Saldo de la factura, este código va antes del la consulta Insert.
'calcular saldo SaldoFactura = 0 If cmdTipoFact.ListIndex = 1 Then If CCur(txtAbonoFact.Text) > 0 Then SaldoFactura = CCur(txtTotalFactura) - CCur(txtAbonoFact.Text) Else SaldoFactura = CCur(txtTotalFactura) End If End If
Luego agreamos el campo SaldoFactura al Insert :
Sql = "Insert Into tblVentas (Num_Factura, FechaHora, TipoFact, Dias, TotalFactura, EstadoFact, Comentario, Efectivo, Cambio, IdCliente, IdUsuario, SaldoFactura) " _ & " VALUES (" & Num_Factura & ",'" & FechaHora & "'," & Me.cmdTipoFact.ListIndex & "," & txtDias.Text & ",'" & CCur(txtTotalFactura) & "',1,'" & Comentario & "','" & CCur(txtVECambio.Text) & "','" & CCur(txtCambio.Text) & "'," & CodigoCliente & "," & Glo_IdUsuario & ", " & SaldoFactura & ")" ConexionADO.Execute Sql
Todo queda de la siguiente manera:
Sub Finalizar_Guardado_Factura() Num_Factura = Ultima_Factura_Venta() 'Ultima venta FechaHora = txtFechaApro.Text & " " & Time 'fecha y hora Comentario = "-" If txtObervacionesPro.Text <> "" Then 'comentario Comentario = txtObervacionesPro.Text End If 'calcular saldo SaldoFactura = 0 If cmdTipoFact.ListIndex = 1 Then If CCur(txtAbonoFact.Text) > 0 Then SaldoFactura = CCur(txtTotalFactura) - CCur(txtAbonoFact.Text) Else SaldoFactura = CCur(txtTotalFactura) End If End If 'Se guarda en la tabla ventas Sql = "Insert Into tblVentas (Num_Factura, FechaHora, TipoFact, Dias, TotalFactura, EstadoFact, Comentario, Efectivo, Cambio, IdCliente, IdUsuario, SaldoFactura) " _ & " VALUES (" & Num_Factura & ",'" & FechaHora & "'," & Me.cmdTipoFact.ListIndex & "," & txtDias.Text & ",'" & CCur(txtTotalFactura) & "',1,'" & Comentario & "','" & CCur(txtVECambio.Text) & "','" & CCur(txtCambio.Text) & "'," & CodigoCliente & "," & Glo_IdUsuario & ", " & SaldoFactura & ")" ConexionADO.Execute Sql 'A los productos del detalle se les asigna el numero de factura Sql = "Update tblDetalle_Venta set Num_Factura = '" & Num_Factura & "', Num_VentaTemp = '0' where Num_VentaTemp = " & ConsecutivoTemp ConexionADO.Execute Sql '*************** Consulta que resta todos los articulos de inventario Sql = "UPDATE tblProductos as ar INNER JOIN tblDetalle_Venta as d ON ar.IdProducto = d.IdProducto SET ar.ExistPro = (ar.ExistPro - d.Cantidad_dv) where d.Num_Factura = " & Num_Factura ConexionADO.Execute Sql '/*//*********************** crear el historial de cada articulo en el kardex Sql = "INSERT INTO tblKardex (Fecha, IdProducto, Detalle, D_C, Cantidad, Costo,Cant_Saldo) Select '" & FechaHora & "', dt.IdProducto, 'Venta de Mercancia según Fra. N° " & Num_Factura & " '," _ & Num_Factura & ", dt.Cantidad_dv * -1, dt.P_Costo_dv, (Select ExistPro from tblProductos where IdProducto = dt.IdProducto) from tblDetalle_Venta as dt Where dt.Num_Factura = " & Num_Factura ConexionADO.Execute Sql If glob_conf_ImpresoraTikets = 0 Then Call ImprimirFactura_carta(Num_Factura) Else Call ImprimirFactura_Ticket(Num_Factura) End If ConsecutivoTemp = UltimaVentaTemp Call LlenarGridProductos MsgBox "Venta Guardada", vbInformation, "Guardar" Call LimpiarVenta End Sub
Debes construir el formulario donde se mostraran las facturas a crédito del cliente:
Nombres de los Controles:
Formulario: frmFacturasCliente
txtCodigoCli, txtNombre_Cli, txtFecha
cmbTipo en su propiedad list lleva lo siguiente:
cmbMeses en su propiedad list lleva:
cmdTipoPago en su propiedad list lleva:
msGrid, txtCodigoRecibo, cmdGuardar, cmdVerPagos, cmdImprimir, cmdSalir
Ahora vamos al formulario frmBuscarClientes y debemos agregar un boton en la parte inferior que se llame Facturas con nombre: cmdFacturas, el cual va abrir la ventana que acabamos de crear:
Luego agregamos el código para que abra la ventana al dar clic en el botón facturas
Private Sub cmdFacturas_Click() IdCliente = msGrid.TextMatrix(msGrid.Row, 1) If IdCliente <> "" Then frmFacturasCliente.Show End If End Sub
Por ahora ya tenemos la estructura que necesitamos para comenzar a crear el código para la consulta de saldos de Clientes.
No te olvides de Compartir
En este proyecto, vamos a desarrollar una calculadora sencilla usando Visual Basic 6, que permite…
6 de septiembre de 2024 - La demanda de desarrolladores de software sigue en aumento,…
En un movimiento histórico, la Unión Europea ha aprobado la primera ley de inteligencia artificial…
¿Sigues trabajando con Visual Basic 6 y necesitas una forma eficiente de acceder a tus…
OpenAI revoluciona la interacción con IA: ChatGPT ahora interpreta imágenes En un avance significativo para la…
Bienvenido al Curso Básico de Visual Basic 6! Este curso está diseñado para llevarte a…
Este sitio utiliza cookies desea activarlas
Deja un comentario