Creación Software de Ventas Vb6

Curso de Software de Ventas Pt 44 Modulo Cartera de Clientes 2

Siguiente con el Modulo Cartera de Clientes en esta parte vamos a ir organizando la venta para que reciba el saldo.

Colabora y Suscribete a mi canal de

 

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.

  • Primero si la venta es crédito y el Abono es mayor a cero entonces hay que restar eso del total de la factura
  • Segundo Si la venta es Crédito y el abono es igual a cero el saldo seria el total de la factura

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:

  • Sin Pagar
  • Facturas Pagas
  • Facturas Vencidas

cmbMeses en su propiedad list lleva:

  • Todos
  • Enero
  • Febrero
  • Marzo
  • Abril
  • Mayo
  • Junio
  • Julio
  • Agosto
  • Septiembre
  • Octubre
  • Noviembre
  • Diciembre

cmdTipoPago en su propiedad list lleva:

  • Efectivo
  • Tarjeta

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.

Puedes el listado de las lecciones del curso en Curso de Creación de Software de Ventas en Visual Basic 6

No te olvides de Compartir 

Total Page Visits: 2304 - Today Page Visits: 1
Luis F. Martinez

Deja un comentario
Compartir
Publicado por
Luis F. Martinez

Publicaciones Recientes

Calculadora Básica en Visual Basic 6, Aprende a usar variables

En este proyecto, vamos a desarrollar una calculadora sencilla usando Visual Basic 6, que permite…

3 días hace

Lenguajes de Programación Más Demandados en 2024

6 de septiembre de 2024 - La demanda de desarrolladores de software sigue en aumento,…

1 semana hace

La Unión Europea Aprueba la Primera Ley de Inteligencia Artificial del Mundo

En un movimiento histórico, la Unión Europea ha aprobado la primera ley de inteligencia artificial…

1 semana hace

Sincronización de Datos en Línea VB6: Lleva tu Proyecto al Siguiente Nivel

¿Sigues trabajando con Visual Basic 6 y necesitas una forma eficiente de acceder a tus…

1 mes hace

OpenAI revoluciona la interacción con IA: ChatGPT ahora interpreta imágenes

OpenAI revoluciona la interacción con IA: ChatGPT ahora interpreta imágenes En un avance significativo para la…

4 meses hace

Curso de Programación Básica en Visual Basic 6.0

Bienvenido al Curso Básico de Visual Basic 6! Este curso está diseñado para llevarte a…

10 meses hace

Este sitio utiliza cookies desea activarlas