Publicado el Dejar un comentario

Manejo de Bitácoras

MyBusiness POS contiene una herramienta de uso sencillo que agiliza el cambio de precios.
Modifique los precios que necesite en el icono “Artículos” de la pestaña “Inventario” de la barra de iconos.

Después de guardar los cambios con la tecla , diríjase a la barra de tareas, pestaña “Utilerías” y de un clic en el icono “Bitácoras”. Una vez ahí, asigne una ruta en donde desee que se guarden los cambios de precios aplicados anteriormente.

Esta última acción creara un archivo en la ruta seleccionada que podrá importar en otra base de datos.

La manera de hacerlo es la siguiente:
De un clic en el icono “Subir bitácoras” de la pestaña de “Utilerías” de la barra de tareas.

Asigne aquí la ruta de donde obtendrá el archivo que contiene los cambios de precios realizados en la anterior base de datos.
De un clic en [Aceptar] y se ejecutará un procedimiento que afectará los precios de los artículos de la actual base de datos basada en los cambios que trajimos en la bitácora.
Esta es una forma bastante ágil de hacer cambios de precios entre tiendas o sucursales que no están conectadas en línea.

Fuente:
Información obtenida del boletín No. 43 de MyBusinessPOS.com

Publicado el 8 comentarios

Borra Saldos de Cliente de Mostrador

Para borrar el saldo del cliente de mostrador, creamos un nuevo procedimiento y le pegamos el siguiente código:

'|----------------------------------------------------------------------------------|
'| 2012-01-17 |
'| JOSE FELIX SANCHEZ (jofelchez@gmail.com) |
'| El siguiente procedimiento borra el saldo al Cliente de Mostrador |
'| (Cliente SYS) |
'|----------------------------------------------------------------------------------|

Sub Main()

Ambiente.Connection.Execute " update clients set SALDO = 0 where CLIENTE = 'sys' "

MyMessage "Proceso terminado"

End Sub

Guardamos y ejecutamos.

Como información adicional, para crear un procedimiento, tiene que ir a la ruta (dentro del sistema): CONFIGURACION–PERSONALIZACION–PROCEDIMIENTOS Y RUTINAS DE USUARIO.
Ahi da clic en Nuevo y pega el código antes mencionado.

Espero que sea de utilidad y me inviten un Pomo.

Publicado el 18 comentarios

Importando productos desde excel


'código de la forma PRODSEXCEL (utilizado en el Ambiente de Desarrollo)
Sub Form_load

Me.Caption = “Importando desde Excel(tm)”
Archivo.File = Ambiente.Path & “\articulos.xls”

End Sub

Sub Button_Click()

Select Case ControlEvento.Tag
Case “Aceptar”

AplicaInventario
DescargaForma

Case “Cancelar”

DescargaForma

Case “cmdButton2”

ShellRun Parent.hWnd, “Open”, Archivo.File

End Select

End Sub

Sub AplicaInventario

Set excelConnection = CreateObject(“ADODB.Connection”)
excelConnection.ConnectionString = “driver={Microsoft Excel Driver (*.xls)};DBQ=” & Controles(“Archivo”).File
excelConnection.Open

ImportaInventario excelConnection

End Sub

Sub ImportaInventario( excelConnection )
Dim rstProductos
Dim bolAfectaInventario
Dim rstArticulo
Dim rstClaveAdd
Dim Articulos
Dim Ajuste
Dim rstImpuesto

Ambiente.Connection.Execute “UPDATE prods SET etiquetas = 0”

bolAfectaInventario = True

‘——————————————————————————————————————–
‘2011_11_22 Jose Felix jofelchez@gmail.com
‘Agregamos las Lineas a la Importación

Set rstExcel = CreaRecordSet( “SELECT linea FROM [ARTICULOS$] group by linea”, (excelConnection ) )
Set Query = NewQuery()
Set Query.Connection = Ambiente.Connection
While Not rstExcel.EOF

Set rstLinea = CreaRecordSet( “SELECT * FROM lineas WHERE Linea = ‘” & rstExcel(“Linea”) & “‘”, Ambiente.Connection )

Query.Reset

If rstLinea.EOF Then
Query.strState = “INSERT”
Else
Query.strState = “UPDATE”
Query.Condition = “linea = ‘” & rstExcel(“linea”) & “‘”
End If

Query.AddField “lineas”,”linea”, rstExcel(“Linea”)
Query.AddField “lineas”,”descrip”,rstExcel(“Linea”)
Query.AddField “lineas”,”Usuario”, Ambiente.Uid
Query.AddField “lineas”,”usuFecha”, Date
Query.AddField “lineas”,”usuHora”,Formato( Time, “hh:mm:ss” )
Query.AddField “lineas”,”Numero”, 0

