--
Has recibido este mensaje porque estás suscrito al grupo "PyAfipWs - Factura Electrónica Libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyafipws+u...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a pyaf...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/pyafipws.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Hola Mariano! Gracias por los datos.
Descargue e instalé todo siguiendo los pasos para compilar un instalador.
Edito el archivo de setup de esta forma:import pyafipws
#import pyrece
import wsaa
import wsfev1, rece1
#import wsfexv1, recex1
#import wsbfev1, receb1
#import wsmtx, recem
#import pyfepdf
#import pyemail
#import pyi25
#import wsctgv2
#import wslpg
#import wscoc
#import wscdc
#import cot
#import trazamed
#import trazarenpre
#import trazafito
#import padron
corrijo los archivo pypyafipwsponiendo Homo = False
wsaa
wsfev1
y ejecuto el creador de instalación. Lo instalo en esa misma MV en la que instalé todo.
Por otro lado, en otra máquina virtual, tenía mi entorno de desarrollo, donde con mi Key/CRT en homologación todo funciona bien.
Si la aplicación la muevo a esta nueva MV accedo sin problemas con la nueva instalación a los servidores de homologación (más allá de haberlo compilado con False).
Obviamente, al ser mi CRT un certificado de test, no funciona contra los servicios de producción.
Con la combinación Key/CRT (de producción, obtenida a través de la página de AFIP), de un cliente, no puedo conectarme en homologación (tiene lógica), pero tampoco puedo lograr el ticket de autorización por wsaa en producción. El error que me tira es: "Certificado no emitido por AC de confianza"
Por favor, te pido me indiques como seguir? debe solicitarse un nuevo certificado? La antigüedad del mismo es de unos 20 días.
Gracias por la pronta respuesta (pareciera que supieras que me urge solucionarlo!!! :))
En el setup solo quedaron entonces:El instalador se armo sin errores (adjunto log.txt).
import wsaa
import wsfev1, rece1
Descargué el ejemplo interactivo, lo instalé en una MV clonada limpia, primero el wsaa2.02 y luego el ejemplo.
Te adjunto el error que me tira, teniendo en cuenta que lo hice con el certificado del cliente (para producción), y no me dejó cambiar a producción.
En la PC donde hago el test de producción (que es donde está instalado python y donde genero el instalador), desinstalé la instalación anterior, y borré la carpeta c:\archivos de programa\PyAfipWS, reinicié e instalé el nuevo instalador de nombre instalador-PyAfipWs-2.33a-32bit+wsaa_2.08a+wsfev1_1.14b-full.exe
Hago las pruebas y el error que me tira el wsaa.exe.log ahora es otro, edité el log porque hice 3 llamadas distintas. El error ahora es que el "computador no está autorizado".
Como en homologacion funciona, estimo que esta bien.
Quiza en CN=deba ir otra cosa? Wsaa? WsFev1?
Gracias
--
Has recibido este mensaje porque estás suscrito al grupo "PyAfipWs - Factura Electrónica Libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyafipws+u...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a pyaf...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/pyafipws.
Para obtener más opciones, visita https://groups.google.com/d/optout.
Perdón, ahí encontré la falla.
Tenía basado mi ejemplo en el ejemplo de Delphi para wsfe.
El servicio se está ahora conectando a wsfev1, por ende mi código quedó de esta forma:
function WSFEv1_comprobar_conexion(urlservidor, proxy: string): Boolean;
begin
//Crear objeto interface Web Service de Factura Electrónica
WSFEv1 := CreateOleObject('WSFEv1');
//Setear token y sing de autorización (pasos previos)
WSFEv1.Token := WSAA.Token;
WSFEv1.Sign := WSAA.Sign;
//Conectar al Servicio Web de Facturación
WSFEv1.Conectar('', urlservidor, proxy); //producción
WSFEv1.Dummy;
if (WSFEv1.AppServerStatus = 'OK') thenDonde urlservidor = https://servicios1.afip.gov.ar/wsfev1/service.asmx
result := true
else
result := false;
end;
Esta dirección es la correcta?
Fantastico, te agradezco... hay diferencia si agrego ?wsdl al final? No lo estoy haciendo y funciona. Es un parámetro necesario?
Hola Mariano!
Te comento que tengo un nuevo problema. Al querer crear la factura y luego solicitar el CAE me indica el siguiente error: "TypeError: CAESoliticar takes exactly 1 argument (2 given)"
1) Puede ser por la presencia de AgregarIVA?
2) AgregarIVA debe llamarse en todos los casos? tanto facturas A como B?
3) En el caso de Notas de crédito el comprobante asociado, será la factura A o B que se "cancelo" con la nota de crédito? o tiene otra función?
4) Quizá en mi caso sea suficiente con informar solamente el CrearFactura? Es una inmobiliaria cuyos honorarios se facturan A o B, y eventualmente deben "anular" una factura a través de una nota de crédito.
Te adjunto el código de la factura que quiero informar. Es más, si quiero recuperar el CAE de la factura "creada", indicando tipo=6, punto_venta=2, y nro=1 (es la primer factura), no pareciera haberse creado, cuando el error salta recién en el CAESolicitar. Asimismo, si deseo recuperar el nro del ultimo comprobante 6 del pv 2, es el 0.
Por otro lado, logro conectarme, y tanto la consulta a CompUltimoAutorizado y CompConsultar, más allá de devolver 0 y '' se ejecutan sin problema.
Esto se está haciendo con el CRT del cliente, directamente en producción.
Mil gracias nuevamente y ruego disculpes la molestia!
WSFEv1 := CreateOleObject('WSFEv1');WSFEv1.Token := WSAA.Token;WSFEv1.Cuit := cuit_emisor;
WSFEv1.Sign := WSAA.Sign;
WSFEv1.Conectar('', 'https://servicios1.afip.gov.ar/wsfev1/service.asmx?WSDL', '');
WSFEv1.CrearFactura(2, tipo_doc, nro_doc, 6, 2, 1, 1, 121, 0, 100, 21, 0, 0, '20140501', '20140501', '20140501', '20140501', 'PES', '1');
//Agrego tasas de IVA
tasa_iva := 5; //21%
WSFEv1.AgregarIva(5, 100, 21);
//Agrego los comprobantes asociados
if tipo_cbte in [3,8] then //agrego la factura que fue anulada por la NC A o B segun corresponda (¿?)
WSFEv1.AgregarCmpAsoc(tipo_cbte_asoc, pvta_cbte_asoc, nro_cbte_asoc);
//solitico el CAE
cae_obtenido := WSFEv1.CAESolicitar();