Re: [pyafipws] Codigo de Barras CAE

7,284 views
Skip to first unread message

Ariel Stechina

unread,
Nov 22, 2012, 7:38:34 PM11/22/12
to pyaf...@googlegroups.com
Hola, el código se genera conforme a la RG 1702, ahi está bien detallado, te paso el link, cualquier cosa, a disposición
Saludos.


El 22 de noviembre de 2012 18:26, <masca...@dpsonline.com.ar> escribió:
Hola. Soy nuevo en este tema de la factura electronica.
Tal vez no sea el ambito correcto para hacer esta pregunta. Si es asi sepan disculpar

¿De donde saco informacion oficial acerca de como crear el codigo de barras que debo poner en la factura de papel, con el CAE y demas datos?
¿Alguien podra pasarme algun link?

Nota: Yo estoy usando WSFEv1

Gracias

--
Has recibido este mensaje porque estás suscrito al grupo "PyAfipWs - Factura Electrónica Libre" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/pyafipws/-/1ZBdo0mh_1IJ.
Para publicar una entrada en este grupo, envía un correo electrónico a pyaf...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a pyafipws+u...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/pyafipws?hl=es.

Carlos Herrero

unread,
Nov 22, 2012, 8:43:38 PM11/22/12
to pyaf...@googlegroups.com
Hola, tenes que imprimir un codigo de barra con font Interleave 2 of 5.
Ojo que no es solamente imprimir los datos con tal o cual font, sino que precisamente el font necesita una especie de compilacion.
 
Lo que tenes que imprimir es un string compuesto por :
 
Tipo de comprobante segun afip
Boca emisora
CAE
Fecha de vencimiento aaaammdd
Digito verificador
 
Ese string se procesa con la siguiente rutina :
 
// * FUNCTION _StrToI2of5(tcString) * INTERLEAVED 2 OF 5
// *------------------------------------------------------
// * Convierte un string para ser impreso con
// * fuente True Type "PF Interleaved 2 of 5"
// * ó "PF Interleaved 2 of 5 Wide"
// * ó "PF Interleaved 2 of 5 Text"  
// * Solo caracteres numéricos
// * USO: _StrToI2of5('1234567890')
// * RETORNA: Caracter
// *------------------------------------------------------
LOCAL lcStart, lcStop, lcRet, lcCheck, lcCar, lnLong, lnI, lnSum, lnAux
lcStart = CHR(40)
lcStop = CHR(41)
lcRet = ALLTRIM([!tcString!])
//   *--- Genero dígito de control
lnLong = LEN(lcRet)
lnSum = 0
lnCount = 1
FOR lnI = lnLong TO 1 STEP -1
    lnSum = lnSum + VAL(SUBSTR(lcRet,lnI,1)) *  IIF(MOD(lnCount,2) = 0,1,3)
    lnCount = lnCount + 1
   ENDFOR
   lnAux = MOD(lnSum,10)
   lcRet = lcRet + ALLTRIM(STR(IIF(lnAux = 0,0,10 - lnAux)))
   lnLong = LEN(lcRet)
//   *--- La longitud debe ser par
   IF MOD(lnLong,2) # 0
     lcRet = '0' + lcRet
     lnLong = LEN(lcRet)
   ENDIF
//   *--- Convierto los pares a caracteres
   lcCar = ''
   FOR lnI = 1 TO lnLong STEP 2
     IF VAL(SUBS(lcRet,lnI,2)) < 50
       lcCar = lcCar + CHR(VAL(SUBS(lcRet,lnI,2)) + 48)
     ELSE
       lcCar = lcCar + CHR(VAL(SUBS(lcRet,lnI,2)) + 142)
     ENDIF
   ENDFOR
//   *--- Armo código
  lcRet = lcStart + lcCar + lcStop
 
Segun este procedimiento, que es para visual fox, en lcRet obtenes el string original pero convertido.
Ese string es lo que SI imprimis con el font interleave 2 of 5.
 
 
Carlos A.L.Herrero
Análisis de Sistemas
Córdoba 93 (B1640GUA) Martínez Bs.As.
República Argentina
Tel: 4792-2053 15-4473-6865
 
 


De: pyaf...@googlegroups.com [mailto:pyaf...@googlegroups.com] En nombre de masca...@dpsonline.com.ar
Enviado el: Jueves, 22 de Noviembre de 2012 06:27 p.m.
Para: pyaf...@googlegroups.com
Asunto: [pyafipws] Codigo de Barras CAE

Carlos Herrero

unread,
Nov 22, 2012, 8:47:58 PM11/22/12
to pyaf...@googlegroups.com
Corrijo lo que envie antes:
 
El string a imprimir esta compuesto por :
 