Query.CreateQuery
Query.Execute

Query.Reset

rstExcel.MoveNext
Wend

‘——————————————————————————————————————–

Set rstProductos = CreaRecordSet( “SELECT * FROM [ARTICULOS$]”, (excelConnection ) )
Set Query = NewQuery()
Set Query.Connection = Ambiente.Connection

Set Articulos = CreateObject( “MyBArticulos.Articulos” )
Set Articulos.Ambiente = Ambiente

nEntrada = 0
nSalida = 0

While Not rstProductos.EOF

If Not clEmpty( “” & (rstProductos(“Código del producto”)) ) Then
If Not clEmpty( “” & (rstProductos(“Descripción”)) ) Then

Articulos.recalculoDeInventario rstProductos(“Código del producto”), Ambiente, False
Set rstArticulo = CreaRecordSet( “SELECT articulo, existencia FROM prods WHERE articulo = ‘” & rstProductos(“Código del producto”) & “‘”, Ambiente.Connection )

Query.Reset

If rstArticulo.EOF Then
Query.strState = “INSERT”
Else
Query.strState = “UPDATE”
Query.Condition = “articulo = ‘” & rstProductos(“Código del producto”) & “‘”
End If

Query.AddField “prods”,”articulo”, rstProductos(“Código del producto”)
Query.AddField “prods”,”descrip”,rstProductos(“Descripción”)
Query.AddField “prods”,”linea”, rstProductos(“Linea”)
Query.AddField “prods”,”marca”, “SYS”
Query.AddField “prods”,”fabricante”, “SYS”
Query.AddField “prods”,”precio1″, FDec( rstProductos(“Precio de venta”) )
Query.AddField “prods”,”costo_u”, FDec( rstProductos(“Costo ultimo”) )
Query.AddField “prods”,”etiquetas”, Val2( rstProductos(“Existencia”) )
Query.AddField “prods”,”Unidad”, rstProductos(“Unidad”)
Query.AddField “prods”,”precio2″, FDec( rstProductos(“Precio2”) )
Query.AddField “prods”,”precio3″, FDec( rstProductos(“Precio3”) )
Query.AddField “prods”,”precio4″, FDec( rstProductos(“Precio4”) )
Query.AddField “prods”,”precio5″, FDec( rstProductos(“Precio5”) )

If Val2(rstProductos(“Impuesto”)) > 0 Then
Set rstImpuesto = CreaRecordSet( “SELECT * FROM impuestos WHERE valor = ” & _
FDec( rstProductos(“Impuesto”) ), Ambiente.Connection )
Else
If ClAt(“0”, Trim(rstProductos(“Impuesto”))) > 0 AND Len(Trim(rstProductos(“Impuesto”))) = 1 Then
Set rstImpuesto = CreaRecordSet( “SELECT * FROM impuestos WHERE valor = ” & _
FDec( rstProductos(“Impuesto”) ), Ambiente.Connection )
Else
Set rstImpuesto = CreaRecordSet( “SELECT * FROM impuestos WHERE impuesto = ‘” & _
rstProductos(“Impuesto”) & “‘”, Ambiente.Connection )
End If
End If

If rstImpuesto.EOF Then
cImpuesto = “SYS”
Else
cImpuesto = rstImpuesto( “impuesto” )
End If

Query.AddField “prods”,”impuesto”, cImpuesto
Query.AddField “prods”,”paraventa”, 1
Query.AddField “prods”,”invent”, 1
Query.CreateQuery
Query.Execute

Query.Reset

If Not IsNull( rstProductos(“Existencia”) ) Then

Ajuste = FDec( rstProductos(“Existencia”) )’ – Val2( rstArticulo(“Existencia”) )
AfectandoInventario rstProductos(“Código del producto”), Ajuste
Articulos.recalculoDeInventario rstProductos(“Código del producto”), Ambiente, False

If Ajuste <> 0 Then
If Ajuste > 0 Then
nEntrada = CreaEntrada( nEntrada, rstProductos(“Código del producto”), Ajuste, FDec( rstProductos(“Costo ultimo”) ), rstProductos(“Descripción”) )
Else
nSalida = CreaSalida( nSalida, rstProductos(“Código del producto”), Ajuste, FDec( rstProductos(“Precio de venta”) ), rstProductos(“Descripción”) )
End If
Else
Query.Reset
Query.SQL = “UPDATE prods SET costo_u = ” & FDec( rstProductos(“Costo ultimo”) ) & _
” WHERE articulo = ‘” & rstProductos(“Código del producto”) & “‘”
Query.Execute
End If

End If

If Not clEmpty( “” & rstProductos(“Código de barras”) ) Then

Set rstClaveAdd = CreaRecordSet( “SELECT clave FROM clavesadd WHERE clave = ‘” & rstProductos(“Código de barras”) & “‘”, Ambiente.Connection )

Query.Reset

If rstClaveAdd.EOF Then
Query.strState = “INSERT”
Else
Query.strState = “UPDATE”
Query.Condition = “clave = ‘” & rstProductos(“Código de barras”) & “‘”
End If

Query.AddField “clavesadd”,”Clave”, rstProductos(“Código de barras”)
Query.AddField “clavesadd”,”Dato1″, “”
Query.AddField “clavesadd”,”Usuario”, Ambiente.Uid
Query.AddField “clavesadd”,”usuFecha”, Date
Query.AddField “clavesadd”,”usuHora”, Formato( Time, “hh:mm:ss” )
Query.AddField “clavesadd”,”Dato2″, “”
Query.AddField “clavesadd”,”Articulo”, rstProductos(“Código del producto”)
Query.AddField “clavesadd”,”Cantidad”, 1
Query.AddField “clavesadd”,”Unidad”, “”

If bolAfectaInventario = True Then
Query.AddField “clavesadd”,”Existencia”, 0
End If

Query.AddField “clavesadd”,”Libre”, 0
Query.AddField “clavesadd”,”Exportado”, 0
Query.AddField “clavesadd”,”Precio”, 0
Query.AddField “clavesadd”,”imagen”, “”
Query.AddField “clavesadd”,”etiquetas”, 0
Query.CreateQuery
Query.Execute

End If

End If
End If

Detalle.Caption = “” & rstProductos(“Descripción”)

rstProductos.MoveNext
Wend

MyMessage “Catálogo importado”

If Question( “Desea imprimir etiquetas de codigo de barras”, 1 ) = True Then

Script.RunProcess “ZEBRA2844”, Me, Ambiente

End If

End Sub

Sub AfectandoInventario( strArticulo, Existencia )
Dim rstProd
Dim n
Dim Query
Dim rstInvInicial

Set Query = NewQuery()
Set Query.Connection = Ambiente.Connection

Set rstProd = CreaRecordSet( “SELECT articulo, existencia, costo_u FROM prods WHERE articulo = ‘” & strArticulo & “‘”, Ambiente.Connection )
n = n + 1

If Existencia = 0 Then
Exit Sub
End If

Set MovInv = CreateObject( “MyBInventario.Inventario” )
Set MovInv.Ambiente = Ambiente

MovInv.FechaMov = Date
MovInv.uId = Me.Ambiente.uId
MovInv.EntradaSalida = “S”
MovInv.cMetodo = Me.Ambiente.costeo
MovInv.EstacionSalida = Trim(Ambiente.Estacion)

While Not rstProd.EOF

n = n + 1

Query.Reset
Query.strState = “INSERT”
Query.AddField “movsinv”,”MOVIMIENTO”, 1

If Existencia > 0 Then
MovInv.EntradaSalida = “E”
MovInv.nMovimiento = 1
MovInv.TipoMovim = “EX+”
MovInv.NoMovim = 1
MovInv.TipoOperacion = “EX+”
MovInv.nCantidad = Existencia
MovInv.AfectaCosto = True
Else
MovInv.EntradaSalida = “S”
MovInv.nMovimiento = 1
MovInv.TipoMovim = “EX-”
MovInv.NoMovim = 1
MovInv.TipoOperacion = “EX-”
MovInv.nCantidad = Existencia * -1
End If

MovInv.nPrecio = rstProd(“costo_u”)
MovInv.nAlmacen = 1
MovInv.cArticulo = strArticulo
MovInv.AfectaInventario

Set rstInvInicial = CreaRecordSet( “SELECT * FROM invinicial WHERE articulo = ‘” & rstProd(“articulo”) & “‘”, _
Ambiente.Connection )

If rstInvInicial.EOF Then
Query.Reset
Query.strState = “INSERT”
Query.AddField “invinicial”,”fecha”, DateSerial( 2000, 01, 01 )
Query.AddField “invinicial”,”articulo”, rstProd(“articulo”)
Query.AddField “invinicial”,”existencia”, Existencia
Query.AddField “invinicial”,”costo”, rstProd(“costo_u”)
Query.CreateQuery
Query.Execute
End If

rstProd.MoveNext

Wend

End Sub

Function FDec( Number )

FDec = Replace( “” & Number, “,”, “.” )

End Function

Function CreaEntrada( Entrada, Articulo, Cantidad, Costo, Descripcion )
Dim Query
Dim rstArticulo

Set Query = NewQuery()
Set Query.Connection = Ambiente.Connection

If Entrada = 0 Then
Query.Reset
Query.strState = “INSERT”

Entrada = TraeSiguiente( “MovEnt”, Ambiente.Connection )
Query.AddField “entradas”, “entrada”, Entrada
Query.AddField “entradas”, “ocupado”, 1
Query.AddField “entradas”, “f_emision”, Date
Query.AddField “entradas”, “tipo_doc”, “EX+”
Query.AddField “entradas”, “importe”, 0
Query.AddField “entradas”, “costo”, 0
Query.AddField “entradas”, “almacen”, 1
Query.AddField “entradas”, “estado”, “CO”
Query.AddField “entradas”, “observ”, vbNullString
Query.AddField “entradas”, “tipo_cam”, 1
Query.AddField “entradas”, “moneda”, Ambiente.Moneda
Query.AddField “entradas”, “datos”, vbNullString
Query.AddField “entradas”, “usuario”, Ambiente.uId
Query.AddField “entradas”, “usufecha”, Date
On Error Resume Next
Query.AddField “entradas”, “usuhora”, Libreria.Formato(Time, “hh:mm:ss”)
On Error GoTo 0
Query.CreateQuery
Query.Execute
End If

Query.Reset
Query.strState = “INSERT”
Query.AddField “entpart”,”ENTRADA”, Entrada
Query.AddField “entpart”,”TIPO_DOC”, “EX+”
Query.AddField “entpart”,”NO_REFEREN”, Entrada
Query.AddField “entpart”,”ARTICULO”, Articulo
Query.AddField “entpart”,”CANTIDAD”, Cantidad
Query.AddField “entpart”,”PRECIO”, Costo
Query.AddField “entpart”,”OBSERV”, Descripcion
Query.AddField “entpart”,”PARTIDA”, 0
Query.AddField “entpart”,”ID_ENTRADA”, TraeSiguiente( “entpart”, Ambiente.Connection )
Query.AddField “entpart”,”Usuario”, Ambiente.Uid
Query.AddField “entpart”,”UsuFecha”, Date
Query.AddField “entpart”,”UsuHora”, Libreria.Formato( Time, “hh:mm:ss” )
Query.AddField “entpart”,”PRCANTIDAD”, 0
Query.AddField “entpart”,”PRDESCRIP”, “”
Query.AddField “entpart”,”CLAVEADD”, “”
Query.CreateQuery
Query.Execute

CreaEntrada = Entrada

End Function

Function CreaSalida( Salida, Articulo, Cantidad, Precio, Descripcion )
Dim Query
Dim rstArticulo

Set Query = NewQuery()
Set Query.Connection = Ambiente.Connection

If Salida = 0 Then
Query.Reset
Query.strState = “INSERT”

Salida = TraeSiguiente( “MovSal”, Ambiente.Connection )

Query.AddField “salidas”,”Salida”, Salida
Query.AddField “salidas”,”ocupado”, 1
Query.AddField “salidas”,”tipo_doc”, “EX-”
Query.AddField “salidas”,”F_EMISION”, Date
Query.AddField “salidas”,”IMPORTE”, 0
Query.AddField “salidas”,”COSTO”, 0
Query.AddField “salidas”,”ALMACEN”, 1
Query.AddField “salidas”,”ESTADO”, “CO”
Query.AddField “salidas”,”OBSERV”, “Salida automática por excel”
Query.AddField “salidas”,”DATOS”, “”
Query.AddField “salidas”,”USUARIO”, Ambiente.Uid
Query.AddField “salidas”,”USUFECHA”, Date
Query.AddField “salidas”,”USUHORA”, Libreria.Formato( Time, “hh:mm:ss” )
Query.AddField “salidas”,”traspaso”, 0
Query.AddField “salidas”,”almt”, 0
Query.AddField “salidas”,”estraspaso”, 0
Query.AddField “salidas”,”sucursal”, “”
Query.AddField “salidas”,”esparasucursal”, 0
Query.AddField “salidas”,”entsuc”, 0
Query.AddField “salidas”,”folio”, TraeSiguiente(Trim(Ambiente.Estacion) & “salida”, Ambiente.Connection)
Query.AddField “salidas”,”estacion”, Ambiente.Estacion
Query.CreateQuery
Query.Execute
End If

Query.Reset
Query.strState = “INSERT”
Query.AddField “salpart”,”SALIDA”, Salida
Query.AddField “salpart”,”TIPO_DOC”, “EX-”
Query.AddField “salpart”,”NO_REFEREN”, Salida
Query.AddField “salpart”,”ARTICULO”, Articulo
Query.AddField “salpart”,”CANTIDAD”, Cantidad * -1
Query.AddField “salpart”,”PRECIO”, Precio
Query.AddField “salpart”,”OBSERV”, Descripcion
Query.AddField “salpart”,”PARTIDA”, 0
Query.AddField “salpart”,”ID_SALIDA”, TraeSiguiente( “salpart”, Ambiente.Connection )
Query.AddField “salpart”,”Usuario”, Ambiente.Uid
Query.AddField “salpart”,”UsuFecha”, Date
Query.AddField “salpart”,”UsuHora”, Libreria.Formato( Time, “hh:mm:ss” )
Query.AddField “salpart”,”PRCANTIDAD”, 0
Query.AddField “salpart”,”PRDESCRIP”, “”
Query.AddField “salpart”,”CLAVEADD”, “”
Query.AddField “salpart”,”costo”, 0
Query.CreateQuery
Query.Execute

CreaSalida = Salida

End Function

 

Publicado el 3 comentarios

ZEBRA 2844 CON PRESENTACIONES Y UNIDAD

'|----------------------------------------------------------------------------------|
'| 2010-10-25 |
'| JOSE FELIX SANCHEZ (jofelchez@gmail.com) |
'| El siguiente procedimiento imprime las etiquetas de cada uno de los articulos, |
'| incluyendo sus presentaciones |
'| AGREGAMOS EL CAMPO UNIDAD |
'|----------------------------------------------------------------------------------|

Public Sub Main ()

‘Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, descrip, etiquetas, precio1, precio2, precio10 FROM prods WHERE etiquetas > 0”, Ambiente.Connection )
‘AGREGAMOS EL CAMPO UNIDAD
Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, descrip, etiquetas, precio1, precio2, precio10,UNIDAD FROM prods WHERE etiquetas > 0”, Ambiente.Connection )

While Not rstPartidas.EOF

For i = 1 to rstPartidas(“etiquetas”)
‘ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), “” , “” , “” , “” , “” , “”
‘AGREGAMOS EL CAMPO UNIDAD
ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), “” , “” , “” , “” , “” , “”, rstPartidas(“UNIDAD”)
Next

rstPartidas.MoveNext

Wend
‘AGREGAMOS LA UNIDAD
Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, prods.descrip, prods.precio1, UPPER(clavesadd.clave) AS clave, clavesadd.dato1, clavesadd.dato2, clavesadd.cantidad, clavesadd.unidad, clavesadd.etiquetas, clavesadd.precio, PRODS.UNIDAD AS UNIDAD_ARTICULO FROM clavesadd INNER JOIN prods ON clavesadd.articulo = prods.articulo WHERE clavesadd.etiquetas > 0”, Ambiente.Connection )

While Not rstPartidas.EOF

For i = 1 to rstPartidas(“etiquetas”)

ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), rstPartidas(“clave”) , rstPartidas(“dato1”), rstPartidas(“dato2”) , Formato(rstPartidas(“cantidad”), “##,##0.00” ), rstPartidas(“unidad”) , Formato(rstPartidas(“precio”), “##,##0.00” ), rstPartidas(“UNIDAD_ARTICULO”)
Next

rstPartidas.MoveNext

Wend

End sub

‘AGREGAMOS LA VARIABLE UNIDAD
Public Sub ImprimeEtiqueta( cPuerto, cArticulo, cDescrip, cPrecioDeLista, cClave, cDato1, cDato2, cCantidad, cUnidad, cPrecioPresentacion , cUNIDAD_ARTICULO )

cPuerto = Trim( cPuerto )
cArticulo = Trim( cArticulo )
cDescrip = Trim( cDescrip )
cDato1 = Trim( cDato1 )

cClave = Trim( cClave )
cDato2 = Trim( cDato2 )
cUnidad = Trim( cUnidad )
‘AGREGAMOS LA VARIABLE UNIDAD
cUNIDAD_ARTICULO = Trim( cUNIDAD_ARTICULO )

cSalida = “”

‘ Aqui se puede modificar la etiqueta utiliza un lenguaje llamado EPL2 le adjunto manual del
‘ lenguaje, tambien si tienen la información del formato de la etiqueta y quieren que la
‘ diseñe por favor mandemelo
‘ Aqui se muestran los comandos basicos
‘ El comando N inicia la etiqueta
‘ El comando A muestra un dato de texto en donde el 250 es la posición en el eje de las X
‘ y el 15 la posición en el eje de las Y
‘ El comando B muestra el código de barras donde 250 es la posición en el eje de las X y 45
‘ Es la posición de inicio del eje de las Y
‘ El comando P Finaliza la etiqueta y el nunero 1 indica cuantas etiquetas se van a imprimir

cSalida = cSalida & “N” & Chr(13) & Chr(10) ‘LIBERAMOS LA MEMORIA
cSalida = cSalida & “D14” & Chr(13) & Chr(10) ‘DENSIDAD DE LA IMPRESION, DE 0 A 15
‘LA SIGUENTE LINEA SE PUEDE EXPLICAR EN LA PÁGINA 22 DEL MANUAL: A = ASCII; 05 = POSICION X; 11=POSICION Y; 0=GIRO 0 GRADOS; 2= TAMAÑO LETRA; 1=ESCALA EN HORIZONTAL; 1 = ESCALA VERICAL; N=LIMPIA MEMORIA
cSalida = cSalida & “A05,11,0,2,1,1,N,” & Chr(34) & Mid( cDescrip,1, 12 ) & ” $ ” & cPrecioDeLista & Chr(34) & Chr(13) & Chr(10)
‘LA SIGUENTE LINEA SE PUEDE EXPLICAR EN LA PÁGINA 29 DEL MANUAL: B = CODIGO DE BARRAS; 05 = POSICION X; 30=POSICION Y; 0=GIRO 0 GRADOS; 1= TIPO DE CÓDIGO(CODE39); 2=SEPARACIONDE LAS BARRAS; 6 = TAMAÑO HORIZONTAL; 40=TAMAÑO VERTICAL; B=MOSTRAR LOS CARACTERES ABAJO DEL CÓDIGO DE BARRAS
cSalida = cSalida & “B05,30,0,1,2,6,40,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘————————————————————————————————–
‘linea de codigo de barras de la version 2011
‘cSalida = cSalida & “B05,30,0,2,1,6,25,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘linea de codigo de barras de la version 2006
‘cSalida = cSalida & “B250,60,0,1,2,6,80,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘————————————————————————————————–

‘EN CASO DE QUE HAYA UNA CLAVE DE PRESENTACION
if cClave <> “” then

cSalida = cSalida & “A05,81,0,2,1,1,N,” & Chr(34) & Mid( cDato1,1, 16 ) & ” $ ” & cPrecioPresentacion & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “B05,100,0,1,2,6,30,B,” & Chr(34) & cClave & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,140,0,1,1,1,N,” & Chr(34) & Mid( cDato2,1, 16 ) & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,155,0,1,1,1,N,” & Chr(34) & Mid( cCantidad,1, 16 ) & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,170,0,1,1,1,N,” & Chr(34) & Mid( cUnidad,1, 16 ) & Chr(34) & Chr(13) & Chr(10)

end if

‘ESTA LINEA MUESTRA EL CAMPO UNIDAD, LO COLOQUÉ AL FINAL PARA QUE LO PUEDA VISUALIZAR
cSalida = cSalida & “A05,185,0,2,1,1,N,” & Chr(34) & “UNIDAD: ” & Mid( cUNIDAD_ARTICULO,1, 12 ) & Chr(34) & Chr(13) & Chr(10)

‘cSalida = cSalida & “A220,55,0,4,1,1,N,” & Chr(34) & “$” & cPrecioDeLista & Chr(34) & Chr(13) & Chr(10)
‘CON P1, ESPECIFICAMOS QUE SE DEBE IMPRIMIR UNA ETIQUETA Y FINALIZAMOS ESTA
cSalida = cSalida & “P1” & Chr(13) & Chr(10)

‘msgbox cSalida

‘——————————————————————————————-
‘EL SIGUIENTE BLOQUE QUE APARECE EN VERDE ES POR SI QUISIERAMOS IMPRIMIR VIA USB
‘IniciaDocumento
‘ EstableceFuente “Times New Roman”, 9
‘ Say 2.3, 3.4, Mid( cDescrip,1, 12 ) & ” $ ” & cPrecioDeLista
‘ EstableceFuente “C39HrP24DhTt”, 40
‘ Say 2.5, 3.4, cArticulo

‘if cClave <> “” then

‘ EstableceFuente “Times New Roman”, 9
‘ Say 3.1, 3.4, Mid( cDato1,1, 16 ) & ” $ ” & cPrecioPresentacion
‘ Say 3.3, 3.4, “Tipo: ” & Mid( cDato2,1, 16 )

‘ EstableceFuente “C39HrP24DhTt”, 30
‘ Say 3.5, 3.4, cClave

‘ EstableceFuente “Times New Roman”, 9
‘ Say 4.0, 3.4, “Cantidad: ” & Mid( cCantidad,1, 16 )
‘ Say 4.1, 3.4, “Unidad: ” & Mid( cUnidad,1, 16 )

‘end if

‘FinDocumento
‘———————————————————————————–

if Ambiente.rstEstacion(“ietiquetas”) <> 0 Then
if clAt( “LPT”, Ambiente.rstEstacion(“ietiquetaspuerto”) ) > 0 Then
Out Trim(Ambiente.rstEstacion(“ietiquetaspuerto”)), cSalida
else
if Ambiente.ImpresoraDeEtiquetas.PortOpen Then
Ambiente.ImpresoraDeEtiquetas.Output = cSalida
end if
end if
end if

Dormir 100
Eventos

End Sub

 

Publicado el Dejar un comentario

ZEBRA 2844 CON PRESENTACIONES

'|----------------------------------------------------------------------------------|
'| 2010-10-13 |
'| JOSE FELIX SANCHEZ (jofelchez@gmail.com) |
'| El siguiente procedimiento imprime las etiquetas de cada uno de los articulos, |
'| incluyendo sus presentaciones |
'|----------------------------------------------------------------------------------|

Public Sub Main ()

Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, descrip, etiquetas, precio1, precio2, precio10 FROM prods WHERE etiquetas > 0”, Ambiente.Connection )

