Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-10-2010
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Question

Cita:
Empezado por nuk3zito Ver Mensaje
Ahh! Es que eso viene en el Anexo 21, pero lo van a liberar en el 2012, creo que el 23 de Diciembre.

Hay que estar pendientes!
no encuentro la informacion del anexo 20 version 3 para los cfdi

y no se si existe un validador del sat para los cfdi

mi situacion es la de desarrollador de un software que ahora
es para version 2 del CFD que es un punto de venta

y que se tiene la intencion de venderlo a
pymes para que ellos generen sus propios CFDs v2 y
que en el 2011 generen segun la version 3.

en eso estoy ahora ¿donde hay el pdf con las instrucciones para la version 3
como existe la version pdf para la version 2 ?
Responder Con Cita
  #2  
Antiguo 22-10-2010
nejamube nejamube is offline
Miembro
 
Registrado: nov 2009
Ubicación: Buenos Aires
Posts: 65
Poder: 15
nejamube Va por buen camino
Thumbs up Obtener la cadena original

Si alguien quiere obtener la cadena original de la forma correcta, aqui les dejo esta funcion:

Código Delphi [-]

uses XMLIntf,  MSXML,  XMLDoc,  msxmldom;

function CadenaOriginal(const xml, xsl : string ): string;var
  XMLDoc : IXMLDOMDocument;
  XSLDoc : IXMLDOMDocument;
  Template : IXSLTemplate;
  Processor : IXSLProcessor;
begin
  Result := '';
  try
    XMLDoc := CoFreeThreadedDOMDocument30.Create;
    XSLDoc := CoFreeThreadedDOMDocument30.Create;
    XMLDoc.load(xml);
    XSLDoc.load(xsl);
    Template := CoXSLTemplate30.Create;
    Template.stylesheet := XSLDoc;
    Processor := Template.createProcessor;
    Processor.input := XMLDoc;
    Processor.transform;
    result :=  Processor.output;
  finally
    XMLDoc := nil;
    XSLDoc := nil;
  end;
end;
Responder Con Cita
  #3  
Antiguo 17-10-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Question

Cita:
Empezado por nejamube Ver Mensaje
Si alguien quiere obtener la cadena original de la forma correcta, aqui les dejo esta funcion:

Código Delphi [-] uses XMLIntf, MSXML, XMLDoc, msxmldom; function CadenaOriginal(const xml, xsl : string ): string;var XMLDoc : IXMLDOMDocument; XSLDoc : IXMLDOMDocument; Template : IXSLTemplate; Processor : IXSLProcessor; begin Result := ''; try XMLDoc := CoFreeThreadedDOMDocument30.Create; XSLDoc := CoFreeThreadedDOMDocument30.Create; XMLDoc.load(xml); XSLDoc.load(xsl); Template := CoXSLTemplate30.Create; Template.stylesheet := XSLDoc; Processor := Template.createProcessor; Processor.input := XMLDoc; Processor.transform; result := Processor.output; finally XMLDoc := nil; XSLDoc := nil; end; end;

hola carnal. trate e hacer esa funcion con delphi 7
y no me funciono. al querer usar á í &
se muestra
|||

¿que sera?
Responder Con Cita
  #4  
Antiguo 17-10-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
ya vi que con el uso de &
es cuando se truena. si lo lleva el nombre del emisor

sigo revisand osi en alguna otra parte se truena.

usando delphi 7 y msxml
Responder Con Cita
  #5  
Antiguo 18-10-2011
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
recuerda que para los caracteres especiales en el XML (como el &) hay que poner el código correspondiente, no puedes poner el & así como va.
__________________

Responder Con Cita
  #6  
Antiguo 18-10-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Thumbs up

Cita:
Empezado por ContraVeneno Ver Mensaje
recuerda que para los caracteres especiales en el XML (como el &) hay que poner el código correspondiente, no puedes poner el & así como va.
es cierto.


yo pense que el msxml lo converti por si mismo pero no. este si requiere
de que lo pongas explicitmente.

par la &
poner

&

me confundi por que los acentuados si se los traga bien. ni chista


gracis.
Responder Con Cita
  #7  