CUIT EMISOR
Tipo de comprobante segun afip
Boca emisora
CAE
Fecha de vencimiento aaaammdd
Digito verificador
 

Mariano Reingart

unread,
Nov 23, 2012, 9:39:50 AM11/23/12
to pyaf...@googlegroups.com
También pueden usar la interfaz, tiene el objeto PyI25 que no solo
genera el dìgíto verificador, sino también una imagen del código de
barras que pueden adjuntar o imprimir:

http://www.sistemasagiles.com.ar/trac/wiki/ManualPyAfipWs#PyI25:GeneradordeCódigosdeBarras

Dim PyI25 As Object

Set PyI25 = CreateObject("PyI25")

' cuit, tipo_cbte, punto_vta, cae, fch_venc_cae
barras = "202675653930240016120303473904220110529"
' calculo digito verificador:
barras = barras + PyI25.DigitoVerificadorModulo10(barras)

' genero imagen en png, aspecto 1x para ver en pantalla o por mail
ok = PyI25.GenerarImagen(barras, "C:\barras.png")

' formato en jpg, aspecto 3x más ancho para imprimir o incrustar:
ok = PyI25.GenerarImagen(barras, "c:\barras.jpg", 9, 0, 90, "JPEG")

El instalador se encuentra en:

http://pyafipws.googlecode.com/files/instalador-PyI25-1.02a.exe

Sds

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com


2012/11/22 Carlos Herrero <carlosa...@gmail.com>:

Mariano Reingart

unread,
Dec 17, 2012, 12:43:37 PM12/17/12
to pyaf...@googlegroups.com
Si no recuerdo mal, la resolución de AFIP especifica un tamaño minimo
y que debe ser leible por los lectores de código de barras.
En general, yo uso el mismo tamaño y disposición que la Factura que
emite el Facturador en Linea de AFIP.
2012/12/14 Martin Cotugno <martin...@gmail.com>:
> Mariano,
>
> Te hago una consulta. La imagen generada tiene que tener un ancho y un alto
> en particular? Hay algo preestablecido o lo adapto a los tamaños de mi
> factura?
>
> Gracias!
>
> Martín
>
>
> El viernes, 23 de noviembre de 2012 11:40:12 UTC-3, Mariano Reingart
> escribió:
> https://groups.google.com/d/msg/pyafipws/-/3URQ1xrWN20J.

Mariano Reingart

unread,
Jan 4, 2013, 3:34:10 PM1/4/13
to pyaf...@googlegroups.com
¿Que error de instalación te da?

