Publicado el Dejar un comentario

Al dar un clic en un módulo adicional de la barra de tareas

Este es el código fuente del Procedimiento RUNBARRA
RUNBARRA almacena todas las acciones que realizan los iconos de la ventana principal del sistema.
Aqui podemos hacer algunos ajustes para ejecutar nuestras Formas desarrolladas con el Editor deAmbiente de desarrollo
' Mybusiness POS v. 2011
Sub Main()
Dim Ventas

Select Case Ambiente.Tag
Case "Series"
Script.RunForm "SERIES", Parent, Ambiente,, False
Case "Verificador"

If Question( "Desea activar el verificador de precios (recuerde desactiva la ventana con ...1 y enter)", 1 ) Then
MuestraVerificador
End If

Case "Reconectar"
CreaConexiones
Case "AltaRapida"
Script.RunForm "ALTARAPIDA", Parent, Ambiente,, False
Case "AltaHotel"
Script.RunForm "ALTASERVICIOS", Parent, Ambiente,, False
Case "MySQLPass"
Script.RunForm "PASSMYSQL", Parent, Ambiente,, False
Case "HotSync"
Script.RunProcess "HOTSYNC", Parent, Ambiente
Case "Ofertas"
Script.RunForm "OFERTAS", Parent, Ambiente,, False
Case "CambioPrecio"
Script.RunForm "CAMBIOPRECIO", Parent, Ambiente,, False
Case "Procedimientos"
MuestraNodo "Procedimientos"
Case "Formatos"
MuestraNodo "formatos"
Case "Reportes"
MuestraNodo "Reportes"
Case "Hermes"
Script.RunForm "OFERTAS2", Parent, Ambiente,, False
Case "Etiquetas2"
Script.RunForm "ETIQUETA2", Parent, Ambiente,, False
Case "InvExcel"
Script.RunForm "PRODSEXCEL", Parent, Ambiente,, False
Case "estados"
Script.RunForm "ESTADOS", Parent, Ambiente,, False
Case "EditarCB"
MuestraDEtiquetas
Case "EditarTicket"
Script.RunForm "EDITORTICKET", Me, Ambiente,, False
Case "EditarGuion"
Script.RunForm "EDITORMENSAJE", Me, Ambiente,, False
Case "Pls2001"
Script.RunForm "EPLS2000", Me, Ambiente,, False
Case "Repartidor"
Script.RunForm "ALTAREPARTIDOR", Me, Ambiente,, False
Case "ImpVentas"
Script.RunForm "IMPVENTAS2", Me, Ambiente,, False
Case "Pacientes"
Script.RunForm "PACIENTES", Me, Ambiente,, False
Case "Bitacoras"
Script.RunForm "BITACORAS", Me, Ambiente,, False
Case "SubirBitacora"
Script.RunForm "SUBIRBITACORAS", Me, Ambiente,, False
Case "prospectos"
' Script puede ejecutar un proceso, una forma de captura, un reporte
' o un formato impreso
Script.RunForm "PROSPECTOS", Me, Ambiente,, False
Case "PreciosEspeciales"
Script.RunForm "PRECIOSESPECIALES", Me, Ambiente,, False

Case "Recostear"
Script.RunForm "COSTEO", Me, Ambiente,, False

Case "Touch"

Set Ventas = CreateObject("MyBVentas.ventas")
Set Ventas.Ambiente = Ambiente
Ventas.ActivaTouch

Case "PuntoVenta2"

Set Ventas = CreateObject("MyBVentas.ventas")
Set Ventas.Ambiente = Ambiente
Ventas.ActivaPuntoDeVenta2

Case "Recalcular"
If Question( "Desea recalcular el inventario", 1 ) Then
Call RecDelta()
End If

Case "Servicios"

ejecuta "CD010"

Case "DatosGenerales"

Me.DatosEmpresa

Case "Mantenimiento"

RepararBaseDedatos

Case "FormatosImpresion"

Formatos

Case "Consecutivos"

'Consecutivos
SetSessionValue Ambiente, "FORMPADRECONSEC", "BUSINESSMANAGER"
Script.RunForm "CONSECUTIVOS", Me, Ambiente,, True

Case "GeneralConsecutivos"

Script.RunForm "TODOSLOSCONSECUTIVOS", Me, Ambiente,, True

Case "BorrarBase"

EliminaDatos

Case "AltaEmpresa"

Script.RunForm "DATOSEMPRESA", Me, Ambiente,, False

Case "CambiarEmpresa"

CambiaEmpresa

Case "RegistroDeLicencia"

AcercaDe

Case "ConfigGeneral"

ConfigGeneral

Case "SincronizarProcedimientos"

SincronizarProcedimientos

Case "Rangos"

establecerPeriodosDeCarpetas

Case "configpocket"
Script.RunForm "CONFIGPOCKETPC", Me, Ambiente,, True
Case "inventariopocket"
Script.RunForm "ENTRADAPOCKET", Me, Ambiente,, True
Case "pocket"
Script.RunForm "EXPORTAIMPORTAPOCKET", Me, Ambiente,, True
'Script.RunProcess "EXPORTAINFOTOPOCKET", Parent, Ambiente
Case "confirmaventas"
Script.RunForm "CONFIRMAVENTAS", Me, Ambiente,, True
Case "creanotas"
Script.RunForm "AsistenteNotasPocket", Me, Ambiente,, True
'Case "creainventariofisico"
'Script.RunForm "INVFISICOPOCKET", Me, Ambiente,, True
Case "reportepedidospk"
EjecutaReporte "PEDIDOSMOBILE"
Case "cargainicial"
EjecutaReporte "PRODSPOCKET"
Case "ventaspendientes"
EjecutaReporte "VENTASMOBILE"
Case "articulosvendidos"
EjecutaReporte "VENTAPRODSMOBILE"

Case "HojaInventario"

Script.RunForm "HOJACOSTOS", Me, Ambiente,, False
'muestraHojaDeInventario

Case "CobroCaja"

Set ventas = CreateObject( "MyBVentas.ventas" )
Set ventas.Ambiente = Me.Ambiente
Ventas.MuestraCobroEncaja

Case "Consulta"

Script.RunForm "CONSULTA", Me, Ambiente,, False

Case "etenvio"

Script.RunForm "ETENVIO", Me, Ambiente,, False

Case "FacturaCierre"

Script.Runform "FACTURADECIERRE", Me, Ambiente,, False

Case "series"

activaSeriesSalida

Case "lotes"

activaFormaDeLotes

Case "CambioCosto"

activaFormaDeCambiosDeCosto

Case "ReportesFinancieros"

ShellRun Me.hWnd, "Open", "http://localhost:4410/index.myweb?newsession"

Case "seriesseguimiento"

Script.RunForm "RASTREOSERIE", Me, Ambiente,, False

Case "MBInventario"

Set MBInventario = CreateObject( "MyBArticulos.Articulos" )
Set MBInventario.Ambiente = Ambiente
MBInventario.muestraMBInventario

Case "ordenproduccion"

Set p = CreateObject( "MyBProduccion.produccion" )
Set p.Ambiente = Ambiente
p.NuevaOp

Case "capturaetiquetas"

Set p = CreateObject( "MyBProduccion.produccion" )
Set p.Ambiente = Ambiente
p.MuestraCapturaDeFracciones

Case "seguimiento"

Set p = CreateObject( "MyBProduccion.produccion" )
Set p.Ambiente = Ambiente
p.muestraSeguimiento

Case "destajo"

Script.RunForm "DESTAJO", Me, Ambiente,, False

Case "ordenservicio"

Script.RunForm "ORDENES", Me, Ambiente,, False

Case "BuscarTicket"

Script.RunForm "BUSCATICKET", Me, Ambiente,, False

Case "existenciaremota"

Script.RunForm "EXISTENCIAREMOTA", Me, _
Ambiente, , False

Case "Abonos"

Set Cobranza = CreateObject( "MyBCobranza.Cobranza" )
Set Cobranza.Ambiente = Ambiente
Cobranza.NuevoAbono

Case "ImportarMySQL"

Script.RunForm "IMPORTAMYSQL", Me, Ambiente,, False

Case "Analisis"

Script.RunForm "PRODUCTOSSUGERIDO", Me, Ambiente,, False

Case "UEPS"

Script.RunForm "COSTEOUEPS", Me, Ambiente,, False

Case "PEPS"

Script.RunForm "COSTEOPEPS", Me, Ambiente,, False

Case "Secciones"

Script.RunForm "BUSQUEDASECCIONES", Me, Ambiente,, False

Case "Comandas"

Script.RunProcess "AAMESAS", Me, Ambiente

Case "Reservaciones"

Script.RunProcess "AARESERVACIONES", Me, Ambiente

Case "Backup"

Script.RunForm "RESPALDOBASEDEDATOS", Me, Ambiente,, False

Case "Menu"

Script.RunForm "CATEGORIASMENU", Me, Ambiente,, True

Case "r_impresoras"

Script.RunForm "IMPRESORAS", Me, Ambiente,, True

Case "CierreTienda"

Script.RunForm "CORTETIENDA", Me, Ambiente,, True

Case "Huella"

Script.RunHuellaForm "REGISTROACCESO", Me, Ambiente,, True
Case "PruebaHuella"

Script.RunHuellaForm "TESTFINGER", Me, Ambiente,, True

Case "Clientes2"

Script.RunForm "CLIENTES", Me, Ambiente,, False

Case "Proveedores2"

Script.RunForm "PROVEEDORES", Me, Ambiente,, False

Case "FPersonalizados"

Script.RunForm "GENERADORDOCUMENTOS", Me, Ambiente,, False

Case "materiales"

Script.RunForm "HOJADEMATERIALES", Me, Ambiente,, False

Case "imc"

Script.RunForm "IMC", Me, Ambiente,, True

Case "RemisionFactura"

Script.RunForm "REMISIONFACTURA", Me, Ambiente,, True

Case "ImpClientes"

Script.RunForm "IMPORTACLIENTES", Me, Ambiente,, True

Case "ImpProveedores"

Script.RunForm "IMPORTAPROVEEDORES", Me, Ambiente,, True

Case "CambioPrecio"

Script.RunForm "CAMBIOPRECIO", Me, Ambiente,, True
case "ConfigSucursal"

Script.RunForm "CONEXIONES", Me, Ambiente,, True

Case "FacturaElectronica"
ConfigFile = Ambiente.Path + "\econfig.txt"
BatchFile = Ambiente.Path + "\FElectronica.bat"

Set rstConfiguracion = CreaRecordSet("select * from FEConfig ", Ambiente.Connection)
if not rstConfiguracion.EOF then
Set fso=CreateObject("Scripting.FileSystemObject")
If fso.FileExists(ConfigFile) Then
fso.DeleteFile ConfigFile
End if
If fso.FileExists(BatchFile) Then
fso.DeleteFile BatchFile
End if
If not fso.FolderExists(rstConfiguracion("FileLocation")) Then
fso.CreateFolder(rstConfiguracion("FileLocation"))
End if

outline BatchFile,"@echo off" + vbCrLf
outline BatchFile,"cd " + Ambiente.Path + vbCrLf
outline BatchFile,"start /wait FElectronica.exe" + vbCrLf
outline BatchFile,"exit" + vbCrLf

'ambiente.connection.execute "exec FEInicializaSerie '"+ trim(ambiente.estacion) + "'"
outline ConfigFile,ambiente.connection + vbCrLf
ShellRun Me.hWnd, "Open",Ambiente.Path + "\FElectronica.bat"
end if

Case "Tallas"

Script.RunForm "TallaColModelos", Me, Ambiente,, True
End Select

End Sub

Sub ejecuta( nombreProcedimiento )
Dim rstFormato

Set rstFormato = CreaRecordSet( _
"SELECT * FROM formatos WHERE formato = '" & nombreProcedimiento & "'",_
Ambiente.Connection )

If rstFormato.EOF Then
Exit Sub
End If

' 1.- Tipo de programa
' 2.- Codigo de programacion
' 3.- El objeto Ambiente
' 4.- El objeto padre
Script.Preview rstFormato("tipo"), rstFormato("codigo"), Ambiente, Me

End Sub

Sub EjecutaReporte(reporte)

Dim rstReporte

Set rstReporte = Rst("SELECT * FROM formatosdelta WHERE formato = '" & reporte & "'", Ambiente.Connection )

If rstReporte.EOF Then
Exit Sub
End If

Script.Preview rstReporte("tipo"), rstReporte("codigo"), Ambiente, Me, rstReporte("formato"), ""

End Sub

Publicado el Dejar un comentario

Al iniciar el sistema

Este es el código fuente del Procedimiento INICIO001
INICIO001 almacena todos los iconos y procedimientos necesarios en la ventana principal del sistema.
Aqui podemos hacer algunos ajustes para agregar iconos de nuestras Formas desarrolladas con el Editor deAmbiente de desarrollo
' Mybusiness POS v. 2011
Sub Main()
Dim adXactReadSerializable
Dim adXactReadUncommitted
Dim adXactReadCommitted
Dim adXactRepeatableRead

adXactReadSerializable = 1048576
adXactReadUncommitted = 256
adXactReadCommitted = 4096
adXactRepeatableRead = 65536

‘ Establecemos el modo de Aislamiento
Ambiente.Connection.Execute “SET TRANSACTION ISOLATION LEVEL SERIALIZABLE”
Ambiente.Connection.IsolationLevel = adXactReadSerializable

Parent.Timer.Enabled = True
Ambiente.eventRowReports = true
Ambiente.ModoDeDepuracion = True

‘ Cargamos el listado de Iconos
ModoAvanzado

‘ Vemos si el usuario tiene pendientes
‘Call buscaPendientes

‘Set NodX = bmForm.tvTreeView.Nodes.Add(“Business”, 4, “CarpetaDeUsuario1”, “Carpeta Personalizada”, 1, 2)

End Sub

Sub ModoAvanzado()

Dim rstUsuario

On Error Resume Next
vbalListBar1.Width = Me.Width / 4
On Error Goto 0

‘ Vemos si el usuario es supervisor
Set rstUsuario = CreaRecordSet( “SELECT supervisor FROM usuarios WHERE usuario = ‘” & Ambiente.Uid & “‘”, Ambiente.Connection )

‘Me.vbalImageList1.AddFromFile Ambiente.Path & “\images\recostear.ico”, 1, “recostear”
Eventos

vbalListBar1.Bars.Clear

With vbalListBar1

If parent.bIconosNuevos = True Then
.ImageList = imgBarra
Else
.ImageList = vbalImageList1
End If

.Bars.Add ,”Ventas”, “Ventas
.Bars.Add ,”Restaurante”, “Restaurante”

.Bars.Add ,”Compras”, “Compras”
.Bars.Add ,”Inventario”, “Inventario
.Bars.Add ,”Utilerias”, “Utilerias”
.Bars.Add ,”TiempoAire”, “Tiempo Aire”
.Bars.Add ,”FacElectronica”, “Factura Electrónica”
.Bars.Add ,”Mobile Business”, “Mobile Business”

‘.Bars.Add ,”Produccion”, “Producción”