Antiguo 23-10-2010
Avatar de nuk3zito
nuk3zito nuk3zito is offline
Miembro
 
Registrado: ago 2003
Ubicación: "Z" Land
Posts: 244
Poder: 21
nuk3zito Va por buen camino
Cita:
Empezado por JXJ Ver Mensaje
no encuentro la informacion del anexo 20 version 3 para los cfdi
...
en eso estoy ahora ¿donde hay el pdf con las instrucciones para la version 3
como existe la version pdf para la version 2 ?
Busca el Anexo 20 de la RMF publicado en el DOF del 23 de Septiembre del 2010.
Aunque ahí notarás que el xml no cambia de versión, ya menciona los CFDI y los cambios en el sellado, como por ejemplo usar el algoritmo SHA1 en lugar del MD5.

Saludos.
__________________
Tiempo y ocasión acontecen a todos!
Responder Con Cita
  #8  
Antiguo 24-10-2010
dado dado is offline
Miembro
 
Registrado: may 2010
Posts: 76
Poder: 15
dado Va por buen camino
Acabo de liberar el ValidaCFD V0.1c programa para validar Facturas Electronicas.

Dentro de lo nuevo que trae es que ya valida CFD's firmados con SHA-1

Tambien valida, de forma limitada* los CFDI y genera un preview que se puede exportar a PDF y que incluye el Codigo de Barras Bidimensional (QR Code).

Como siempre lo pueden descargar libremente de www.validacfd.com

*Referente a que valida "de forma limitada" es porque no he obtenido suficientes muestras de CFDI para hacer pruebas y siendo el *unico* validador que existe para CFDI es dificil porque no puedo comparar resultados

ENVIENME SUS CFDI para hacer pruebas de validacion !!
Responder Con Cita
  #9  
Antiguo 26-10-2010
lcarrasco lcarrasco is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 15
Poder: 0
lcarrasco Va por buen camino
Wink :)

Hola amigos, ya tengo algunas semanas viendo el codigo publicado aqui tan amablemente por todos ustedes.

Les comento que pronto liberare una libreria de clases de codigo abierto para que sea muy sencillo implementar la factura electronica en Delphi.

Les adelanto que despues de 4 dias y con la ayuda del creador de la libreria libeay32.pas logre hacer la digestion/hashing usando directamente el archivo .key (DER) que nos da el SAT, sin necesidad de convertir primero a PEM (aunque tambien logre eso, convertir el .key a .pem sin llamar a openssl.exe)

Pronto les paso la liga, solo quiero afinar los detalles para publicar algo de calidad (con pruebas de unidad, incluidas) y que sea un esfuerzo colaborativo para que todos se vean beneficiados y que tambien contribuyan los cambios que el mismo SAT vaya publicando.
Responder Con Cita
  #10  
Antiguo 26-10-2010
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Cita:
Empezado por dado Ver Mensaje

*Referente a que valida "de forma limitada" es porque no he obtenido suficientes muestras de CFDI para hacer pruebas y siendo el *unico* validador que existe para CFDI es dificil porque no puedo comparar resultados
Te comento que tu validador falla o manda un "error" falso al manejar el impuesto IEPS, es decir, te indica que el IVA no es correcto cuando si lo es, recuerda que se calcula como IVA = (subtotal + IEPS) * TasaIVA /100.
Saludos.
__________________
Ya tengo Firma!
Responder Con Cita
  #11  
Antiguo 26-10-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
IVA = (subtotal + IEPS) * (TasaIVA /100.0).
__________________

Responder Con Cita
  #12  
Antiguo 26-10-2010
dado dado is offline
Miembro
 
Registrado: may 2010
Posts: 76
Poder: 15
dado Va por buen camino
Cita:
Empezado por juanelo Ver Mensaje
Te comento que tu validador falla o manda un "error" falso al manejar el impuesto IEPS, es decir, te indica que el IVA no es correcto cuando si lo es, recuerda que se calcula como IVA = (subtotal + IEPS) * TasaIVA /100.
Saludos.
Podrias enviarme o subir aqui la muestra de ese XML, me seria de mucha ayuda para poder corregir el valida.
Responder Con Cita
  #13  
Antiguo 26-10-2010
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Cita:
Empezado por dado Ver Mensaje
Podrias enviarme o subir aqui la muestra de ese XML, me seria de mucha ayuda para poder corregir el valida.
Es Facil, a tu sistema agregale un producto que tenga IEPS como uno de sus impuestos y generas el CFD vendiendo ese producto.
__________________
Ya tengo Firma!
Responder Con Cita
  #14  
Antiguo 26-10-2010
dado dado is offline
Miembro
 
Registrado: may 2010
Posts: 76
Poder: 15
dado Va por buen camino
Cita:
Empezado por juanelo Ver Mensaje
Es Facil, a tu sistema agregale un producto que tenga IEPS como uno de sus impuestos y generas el CFD vendiendo ese producto.
Si, bueno gracias por el aviso de todos modos.

Veras, lo que pasa es que "mi sistema" lo desarrolle yo y el validador tambien lo desarrolle yo.

Lo que sucede es que estoy como juez y parte al mismo tiempo.

Yo desarrollo un sistema que "a mi parecer" esta bien y genera facturas.

Luego desarrollo el validador y aplico las mismas reglas que mi desarrollo

Resultado, yo hago facturas y me las autovalido, y eso no funciona siempre, por eso necesito de un tercero.....
Responder Con Cita
  #15  
Antiguo 27-10-2010
edgaronfo edgaronfo is offline
Miembro
 
Registrado: jul 2007
Posts: 33
Poder: 0
edgaronfo Va por buen camino
delphi 2010

Jejeje, me ha pasado lo que le pasa a dado, así que lo comprendo.

Pero también tiene razón juanelo cuando dice que es fácil, que solo hagas uno y pruebas, digo, no se pierde nada con tratar, no?

Bueno, pasando a otro asunto, aunque creo que fui el único que tuvo problemas implementando la unidad sello.pas en delphi 2010, les comento que ya pude sacar la información del certificado que no había podido obtener. y me quedó así:

Original
Código Delphi [-]
begin 
InitOpenSSL;      
Cert:=TX509Certificate.Create;   
try     
fn := PAnsiChar(ansistring(AFileName));         
bp := BIO_new(BIO_s_file());         
BIO_read_filename(bp, Pchar(fn));         
x    := X509_new;     
x509 := PEM_read_bio_X509(bp, x, nil, nil);         
Cert.fCertificate:=x;         
Result.NotBefore:=Cert.NotBefore;         
Result.Issuer:=Cert.Issuer;  
... 
end;



Delphi 2010
Código Delphi [-]
begin  
InitOpenSSL;      
Cert:=TX509Certificate.Create;      
try          
fn := PAnsiChar(ansistring(AFileName));          
bp := BIO_new(BIO_s_file());          
BIO_read_filename(bp, Pchar(fn));          
Cert.fCertificate := X509_new;          
x509 := PEM_read_bio_X509(bp, Cert.fCertificate, nil, nil);          
Result.NotBefore:=Cert.NotBefore;          
Result.Issuer:=Cert.Issuer;  
... 
end;



lo pongo para que si a alguien le llega a pasar, que sepa cómo lo pude solucionar yo.

Oigan y cómo van con los CFDi ?
por cierto, cómo se van a enviar las facturas para que las timbren?
por algún tipo de conexión ppp? o cómo?
Y luego, mandas el xml ya sellado y te lo regresan con el timbre ya sellado?

Saludos!

Última edición por edgaronfo fecha: 27-10-2010 a las 01:53:26. Razón: formato del código
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mexico - Como crear sellos en FACTURA ELECTRONICA.. pcicom API de Windows 12 10-11-2012 18:46:55
Factura Electrónica aig Varios 13 10-12-2010 17:12:44
factura electronica cmm07 Varios 4 02-04-2009 17:46:03
factura electronica spia Varios 2 22-02-2009 21:30:06
Factura electronica AUNA Aprendiz Varios 5 01-09-2005 10:44:15


La franja horaria es GMT +2. Ahora son las 17:35:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi