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 */ 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 *******/
En esta lección mejorare el guardado de Facturas Temporales agregando los datos del cliente.
Al final encontrara el vídeo explicativo.
Lo primero es crear una tabla nueva llamada tblVentas_Temp que tendría los siguientes campos:
Los números en rojo es el tamaño del campo.
Luego se creas una consulta que se llamara cta_Listado_Fact_Temp la cual relacionamos ambas tablas tblDetalle_Ventas y tblVentas_Temp la consulta queda de la siguiente manera:
Esta es la consulta SQL.
SELECT tblVentas_Temp.IdVentTemp, tblVentas_Temp.nombre_cliente, Sum(((tblDetalle_Venta.Cantidad_dv*tblDetalle_Venta.P_Venta_dv)-tblDetalle_Venta.Descuento_dv)) AS Total, tblVentas_Temp.IdCliente, tblVentas_Temp.identificacion, tblVentas_Temp.telefono FROM tblDetalle_Venta INNER JOIN tblVentas_Temp ON tblDetalle_Venta.Num_VentaTemp = tblVentas_Temp.IdVentTemp GROUP BY tblVentas_Temp.IdVentTemp, tblVentas_Temp.nombre_cliente, tblVentas_Temp.IdCliente, tblVentas_Temp.identificacion, tblVentas_Temp.telefono;
Lo siguiente es modificar CrearFactura_Temp en el formulario de Ventas quedando de la siguiente manera:
Sub CrearFactura_Temp(IdVentTemp)
Sql = "Insert into tblVentas_Temp (IdVentTemp, IdCliente, nombre_cliente, telefono, identificacion, total) " _
& "Values (" & IdVentTemp & ", " & CodigoCliente & ", '" & txtNombre_Cli & "', '" & txtTelefono_cli & "', '" & txtIdentificacion_Cli & "', '" & CCur(txtTotalFactura) & "' )"
ConexionADO.Execute Sql
End Sub El Siguiente paso es modificar la el formulario de frmFacturasTemp todo el código para que les sea mas fácil queda de la siguiente manera:
Sub ListarTemporales()
Dim Sql As String
Dim Columnas As Integer
Sql = "Select IdVentTemp, nombre_cliente, Total, IdCliente, identificacion, telefono from cta_Listado_Fact_Temp "
Columnas = 6
Call LlenarGrid(msGrid, Sql, Columnas)
msGrid.ColWidth(0) = 0
msGrid.ColWidth(1) = 1300
msGrid.ColWidth(2) = 2800
msGrid.ColWidth(3) = 1700
msGrid.ColWidth(4) = 0 'idcliente
msGrid.ColWidth(5) = 0 'identifi
msGrid.ColWidth(6) = 0 'telefono
msGrid.TextMatrix(0, 1) = "No. Factura"
msGrid.TextMatrix(0, 2) = "Cliente"
msGrid.TextMatrix(0, 3) = "Valor Total"
With msGrid
For I = 1 To .Rows - 1
.TextMatrix(I, 3) = Format(.TextMatrix(I, 3), "currency")
Next I
End With
End Sub
Private Sub cmdBorrarPro_Click()
If msGrid.Row > 0 Then
Num_Factura = msGrid.TextMatrix(msGrid.Row, 1)
If Num_Factura <> "" Then
Res = MsgBox("¿Esta segúro de borrar la factura temporal No. " & Num_Factura & "? ", vbYesNo, "Borrar Producto")
If Res = vbYes Then
Sql = "Delete from tblDetalle_Venta Where Num_VentaTemp = " & Num_Factura
ConexionADO.Execute Sql
Call ListarTemporales
End If
End If
End If
End Sub
Private Sub cmdCerrar_Click()
Unload Me
End Sub
Private Sub cmdSeleccionar_Click()
Num_Temp = msGrid.TextMatrix(msGrid.Row, 1)
If Num_Temp <> "" Then
nombre_cliente = msGrid.TextMatrix(msGrid.Row, 2)
id_cliente = msGrid.TextMatrix(msGrid.Row, 4)
idenfi_cliente = msGrid.TextMatrix(msGrid.Row, 5)
telef_cliente = msGrid.TextMatrix(msGrid.Row, 6)
Call frmVentas.CargarFactTemporal(Num_Temp, id_cliente, nombre_cliente, idenfi_cliente, telef_cliente)
Unload Me
End If
End Sub
Private Sub Form_Load()
Call ListarTemporales
End Sub
Private Sub msGrid_DblClick()
Call cmdSeleccionar_Click
End Sub
Y por ultimo se modifica el procedimiento que carga la factura temporal llamdo CargarFactTemporal en la tabla frmVentas
Sub CargarFactTemporal(Num_Temp, id_cliente, nombre_cliente, idenfi_cliente, telef_cliente)
ConsecutivoTemp = Num_Temp
CodigoCliente = id_cliente
txtIdentificacion_Cli.Text = idenfi_cliente
txtNombre_Cli.Text = nombre_cliente
txtTelefono_cli = telef_cliente
Call LlenarGridProductos
End Sub Con lo anterior cuando se selecciona una factura temporal se carga los productos y la información del cliente.
Las modificaciones para que funcione los impuestos en ventas son las siguientes:
Tabla tblVentas
Para guardar el valor del impuesto en la tabla se modifica la consulta de la siguiente manera:
'Se guarda en la tabla ventas
Sql = "Insert Into tblVentas (Num_Factura, FechaHora, TipoFact, Dias, ImpuestoTotal, TotalFactura, EstadoFact, Comentario, Efectivo, Cambio, IdCliente, IdUsuario, SaldoFactura) " _
& " VALUES (" & Num_Factura & ",'" & FechaHora & "'," & Me.cmdTipoFact.ListIndex & "," & txtDias.Text & ",'" & CCur(txtImpuestoFact) & "','" & CCur(txtTotalFactura) & "',1,'" & Comentario & "','" & CCur(txtVECambio.Text) & "','" & CCur(txtCambio.Text) & "'," & CodigoCliente & "," & Glo_IdUsuario & ", '" & SaldoFactura & "')"
ConexionADO.Execute Sql
El procedimiento completo queda así:
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, ImpuestoTotal, TotalFactura, EstadoFact, Comentario, Efectivo, Cambio, IdCliente, IdUsuario, SaldoFactura) " _
& " VALUES (" & Num_Factura & ",'" & FechaHora & "'," & Me.cmdTipoFact.ListIndex & "," & txtDias.Text & ",'" & CCur(txtImpuestoFact) & "','" & 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
Saludos, en este tutorial aprenderás a integrar tu aplicación de Visual Basic 6 con un…
Recientemente, muchos usuarios de Hotmail (ahora Outlook.com) han reportado un error al intentar iniciar sesión…
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…
Este sitio utiliza cookies desea activarlas
Leave a Comment