‘ Bars.Add agrega una pestaña a la barra de tareas
‘ Opcional 1.- El indice de la barra, 2.- La llave
de la barra, 3.- El titulo de la barra
‘.Bars.Add ,”cursoveracruz”, “Curso Veracruz”

‘ Items.Add agrega un icono a la pestaña indicada
‘ Opcional 1.- El indice, 2.- La llave del icono,
‘ 3.- Titulo del icono, 4.- Un indice que representa
un icono entre 1 y 140
‘.Bars(“cursoveracruz”).Items.Add ,”existenciaremota”, _
‘”Existencias en sucursales”, 110

‘ Le damos acceso a la parte de programación solo si es supervisor
If rstUsuario(“supervisor”) <> 0 Then
.Bars.Add ,”Configuracion”, “Configuración”
.Bars.Add ,”Programacion”, “Programación”
End If

For n = 1 To .Bars.Count
.Bars(n).State = 0
Next

.Bars(“ventas”).State = 1

.Bars(“Inventario”).Items.Add ,”Articulos”, “Artículos”, 2
.Bars(“Inventario”).Items.Add ,”AltaRapida”, “Alta Rápida (Artículos)”, 45
.Bars(“Inventario”).Items.Add ,”Tallas”, “Tallas y Colores por Modelo”, 19
.Bars(“Inventario”).Items.Add ,”InvExcel”, “Importar artículos y existencia desde excel(tm)”, 98
.Bars(“Inventario”).Items.Add ,”Entradas”, “Entradas al Inventario”, 25
.Bars(“Inventario”).Items.Add ,”Salidas”, “Salidas al Inventario”, 26
.Bars(“Inventario”).Items.Add ,”Fisico”, “Inventario físico”, 27
.Bars(“Inventario”).Items.Add ,”Recalcular”, “Recalcular Inventario (Promedio)”, 29

.Bars(“Inventario”).Items.Add ,”UEPS”, “Recalcular Costeo (UEPS)”, 130
.Bars(“Inventario”).Items.Add ,”PEPS”, “Recalcular Costeo (PEPS)”, 128

.Bars(“Inventario”).Items.Add ,”HojaInventario”, “Resumen de operaciones”, 65

‘.Bars(“Inventario”).Items.Add ,”Recostear”, “Recostear Inventario”, 99

‘.Bars(“Inventario”).Items.Add ,”PedidosOrdenes”, “Recalcular por surtir y por recibir”, 35
‘.Bars(“Inventario”).Items.Add ,”Cerrar”, “Cerrar inventario”, 30

‘Rosy 08-Noviembre-2006
‘If clAt(“MySQL”,Ambiente.Connection.ConnectionString) Then
.Bars(“Inventario”).Items.Add ,”CalidadInventario”, “Informe de Calidad de Inventario”, 34
‘.Bars(“Inventario”).Items.Add ,”CalidadInventario2″, “Informe de Calidad de Inventario (Solo nuevos)”, 62
End If
‘Rosy

.Bars(“Inventario”).Items.Add ,”series”, “Números de serie”, 101
.Bars(“Inventario”).Items.Add ,”lotes”, “Lotes”, 51
.Bars(“Inventario”).Items.Add ,”Analisis”, “Analisis de Inventario”, 121

.Bars(“Ventas”).Items.Add ,”PuntoVenta”, “Punto de venta”, 7
.Bars(“Ventas”).Items.Add ,”CierreTienda”, “Resumen general de operaciones”, 136
.Bars(“Ventas”).Items.Add ,”RemisionFactura”, “Convertir remisiones a factura”, 137

.Bars(“Ventas”).Items.Add ,”Pedidos”, “Pedidos de clientes”, 4
.Bars(“Ventas”).Items.Add ,”Facturas”, “Facturas”, 5
.Bars(“Ventas”).Items.Add ,”Remisiones”, “Remisiones”, 6
.Bars(“Ventas”).Items.Add ,”Clientes2″, “Clientes”, 16
.Bars(“Ventas”).Items.Add ,”ImpClientes”, “Importar catálogo de clientes desde Excel(tm)”, 130
.Bars(“Ventas”).Items.Add ,”Cobranza”, “Cobranza”, 10
.Bars(“Ventas”).Items.Add ,”Devoluciones”, “Devoluciones / Notas de crédito”, 22

.Bars(“Compras”).Items.Add ,”OrdenesDeCompra”, “Ordenes de Compra”, 8
.Bars(“Compras”).Items.Add ,”Compras”, “Compra”, 9
.Bars(“Compras”).Items.Add ,”DevComp”, “Devolución de compra”, 24
.Bars(“Compras”).Items.Add ,”Proveedores2″, “Proveedores”, 17
.Bars(“Compras”).Items.Add ,”ImpProveedores”, “Importar catálogo de proveedores desde Excel(tm)”, 130
.Bars(“Compras”).Items.Add ,”Cxp”, “Cuentas por pagar”, 11

.Bars(“Utilerias”).Items.Add ,”EditarTicket”, “Editar texto del ticket”, 96

.Bars(“Utilerias”).Items.Add ,”Etiquetas”, “Etiquetas de código de barras”, 39
.Bars(“Utilerias”).Items.Add ,”FPersonalizados”, “Formatos personalizados (Requiere Microsoft Word)”, 139

.Bars(“Utilerias”).Items.Add ,”Ofertas”, “Ofertas”, 134
.Bars(“Utilerias”).Items.Add ,”CambioPrecio”, “Cambios de precios”, 65
.Bars(“Utilerias”).Items.Add ,”Bitacoras”, “Bitacoras”, 41
.Bars(“Utilerias”).Items.Add ,”SubirBitacora”, “Subir Bitacoras”, 98
‘.Bars(“Utilerias”).Items.Add ,”Telemercadeo”, “Telemercadeo”, 13
‘.Bars(“Utilerias”).Items.Add ,”Pendientes”, “Pendientes”, 14
.Bars(“Utilerias”).Items.Add ,”EditarFacturas”, “Editar formato de factura”, 7
.Bars(“Utilerias”).Items.Add ,”EditarRemisiones”, “Editar formato de remisiones”, 7
.Bars(“Utilerias”).Items.Add ,”EditarNc”, “Editar formato de Notas de Crédito”, 7
‘.Bars(“Utilerias”).Items.Add ,”EditarClientes”, “Cartas personalizadas”, 7
‘.Bars(“Utilerias”).Items.Add ,”Pls2001″, “Generar PLU Para Torrey PLS 2001”, 94
.Bars(“Utilerias”).Items.Add ,”Verificador”, “Verificador”, 36
.Bars(“Utilerias”).Items.Add ,”Backup”, “Respaldo”, 142
.Bars(“Utilerias”).Items.Add ,”Huella”, “Registro de entradas/Salidas de personal”, 144
.Bars(“Utilerias”).Items.Add ,”PruebaHuella”, “Prueba Huella”, 144
.Bars(“Utilerias”).Items.Add ,”MBInventario”, “MyBusiness Inventario”, 129

‘.Bars(“Produccion”).Items.Add ,”ordenproduccion”, “Orden de producción”, 119
‘.Bars(“Produccion”).Items.Add ,”capturaetiquetas”, “Captura de etiquetas”, 120
‘.Bars(“Produccion”).Items.Add ,”seguimiento”, “Seguimiento del proceso”, 121
‘.Bars(“Produccion”).Items.Add ,”destajo”, “Pago del destajo”, 122

.Bars(“TiempoAire”).Items.Add ,”ActualizarMontos”, “Actualizar montos para venta de tiempo aire”, 69

.Bars(“FacElectronica”).Items.Add ,”ConfigSucursal”, “Configuración de Sucursales”, 102
.Bars(“FacElectronica”).Items.Add ,”FacturaElectronica”, “Emisión de Facturas Electrónicas”, 102

.Bars(“Mobile Business”).Items.Add ,”configpocket”, “Configurar Pocket PC”, 48
.Bars(“Mobile Business”).Items.Add ,”inventariopocket”, “Capturar Inventario de la Pocket PC”, 2
.Bars(“Mobile Business”).Items.Add ,”pocket”, “Exportar/Importar datos a Pocket PC”, 71
‘.Bars(“Mobile Business”).Items.Add ,”confirmaventas”, “Confirmar ventas de Pocket PC”, 5
.Bars(“Mobile Business”).Items.Add ,”creanotas”, “Asistente de devoluciones en Pocket PC”, 6
‘.Bars(“Mobile Business”).Items.Add ,”creainventariofisico”, “Aplicar Inventario Físico de Pocket PC”, 27
.Bars(“Mobile Business”).Items.Add ,”reportepedidospk”, “Reporte de Pedidos de la Pocket PC”, 121
.Bars(“Mobile Business”).Items.Add ,”cargainicial”, “Reporte de productos cargados inicialmente a la Pocket PC”, 22
.Bars(“Mobile Business”).Items.Add ,”ventaspendientes”, “Reporte de ventas generadas por la Pocket PC”, 4
.Bars(“Mobile Business”).Items.Add ,”articulosvendidos”, “Reporte de artículos vendidos desde la Pocket PC”, 108

If rstUsuario(“supervisor”) <> 0 Then

‘.Bars(“Configuracion”).Items.Add ,”DatosGenerales”, “Conexión a la base de datos”, 100
.Bars(“Configuracion”).Items.Add ,”ConfigGeneral”, “Datos generales de la empresa”, 109

If clAt( “MySQL”, Ambiente.Connection ) Then
.Bars(“Configuracion”).Items.Add ,”Mantenimiento”, “Mantenimiento a la base de datos”, 101
End If

.Bars(“Configuracion”).Items.Add ,”FormatosImpresion”, “Establecer Formatos de Impresión”, 102
.Bars(“Configuracion”).Items.Add ,”Consecutivos”, “Consecutivos de impresión”, 103
.Bars(“Configuracion”).Items.Add ,”GeneralConsecutivos”, “General de consecutivos de impresión”, 117
.Bars(“Configuracion”).Items.Add ,”BorrarBase”, “Borrar Base de Datos”, 104
.Bars(“Configuracion”).Items.Add ,”AltaEmpresa”, “Manejo de conexiones a base de datos”, 105
.Bars(“Configuracion”).Items.Add ,”CambiarEmpresa”, “Cambiar de conexión”, 106
.Bars(“Configuracion”).Items.Add ,”SincronizarProcedimientos”, “Sincronizar Procedimientos”, 110
.Bars(“Configuracion”).Items.Add ,”Rangos”, “Rangos de vista del Business Manager”, 111
.Bars(“Configuracion”).Items.Add ,”RegistroDeLicencia”, “Acerca de…”, 107
.Bars(“Programacion”).Items.Add ,”EditorFormas”, “Ambiente de desarrollo”, 42
.Bars(“Programacion”).Items.Add ,”Busquedas”, “Editor de busquedas”, 18
.Bars(“Programacion”).Items.Add ,”EditorSQL”, “Editor de SQL”, 19
.Bars(“Programacion”).Items.Add ,”ImportarMySQL”, “Importar de MySQL”, 101
End If

.Bars(“Restaurante”).Items.Add ,”Secciones”, “Secciones”, 137
.Bars(“Restaurante”).Items.Add ,”r_impresoras”, “Impresoras”, 143

.Bars(“Restaurante”).Items.Add ,”Touch”, “Caja”, 53
.Bars(“Restaurante”).Items.Add ,”Comandas”, “Comandas”, 136
.Bars(“Restaurante”).Items.Add ,”Reservaciones”, “Reservaciones”, 140
.Bars(“Restaurante”).Items.Add ,”Menu”, “Definición de menú”, 141

If rstUsuario(“supervisor”) <> 0 Then
If clAt( “MySQL”, Ambiente.Connection ) > 0 Then
.Bars(“Utilerias”).Items.Add ,”MySQLPass”, “Establecer password de MySQL”, 46
End If
End If

End With

End Sub

Sub buscaPendientes()

Set rstPendientes = CreaRecordSet( “SELECT * FROM pendient WHERE para = ‘” & Ambiente.Uid & “‘ AND estado = ‘PE’ AND fecha = ” & fechaSQL( fecha ), _
Ambiente.Connection )

If Not rstPendientes.EOF Then
Set Clientes = CreateObject( “MyBClientes.Clientes” )
Set Clientes.Ambiente = Me.Ambiente
Clientes.MuestraPendientes
End If

End Sub

 

También podemos solucionar este error, desde whatsapp 7222816462:
Error Número 429

Module: frminicio
Function: vbalListBar1_ItemClick
Description: ActiveX Component can´t create object
Código duro 24
Error Número 429


Error Número 429

IniciaAplicacion
ActiveX component can't create object 429 Linea:6

El problema de este error es el antivirus.
Contáctanos

Publicado el Dejar un comentario

Recibo de efectivo

flujoEn esta ocasión mostramos el código del formato Recibo, el cual se imprime al tener un ingreso de efectivo por conceptos de cobranza tanto en punto de venta como en el asistente de cobranza. En algunas versiones se llama Abono y en las anteriores se llama Recibo.
'mybusiness pos 2011
Sub Main()
'mymessage "imprimir"
'PlaySound "c:\desarrollo\ScorpionMyBusiness.wav"
'MyMessage "Gracias por su pago"
ImprimeEnHojaCarta
'ImprimeEnTicket

End Sub

Sub ImprimeEnTicket()
Dim c

' Creamos el recordSet del encabezado de la venta
Set rstRecibo = CreaRecordSet("SELECT * FROM caja WHERE abono = " & prn.Documento, Ambiente.Connection )
' Traemos los datos del cliente
Set rstClientes = CreaRecordSet( "SELECT * FROM clients WHERE cliente = '" & rstRecibo("cliente") & "'", Ambiente.Connection )
' Traemos la moneda con la que se realizo el movimiento
Set rstMoneda = CreaRecordSet( "SELECT * FROM monedas WHERE moneda = '" & rstRecibo("moneda") & "'", Ambiente.Connection )

'Esto abre el cajon de dinero
if Ambiente.rstEstacion("Cajon") <> 0 Then
c = c & Chr(27) & Chr(112) & Chr(48) & Chr(20) & Chr(20)
c = c & Chr(7)
' Sansung de inyección
' cSalida = cSalida & Chr(27) & Chr(112) & Chr(48) & Chr(49)
end if

c = c & Ambiente.Empresa & vbCrLf
c = c & Ambiente.Direccion1 & vbCrLf
c = c & Ambiente.Direccion2 & vbCrLf
c = c & Ambiente.Telefonos & vbCrLf
c = c & vbCrLf
c = c & vbCrLf
c = c & vbCrLf
c = c & "COMPROBANTE DE INGRESOS" & vbCrLf
c = c & "CLIENTE: " & rstClientes("nombre") & vbCrLf
c = c & "DIRECCION: " & rstClientes("calle") & vbCrLf
c = c & rstClientes("colonia") & vbCrLf
c = c & rstClientes("pobla") & vbCrLf
c = c & rstClientes("pais") & vbCrLf
c = c & "C.P.: " & rstClientes("cp") & vbCrLf
c = c & vbCrLf
c = c & "Fecha: " & Formato( rstRecibo("fecha_dep"), "Long Date" ) & vbCrLf
c = c & "Usuario: " & rstRecibo("usuario") & " " & Ambiente.Estacion & " " & rstRecibo("usuhora") & vbCrLf
c = c & vbCrLf
c = c & "IMPORTE " & Formato( rstRecibo("importe"), "##,##0.00" ) & vbCrLf
c = c & Letra( rstRecibo("Importe"), Trim(rstMoneda("Descrip")), True,rstMoneda("Nombre") )
c = c & vbCrLf
c = c & vbCrLf
c = c & vbCrLf
c = c & " Autorizo " & vbCrLf
c = c & " ________________________" & vbCrLf
c = c & vbCrLf
c = c & vbCrLf
c = c & vbCrLf
c = c & vbCrLf

if Ambiente.rstEstacion("ticketcorte") <> 0 Then
c = c & Chr(27) & Chr(105)
end if

if Ambiente.rstEstacion("ticket") <> 0 Then
if clAt( "LPT", Ambiente.rstEstacion("pticket") ) > 0 Then
Out Trim(Ambiente.rstEstacion("pticket")), c
else
if Ambiente.Ticket.PortOpen Then
Ambiente.Ticket.Output = c
end if
end if
End if

End Sub

Sub ImprimeEnHojaCarta()
' Formato de recibos
' Por() Daniel
Dim rstRecibo ' Los datos del cobro
Dim rstCliente ' Los datos del cliente
Dim rstCobranza ' El dato de cobranza
Dim rstCobdet ' Detalle de cobranza

' Creamos el recordSet del encabezado de la venta
Set rstRecibo = Rst("SELECT * FROM caja WHERE abono = " & prn.Documento, Ambiente.Connection )

If rstRecibo.EOF Then
MsgBox "El movimiento no existe",vbInformation
Exit Sub
end if

' Traemos los datos del cliente
Set rstCliente = Rst("SELECT * FROM clients WHERE cliente = '" & rstRecibo.fields("CLIENTE") & "'",Ambiente.Connection )

' Traemos los datos de cobranza
Set rstCobdet = Rst( "SELECT * FROM cobdet WHERE abono = " & rstRecibo.fields( "Abono" ), Ambiente.Connection )

if Not rstCobdet.EOF Then
' Traemos los datos de cobranza
Set rstCobranza = Rst( "SELECT * FROM cobranza WHERE cobranza = " & rstCobdet.fields( "Cobranza" ), Ambiente.Connection )
end if

' Iniciamos la Impresión del encabezado de la forma
IniciaDocumento

EstableceFuente "Courier New", 20
FontBold True

' Imprimimos el Nombre de la empres
FilledBox Col(3),0.2,Col(77),0.33, RGB( 200, 200, 200 )
Say Row(1),Col(3), Ambiente.Empresa

EstableceFuente "Courier New", 12
FontBold True

Say Row(3),Col(32), "RECIBO DE INGRESOS"

EstableceFuente "Courier New", 10
FontBold False

if Not rstCliente.EOF Then
Linea Col(3), Row(4), Col(74), Row(4)
Say Row(5),Col(3), "Fecha: " & rstRecibo.fields("Fecha_dep")
Say Row(6),Col(3), rstCliente.fields("Nombre")
Say Row(7),Col(3), rstCliente.fields("Calle") & " " & rstCliente.fields("Colonia")
Say Row(8),Col(3), rstCliente.fields("Pobla") & " " & rstCliente.fields("Estado") & " " & rstCliente.fields("Pais")
Say Row(9),Col(3), rstCliente.fields("RFC")

if Not rstCobdet.EOF Then
Say Row(10), Col(3), "AFECTA DOCUMENTO: " & rstCobranza.fields("TIPO_DOC" ) & " " & rstCobranza.fields("No_referen" )
Say Row(11), Col(3), "SALDO : " & Formato( rstCobranza.fields("SALDO" ), "###,###,###.00" )
end if
end if

Linea Col(3), Row(12), Col(74), Row(12)

Say Row(13),Col(3), "Pago No. " & rstRecibo.fields("Abono")
Say Row(14),Col(3), "Documento de pago: " & rstRecibo.fields("Tipo_doc") & " " & rstRecibo.fields("No_referen")
Say Row(15),Col(3), "Pago con : " & rstRecibo.fields("Moneda") & " " & Formato(rstRecibo.fields("Pago"),Ambiente.FDinero)
Say Row(16),Col(3), "Importe Neto : " & rstRecibo.fields("Moneda") & " " & Formato(rstRecibo.fields("Importe"),Ambiente.FDinero)
Say Row(17),Col(3), "Cambio : " & rstRecibo.fields("Moneda") & " " & Formato(rstRecibo.fields("Pago") - rstRecibo.fields("Importe"),Ambiente.FDinero)

nRenglon = 18

' Imprimimos las observaciones de la operacion
nLineas = CuantasLineas( rstRecibo.Fields("Observ") )

' Imprimimos cada una de ellas
For n = 1 to nLineas
nRenglon = nRenglon + 1
Say Row(nRenglon), Col(16), strLinea( rstRecibo.Fields("Observ"), n)
Next

nRenglon = nRenglon + 1
Linea Col(3), Row(nRenglon), Col(74), Row(nRenglon)

FinDocumento

End Sub

Publicado el Dejar un comentario

Ticket con descuentos

Este es el código fuente del formato “Ticket con descuentos

' Mybusiness POS v. 2011
Sub Main()

if Ambiente.rstEstacion("torreta") <> 0 Then
if clAt( "LPT", Ambiente.rstEstacion("ptorreta") ) > 0 Then
Out Trim(Ambiente.rstEstacion("ptorreta")), Chr( 12 ) & "Total: $" & Formato( Val2( txtFields(4) ), "###,###.00" )
else
On Error resume next
Ambiente.torreta.PortOpen = True
if Ambiente.torreta.PortOpen Then
Ambiente.Torreta.OutPut = Chr( 12 ) & "Total: $" & Formato( Val2( txtFields(4) ), "###,###.00" )
end if
end if
end if

If Ambiente.rstEstacion("ventasportelefono") <> 0 Then

cSalida = ""

if Ambiente.rstEstacion("Cajon") <> 0 Then
cSalida = cSalida & Chr(27) & Chr(112) & Chr(48) & Chr(20) & Chr(20)
cSalida = cSalida & Chr(7)
' Sansung de inyección
' cSalida = cSalida & Chr(27) & Chr(112) & Chr(48) & Chr(49)
end if

if Ambiente.rstEstacion("ticket") <> 0 Then
if clAt( "LPT", Ambiente.rstEstacion("pticket") ) > 0 Then
Out Trim(Ambiente.rstEstacion("pticket")), cSalida
else
if Ambiente.Ticket.PortOpen Then
Ambiente.Ticket.Output = cSalida
end if
end if
End if

Exit Sub
End If

'If MsgBox( "Desea imprimir el ticket", vbQuestion + vbYesNo + vbDefaultButton2 ) = vbNo Then
' Exit Sub
'End If

' Creamos el recordSet del encabezado de la venta
Set rstEncabezado = Rst("SELECT * FROM ventas WHERE venta = " & prn.Documento, Ambiente.Connection )

' Verificamos que la venta que se desea imprimir exista
if rstEncabezado.EOF Then
MsgBox "No existe la venta seleccionada",vbInformation
Exit Sub
end if

' Creamos el recordSet de las partidas que componen la venta
Set rstPartidas = Rst("SELECT partvta.iespecial, partvta.articulo, prods.precio1,prods.descrip, partvta.precio, partvta.cantidad, partvta.descuento, partvta.impuesto, partvta.preciobase, partvta.prdescrip FROM partvta INNER JOIN prods ON prods.articulo = partvta.articulo WHERE venta =" & rstEncabezado.fields("Venta"), Ambiente.Connection )

' Traemos todos los datos del cliente
Set rstCliente = Rst("SELECT * FROM clients WHERE cliente = '" & rstEncabezado.fields("Cliente") & "'", Ambiente.Connection )

' Traemos los datos de cobranza si es que existe
Set rstCobranza = Rst( "SELECT * FROM cobranza WHERE venta = " & rstEncabezado("venta"), Ambiente.Connection )

cSalida = ""

'Esto abre el cajon de dinero
if Ambiente.rstEstacion("Cajon") <> 0 Then
cSalida = cSalida & Chr(27) & Chr(112) & Chr(48) & Chr(20) & Chr(20)
cSalida = cSalida & Chr(7)
' Sansung de inyección
' cSalida = cSalida & Chr(27) & Chr(112) & Chr(48) & Chr(49)
end if

Set rstTextTicket = CreaRecordSet( "SELECT * FROM tickettext", Ambiente.Connection )

If rstTextTicket.EOF Then
cSalida = cSalida & "" & Ambiente.Empresa & Chr(13) & Chr(10)
cSalida = cSalida & "" & Trim( Ambiente.Direccion1 ) & Chr(13) & Chr(10)
cSalida = cSalida & "" & Trim( Ambiente.Direccion2 ) & Chr(13) & Chr(10)
cSalida = cSalida & "" & Trim( Ambiente.Telefonos ) & Chr(13) & Chr(10)
Else
cSalida = cSalida & rstTextTicket("textheader")
End If

cSalida = cSalida & "" & Trim( rstEncabezado("Usuario") ) & " " & Trim( Ambiente.Estacion ) & " Ticket: " & rstEncabezado("No_referen") & Chr(13) & Chr(10)
cSalida = cSalida & Formato( rstEncabezado("f_emision"),"dd-MM-yyyy" ) & " Hora: " & rstEncabezado("usuHora") & Chr(13) & Chr(10)
cSalida = cSalida & Trim( rstCliente("cliente") ) & " " & Trim( rstCliente("Nombre") ) & Chr(13) & Chr(10)
cSalida = cSalida & Ambiente.rstEstacion("leyendacomodin") & " " & rstEncabezado("comodin") & Chr(13) & Chr(10)
cSalida = cSalida & "Vendedor: " & rstEncabezado("Vend") & Chr(13) & Chr(10)
cSalida = cSalida & "CANT. DESCRIPCION PRECIO IMPORTE" & Chr(13) & Chr(10)

nImporteTotal = 0
nImpuesto = 0
nCantidadTotal = 0
nDescuentoTotal = 0
nImporteOrigen = 0

'PrintText cSalida

If Ambiente.Tag <> "HTML" Then

If Ambiente.rstEstacion("ticket") <> 0 Then
if clAt( "LPT", Ambiente.rstEstacion("pticket") ) > 0 Then
Out Trim(Ambiente.rstEstacion("pticket")), cSalida
else
if Ambiente.Ticket.PortOpen Then
Ambiente.Ticket.Output = cSalida
end if
end if
End if

cSalida = ""

End If

While Not rstPartidas.EOF

nPrecio = rstPartidas("Precio") * ( 1 - (rstPartidas("Descuento")/100) ) * (1 + ( rstPartidas("impuesto") / 100 ) )
nPrecioBase = Round( rstPartidas("PrecioBase") * (1 + ( rstPartidas("impuesto") / 100 ) ), 2)
nDescuento = (nPrecioBase - nPrecio) * rstPartidas("Cantidad")

If nPrecioBase > 0 Then
nDescPor = ( nPrecio / nPrecioBase ) * 100
Else
nDescPor = 0
End If

nDescuentoTotal = nDescuentoTotal + nDescuento
nImporte = nPrecio * rstPartidas("Cantidad")

nCantidad = PadL(Formato( rstPartidas("cantidad"), "##,##0.00" ),3)

cDescrip = Mid( rstPartidas("Descrip"), 1, 16 )
nCantidadTotal = nCantidadTotal + rstPartidas("cantidad")

nImporteTotal = nImporteTotal + nImporte
nImpuesto = nImpuesto + ( nImporteTotal * ( rstPartidas("impuesto") / 100 ) )

nPrecio = 0
nIEspecial = rstPartidas("Precio") * (Val2(rstPartidas("iespecial")) / 100)
nIVa = rstPartidas("Precio") * (rstPartidas("impuesto") / 100)
nPrecio = rstPartidas("Precio") + nIEspecial + nIVa

cPrecio = PadL(Trim(Formato( nPrecio, Ambiente.FDinero )),8)
cImporte = PadL(Trim(Formato( Round( nPrecio, 2) * rstPartidas("cantidad") * (1 - (rstPartidas("descuento") / 100)), Ambiente.FDinero )),8)
nPrecioOrigen = Round( rstPartidas("PrecioBase") * (1 + ( rstPartidas("impuesto") / 100 )),2) * rstPartidas("cantidad")
nImporteOrigen = nImporteOrigen + nPrecioOrigen

strSalida = PadL(Formato( nCantidad, Ambiente.Formato ),2) & " " & cDescrip & " " & cPrecio & " " & cImporte

'If rstPartidas("Precio1") > rstPartidas("Precio") Then
' nDescuentoPartida = ( rstPartidas("Precio1") - rstPartidas("Precio") ) * nCantidad
' strSalida = strSalida & " Descuento: " & Formato( nDescuentoPartida, "##,##0.00" ) & vbCrLf
'End If

cSalida = cSalida & strSalida & Chr(13) & Chr(10)

If Not clEmpty( cNull( rstPartidas("prdescrip") ) ) Then
cSalida = cSalida & Trim( rstPartidas("prdescrip") ) & vbCrLf
End If

rstPartidas.MoveNext
Wend

'PrintText cSalida

If Ambiente.Tag <> "HTML" Then

If Ambiente.rstEstacion("ticket") <> 0 Then
if clAt( "LPT", Ambiente.rstEstacion("pticket") ) > 0 Then
Out Trim(Ambiente.rstEstacion("pticket")), cSalida
else
if Ambiente.Ticket.PortOpen Then
Ambiente.Ticket.Output = cSalida
end if
end if
End if

cSalida = ""

End If

cSalida = cSalida & Chr(13) & Chr(10)
cSalida = cSalida & Chr(13) & Chr(10)

cSalida = cSalida & " Importe: " & PadL(Formato( Val2(rstEncabezado("importe")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
cSalida = cSalida & " Impuesto: " & PadL(Formato( Val2(rstEncabezado("impuesto")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)

if Val2(rstEncabezado("iespecial")) > 0 Then
cSalida = cSalida & " Impuesto 2%: " & PadL(Formato( Val2(rstEncabezado("iespecial")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
end if

if nDescuentoTotal > 0 Then
cSalida = cSalida & " Importe: " & PadL(Formato( nImporteOrigen, Ambiente.FDinero ),10) & Chr(13) & Chr(10)
cSalida = cSalida & " Descuento: " & PadL(Formato( nDescuentoTotal, Ambiente.FDinero ),10) & Chr(13) & Chr(10)
end if

cSalida = cSalida & " Importe: " & PadL(Formato( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
cSalida = cSalida & " Redondeo: " & PadL(Formato( Val2(rstEncabezado("Redondeo")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
cSalida = cSalida & Chr(13) & Chr(10)
cSalida = cSalida & PadL(Formato( nCantidadTotal, "###,###" ),4) & " ----- TOTALES ---- " & PadL(Formato( (Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")) + Val2(rstEncabezado("redondeo"))), Ambiente.FDinero ),10) & Chr(13) & Chr(10)

nPagoTotal = Val2(rstEncabezado("Pago1")) + Val2(rstEncabezado("Pago2")) + Val2(rstEncabezado("Pago3"))

if rstEncabezado("Pago1") > 0 Then
cSalida = cSalida & " Pago en " & rstEncabezado("Concepto1") & " " & PadL(Formato( Val2(rstEncabezado("Pago1")), Ambiente.FDinero ),9) & Chr(13) & Chr(10)
end if

if rstEncabezado("Pago2") > 0 Then
cSalida = cSalida & " Pago en " & rstEncabezado("Concepto2") & " " & PadL(Formato( Val2(rstEncabezado("Pago2")), Ambiente.FDinero ),9) & Chr(13) & Chr(10)
end if

if rstEncabezado("Pago3") > 0 Then
cSalida = cSalida & " Pago en " & rstEncabezado("Concepto3") & " " & PadL(Formato( Val2(rstEncabezado("Pago3")), Ambiente.FDinero ),9) & Chr(13) & Chr(10)
end if

Eventos

If rstEncabezado("Comision") > 0 Then
cSalida = cSalida & " Comisión: " & PadL(Formato( Val2(rstEncabezado("comision")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
End If

nComision = rstEncabezado("comision")

if nPagoTotal < (Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")) + Val2(rstEncabezado("redondeo"))) Then cSalida = cSalida & " Credito: " & PadL(Formato( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("iespecial")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("redondeo")) - nPagoTotal, Ambiente.FDinero ),9) & Chr(13) & Chr(10) else cSalida = cSalida & " Cambio: " & PadL(Formato( nPagoTotal - nComision - Val2(rstEncabezado("impuesto")) - Val2(rstEncabezado("iespecial")) - Val2(rstEncabezado("importe")) - Val2(rstEncabezado("redondeo")), Ambiente.FDinero ),9) & Chr(13) & Chr(10) end if Set rstMoneda = CreaRecordSet( "SELECT * FROM monedas WHERE moneda = '" & rstEncabezado("moneda") & "'", Ambiente.Connection ) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Letra( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")), Trim(rstMoneda("Descrip")), True,rstMoneda("Nombre") ) & Chr(13) & Chr(10) If rstTextTicket.EOF Then cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & "***** GRACIAS POR SU COMPRA *****" & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) Else cSalida = cSalida & rstTextTicket("textend") End If ' Esto manda un corte de papel 'PrintText cSalida if Ambiente.rstEstacion("ticketcorte") <> 0 Then
cSalida = cSalida & Chr(27) & Chr(105)
end if

If Ambiente.Tag = "HTML" Then

Ambiente.Tag = ""

cSalida = Replace( cSalida, Chr(13) & Chr(10), "
" )
cSalida = "

" & cSalida & "
"
CreaHtml "", (cSalida)

Else

if Ambiente.rstEstacion("ticket") <> 0 Then
if clAt( "LPT", Ambiente.rstEstacion("pticket") ) > 0 Then
Out Trim(Ambiente.rstEstacion("pticket")), cSalida
else
if Ambiente.Ticket.PortOpen Then
Ambiente.Ticket.Output = cSalida
end if
end if
End if

End If

Dormir 100
Eventos

End Sub

Publicado el Dejar un comentario

Formato de tickets 3

' Mybusiness POS v. 2011
Sub Main()
' Realizado para Irving Hernandez
' Creamos el recordSet del encabezado de la venta
Set rstEncabezado = Rst("SELECT * FROM ventas WHERE venta = " & prn.Documento, Ambiente.Connection )

' Verificamos que la venta que se desea imprimir exista
if rstEncabezado.EOF Then
MsgBox "No existe la venta seleccionada",vbInformation
Exit Sub
end if

' Creamos el recordSet de las partidas que componen la venta
Set rstPartidas = Rst("SELECT partvta.iespecial, partvta.articulo, prods.precio1,prods.descrip, partvta.precio, partvta.cantidad, partvta.descuento, partvta.impuesto, partvta.preciobase, partvta.prdescrip FROM partvta INNER JOIN prods ON prods.articulo = partvta.articulo WHERE venta =" & rstEncabezado.fields("Venta"), Ambiente.Connection )

' Traemos todos los datos del cliente
Set rstCliente = Rst("SELECT * FROM clients WHERE cliente = '" & rstEncabezado.fields("Cliente") & "'", Ambiente.Connection )

' Traemos los datos de cobranza si es que existe
Set rstCobranza = Rst( "SELECT * FROM cobranza WHERE venta = " & rstEncabezado("venta"), Ambiente.Connection )

cSalida = ""

'Esto abre el cajon de dinero
if Ambiente.rstEstacion("Cajon") <> 0 Then
cSalida = cSalida & Chr(27) & Chr(112) & Chr(48) & Chr(20) & Chr(20)
cSalida = cSalida & Chr(7)
' Sansung de inyección
' cSalida = cSalida & Chr(27) & Chr(112) & Chr(48) & Chr(49)
end if

Set rstTextTicket = CreaRecordSet( "SELECT * FROM tickettext", Ambiente.Connection )

If rstTextTicket.EOF Then
cSalida = cSalida & "" & Ambiente.Empresa & Chr(13) & Chr(10)
cSalida = cSalida & "" & Trim( Ambiente.Direccion1 ) & Chr(13) & Chr(10)
cSalida = cSalida & "" & Trim( Ambiente.Direccion2 ) & Chr(13) & Chr(10)
cSalida = cSalida & "" & Trim( Ambiente.Telefonos ) & Chr(13) & Chr(10)
Else
cSalida = cSalida & rstTextTicket("textheader")
End If

cSalida = cSalida & "" & Trim( rstEncabezado("Usuario") ) & " " & Trim( Ambiente.Estacion ) & " Ticket: " & rstEncabezado("No_referen") & Chr(13) & Chr(10)
cSalida = cSalida & Formato( rstEncabezado("f_emision"),"dd-MM-yyyy" ) & " Hora: " & rstEncabezado("usuHora") & Chr(13) & Chr(10)
cSalida = cSalida & Trim( rstCliente("cliente") ) & " " & Trim( rstCliente("Nombre") ) & Chr(13) & Chr(10)
cSalida = cSalida & Ambiente.rstEstacion("leyendacomodin") & " " & rstEncabezado("comodin") & Chr(13) & Chr(10)
cSalida = cSalida & "Vendedor: " & rstEncabezado("Vend") & Chr(13) & Chr(10)
cSalida = cSalida & "CANT. PRECIO IMPORTE" & Chr(13) & Chr(10)

nImporteTotal = 0
nImpuesto = 0
nCantidadTotal = 0
nDescuentoTotal = 0
nImporteOrigen = 0

'PrintText cSalida

If Ambiente.Tag <> "HTML" Then

If Ambiente.rstEstacion("ticket") <> 0 Then
if clAt( "LPT", Ambiente.rstEstacion("pticket") ) > 0 Then
Out Trim(Ambiente.rstEstacion("pticket")), cSalida
else
if Ambiente.Ticket.PortOpen Then
Ambiente.Ticket.Output = cSalida
end if
end if
End if

cSalida = ""

End If

While Not rstPartidas.EOF

nPrecio = rstPartidas("Precio") * ( 1 - (rstPartidas("Descuento")/100) ) * (1 + ( rstPartidas("impuesto") / 100 ) )
nPrecioBase = Round( rstPartidas("PrecioBase") * (1 + ( rstPartidas("impuesto") / 100 ) ), 2)
nDescuento = (nPrecioBase - nPrecio) * rstPartidas("Cantidad")

If nPrecioBase > 0 Then
nDescPor = ( nPrecio / nPrecioBase ) * 100
Else
nDescPor = 0
End If

nDescuentoTotal = nDescuentoTotal + nDescuento
nImporte = nPrecio * rstPartidas("Cantidad")

nCantidad = PadL(Formato( rstPartidas("cantidad"), "##,##0.00" ),3)

cDescrip = Mid( rstPartidas("Descrip"), 1, 40 ) & vbCrLf
nCantidadTotal = nCantidadTotal + rstPartidas("cantidad")

nImporteTotal = nImporteTotal + nImporte
nImpuesto = nImpuesto + ( nImporteTotal * ( rstPartidas("impuesto") / 100 ) )

nPrecio = 0
nIEspecial = rstPartidas("Precio") * (Val2(rstPartidas("iespecial")) / 100)
nIVa = rstPartidas("Precio") * (rstPartidas("impuesto") / 100)
nPrecio = rstPartidas("Precio") + nIEspecial + nIVa

cPrecio = PadL(Trim(Formato( nPrecio, Ambiente.FDinero )),8)
cImporte = PadL(Trim(Formato( Round( nPrecio, 2) * rstPartidas("cantidad") * (1 - (rstPartidas("descuento") / 100)), Ambiente.FDinero )),8)
nPrecioOrigen = Round( rstPartidas("PrecioBase") * (1 + ( rstPartidas("impuesto") / 100 )),2) * rstPartidas("cantidad")
nImporteOrigen = nImporteOrigen + nPrecioOrigen

strSalida = PadL(Formato( nCantidad, Ambiente.Formato ),2) & " " & cPrecio & " " & cImporte

'If rstPartidas("Precio1") > rstPartidas("Precio") Then
' nDescuentoPartida = ( rstPartidas("Precio1") - rstPartidas("Precio") ) * nCantidad
' strSalida = strSalida & " Descuento: " & Formato( nDescuentoPartida, "##,##0.00" ) & vbCrLf
'End If

cSalida = cSalida & strSalida & Chr(13) & Chr(10)
cSalida = cSalida & cDescrip

If Not clEmpty( cNull( rstPartidas("prdescrip") ) ) Then
cSalida = cSalida & Trim( rstPartidas("prdescrip") ) & vbCrLf
End If

rstPartidas.MoveNext
Wend

'PrintText cSalida

If Ambiente.Tag <> "HTML" Then

If Ambiente.rstEstacion("ticket") <> 0 Then
if clAt( "LPT", Ambiente.rstEstacion("pticket") ) > 0 Then
Out Trim(Ambiente.rstEstacion("pticket")), cSalida
else
if Ambiente.Ticket.PortOpen Then
Ambiente.Ticket.Output = cSalida
end if
end if
End if

cSalida = ""

End If

cSalida = cSalida & Chr(13) & Chr(10)
cSalida = cSalida & Chr(13) & Chr(10)

cSalida = cSalida & " Importe: " & PadL(Formato( Val2(rstEncabezado("importe")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
cSalida = cSalida & " Impuesto: " & PadL(Formato( Val2(rstEncabezado("impuesto")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)

if Val2(rstEncabezado("iespecial")) > 0 Then
cSalida = cSalida & " Impuesto 2%: " & PadL(Formato( Val2(rstEncabezado("iespecial")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
end if

if nDescuentoTotal > 0 Then
cSalida = cSalida & " Importe: " & PadL(Formato( nImporteOrigen, Ambiente.FDinero ),10) & Chr(13) & Chr(10)
cSalida = cSalida & " Descuento: " & PadL(Formato( nDescuentoTotal, Ambiente.FDinero ),10) & Chr(13) & Chr(10)
end if

cSalida = cSalida & " Importe: " & PadL(Formato( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
cSalida = cSalida & " Redondeo: " & PadL(Formato( Val2(rstEncabezado("Redondeo")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
cSalida = cSalida & Chr(13) & Chr(10)
cSalida = cSalida & PadL(Formato( nCantidadTotal, "###,###" ),4) & " ----- TOTALES ---- " & PadL(Formato( (Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")) + Val2(rstEncabezado("redondeo"))), Ambiente.FDinero ),10) & Chr(13) & Chr(10)

nPagoTotal = Val2(rstEncabezado("Pago1")) + Val2(rstEncabezado("Pago2")) + Val2(rstEncabezado("Pago3"))

if rstEncabezado("Pago1") > 0 Then
cSalida = cSalida & " Pago en " & rstEncabezado("Concepto1") & " " & PadL(Formato( Val2(rstEncabezado("Pago1")), Ambiente.FDinero ),9) & Chr(13) & Chr(10)
end if

if rstEncabezado("Pago2") > 0 Then
cSalida = cSalida & " Pago en " & rstEncabezado("Concepto2") & " " & PadL(Formato( Val2(rstEncabezado("Pago2")), Ambiente.FDinero ),9) & Chr(13) & Chr(10)
end if

if rstEncabezado("Pago3") > 0 Then
cSalida = cSalida & " Pago en " & rstEncabezado("Concepto3") & " " & PadL(Formato( Val2(rstEncabezado("Pago3")), Ambiente.FDinero ),9) & Chr(13) & Chr(10)
end if

Eventos

If rstEncabezado("Comision") > 0 Then
cSalida = cSalida & " Comisión: " & PadL(Formato( Val2(rstEncabezado("comision")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
End If

nComision = rstEncabezado("comision")

if nPagoTotal < (Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")) + Val2(rstEncabezado("redondeo"))) Then cSalida = cSalida & " Credito: " & PadL(Formato( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("iespecial")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("redondeo")) - nPagoTotal, Ambiente.FDinero ),9) & Chr(13) & Chr(10) else cSalida = cSalida & " Cambio: " & PadL(Formato( nPagoTotal - nComision - Val2(rstEncabezado("impuesto")) - Val2(rstEncabezado("iespecial")) - Val2(rstEncabezado("importe")) - Val2(rstEncabezado("redondeo")), Ambiente.FDinero ),9) & Chr(13) & Chr(10) end if Set rstMoneda = CreaRecordSet( "SELECT * FROM monedas WHERE moneda = '" & rstEncabezado("moneda") & "'", Ambiente.Connection ) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Letra( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")), Trim(rstMoneda("Descrip")), True,rstMoneda("Nombre") ) & Chr(13) & Chr(10) If rstTextTicket.EOF Then cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & "***** GRACIAS POR SU COMPRA *****" & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) Else cSalida = cSalida & rstTextTicket("textend") End If ' Esto manda un corte de papel 'PrintText cSalida if Ambiente.rstEstacion("ticketcorte") <> 0 Then
cSalida = cSalida & Chr(27) & Chr(105)
end if

If Ambiente.Tag = "HTML" Then

Ambiente.Tag = ""

cSalida = Replace( cSalida, Chr(13) & Chr(10), "
" )
cSalida = "

" & cSalida & "
"
CreaHtml "", (cSalida)

Else

if Ambiente.rstEstacion("ticket") <> 0 Then
if clAt( "LPT", Ambiente.rstEstacion("pticket") ) > 0 Then
Out Trim(Ambiente.rstEstacion("pticket")), cSalida
else
if Ambiente.Ticket.PortOpen Then
Ambiente.Ticket.Output = cSalida
end if
end if
End if

End If

End Sub