Hola Mariano, gracias por tu respuesta, aca debajo pego el codigo que estoy
tratando de implementar :

oPyFEPDF = CreateObject("PyFEPDF")
 cVersion = oPyFEPDF.Version
cInstallDir = oPyFEPDF.InstallDir
 oPyFEPDF.CUIT = Alltrim(Parametros.CuitEmpresa)

Do case
Case TiposComprobantes.CodigoAFIP = '001'
tipo_cbte = 1       && Factura A
 Case TiposComprobantes.CodigoAFIP = '002'
 Otherwise
tipo_cbte = 1       && Factura A
 EndCase

** POR EL MOMENTO ESTOY PROBANDO SOLO CON FACTURA A


punto_vta = 1 && 4000    ' prefijo
 cbte_nro = Val(Cabecera.Numero)   &&  12345678 '
fecha = Dtoc(Cabecera.Fecha)  &&    "27/03/2011"
concepto = 3

* ' datos del cliente:
Do case
Case Cliente.IDtipoDocumento = '80'
tipo_doc = 80
 Case Cliente.IDtipoDocumento = '96'
tipo_doc = 96
 Otherwise
tipo_doc = 80
 EndCase
     nro_doc =  Strtran(Cliente.Cuit,'-','')   &&  "30000000007"
nombre_cliente = Cliente.RazonSocial   &&  "Joao Da Silva"
domicilio_cliente =  Alltrim(Cliente.Direccion) + ' ' +
Alltrim(Localidad.Descripcion) + ' ' + Alltrim(Provincia.Descripcion) + ' '
+ Alltrim(Pais.Nombre)     &&  "Rua 76 km 34.5 Alagoas"

pais_dst_cmp = 16     && ' código para exportación
id_impositivo =   ""     && "PJ54482221-l"
*' totales del comprobante:
 imp_total = Alltrim(Str(Cabecera.Total,12,2))    &&  "122.00"
imp_tot_conc = "0.00"
imp_neto = Alltrim(Str(Cabecera.SubTotal,12,2))   &&  "100.00"
imp_iva = Alltrim(Str(Cabecera.IVAinscripto,12,2))    &&  "21.00"
imp_trib = "0.00"
imp_op_ex = "0.00"
imp_subtotal = Alltrim(Str(Cabecera.SubTotal,12,2))   &&  "100.00"
fecha_cbte = fecha
fecha_venc_pago = fecha
*' Fechas del período del servicio facturado
fecha_serv_desde = fecha
fecha_serv_hasta = fecha
moneda_id = "PES"
moneda_ctz = "1.000"
obs_generales = "Observaciones Generales, texto libre"
obs_comerciales = "Observaciones Comerciales, texto libre"
moneda_id = "012"
moneda_ctz = 0.5
forma_pago = "30 dias"
incoterms = "FOB"  && termino de comercio exterior para exportación
idioma_cbte = 1   && idioma para exportación (no usado por el momento)
motivo_obs = "11"  && motivo de observación (F136 y otros)

* Código de Autorización Electrónica y fecha de vencimiento:
* (para facturas tradicionales, no imprimir el CAE ni código de barras)
cae = Alltrim(Cabecera.Cae)   &&  "61123022925855"
fecha_vto_cae = FechaSql(Cabecera.VencimientoAFIP)   &&  "20110320"

*' Creo la factura (internamente en la interfaz)
*ok = oPyFEPDF.CrearFactura(concepto, tipo_doc, nro_doc, tipo_cbte,
punto_vta, cbte_nro, imp_total, ;
* imp_tot_conc, imp_neto, imp_iva, imp_trib, imp_op_ex, fecha_cbte, ;
* fecha_venc_pago, fecha_serv_desde, fecha_serv_hasta, moneda_id, ;
* moneda_ctz, cae, fecha_vto_cae, id_impositivo, nombre_cliente, ;
* domicilio_cliente, pais_dst_cmp, obs_comerciales, obs_generales,
forma_pago, incoterms, idioma_cbte, motivo_obs)

ok = oPyFEPDF.CrearFactura(concepto, tipo_doc, nro_doc, tipo_cbte,
punto_vta, cbte_nro, imp_total, ;
imp_tot_conc, imp_neto, imp_iva, imp_trib, imp_op_ex, fecha_cbte, ;
fecha_venc_pago, fecha_serv_desde, fecha_serv_hasta, moneda_id, ;
moneda_ctz, cae, fecha_vto_cae, id_impositivo, nombre_cliente, ;
domicilio_cliente, pais_dst_cmp, obs_comerciales, obs_generales, forma_pago
) && , incoterms, idioma_cbte, motivo_obs)


*' Agregar comprobantes asociados (si es una NC/ND):
*'tipo = 19
*'pto_vta = 2
*'nro = 1234
*'pyfepdf.AgregarCmpAsoc(tipo, pto_vta, nro)
 *' Agrego subtotales de IVA (uno por alicuota)
iva_id = 5      &&' código para alícuota del 21%
base_imp = Cabecera.SubTotal    && 100  ' importe neto sujeto a esta
alícuota
importe = Cabecera.IVAinscripto   && 21    ' importe liquidado de iva
ok = oPyFEPDF.AgregarIva(iva_id, base_imp, importe)
 *' Agregar cada impuesto (por ej. IIBB, retenciones, percepciones, etc.):
*tributo_id = 99         ' codigo para 99-otros tributos
*Desc = "Impuesto Municipal Matanza"
*base_imp = "100.00"     ' importe sujeto a este tributo
*alic = "1.00"           ' alicuota (porcentaje) de este tributo
*importe = "1.00"        ' importe liquidado de este tributo
*ok = PyFEPDF.AgregarTributo(tributo_id, Desc, base_imp, alic, importe)
 Go top in Detalle
Do while not Eof('Detalle')
 *' Agrego detalles de cada item de la factura:
u_mtx = Detalle.Cantidad   && 123456              ' unidades
cod_mtx =  ""
                                     &&   ' código de barras


                ** ACA EN COD_MTX TRATE DE PONERLE UN CODIGO NUMERICO Y
TAMPOCO FUNCIONO


codigo = Detalle.IDarticulo   &&  "P0001"            ' codigo interno a
imprimir (ej. "articulo")
ds =  Detalle.Descripcion     &&  "Descripcion del producto P0001"
qty = Detalle.Cantidad &&   1                     ' cantidad
umed = 1   &&  7                    ' código de unidad de medida (ej. 7
para "unidades")
precio = Detalle.SubTotalSinIVA     && 100                ' precio neto (A)
o iva incluido (B)
bonif = 0               &&     ' importe de descuentos
iva_id = 5                 &&  ' código para alícuota del 21%
imp_iva = (Detalle.SubTotal - Detalle.SubTotalSinIVA)   && 21
 ' importe liquidado de iva
importe = Detalle.SubTotal       && 121               ' importe total del
item
despacho = ""               && "Nº 123456"      ' numero de despacho de
importación
ok = oPyFEPDF.AgregarDetalleItem(u_mtx, cod_mtx, codigo, ds, qty, umed,
precio, bonif, iva_id, imp_iva, importe, despacho)

Skip in Detalle
 EndDo
 *' Agrego datos adicionales fijos:
ok = oPyFEPDF.AgregarDato("logo", oPyFEPDF.InstallDir + "\fpdf.png")
ok = oPyFEPDF.AgregarDato("EMPRESA", Alltrim(Parametros.NombreEmpresa))
&&   "Empresa de Prueba")
ok = oPyFEPDF.AgregarDato("MEMBRETE1", Alltrim(Parametros.Direccion))
&&  "Direccion de Prueba")
ok = oPyFEPDF.AgregarDato("MEMBRETE2", "Capital Federal")
ok = oPyFEPDF.AgregarDato("ObservacionesGenerales1", "Nota al pie1")
 *' Cargo el formato desde el archivo CSV (opcional)
*' (carga todos los campos a utilizar desde la planilla)
ok = oPyFEPDF.CargarFormato(oPyFEPDF.InstallDir + "\factura.csv")
 *' Agrego campos manualmente (opcional):
*!* nombre = "prueba": tipo = "T"           ' "T" texto, "L" lineas, "I"
imagen, etc.
*!* X1 = 50: Y1 = 150: X2 = 150: Y2 = 255   ' coordenadas (en milimetros)
*!* Font = "Arial": Size = 20: Bold = 1: Italic = 1: Underline = 1 ' tipo
de letra
*!* foreground = "000000": background = "FFFFFF"    ' colores de frente y
fondo
*!* Align = "C" ' Alineación: Centrado, Izquierda, Derecha
*!* prioridad = 2 ' Orden Z, menor prioridad se dibuja primero (para
superposiciones)
*!* Text = "¡prueba!"
*!* ok = PyFEPDF.AgregarCampo(nombre, tipo, X1, Y1, X2, Y2, _
*!*                    Font, Size, Bold, Italic, Underline, _
*!*                    foreground, background, _
*!*                    Align, Text, priority)

*' Creo plantilla para esta factura (papel A4 vertical):
papel = "A4"                                       && o "letter" para
carta, "legal" para oficio
orientacion = "portrait"                           && o landscape (apaisado)
ok = oPyFEPDF.CrearPlantilla(papel, orientacion)
 num_copias = 3     && ' original, duplicado y triplicado
lineas_max = 24    && ' cantidad de linas de items por página
qty_pos = "izq"    && ' (cantidad a la izquierda de la descripción del
artículo)
*' Proceso la plantilla
ok = oPyFEPDF.ProcesarPlantilla(num_copias, lineas_max, qty_pos)
 *' Genero el PDF de salida según la plantilla procesada
salida = "factura.pdf"
ok = oPyFEPDF.GenerarPDF(salida)
 *' Abro el visor de PDF y muestro lo generado
*' (es necesario tener instalado Acrobat Reader o similar)
imprimir = False    && ' cambiar a True para que lo envie directo a la
impresora
ok = oPyFEPDF.MostrarPDF(salida, imprimir)



Ahora la duda que me surge tambien es en la funcion CrearFactura, que
recibe mas de 28 parametros. En visual foxpro no es posible pasarle a una
funcion mas de 27 parametros, es posible crear la factura y luego ir
pasandole o completando parametros al objeto oPyFEPDF ?

Saludos y gracias



El 14 de abril de 2014, 20:47, Mariano Reingart <[email protected]>escribió:

> Hola Nicolas:
>
> Yo soy el desarrollador principal de la libreria PyAfipWs, asique con todo
> gusto me interesaría ayudarte.
> ¿Tendrías el mensaje de error completo para analizarlo?
> Un fragmento de código para poder reproducir el problema también ayudaría.
>
> Sds
>
> Mariano Reingart
> http://www.sistemasagiles.com.ar
> http://reingart.blogspot.com
>
>
> 2014-04-14 19:10 GMT-03:00 Nicolas Arnaldo <[email protected]>:
>
>> Hola grupo, alguien esta utilizando las librerias de PyAfipWS ?
>>
>> Logro generar las facturas electronicas, pero al utilizar la libreria de
>> generacion de pdf (PyFEPDF)
>> me esta dando un error de Caracter "-" invalido para el codigo de barras
>> I25
>> y no se de donde puede venir el problema porque no le estoy enviando
>> ningun caracter de ese estilo.
>> Si alguien me puede ayudar estaria agradecido.
>>
>> Nicolas.
>>
>>
>

Responder a