Publicado el Dejar un comentario

Solución SAS: Convertir fecha a texto

Sas
sas Grid

 Estas dos alternativas para convertir fecha SAS a texto SAS

Con DatePart, cuando la fecha es larga y DateTime

CATS(PUT(YEAR(DATEPART(cosecha_tdc)),Z4.),PUT(MONTH(DATEPART(cosecha_tdc)),Z2.))as cosecha_2,

PLAN B, en caso de que sea fecha corta (solo tipo Date), sin datepart

fec_info2 = CATS(PUT(YEAR((cosecha_tdc)),Z4.),PUT(MONTH((cosecha_tdc)),Z2.));


Para colocar un campo tipo datetime, se haría así
’01JAN2020:00:00:00′ AS MIFECHA FORMAT = datetime. ,

.

Publicado el 5 comentarios

Editor de Corte Z para ahorrar papel

Editor de Corte 1Z v1.0

Desarrollamos el Editor de Corte Z para que puedas personalizar #MyBusinessPOS de manera visual.

Características que se pueden personalizar:

  • Desglose de impuestos
  • Desglose de cobranza
  • Detalle de artículos vendidos
  • Vales otorgados
  • Detalle de marcas
  • Detalle de ventas por Cliente
  • Ventas por Puntos
  • Envío por email (es necesario registrar una librería DLL adicional, es gratis)
  • Nombre y Firma del usuario
  • Encabezado y pie de corte
  • Redondeos
  • Cheques
  • Arqueo de caja
Publicado el 1 comentario

Editor de Corte Z

En ocasiones necesitamos ajustar el corte Z para ahorrar papel o simplemente para que se adapte a la impresora. Hay otras ocasiones que no nos interesa el desglose de impuestos o el desglose de artículos. Incluso, en algunos giros sí requieren el desglose por línea

Para cubrir dicha necesidad, estamos en desarrollo de un editor de corte Z. Es similar al editor de ticket, fácil de usar, configurar e implementar en su punto de venta.

editor_ticket

Publicado el 4 comentarios

Alinear y Centrar el texto del ticket con PadC, PadL y PadR

Alinear_centrar_texto_mybusinessposEn este ejemplo veremos cómo alinear el texto de un ticket con las funciones

  • PadL(cadenaTexto,Longitud). Rellena de espacios a la izquierda; Alineación a la Derecha
  • PadR(cadenaTexto,Longitud). Rellena de espacios a la derecha; Alineación a la Izquierda
  • PadC(cadenaTexto,Longitud). Rellena de espacios al centro; Alineación Centrado


Para lograrlo, crearemos tres funciones, aunque PadL ya viene por default, aquí la colocaremos.

Sub Main()
'La letra posterior a PAD es el lado que se rellenará de espacios
a = padL ("Frase de prueba",40) 'Relleno IZQUIERDO. Alinea a la derecha
b = PadC ("Frase de prueba",40) 'Ambos lados. Alinear al centro
c = PadR ("Frase de prueba",40) 'Relleno DERECHO. Alineación a la izquierda

mymessage "PadL: '" & a & "'" & vbcrlf & _
"PadC: '" & b & "'" & vbcrlf &_
"PadR: '" & c & "'"

End Sub

'PADL() Alineación a la DERECHA inserta los caracteres de relleno a la Izquierda
Function PadL(cadena,nLongitud)
dim clen
dim temp
dim char
char = " " 'espacio en blanco
on error resume next
'Tomamos la cadena enviada en el parámetro
'eliminando los chares vacios izq-dch
temp = trim(cadena)
clen = len(temp)
for n=1 to nLongitud
char = char & " "
Next

'Analizamos si la nLongitud justificada es menos
'que la propia cadena enviada en parámetro.
if clen < nLongitud then temp = mid(char,1,nLongitud - clen) & temp 'Alineación a la Derecha end if PadL = temp end function 'PADR() Alineación a la IZQUIERDA inserta los caracteres de relleno a la derecha Function PadR(cadena,nLongitud) dim clen dim temp char = " " 'espacio en blanco on error resume next 'Tomamos la cadena enviada en el parámetro 'eliminando los chares vacios izq-dch temp = trim(cadena) clen = len(temp) for n=1 to nLongitud char = char & " " Next 'Analizamos si la nLongitud justificada es menos 'que la propia cadena enviada en parámetro. if clen < nLongitud then temp = temp & mid(char,1,nLongitud - clen) 'Alineación a la Izquierda end if PadR = temp end function 'PADC() Alineación al CENTRO inserta los caracteres de relleno a ambos lados Function PadC(cadena,nLongitud) dim clen dim temp char = " " 'espacio en blanco 'on error resume next 'Tomamos la cadena enviada en el parámetro 'eliminando los chares vacios izq-dch temp = trim(cadena) clen = len(temp) for n = 1 to nLongitud char = char & " " Next 'Espacios al lado Izquierdo nEspaciosA = formato((nLongitud - clen)/2 , "#.0") DondeEstaElPunto = clAt( ".", nEspaciosA ) - 1 'Espacios al lado derecho nEspaciosA = mid(nEspaciosA,1,DondeEstaElPunto) nEspaciosB = nLongitud -clen - nEspaciosA 'Analizamos si la nLongitud justificada es menos 'que la propia cadena enviada en parámetro. if clen < nLongitud then temp = mid(char,1,nEspaciosA) & _ temp & _ mid(char,1,nEspaciosB) 'Alineación a la Izquierda end if PadC = temp end function

Espero sea de utilidad estas funciones que dejo a su disposición en espera de que correspondan con un pomo para seguir inspirados.
Saludos
José Félix

Publicado el Dejar un comentario

Android Corte Z

android-icon_mybusiness

Envíanos un Whats al 7222816462 y te asesoraremos a la brevedad en este tema.

Descarga la aplicación, con extensión .apk, para que puedas revisar el último corte Z.

Esta aplicación está desarrollada en conjunto con David Félix, al cual pueden contactar en dfs-dfs@hotmail.com

La finalidad de esta primera versión es que nos compartas tu experiencia y retroalimentar el desarrollo para mejorarlo.

Vale la pena mencionar que en siguientes fases se integrará la consulta directa a catálogos con imágenes, reportes.

En una tercera etapa, se habilitarán operaciones como lectura de códigos de barras y posiblemente ventas.

Saludos

José Félix

wpid-screenshot_2015-02-06-07-43-54.png wpid-screenshot_2015-02-06-07-44-34.png wpid-screenshot_2015-02-06-07-45-22.png wpid-screenshot_2015-02-06-07-45-29.png wpid-screenshot_2015-02-06-07-53-49.png