Dejo el codigo de prueba para ver si se puede corregir.
Muchas Gracias.
Private Sub FECrearPDF()
Dim PyFEPDF As Object
Dim Fecha As String
Dim salida As String
Dim nombre_cliente As String
Dim domicilio_cliente As String
Dim imp_total As Double
Dim imp_tot_conc As Double
Dim imp_neto As Double
Dim imp_iva As Double
Dim imp_trib As Double
Dim imp_op_ex As Double
Dim imp_subtotal As Double
Dim moneda_ctz As Double
Dim motivo_obs As String
Dim cae As String
Dim fecha_vto_cae As String
Dim base_imp As Double
Dim feImporte As Double
Dim u_mtx As Integer
Dim cod_mtx As String
Dim feCodigo As String
Dim ds As String
Dim qty As Double
Dim precio As Double
Dim bonif As Double
Dim Importe As Double
Dim despacho As String
On Error GoTo ManejoError
' Crear objeto interface para generación de F.E. en PDF
Set PyFEPDF = CreateObject("PyFEPDF")
Debug.Print PyFEPDF.Version
Debug.Print PyFEPDF.InstallDir
' CUIT del emisor
PyFEPDF.cuit = "20255229363"
tipo_cbte = 1 ' Factura A
punto_vta = 4000 ' prefijo
cbte_nro = 12345678 ' número de factura
Fecha = "2011-3-27"
concepto = 3
' datos del cliente:
tipo_doc = 80
nro_doc = "30000000007"
nombre_cliente = "Joao Da Silva"
domicilio_cliente = "Rua 76 km 34.5 Alagoas"
pais_dst_cmp = 16 ' código para exportación
id_impositivo = "PJ54482221-l"
' totales del comprobante:
imp_total = 122#
imp_tot_conc = 0#
imp_neto = 100#
imp_iva = 21#
imp_trib = 0#
imp_op_ex = 0#
imp_subtotal = 100#
' Descuento = "10.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
obs_generales = "Observaciones Generales, texto libre"
obs_comerciales = "Observaciones Comerciales, texto libre"
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 de observación (F136 y otros - RG2485/08 Art. 30 inc. c):
motivo_obs = "10063: Factura individual, DocTipo: 80, " & _
"DocNro 30000000007 no se encuentra inscripto en condicion ACTIVA en el impuesto."
' Código de Autorización Electrónica y fecha de vencimiento:
' (para facturas tradicionales, no imprimir el CAE ni código de barras)
cae = "61123022925855"
fecha_vto_cae = "2015-03-20"
' Creo la factura (internamente en la interfaz)
ok = PyFEPDF.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 = 100 ' importe neto sujeto a esta alícuota
feImporte = 21 ' importe liquidado de iva
ok = PyFEPDF.AgregarIva(iva_id, base_imp, feImporte)
' 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)
' Agrego detalles de cada item de la factura:
u_mtx = 12 ' unidades
cod_mtx = "1234567890123" ' código de barras
feCodigo = "P0001" ' codigo interno a imprimir (ej. "articulo")
ds = "Descripcion del producto P0001"
qty = 1 ' cantidad
umed = 7 ' código de unidad de medida (ej. 7 para "unidades")
precio = 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 = 21 ' importe liquidado de iva
Importe = 121 ' importe total del item
despacho = "Nº 123456" ' numero de despacho de importación
' dato_a = "DATO A" ' primer dato adicional del item
' dato_b = "DATO B"
' dato_c = "DATO C"
' dato_d = "DATO D"
' dato_e = "DATO E" ' ultimo dato adicional del item
ok = PyFEPDF.AgregarDetalleItem(u_mtx, cod_mtx, feCodigo, ds, qty, umed, _
precio, bonif, iva_id, imp_iva, Importe, despacho)
' Agrego datos adicionales fijos:
ok = PyFEPDF.AgregarDato("logo", PyFEPDF.InstallDir + "\fpdf.png")
ok = PyFEPDF.AgregarDato("EMPRESA", "Empresa de Prueba")
ok = PyFEPDF.AgregarDato("MEMBRETE1", "Direccion de Prueba")
ok = PyFEPDF.AgregarDato("MEMBRETE2", "Capital Federal")
ok = PyFEPDF.AgregarDato("CUIT", "CUIT xx-xxxxxxxx-x")
ok = PyFEPDF.AgregarDato("IIBB", "IIBB xx-xxxxxxxx-x")
ok = PyFEPDF.AgregarDato("IVA", "IVA Responsable Inscripto")
ok = PyFEPDF.AgregarDato("INICIO", "Inicio de Actividad: 01/04/2006")
ok = PyFEPDF.AgregarDato("ObservacionesGenerales1", "Nota al pie1")
ok = PyFEPDF.AgregarDato("ObservacionesGenerales2", "")
ok = PyFEPDF.AgregarDato("ObservacionesGenerales3", "")
' Cargo el formato desde el archivo CSV (opcional)
' (carga todos los campos a utilizar desde la planilla)
ok = PyFEPDF.CargarFormato(PyFEPDF.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 = PyFEPDF.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 = PyFEPDF.ProcesarPlantilla(num_copias, lineas_max, qty_pos)
' Genero el PDF de salida según la plantilla procesada
salida = "factura.pdf"
ok = PyFEPDF.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 = PyFEPDF.MostrarPDF(salida, Imprimir)
Exit Sub
ManejoError:
' Si hubo error:
Debug.Print Err.Description ' descripción error afip
Debug.Print Err.Number - vbObjectError ' codigo error afip
Select Case MsgBox(Err.Description, vbCritical + vbRetryCancel, "Error:" & Err.Number - vbObjectError & " en " & Err.Source)
Case vbRetry
Debug.Print PyFEPDF.Excepcion
Debug.Print PyFEPDF.Traceback
Debug.Assert False
Resume
Case vbCancel
Debug.Print Err.Description
End Select
Debug.Assert False
End Sub