amp-web-push-widget button.amp-subscribe { display: inline-flex; align-items: center; border-radius: 5px; border: 0; box-sizing: border-box; margin: 0; padding: 10px 15px; cursor: pointer; outline: none; font-size: 15px; font-weight: 500; background: #4A90E2; margin-top: 7px; color: white; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.5); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .amp-logo amp-img{width:190px} .amp-menu input{display:none;}.amp-menu li.menu-item-has-children ul{display:none;}.amp-menu li{position:relative;display:block;}.amp-menu > li a{display:block;} /* Inline styles */ span.acsseb086{display:inline-block;overflow:hidden;max-width:0px;}span.acssf146f{color:#ff0000;}div.acss138d7{clear:both;}div.acssf5b84{--relposth-columns:3;--relposth-columns_m:2;--relposth-columns_t:2;}div.acssa8a3d{aspect-ratio:1/1;background:transparent no-repeat scroll 0% 0%;height:300px;max-width:300px;}div.acss13836{color:#333333;font-family:Arial;font-size:14px;height:75px;}span.acss47fcd{background:#FFFFFF;color:#000000;}div.acss0f1bf{display:none;}a.acssf23c5{font-size:8pt;}a.acss24ea4{font-size:16.4pt;}a.acss066f0{font-size:22pt;} .ampforwp_wc_shortcode{margin-top: 0;padding:0;display:inline-block;width: 100%;} .ampforwp_wc_shortcode li{position: relative;width:29%; font-size:12px; line-height: 1; float: left;list-style-type: none;margin:2%;} .ampforwp_wc_shortcode .onsale{position: absolute;top: 0;right: 0;background: #ddd;padding: 7px;font-size: 12px;} .single-post .ampforwp_wc_shortcode li amp-img{margin:0} .ampforwp-wc-title{margin: 8px 0px 10px 0px;font-size: 13px;} .ampforwp-wc-price{color:#444} .wc_widgettitle{text-align:center;margin-bottom: 0px;} .ampforwp-wc-price, .ampforwp_wc_star_rating{float:left;margin-right: 10px;} .icon-widgets:before {content: "\e1bd";}.icon-search:before {content: "\e8b6";}.icon-shopping-cart:after {content: "\e8cc";} /******* Paste your Custom CSS in this Editor *******/
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: 2728 - Today Page Visits: 5
Luis F. Martinez

Leave a Comment
Compartir
Publicado por
Luis F. Martinez

Publicaciones Recientes

CRUD Enviar y Recibir datos de Visual Basic 6 a PHP

Saludos, en este tutorial aprenderás a integrar tu aplicación de Visual Basic 6 con un…

4 meses hace

Problemas para acceder a Hotmail o Live.com desde el navegador web

Recientemente, muchos usuarios de Hotmail (ahora Outlook.com) han reportado un error al intentar iniciar sesión…

6 meses hace

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…

1 año 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 año 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 año 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 año hace

Este sitio utiliza cookies desea activarlas