Este es el ejemplo para VB (para C# es muy similar):

https://code.google.com/p/pyafipws/source/browse/ejemplos/pyi25/pyi25.bas

El instalador es:

https://pyafipws.googlecode.com/files/instalador-PyI25-1.02a.exe

Cualquier duda avisanos,
2013/1/4 <juan...@gmail.com>:
> Hola que tal, estuve leyendo este post ya que necesito poder generar un
> codigo de barra para una factura electronica. Alguien tiene algun ejemplo
> en c# o visual basic?
> Me descargue PyAfipWs pero me tira un error en la instalacion.
>
> Muchas gracias
> Saludos
> https://groups.google.com/d/msg/pyafipws/-/N7ZbuKl8C6IJ.

Mariano Reingart

unread,
Jan 4, 2013, 5:26:22 PM1/4/13
to pyaf...@googlegroups.com
¿Me podes pasar una captura del error asi veo de corregirlo?
No llegó la imágen, cualquier cosa podés pasarmelo por privado o adjuntarlo por el sitio web:


En general puede ser un tema menor (como no poder hacer el link de acceso directo o similar, posiblemente por cuestiones de permisos de windows).

Más allá de eso, debería funcionar sin problemas, y no es necesario que agregues la referencia DLL, simplemente creas el objeto con CreateObject o similar.
En .NET es muy parecido: 

Si el CreateObject no funciona, posiblemente tengas un tema de conflicto de DLL o similar, podes registrarlo directamente:

regsvr32 /register PYI25.DLL

Tambien se puede registrar el EXE (para ejecutarlo de manera autónoma), pero en este caso habría que recompilarlo.


Cualquier duda avisanos,

Sds
2013/1/4 Juan Bianchi <juan...@gmail.com>
Hola, gracias por la respuesta.  Te cuento me instalo la app, me tira un error al final cuando quiere crear el shortcut, despues voy al directorio donde lo instalo y ejecuto el archivo pyi25.exe y me tira el siguiente error:

En el ejemplo que me pasas como hacer para agregar la referencia a la .dll?


Muchas gracias

Saludos

Para ver este debate en la Web, visita https://groups.google.com/d/msg/pyafipws/-/kGLjJ4y8CMwJ.

Mariano Reingart

unread,
Jan 4, 2013, 3:09:54 PM1/4/13
to pyaf...@googlegroups.com
2013/1/4 <mscar...@gmail.com>:
> Te adjunto 2 archivos que forman parte de este lio. Como dije antes, todo
> esto necesita de la libreria FPDF
>
> En el archivo i25.php, agregue un metodo (barcodeCaeAfip), Esa es la unica
> modificacion con respecto al archivo original descargado de FPDF
>
> En el archivo cae.php esta la cuestion.
> Creo que es bastante entendible el codigo, pero aca estoy para responderte
> algo si es necesario.

Al margen de tu respuesta, recuerden que esta lista es para el
proyecto "PyAfipWs", o sea, principalmente la interface python para
webservices de AFIP y temas relacionados:

https://code.google.com/p/pyafipws/

En parte este mensaje puede considerarse relevante ya que para el
proyecto también usamos FPDF, pero la versión python:

https://code.google.com/p/pyfpdf/

El código en cuestión para generar facturas electrónicas en PDF es:

https://code.google.com/p/pyafipws/source/browse/pyfepdf.py

De hecho, no solo se puede general el código de barras, sino toda la
factura (con logo y campos adicionales), e incluye un diseñador
visual:

http://www.sistemasagiles.com.ar/trac/wiki/ManualPyAfipWs#PyFEPDF:generadordePDFdefacturaselectrónicas

Y como había comentado, también tenemos una versión para hacer la
imágen del código de barras con PIL (en jpg, png, etc.):

https://code.google.com/p/pyafipws/source/browse/pyi25.py

Todas estas herramientas se puede usar de manera independiente en casi
cualquier plataforma (incluyendo desde php y otros lenguajes), por ej.
ejecutando:

python pyi25.py --barras 202675653930240016120303473904220110528
--mostrar --archivo prueba.png

http://www.sistemasagiles.com.ar/trac/wiki/ManualPyAfipWs#PyI25:GeneradordeCódigosdeBarras

Aclaro esto porque esas son las soluciones que ya tiene el proyecto,
estan documentadas y mantenidas como software libre.

> Suerte. Buen año a todos/as !!!
>
>
> NOTA AL ADMINISTRADOR DE LA LISTA:
> ¿Porque recibo un mail avisandome de una respuesta hecha en este foro, pero
> esa respuesta no aparece online, hasta varios dias despues?
>
>

La aprobación de un mail puede tardar porque esta es una lista
"comunitaria" y se hace el mejor esfuerzo para gestionarla (por
cierto, esta lista tiene 5 administradores).
Solo los colaboradores del proyecto pueden publicar respuestas sin
moderación, el resto de los mensajes son moderados para evitar spam y
consultas particulares (aunque a veces se ha filtrado algun mail de
ese tipo)

Por las dudas también lo aclaro: en este grupo, no hay garantias de
que las consultas puedan ser publicadas y/o contestadas en tiempo y
forma.
Ver soporte comercial si se necesita prioridad sobre este tema, por ej:

http://www.sistemasagiles.com.ar/trac/wiki/PyAfipWs#CostosyCondiciones

Roxana Demattei

unread,
Nov 13, 2014, 3:25:12 AM11/13/14
to pyaf...@googlegroups.com
Hola! Estoy usando   DLL PyI25 invocándola con CreatedObject desde mi código fuente en VFP9. Funciona perfecto y me genera los archivos para incrustar en la factura; pero queria saber si hay manera que en vez de generar los archivos en disco me los devuelva en una variable para no generar archivos temporales por cada factura que se genera. Gracias!

Maximiliano Kreiner

unread,
Mar 4, 2020, 9:29:27 AM3/4/20
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Alguien me puede pasar algun enlace al Generador de Codigos de Barras ? Este no funciona:
https://pyafipws.googlecode.com/files/instalador-PyI25-1.02a.exe

y para Windows 10 de 64 bits funcionará?

Romina L. Castrogiovani

unread,
Mar 4, 2020, 9:32:53 AM3/4/20
to pyaf...@googlegroups.com
Hola Maximiliano,

Si, ese enlace es viejo, ya no usamos googlecode, ahora está en GitHub.

Podes usar pyi25 desde este link:

Saludos

Castrogiovani L. Romina
Sistemas Ágiles
011 4450-0716 / 153048-9211
L a V de 10 a 17hs
Skype: romina.castrogiovani




--
Proyecto PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT:
http://www.pyafipws.com.ar/ - http://www.github.com/reingart/pyafipws - http://www.sistemasagiles.com.ar/
---
Has recibido este mensaje porque estás suscrito al grupo "PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyafipws+u...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/pyafipws/5c57526d-c635-488f-813d-bb1b35401af8%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages