CONTACTO ***** jofelchez@gmail.com *****




Soporte Remoto, helpmybusinesspos.info , TeamViewer, Hamachi, Descarga My Business pos 2012 Gratis, crack activar, keygen activador , FACTURACIÓN ELECTRÓNICA, my business pos 2012, MyCBB, Codigo de Barras BiDimensional, configurar facturas, Migración de la Versión 2006 a la Versión 2011, Delta, Configurar 2011, Manuales de Instalación, Errores, Modificar, Respaldos, Nuevo IVA, Red MyBusiness, Problema, Ambiente path, Migración, Impresora, Descarga 2011, Reportes, Presentaciones, Win7, SQL, Manager, Ticket, Etiquetas, Generador, Corte X Z, Restaurar, Zebra, Logo, recomendaciones, Remisiones, Barras, Inventario, hamachi, Delta y LINUX, code39, como cambiar el iva en my business pos, my business pos blogspot, como instalar my busuness delta, TPV, MyMoney, Concentrador POS, Zebra, Datamax, Mobile Business, Commander, Restaurante, MyBusiness POS 2012, Kardex
Mostrando entradas con la etiqueta Formatos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Formatos. Mostrar todas las entradas

miércoles, 22 de noviembre de 2017

Solucion para Carniceria y/o Polleria

1.-Da de alta tu Producto.

2.-Da de alta tus Derivados de ese Producto.

3.-Entra a Nuestra Forma y coloca los Kg de tus derivados.

4.-Cada Producto que Derives se hara una Entrada al Inventario.

5.-Envia tus ventas a tu Correo.

6.-Envia tus Cortez Finales del Dia a tu correo

7.-Asigna Precio Especial a tus Clientes.

sábado, 7 de octubre de 2017

Estimados Distribuidores (Proyectos de Ingenieria de Software).

Estimados Distribuidores hemos Recopilado esta Informacion para Ustedes.

La cual pueden Aplicar en el Levantamiento de Requerimiento de Soluciones para sus Clientes,se les recomienda mucho la retroalimentacion de sus usuarios finales para una Solucion total y eficaz.

 

Una etapa fundamental en proyectos de ingeniería de software, es la identificación y documentación de los requerimientos del futuro sistema al comienzo del proyecto, pues en numerosas ocasiones se ha demostrado que es cuando pueden prevenirse errores que puedan significar el fracaso del proyecto.


 

En la Ingeniería de requisitos, el levantamiento de requerimientos se refiere a la identificación y documentación de los requerimientos de un sistema, a partir de los usuarios, clientes o interesados .

A la práctica también se le conoce como Recopilación de requerimientos.

 

En este artículo te compartimos  técnicas para realizar el levantamiento de requerimientos de software, entre ellas las de Análisis de documentación, observación, entrevistas, cuestionarios, mesas de trabajo, tormentas de ideas e historias de usuario.

1.-Análisis de documentación


Consiste en obtener la información sobre los requerimientos funcionales y requerimientos no funcionales de software a partir de documentos que ya están elaborados.

Es útil cuando los expertos en la materia no están disponibles para ser entrevistados o ya no forman parte de la organización.

Utiliza la documentación que sea relevante al requerimiento que se está levantando.

Ejemplos de documentación: Planes de negocio, actas de constitución de proyecto, reglas de negocio, contratos, definiciones de alcance, memorándums, correos electrónicos, documentos de entrenamiento, entre otros.

2.- Observación


Consiste en estudiar el entorno de trabajo de los usuarios, clientes e interesados de proyecto .

Es una técnica útil cuando se está documentando la situación actual de procesos de negocio.

Puede ser de dos tipos, pasiva o activa.

En observación pasiva, el observador no hace preguntas, limitándose solo a tomar notas y a no interferir en el desempeño normal de las operaciones.

En observación activa, el observador puede conversar con el usuario.

3.- Entrevistas


Se realizan con los usuarios o interesados clave.

Direccionan al usuario hacia aspectos específicos del requerimiento a levantar.

Son útiles para obtener y documentar información detallada sobre los requerimientos y sus niveles de granularidad.

Pueden ser entrevistas formales o informales.

Una clave es mantenerse enfocado en los objetivos de la entrevista.

Las preguntas abiertas son útiles para identificar información faltante.

Las preguntas cerradas son útiles para confirmar y validar información.

El éxito de las entrevistas depende del grado de conocimiento del entrevistador y entrevistado, disposición del entrevistado de suministrar información, buena documentación de la discusión y en definitiva de una buena relación entre las partes.

4.- Encuestas o cuestionarios


Es una técnica útil para recopilar eficientemente los requerimientos de muchas personas.

La clave para el éxito es que tengan un propósito y audiencia claramente definida, establecer fechas topes para llenar la encuesta, con preguntas claras y concisas.

Deben enfocarse en los objetivos de negocio que se necesitan identificar.

Pueden apoyarse con entrevistas de seguimiento con usuarios individuales.

Pueden contener tanto preguntas cerradas como preguntas abiertas.

5.- Mesas de trabajo .


Es una técnica efectiva para obtener información rápidamente de varias personas.

Es recomendable tener una agenda predefinida y preseleccionar a los participantes, siguiendo buenas prácticas para reuniones efectivas.

Se puede utilizar un facilitador neutral y un transcriptor (que no sea el mismo facilitador).

Se puede utilizar un material común sobre el cual enfocar la atención y conversar, por ejemplo una presentación con un desglose del proceso que se está estudiando o un flujograma.

Se pueden combinar con otras técnicas como pueden ser las entrevistas y cuestionarios.

6.- Tormenta de ideas


Es una sesión de trabajo estructurada orientada para obtener la mayor cantidad de ideas posibles.

Es recomendable limitarlas en el tiempo, utilizar ayudas visuales y designar un facilitador.

Las reglas son importantes, por ejemplo los criterios para evaluar ideas y asignarles un puntaje, no permitir las críticas a las ideas y limitar el tiempo de discusión.

En una primera fase, se deben identificar la mayor cantidad de ideas, para luego evaluarlas. Todas las ideas deben ser consideradas y deben limitarse que una idea se le ahogue o critique antes de tener tiempo de desarrollarla.

7.- Historia del usuario


Las historias de usuario, son una aproximación simple al levantamiento de requerimientos de software, en la cual la conversación pasa a ser más importante que la formalización de requerimientos escritos.

Es recomendable que sean escritas por el mismo cliente o interesado (con apoyo del facilitador si es necesario), con énfasis en las funcionalidades que el sistema deberá realizar.

Al redactar una historia de usuario deben tenerse en cuenta describir el Rol, la funcionalidad y el resultado esperado de la aplicación en una frase corta.

Las historias de usuario son una de las técnicas más difundidas para levantar requerimientos de software en metodologías ágiles.

Nota: Estas Tecnicas se han recopilado de la Web Con el unico proposito de apoyar a nuestros Usuarios en el Levantamiento de Requerimientos para las Soluciones de sus Clientes

Nestor Octavio Guzman Bernal


Desarrollador de Soluciones


Cel.: (722) 7 70 16 56


WhatsApp: (722) 7 70 16 56


 

viernes, 1 de septiembre de 2017

Implementar Módulos Nuevos en el Sistema de Punto de Venta MyBusinessPOS



El sistema de Punto de Venta MybusinessPos nos provee la Base para el Control Administrativo y de Inventario en Nuestro Negocio.

El Grupo de Help MBP se ha dado a la Tarea de proporcionar Soporte Técnico así como el de Desarrollar y/o Modificar Módulos Existentes y Nuevos.

Somos colaboradores independientes del fabricante.


 

PASO 1

Para esta Tarea es Necesario recopilar Datos del Usuario, para un Levantamiento de Requerimientos necesarios para un Análisis de dicha creación de módulos .

Este un Pequeño Cuestionario para tal Tarea

  1. Versión MyBusinessPOS.

  2. ¿Cual es el Problema a Resolver?

  3. ¿Cuales son las Características del Sistema que se utilizara para Resolver el Problema?

  4. ¿Que Información va ha ser Procesada?

  5. ¿Que Función se Desea?

  6. ¿Que interfaces van a ser Establecidas?

  7. ¿Quien esta Detrás de la Solicitud de este Trabajo?

  8. ¿Quien Utilizara la Solución?

  9. ¿Cuales son las Entradas?

  10. ¿Cuales son las Salidas?

  11. ¿Cual es la Forma de Almacenamiento?

  12. ¿Cuales son las restricciones?

  13. ¿Que se considera un Resultado "Correcto"?


Al contestar lo mas explicito o Claro se lograra llegar al Objetivo que es Diseño y Desarrollo de su Modulo el cual tiene la Finalidad de solución y Apoyo a su Negocio.

PASO 2

Se enviara una Cotización con los detalles de Costo ,Tiempo y Forma, considerando algunos Factores de los cuales no se tienen el control lo cuales pueden retrasar tanto la entrega como la implementación de dicho Módulo.

Para mas Información contáctenos.
Estamos para Desarrollar TU SOLUCIÓN.

Consultor Nestor Guzman.
Desarrollador de Soluciones
Cel.: (722) 7 70 16 56
WhatsApp: (722) 7 70 16 56

 

Actualización CFDI 3.3 Disponible

viernes, 11 de agosto de 2017

martes, 7 de febrero de 2017

Actualización a la Versión 2017

mbp2017_actuali

Precios Sujetos a Cambio sin previo Aviso

Precios incluyen IVA

 



 

 

 

 

martes, 9 de septiembre de 2014

Cómo cotizar en punto de venta

Sistema para cotizar en el punto de venta. Este desarrollo lo hizo Carlos lozano. Puedes solicitarlo a carloslozanob@gmail.com

O también puedes contactar a Eduardo Gonzalez cctvsolucion@gmail.com y conocer una propuesta interesante acerca del tema

viernes, 5 de septiembre de 2014

Necesitas timbrar facturas con un PAC Autorizado?

[wpdm_package id='15022']
[wpdm_package id='14960']
[wpdm_package id='15023']
[youtube Bz2t24Tks0A]

Algunos compañeros han mostrado la inquietud de timbrar facturas con un PAC diferente al que MyBusinessPos tiene por default. He desarrollado un módulo (descarga gratis) que se conecta con facturador electrónico y es posible personalizar los datos que deseamos enviar a la factura; ya que el módulo completo está programado en el editor de mybusiness pos, con acceso al código fuente.

Si necesitas que te proporcione timbres (facturador electrónico) y el complemento para facturar, no dudes en contactarme.

image

image

image

domingo, 24 de agosto de 2014

Cómo importar una ventana o formulario (.bfr) a MyBusiness POS

Los archivos .BFR se actualizan de la siguiente manera:

1. Entramos a MyBusiness POS con una clave de “Supervisor”

2. Nos dirigimos a la barra de tareas_ Programación _Ambiente de desarrollo y damos un clic en ese icono

3. Vamos al menú Archivo, seleccionamos Abrir

4. Seleccionamos el archivo con extensión BFR y aceptamos la actualización

5. Con este proceso ya tenemos actualizado el formulario, solo damos un clic en el icono “guardar” y lo ejecutamos en MyBusiness POS en la operación normal del sistema. Para algunos formatos podemos ejecutar la prueba desde el mismo editor, solo damos clic en el ultimo icono que tiene forma de triángulo (Run)

[youtube uqUpAvcUYfI]

sábado, 23 de agosto de 2014

Cómo hacer un Corte Z más pequeño?

Si deseamos un Corte Z que consuma menos papel, podemos hacer el siguiente ajuste en la ruta del business manager (Configuración--Personalización--Formatos del sistema--CorteZ). Nos colocamos aproximadamente en la linea 70 e identificamos la linea:
[wpdm_package id='17534']

    detallado = True


Modificamos esta linea a False y quedará así:


    detallado = False


Guardamos y hacemos la prueba

En caso de que necesitemos el corte completo con impuestos, lo podemos hacer el cambio a true y ya aparecerá la información detallada del corte.

martes, 12 de agosto de 2014

Ejemplo de DBMultiCombo.MultiCombo

Cuando  echamos un vistazo al código de algunas formas, vemos que aparece en varios casos esto "DBMultiCombo.MultiCombo" .  Se trata de una clase que hace una consulta a la tabla llamada "QUERY". Ahí podemos encontrar muchas consultas predefinidas; y si no existe, la podemos crear a nuestra medida o simplemente ampliar la búsqueda a otros campos que por default no considera el sistema.

[wpdm_package id='15039']

A continuación se muestra la lista de consultas que trae el sistema, tal vez alguna te interesa:

  • Fabricantes

  • Modelos

  • CostosAdicionales

  • Comisionistas

  • Colonia

  • Repartidores

  • Tutor

  • Familias

  • Ofertas

  • Tallas

  • Colores

  • Reportes

  • Etapas

  • Lotes

  • Clasificación de inventario

  • Estados

  • Contactos por cliente

  • Clientes por descripcion

  • Articulos por descripción

  • Remisiones para devolución

  • Estaciones

  • Ubicación en almacen

  • Marcas por clave

  • Zonas de clientes

  • Ventas sin cancelar

  • Ventas pendientes

  • Ventas

  • Vendedores

  • Usuarios

  • Tipos de teléfono

  • Tipos de proveedores

  • Tipos de Polizas

  • Tipos de póliza

  • Tipos de pendientes

  • Tipos de clientes

  • Sucursales

  • Series disponibles

  • Remisiones

  • Proveedores por clave

  • Proveedores

  • Procedimientos y rutinas de usuario

  • Pendientes

  • Partidas de venta

  • Partidas de compra

  • Monedas

  • Marcas de Artículos

  • Líneas de Artículos

  • Inventarios físicos

  • Inventarios

  • Impuestos por porcentaje

  • Impuestos

  • Grupos de cuentas

  • Formatos

  • Facturas

  • Devoluciones

  • Contactos

  • Conceptos de salidas de inventario

  • Conceptos de ingreso

  • Conceptos de gastos

  • Conceptos de entrada al inventario

  • Conceptos de egresos

  • Conceptos de cuentas por pagar

  • Conceptos de cobranza

  • Conceptos de Cargos

  • Conceptos de abonos a proveedores

  • Conceptos de Abonos

  • Compras confirmadas

  • Código de formatos

  • Cobradores

  • Clientes por clave

  • Clientes

  • Claves adicionales de articulos

  • Centros de costo

  • Artículos por clave

  • Articulos para venta

  • Articulos

  • Almacenes

  • Direcciones de embarque

  • Subfamilia1

  • Subfamilia2

  • Subfamilia3

  • ClientesNC

  • Tickets

  • SeriesTickets

  • UsuariosGB


