Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-11-2010
dado dado is offline
Miembro
 
Registrado: may 2010
Posts: 76
Poder: 17
dado Va por buen camino
AzidRain tiene toda la razon del mundo, SAP tengo entendido se desarrolla en Alemania, pues seran muy chin... muy buenos, pero cuando se trata de hacer las cosas como se hacen en Mexico pues simplemente fallan.

Porque para empezar dices :

"Al generar el archivo PSE" ....y eso que es?

Y bueno, no es presuncion, solo por comentarte que he estudiado mucho acerca de la factura electronica y nunca he visto un archivo "PSE", he visto (y te puedo definir cada uno) archivos "CER", archivos "KEY", archivos "PEM" archivos "DER" archivos "X509" y archivos "PKCS8" pero nunca un "PSE",

Te sugiero que contactes con soporte tecnico de SAP porque aparentemente tienen un oscuro y complejo sistema de factura electronica
Responder Con Cita
  #2  
Antiguo 08-11-2010
mirokiszel mirokiszel is offline
Registrado
NULL
 
Registrado: nov 2010
Posts: 5
Poder: 0
mirokiszel Va por buen camino
Hicimos pruebas en sistema de pruebas con archivos Cer_Sellos_2010_12.sda y Root_Cer_Sellos_2010-12.zip. Aqui estos ROOT Certificate/Certificatos de raiz funcionaron.

Quisimos despues hacer todo en sistema productivo.
Con programa SOLCEDI generamos un archivo .req, .key. Estos 2 los mandamos a SAT y recibimos otros archivo .cer. Con este archivo .cer generamos un nuevo .key y .sdg archivo. Nos faltaba contrasena de clave privada que nosotros mismos creamos. Despues de esto quisimos crear el archivo PME…. Y salio el primer error….

ERROR: Incomplete certification path -- NEED certificate
of "unstructuredName=Responsable: Fernando MartÝnez Coss,
L=Cuauhtemoc,
SP=Distrito Federal, C=MX, postalCode=06300, ST="Av. Hidalgo 77, Col.
Guerrero", [email protected], O=Servicio de Administraci¾n
Tributaria, CN=A.C. del Servicio de Administraci¾n Tri"!

SAP nos dijo que sacamos los certificados raiz de pagina de SAT, parte de comprobantes fiscales, archivos con nombres de certificados de raiz…y ahora tuvimos otro error.

Test signature
Signature ERROR - Unknown signer or recipient
Test encryption
Encryption ERROR - Unknown signer or recipient

De lo que nosotros entendemos y comparando con lo que paso en sistema de prueba….nos faltan certificados raiz que SAT uso para generar el ultimo archivo .cer que nos mando.

Este es el proceso completo. cual paso el incorrecto? si necesito los certificados raiz como los necesitabamos en sistema de prueba? Es que esos certificados de prueba si no los proporciono SAP, pero para el uso productivo solo los puede proporcionar SAT de lo que yo entiendo....


Responder Con Cita
  #3  
Antiguo 08-11-2010
mirokiszel mirokiszel is offline
Registrado
NULL
 
Registrado: nov 2010
Posts: 5
Poder: 0
mirokiszel Va por buen camino
Voy a hacer una coreccion>>>
Hicimos pruebas en sistema de pruebas con archivos Cer_Sellos_2010_12.sda y Root_Cer_Sellos_2010-12.zip. Aqui estos ROOT Certificate/Certificatos de raiz funcionaron.

Quisimos despues hacer todo en sistema productivo.
Con programa SOLCEDI generamos un archivo .req, .key. Estos 2 los mandamos a SAT y recibimos otros archivo .cer. Con este archivo .cer generamos un nuevo .key y .reg y al final el .sdg. mandamos el archivo .sdg a SAT y recibimos un nuevo archivo .cer ( el de cellos) Nos faltaba contrasena de clave privada que nosotros mismos creamos. Despues de esto quisimos crear el archivo PME…. Y salio el primer error….

