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 *******/
Para terminar de configurar la Factura de Ticket nos falta algunas modificaciones.
El sistema hay que cargarle la configuración de archivo INI para eso hay que crear el siguiente procedimiento:
Sub CargarArchivoConfiguracion()
glob_conf_ImpreFacturacion = Leer_Ini(Path_Archivo_Ini, "ImpreFacturacion", "")
glob_conf_ImpreInformes = Leer_Ini(Path_Archivo_Ini, "ImpreInformes", "")
glob_conf_ImpreCierreCaja = Leer_Ini(Path_Archivo_Ini, "ImpreCierreCaja", "")
glob_conf_ImpresoraTikets = Leer_Ini(Path_Archivo_Ini, "ImpresoraTicket", 0)
End Sub Este procedimiento va en el formulario principal frmPrincipal, con esto ya el sistema va a tener cargada las variables con las configuraciones que tenemos.
Nos falta indicarle a la ventana de ventas que si escogimos que imprima con la impresora de Ticket use el procedimiento que creamos para eso:
Para indicarle esto debemos ir al formulario de ventas y irnos al procedimiento Sub Finalizar_Guardado_Factura()
Vamos a modificar la siguientes lineas:
If glob_conf_ImpresoraTikets = 0 Then Call ImprimirFactura_carta(Num_Factura) Else Call ImprimirFactura_Ticket(Num_Factura) End If
Si glob_conf_ImpresoraTikets es igual a cero entonces imprime con la impreso normal pero si es 1 entonces con la de ticket.
El procedimiento completo 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
'Se guarda en la tabla ventas
Sql = "Insert Into tblVentas (Num_Factura, FechaHora, TipoFact, Dias, TotalFactura, EstadoFact, Comentario, Efectivo, Cambio, IdCliente, IdUsuario) " _
& " VALUES (" & Num_Factura & ",'" & FechaHora & "'," & Me.cmdTipoFact.ListIndex & "," & txtDias.Text & ",'" & CCur(txtTotalFactura) & "',1,'" & Comentario & "','" & CCur(txtVECambio.Text) & "','" & CCur(txtCambio.Text) & "'," & CodigoCliente & "," & Glo_IdUsuario & ")"
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 Mientras hice pruebas al sistema note algunos errores por corregir y pego el código ya corregido para que ustedes lo corrijan:
Sub BuscarProductoCodigo()
Dim Sql As String
Sql = "Select * From tblProductos Where CodigoPro = '" & txtCodigoPro.Text & "'"
Set RecordSet_Producto = ConexionADO.Execute(Sql)
If RecordSet_Producto.RecordCount > 0 Then
Call DatosProducto(RecordSet_Producto("IdProducto"))
txtCant_Pro.SetFocus
End If
End Sub En lo anterior agregue un condicional que valida que el producto exista If RecordSet_Producto.RecordCount > 0 Then
Luego:
Sub DatosProducto(Id_Producto)
IdProducto = Id_Producto
RecordSet_Producto.Filter = " IdProducto = " & Id_Producto
If RecordSet_Producto.RecordCount > 0 Then
With RecordSet_Producto
txtCodigoPro.Text = !CodigoPro
txtNombrePro.Text = !NombrePro
txtPrecioV_Pro.Text = !PVenta1Pro
If cmbPrecios.ListIndex = 0 Then
txtPrecioV_Pro.Text = !PVenta1Pro
ElseIf cmbPrecios.ListIndex = 1 Then
txtPrecioV_Pro.Text = Format(!PVenta2Pro, "currency")
Else
txtPrecioV_Pro.Text = Format(!PVenta3Pro, "currency")
End If
PrecioVentaGlob = txtPrecioV_Pro.Text
txtPrecioMinimoPro.Text = Format(!PMinimoPro, "currency")
txtExistPro.Text = !ExistPro
Precio2_Producto = !PVenta2Pro
Precio3_Producto = !PVenta3Pro
PrecioC_Pro = !PCostoPro
End With
End If
End Sub Agregue la linea IdProducto = Id_Producto porque no tomaba el producto cuando buscaba por código
Private Sub txtCodigoPro_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 And txtCodigoPro.Text <> "" Then
Call BuscarProductoCodigo
Exit Sub
End If
If msGrid.Rows > 0 And KeyCode = 13 Then
Call cmdGuardarFact_Click
End If
End Sub Existía otro error al dar Enter al buscar por código en ves de buscar el producto me salia la ventana de cobro esto se solucion agregando:
txtCant_Pro.SetFocus y Exit Sub
Private Sub cmdGuardarFact_Click()
If cmdTipoFact.ListIndex = 0 Then 'contado
Call AbrirVentanaCambio
Call DesactivarBotones
ElseIf cmdTipoFact.ListIndex = 1 Then 'crédito
If txtAbonoFact.Text <> "" Then
If CCur(txtAbonoFact.Text) > 0 Then
Call AbrirVentanaCambio
Call DesactivarBotones
Else
Call Finalizar_Guardado_Factura
End If
End If
End If
End Sub En este procedimiento agregue el codicional If txtAbonoFact.Text <> “” Then para que valide si el campo abono no esta vació al guardar una venta a crédito.
En El formulario de Buscar Cliente debemos corregir la función que selecciona al cliente:
Private Sub cmdSeleccionar_Click()
Dim Codigo As Long
Dim Identifi As String
Dim Nombre As String
Dim Telefono As String
Dim Cupo As Currency
Dim PrecioVenta As Integer
'If msGrid.Row > 0 Then
' IdTipoUsuario = msGrid.TextMatrix(msGrid.Row, 1)
' Call frmAdministacionUsuarios.LlenarUsuario(IdTipoUsuario)
' Unload Me
'End If
Codigo = msGrid.TextMatrix(msGrid.Row, 1)
If Codigo <> 0 Then
If glob_FormularioSolicBuscarCli = "frmVentas" Then
Nombre = msGrid.TextMatrix(msGrid.Row, 2)
Identifi = msGrid.TextMatrix(msGrid.Row, 3)
Telefono = msGrid.TextMatrix(msGrid.Row, 4)
Cupo = msGrid.TextMatrix(msGrid.Row, 5)
PrecioVenta = Val(msGrid.TextMatrix(msGrid.Row, 6))
If IsNull(PrecioVenta) = True Then
PrecioVenta = 0
End If
Call frmVentas.SeleccionarCliente(Codigo, Identifi, Nombre, Telefono, Cupo, PrecioVenta, "")
Unload Me
End If
End If
End Sub
Corregí la linea Call frmVentas.SeleccionarCliente(Codigo, Identifi, Nombre, Telefono, Cupo, PrecioVenta, “”) le faltaba el parametro final
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