Si tienes alguna duda al respecto, puedes escribir tu comentario y podemos aclararla

sábado, 24 de mayo de 2014

Cómo importar un formato (.paq) a MyBusiness POS

paq1. Primero entramos a MyBusinessPOS y damos un clic en la carpeta configuración del Business manager, buscamos la carpeta personalización, y posteriormente el icono “formatos del sistema”.

2. Se abrirá la herramienta Business Manager con la lista de todos los formatos, reportes y o procedimientos, según la carpeta que elijamos. Si da clic en ‘procedimientos’ (por ejemplo) podrá importar reportes o formatos ya que todas las carpetas reciben archivos .paq y tanto formatos como reportes y procedimientos tienen la misma extensión.

3. Clic derecho sobre cualquiera de los formatos y aparecerá una lista de opciones de la cual debe elegir la opción: Importar paquete de procedimientos.

4. Busca el directorio donde esta guardado el archivo y selecciónalo.

5. Aparecerá una mensaje que te dice: ”Paquete importado”. Oprime un clic en Aceptar.

[youtube N8GrABpxu-I]

sábado, 28 de enero de 2012

Reimprimir Corte Z MyBusiness POS

wpid-img-20160416-wa0003.jpg

Muchos usuarios han tenido la necesidad de reimprimir su corte Z.

[wpdm_package id='15012']

[wpdm_package id='17534']

[wpdm_package id='15042']

Así que en este post se publica una herramienta que es de utilidad para cubrir dicha necesidad.

[youtube zxma9shdcMM]

Características del parche:

+ Permite la búsqueda de Cortes por rango de Fechas

+ Permite la búsqueda de Cortes por Estación de Trabajo

+ Permite la búsqueda de Cortes por Monto de Caja

Solicita el parche a jofelchez@gmail.com

miércoles, 11 de enero de 2012

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

miércoles, 9 de noviembre de 2011

Cómo cambiar la fuente del ticket

[wpdm_package id='15747']
[youtube ZW7MkyRe9Bw]
Para poder modificar el tamaño de la fuente en el ticket de My Business POS, primero es necesario conocer cómo está conectada la impresora, así como la configuración de la estación de trabajo. 

Existen dos formas de modificar el texto de un ticket:

1. Para las impresoras configuradas por puerto LPT:
Se modifica un procedimiento llamado FORMATOTEXTO (En el Business Manager—Configuración—Personalización—Procedimientos y Rutinas del Usuario)
Ahí está un código como este:

Sub Main()
Dim p, s

On error resume next

Set p = ImpresoraDefault(Ambiente.rstEstacion("pticket"))

' p.ScaleMode = 7 ' Centimetros
'p.PaintPicture LoadPicture(Ambiente.Path & "\images\logo.jpg"), 0, 0, 3, 4
p.Font.Name = "Courier New"
p.Font.Size = 9
p.FontBold True

For n = 1 To 2
s = s & vbCrLf
Next

' pt (print text) imprime el texto indicado (impresora), (texto)
pt (p),(s)

pt (p),(Script.textToFormat)
p.EndDoc

End Sub

Lo que vamos a hacer es identificar p.Font.Name y p.Font.Size. Puede cambiarlo por una fuente legible y que a la vez se ajuste en el ticket. Se recomienda que utilice los tipos de letra Tahoma o Courier New debido a que estos utilizan caracteres con ancho estándar; sin embargo puede hacer pruebas con la fuente Arial.
Para GUARDAR los cambios, presione F2 o de clic en el botón Guardar.

2. Para impresoras configuradas por puerto USB:

Para este caso, es posible modificar el ticket en la parte final del formato TICKET (En el Business Manager—Configuración—Personalización—FORMATOS) y ubicamos el código, el cual está comentado:

'IniciaDocumento
'Say 0,0, cSalida
'FinDocumento
'Exit Sub

Lo descomentamos, agregamos la fuente y debe quedar de la siguiente manera:

IniciaDocumento
EstableceFuente "Courier New", 9
'FontBold True
Say 0,0, cSalida
FinDocumento
Exit Sub

Guardamos (F2) y hacemos la prueba
Para más información por favor visite http://helpmybusinesspos.info/errores-de-mybusiness-pos/como-elegir-la-miniprinter-mas-apropiada-para-su-negocio/ 
[youtube UPYM_iRZbmg]