ERROR: Incomplete certification path -- NEED certificate
of "unstructuredName=Responsable: Fernando MartÝnez Coss,
L=Cuauhtemoc,
SP=Distrito Federal, C=MX, postalCode=06300, ST="Av. Hidalgo 77, Col.
Guerrero", [email protected], O=Servicio de Administraci¾n
Tributaria, CN=A.C. del Servicio de Administraci¾n Tri"!

SAP nos dijo que sacamos los certificados raiz de pagina de SAT, parte de comprobantes fiscales, archivos con nombres de certificados de raiz…y ahora tuvimos otro error.

Test signature
Signature ERROR - Unknown signer or recipient
Test encryption
Encryption ERROR - Unknown signer or recipient

De lo que nosotros entendemos y comparando con lo que paso en sistema de prueba….nos faltan certificados raiz que SAT uso para generar el ultimo archivo .cer que nos mando.

Este es el proceso completo. cual paso el incorrecto? si necesito los certificados raiz como los necesitabamos en sistema de prueba? Es que esos certificados de prueba si no los proporciono SAP, pero para el uso productivo solo los puede proporcionar SAT de lo que yo entiendo....


Responder Con Cita
  #4  
Antiguo 08-11-2010
Roberto_Garcia Roberto_Garcia is offline
Registrado
NULL
 
Registrado: oct 2010
Posts: 3
Poder: 0
Roberto_Garcia Va por buen camino
Interface not supported

Saludos
He comenzado a trabajar con esto de los CFD para el sistema Aspel SAE 3.0 ya genere el archivo cfdv2.pas con XML Data Binding y ya redacte la carga de los datos pero al probarlo en esta instruccion
Código Delphi [-]
CFD := GetComprobante( XMLDoc );
me vota este error "Interface not supported" nunca habia usado XMLDocument a si que no tengo ni idea de donde revisar.

Código Delphi [-]

procedure TfpRUEBAS.CargarDatosCFD( TipoDocu, SaeFolio: string; DatosDb: T_ConfigDbSae;
  DatosEmisor: T_ConfigCFDEmisor );
var
  _FacD, _FacP, _Clie, _Inve: TTable;
  _DFacD: TDataSource;
  procedure _ConfigDb;
  begin
    _FacD := TTable.Create( nil );
    _FacP := TTable.Create( nil );
    _Clie := TTable.Create( nil );
    _Inve := TTable.Create( nil );
    _DFacD := TDataSource.Create( nil );
    DatosDb.TrasfiereDatos( tiFact0x, _FacD );
    DatosDb.TrasfiereDatos( tiFa0tyx, _FacP );
    DatosDb.TrasfiereDatos( tiClie0x, _Clie );
    DatosDb.TrasfiereDatos( tiInve0x, _Inve );
    _DFacD.DataSet := _FacD;
    _FacD.IndexName := 'FACT01';
    _FacP.IndexName := 'iTip_Doc';
    _Clie.IndexName := 'CCLIE';
    _Inve.IndexName := 'Clv_Art';
    _FacP.MasterSource := _DFacD;
    _FacP.MasterFields := 'TIP_DOC;CVE_DOC';
    _FacD.Open;
    _FacP.Open;
    _Clie.Open;
    _Inve.Open;
    if not _FacD.FindKey( [ TipoDocu, SaeFolio ] ) then begin
      MessageDlg( 'No se encontro el documento', mtWarning, [ mbOk ], 0 );
      XMLDoc.Active := False;
      Abort;
    end;
    if not _Clie.FindKey( [ _FacD.FieldByName( 'Cve_ClPv' ).Value ] ) then begin
      MessageDlg( 'No se encontro el Cliente', mtWarning, [ mbOk ], 0 );
      XMLDoc.Active := False;
      Abort;
    end;
  end;
begin
  XMLDoc.XML.Text := '<? xml version="1.0" encoding="UTF-8" ?> <Comprobante xmlns="---sat.gob.mx/cfd"> </Comprobante >';
  XMLDoc.Active := True;
  CFD := GetComprobante( XMLDoc ); // *** al ejecutar esta instruccion me vota el error
  CFD.SetAttribute( 'xmlns:xsi', '---w3.org/2001/XMLSchema-instance' );
  CFD.SetAttribute( 'xsi:schemaLocation', '---sat.gob.mx/cfd ---sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd' );
  _ConfigDb;
  with CFD do begin
    Version := '2.0';
    Serie := 'A';
    Folio := '1';
    Fecha := DateTimeToStr( Now );
    { TODO : Falta especifcar "Sello" }
    { TODO : Falta especifcar "NoAprobacion" }
    { TODO : Falta especifcar "AnoAprobacion" }
    FormaDePago := 'Pago en una sola exhibición';
    { TODO : Falta especifcar "NoCertificado" }
    { TODO : Falta especifcar "Certificado" }
    CondicionesDePago := IntToStr( _Clie.FieldValues[ 'Dias_Cred' ] ) + ' Dias';
    SubTotal := FloatToStrF( _FacD.FieldValues[ 'Can_tot' ], ffNumber, 14, 2 );
    Descuento := FloatToStrF( _FacD.FieldValues[ 'Des_tot' ], ffNumber, 14, 2 );
//  MotivoDescuento // Opcional
    Total := FloatToStrF(
      ( _FacD.FieldValues[ 'Can_tot' ] - _FacD.FieldValues[ 'Des_Tot' ] ) +
      _FacD.FieldValues[ 'Imp_Tot4' ], ffNumber, 14, 2 );
//  MetodoDePago // Opcional
    if TipoDocu = 'F' then
      TipoDeComprobante := 'ingreso' // ingreso egreso traslado
    else if TipoDocu = 'D' then
      TipoDeComprobante := 'egreso';
    with Emisor do begin
      Rfc := DatosEmisor.Rfc; // SIN ESPACIOS O GUIONES
      Nombre := DatosEmisor.Nombre;
      with DomicilioFiscal do begin
        Calle := DatosEmisor.DomFisCalle;
        NoExterior := DatosEmisor.DomFisNoExterior;
        NoInterior := DatosEmisor.DomFisNoInterior;
        Colonia := DatosEmisor.DomFisColonia;
        Localidad := DatosEmisor.DomFisLocalidad;
        Referencia := DatosEmisor.DomFisReferencia;
        Municipio := DatosEmisor.DomFisMunicipio;
        Estado := DatosEmisor.DomFisEstado;
        Pais := DatosEmisor.DomFisPais;
        CodigoPostal := DatosEmisor.DomFisCodigoPostal;
      end;
      with ExpedidoEn do begin
        Calle := DatosEmisor.ExpEnCalle;
        NoExterior := DatosEmisor.ExpEnNoExterior;
        NoInterior := DatosEmisor.ExpEnNoInterior;
        Colonia := DatosEmisor.ExpEnColonia;
        Localidad := DatosEmisor.ExpEnLocalidad;
        Referencia := DatosEmisor.ExpEnReferencia;
        Municipio := DatosEmisor.ExpEnMunicipio;
        Estado := DatosEmisor.ExpEnEstado;
        Pais := DatosEmisor.ExpEnPais;
        CodigoPostal := DatosEmisor.ExpEnCodigoPostal;
      end;
    end; // with emisor
    with Receptor do begin
      Rfc := _Clie.FieldValues[ 'Rfc' ];
      Nombre := _Clie.FieldValues[ 'Nombre' ];
      with Domicilio do begin
        Calle := _Clie.FieldValues[ 'Dir' ];
        //NoExterior := ; //opcional
        //NoInterior := ; //opcional
        Colonia := _Clie.FieldValues[ 'Colonia' ];
        //Localidad := //opcional
        //Referencia :=  //opcional
        Municipio := _Clie.FieldValues[ 'Pob' ];
        //Estado := //opcional
        Pais := _Clie.FieldValues[ 'Campostru2' ];
        CodigoPostal := _Clie.FieldValues[ 'Codigo' ];
      end;
    end; //With Receptor
    while not _FacP.Eof do begin
      with cfd.conceptos.add do begin
        Cantidad := FloatToStr( _FacP.FieldValues[ 'Cant' ] );
        Unidad := _FacP.FieldValues[ 'UNI_VENTA' ];
        //NoIdentificacion // opcional
        if _Inve.FindKey( [ _FacP.FieldValues[ 'Cve_Art' ] ] ) then
          Descripcion := _Inve.FieldValues[ 'Descr' ]
        else
          Descripcion := _FacP.FieldValues[ 'Cve_Art' ];
        ValorUnitario := FloatToStrF( _FacP.FieldValues[ 'Prec' ], ffNumber, 14, 2 );
        Importe := FloatToStrF( _FacP.FieldValues[ 'Prec' ] * _FacP.FieldValues[ 'Cant' ],
          ffNumber, 14, 2 );
        //InformacionAduanera  // no aplica
        //CuentaPredial // no aplica
        //ComplementoConcepto // no aplica
        //Parte // no aplica
      end;
      _FacP.Next;
    end;
    with Impuestos do begin
      //TotalImpuestosRetenidos  // no aplica
      TotalImpuestosTrasladados := _FacD.FieldValues[ 'Tot_Imp4' ];
      //Retenciones     // no aplica
      with Traslados.Add do begin
        Impuesto := 'IVA';
        Tasa := '16';
        Importe := FloatToStrF( _FacD.FieldValues[ 'Tot_Imp4' ],
          ffNumber, 14, 2 );
      end; //With Traslados
    end; //With Impuestos
    //Complemento
    //Addenda
  end; // with CFD
end;
Responder Con Cita
  #5  
Antiguo 13-11-2010
dado dado is offline
Miembro
 
Registrado: may 2010
Posts: 76
Poder: 17
dado Va por buen camino
Cita:
Empezado por Roberto_Garcia Ver Mensaje
XMLDoc.XML.Text := '<? xml version="1.0" encoding="UTF-8" ?> <Comprobante xmlns="---sat.gob.mx/cfd"> </Comprobante >';

En algun punto estas formando mal tu XML.

Intenta XMLDoc.XML.Text = ''; por el momento, para que no truene, luego empieza a agregarle encabezados, mi sospecha es que tienes un espacio en blanco en el ultimo tag </Comprobante___>

Nos comentas como quedo al final
Responder Con Cita
  #6  
Antiguo 16-11-2010
E=M*C^2 E=M*C^2 is offline
Miembro
 
Registrado: jun 2007
Posts: 18
Poder: 0
E=M*C^2 Va por buen camino
Liberada la librería para generar CFD y CFDI

Solamente quiero comentar que ya esta libera la primera versión de la librería que permite el CFD y CFDI, como se le conoce comúnmente: la factura electrónica.


Pueden leer mas de esto aquí:

electronicdocument.wordpress.com
Responder Con Cita
  #7  
Antiguo 16-11-2010
dado dado is offline
Miembro
 
Registrado: may 2010
Posts: 76
Poder: 17
dado Va por buen camino
Cita:
Empezado por E=M*C^2 Ver Mensaje
Solamente quiero comentar que ya esta libera la primera versión de la librería que permite el CFD y CFDI, como se le conoce comúnmente: la factura electrónica.


Pueden leer mas de esto aquí:

electronicdocument.wordpress.com

Excelente aportacion.

Oye que sabes acerca del envio al PAC para el timbrado?

Ese asunto es urgente..........
Responder Con Cita
  #8  
Antiguo 16-11-2010
nejamube nejamube is offline
Miembro
 