While Not rstPartidas.EOF

For i = 1 to rstPartidas(“etiquetas”)
ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), “” , “” , “” , “” , “” , “”
Next

rstPartidas.MoveNext

Wend

Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, prods.descrip, prods.precio1, UPPER(clavesadd.clave) AS clave, clavesadd.dato1, clavesadd.dato2, clavesadd.cantidad, clavesadd.unidad, clavesadd.etiquetas, clavesadd.precio FROM clavesadd INNER JOIN prods ON clavesadd.articulo = prods.articulo WHERE clavesadd.etiquetas > 0”, Ambiente.Connection )

While Not rstPartidas.EOF

For i = 1 to rstPartidas(“etiquetas”)
‘ ImprimeEtiqueta “LPT1”, rstPartidas(“clave”), “”,rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), Formato(rstPartidas(“precio2”), “##,##0.00” ), Formato(rstPartidas(“precio10”), “##,##0.00” )
ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), rstPartidas(“clave”) , rstPartidas(“dato1”), rstPartidas(“dato2”) , Formato(rstPartidas(“cantidad”), “##,##0.00” ), rstPartidas(“unidad”) , Formato(rstPartidas(“precio”), “##,##0.00” )
Next

rstPartidas.MoveNext

Wend

End sub

Public Sub ImprimeEtiqueta( cPuerto, cArticulo, cDescrip, cPrecioDeLista, cClave, cDato1, cDato2, cCantidad, cUnidad, cPrecioPresentacion )

cPuerto = Trim( cPuerto )
cArticulo = Trim( cArticulo )
cDescrip = Trim( cDescrip )
cDato1 = Trim( cDato1 )

cClave = Trim( cClave )
cDato2 = Trim( cDato2 )
cUnidad = Trim( cUnidad )

cSalida = “”

‘ Aqui se puede modificar la etiqueta utiliza un lenguaje llamado EPL2 le adjunto manual del
‘ lenguaje, tambien si tienen la información del formato de la etiqueta y quieren que la
‘ diseñe por favor mandemelo
‘ Aqui se muestran los comandos basicos
‘ El comando N inicia la etiqueta
‘ El comando A muestra un dato de texto en donde el 250 es la posición en el eje de las X
‘ y el 15 la posición en el eje de las Y
‘ El comando B muestra el código de barras donde 250 es la posición en el eje de las X y 45
‘ Es la posición de inicio del eje de las Y
‘ El comando P Finaliza la etiqueta y el nunero 1 indica cuantas etiquetas se van a imprimir

cSalida = cSalida & “N” & Chr(13) & Chr(10) ‘LIBERAMOS LA MEMORIA
cSalida = cSalida & “D14” & Chr(13) & Chr(10) ‘DENSIDAD DE LA IMPRESION, DE 0 A 15
‘LA SIGUENTE LINEA SE PUEDE EXPLICAR EN LA PÁGINA 22 DEL MANUAL: A = ASCII; 05 = POSICION X; 11=POSICION Y; 0=GIRO 0 GRADOS; 2= TAMAÑO LETRA; 1=ESCALA EN HORIZONTAL; 1 = ESCALA VERICAL; N=LIMPIA MEMORIA
cSalida = cSalida & “A05,11,0,2,1,1,N,” & Chr(34) & Mid( cDescrip,1, 12 ) & ” $ ” & cPrecioDeLista & Chr(34) & Chr(13) & Chr(10)
‘LA SIGUENTE LINEA SE PUEDE EXPLICAR EN LA PÁGINA 29 DEL MANUAL: B = CODIGO DE BARRAS; 05 = POSICION X; 30=POSICION Y; 0=GIRO 0 GRADOS; 1= TIPO DE CÓDIGO(CODE39); 2=SEPARACIONDE LAS BARRAS; 6 = TAMAÑO HORIZONTAL; 40=TAMAÑO VERTICAL; B=MOSTRAR LOS CARACTERES ABAJO DEL CÓDIGO DE BARRAS
cSalida = cSalida & “B05,30,0,1,2,6,40,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘————————————————————————————————–
‘linea de codigo de barras de la version 2011
‘cSalida = cSalida & “B05,30,0,2,1,6,25,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘linea de codigo de barras de la version 2006
‘cSalida = cSalida & “B250,60,0,1,2,6,80,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘————————————————————————————————–

‘EN CASO DE QUE HAYA UNA CLAVE DE PRESENTACION
if cClave <> “” then

cSalida = cSalida & “A05,81,0,2,1,1,N,” & Chr(34) & Mid( cDato1,1, 16 ) & ” $ ” & cPrecioPresentacion & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “B05,100,0,1,2,6,30,B,” & Chr(34) & cClave & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,140,0,1,1,1,N,” & Chr(34) & Mid( cDato2,1, 16 ) & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,140,0,1,1,1,N,” & Chr(34) & Mid( cCantidad,1, 16 ) & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,155,0,1,1,1,N,” & Chr(34) & Mid( cUnidad,1, 16 ) & Chr(34) & Chr(13) & Chr(10)

end if

‘cSalida = cSalida & “A220,55,0,4,1,1,N,” & Chr(34) & “$” & cPrecioDeLista & Chr(34) & Chr(13) & Chr(10)
‘CON P1, ESPECIFICAMOS QUE SE DEBE IMPRIMIR UNA ETIQUETA Y FINALIZAMOS ESTA
cSalida = cSalida & “P1” & Chr(13) & Chr(10)

‘msgbox csalida

‘——————————————————————————————-
‘EL SIGUIENTE BLOQUE QUE APARECE EN VERDE ES POR SI QUISIERAMOS IMPRIMIR VIA USB
‘IniciaDocumento
‘ EstableceFuente “Times New Roman”, 9
‘ Say 2.3, 3.4, Mid( cDescrip,1, 12 ) & ” $ ” & cPrecioDeLista
‘ EstableceFuente “C39HrP24DhTt”, 40
‘ Say 2.5, 3.4, cArticulo

‘if cClave <> “” then

‘ EstableceFuente “Times New Roman”, 9
‘ Say 3.1, 3.4, Mid( cDato1,1, 16 ) & ” $ ” & cPrecioPresentacion
‘ Say 3.3, 3.4, “Tipo: ” & Mid( cDato2,1, 16 )

‘ EstableceFuente “C39HrP24DhTt”, 30
‘ Say 3.5, 3.4, cClave

‘ EstableceFuente “Times New Roman”, 9
‘ Say 4.0, 3.4, “Cantidad: ” & Mid( cCantidad,1, 16 )
‘ Say 4.1, 3.4, “Unidad: ” & Mid( cUnidad,1, 16 )

‘end if

‘FinDocumento
‘———————————————————————————–

if Ambiente.rstEstacion(“ietiquetas”) <> 0 Then
if clAt( “LPT”, Ambiente.rstEstacion(“ietiquetaspuerto”) ) > 0 Then
Out Trim(Ambiente.rstEstacion(“ietiquetaspuerto”)), cSalida
else
if Ambiente.ImpresoraDeEtiquetas.PortOpen Then
Ambiente.ImpresoraDeEtiquetas.Output = cSalida
end if
end if
end if

Dormir 100
Eventos

End Sub