Registrado: nov 2009
Ubicación: Buenos Aires
Posts: 65
Poder: 17
nejamube Va por buen camino
Post NO FUNCIONA en D2010

Cita:
Empezado por E=M*C^2 Ver Mensaje
Solamente quiero comentar que ya esta libera la primera versión de la librería que permite el CFD y CFDI, como se le conoce comúnmente: la factura electrónica.


Pueden leer mas de esto aquí:

electronicdocument.wordpress.com
Buen trabajo, pero no funciona en la version Delphi 2010 y supongo que tampoco en D2011.

Responder Con Cita
  #9  
Antiguo 16-11-2010
Roberto_Garcia Roberto_Garcia is offline
Registrado
NULL
 
Registrado: oct 2010
Posts: 3
Poder: 0
Roberto_Garcia Va por buen camino
Cita:
Empezado por dado Ver Mensaje
En algun punto estas formando mal tu XML.

Intenta XMLDoc.XML.Text = ''; por el momento, para que no truene, luego empieza a agregarle encabezados, mi sospecha es que tienes un espacio en blanco en el ultimo tag </Comprobante___>

Nos comentas como quedo al final
Gracias dado por la sugerencia ya quedo solucionado

Código Delphi [-]
  XMLDoc.Active := True;
  XMLDoc.Version := '1.0';
  XMLDoc.Encoding := 'UTF-8';
  CFD := GetComprobante( XMLDoc );
  CFD.DeclareNamespace( 'xsi', '---.w3.org/2001/XMLSchema-instance' );
  CFD.Schema := '---.sat.gob.mx/cfd/2 ---.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd';
Responder Con Cita
  #10  
Antiguo 16-11-2010
Roberto_Garcia Roberto_Garcia is offline
Registrado
NULL
 
Registrado: oct 2010
Posts: 3
Poder: 0
Roberto_Garcia Va por buen camino
Un solo CFD tres sellos distintos todos los valida

Saludos tengo una duda haciendo pruebas con diversos contenidos tuve un problema con la funcion SelloDigital de la unidad Sello.pas proprocionada por felipe el problema era el tamallo del buffer de entrada ya que generaba una cadena muy grande asi que lo modifique

Código Delphi [-]
function SelloDigital( llaveprivada, cadenaoriginal: string ): string;
var Len: cardinal;
  mdctx: EVP_MD_CTX;
  //  inbuf, outbuf: array[ 0..1023 ] of char; // original
  inbuf: array[ 0..8192 ] of char; // modificacion
  outbuf: array[ 0..1023 ] of char;
  key: pEVP_PKEY;
begin

y asi se solucionaba el problema. Accidentalmente genere un documento que ya habia sigo generado con el buffer de [0..1023] y me di cuenta de que el sello cambia:

buffer [0..1023] sello = J8De10sWc5XjCcM3YkPd405B6mPsHu1J9ujPK5NwjV8bpkg5sslVw2wf10Irn5T1V1WunKPCJ78+7Ctn7H0yY5H3/nhrjnJ49pzAT+bmdmb/5D9U7EXNu8dRojJ4whc+x0IcHBz6eBXkT422iGL2F4OC2wTJjclmCd08PHiiskQ=

buffer [0..8192] sello =
D17vTGYcaG5RksH9hiZZ/xEi7yBvhqF1Jn35T3NitMwPu7au1kqTmCEbG4zDqH595Q14LSWdWBQfz/7gajIFwwMkvkXOt1VGng4iC/WKUw1aU/1VwqfdX4MWSC/YgGqUYH6DFqwSIc3pp3TdxRY5Y8pLULaxxLJXC18XKQFThFI=

Probe ambos en el validador de hacienda ---.consulta.sat.gob.mx/SICOFI_WEB/ModuloECFD_Plus/ValidadorComprobantes/Validador.html y resulta que los dos CFD me los validaba.

Mi pregunta es ¿se puede modificar el buffer? y si es asi ¿afecta que genere un sello distinto?
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 07:31:20.


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