Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03

Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Todo lo que no cabe en los demas foros........
Avatar de Usuario
Dado
Mensajes: 15838
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor Dado » Lun Oct 01, 2018 12:50 pm

Ahorita lo volvi a intentar, ya por fin el mas viejo me dio un estatus=3

Y me arrojo el <IdPaquete> que por cierto es EL MISMO que el IdSolicitud pero con un "_01" al final, asi quedo (no incluyo el nodo completo, porque ya solo estoy registrando los resultados que interesan)

Código: Seleccionar todo

IdSolicitud=9af06fe4-7491-4529-9cb0-c4f01f8c36d0
IdPaquete=9af06fe4-7491-4529-9cb0-c4f01f8c36d0_01


Ahora voy a proceder a programar la descarga del paquete y ADIVINAR que es (zip? xml? rar?????) ya que viene en Base64 (???)
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

Avatar de Usuario
Dado
Mensajes: 15838
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor Dado » Lun Oct 01, 2018 3:23 pm

Ya pude descargar el paquete, pero me esta costando trabajo convertirlo de Base64 a BINARIO

Sabes si hay una forma facil, de un par de lineas de Indy que lo puedan convertir a archivo ZIP ?
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 5:55 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor crono81 » Lun Oct 01, 2018 3:32 pm

Yo estaba haciendo mal un proceso (parametros mezclados de id's).
Deja revizar tu archivo para ver la conversión.
Ya tengo resultados positivos de verificación

crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 5:55 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor crono81 » Lun Oct 01, 2018 3:56 pm

Hay algo mal en esa cadena, no la puedo decodificar o me la pasaste mal, lo checo en esta pagina y me manda basura como respuesta
https://www.base64decode.org/

Edito: no es cierto, el archivo está bien, pero no puedo decodificarlo, deja seguir buscando

Avatar de Usuario
Dado
Mensajes: 15838
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor Dado » Lun Oct 01, 2018 4:03 pm

Si, precisamente el problema es que es binario, yo tengo una docena de rutinas de conversion desde y hacia Base64, pero todo es string

En esa pagina que indicas , usa la opcion de archivo, asi :
Adjuntos
unodos.png
unodos.png (15.35 KiB) Visto 5340 veces
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 5:55 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor crono81 » Lun Oct 01, 2018 4:21 pm

Viendo, el archivo, noto que es utf8 sin bom, sabes como agregar el bom o que bites son, agregarselos a una cadena, para decodificarlo.
Edito: sigue sin funcionar con indy, aun agregandole bom desde notepad++

crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 5:55 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor crono81 » Lun Oct 01, 2018 5:20 pm

De acuerdo Dado, ya logré un avance, no pude aun con indy, pero sin con openssl. El problema con indy es que me marcaba error, luego hice un test con openssl, codificando el archivo que regresa la pagina que te compartí, y me fijé que openssl al encriptar divide la cadena en porciones de 64 caracteres y al final agrega un LF (line feed), entonces yo dividí asi la cadena e intenté decodificar con indy, ya no marca error pero no decodifica bien el archivo, al contrario de openssl que si lo hace.
Saludos.

Avatar de Usuario
Dado
Mensajes: 15838
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor Dado » Lun Oct 01, 2018 5:26 pm

Ya lo logre con Indy y funciona bien, pero no me gusto la solucion

Y te agradezco porque me diste una idea con lo del BOM

Se me ocurrio agregarle no un BOM sino un Header para convertirlo en email con attachment, lo cargo como email con TIdMessage y despues lo escaneo para encontrar los attachment y grabarlos

Y es ese desmadre de convertir y volver a buscar el attachment lo que no me gusta, ademas uso archivos, me gustaria hacerlo en memoria

Pero mira, jala y a estas alturas ya es algo, deja depuro el codigo que ya te imaginaras tiene cien lineas pero solo 8 son las que valen la pena je je je

Mañana publico mi solucion para que con todo gusto quien quiera usarla (y mejorarla ;) )
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 5:55 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor crono81 » Lun Oct 01, 2018 6:00 pm

Que bien. Debe poder decodificarse de manera directa, hay que seguir investigando
Saludos

Edito: Dado, intenta decodificar este archivo, está en base64 a ver si puedes sacar el zip, sin ponerlo como adjunto de correo, directo.
Igual al codigo fuente que tengo, mucho sin usarse

Avatar de Usuario
Dado
Mensajes: 15838
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor Dado » Lun Oct 01, 2018 6:48 pm

Nop, de las tres opciones que programe para ver si podia convertirlo ninguna funciono como esperaba

La que si jalo fue esta, es la que iba a publicar mañana, pero viendolo bien no estaba tan "sucia" y pude depurar exactamente lo que se necesita

Código: Seleccionar todo

uses ...IdMessage, IdAttachmentFile, IdAttachment, ...

function LoadText(FName : string) : string;
var auxsl : TStringList;
begin
   auxsl := TStringList.Create;
   if FileExists(FName) then
   begin
      {$IF CompilerVersion >= 20}
      auxsl.LoadFromFile(FName,SysUtils.TEncoding.UTF8);
      //Si no esta bien codificado en UTF8 no carga nada, por eso necesitamos el segundo intento
      if auxsl.Text = '' then
         auxsl.LoadFromFile(FName);
      {$ELSE}
      auxsl.LoadFromFile(FName);
      {$IFEND}
   end;
   Result := auxsl.Text;
   auxsl.Free;
end;

procedure SaveText(FName, Cadena : string);
var auxsl : TStringList;
begin
   auxsl := TStringList.Create;
   auxsl.Text := Cadena;
   auxsl.SaveToFile(FName);
   auxsl.Free;
end;

procedure Base64FileToBinaryFile(const FileNameB64, FileNameBinary : string; AddHeader : boolean);
Var Msg : TIdMessage;
   n : integer;
begin
   if AddHeader then
      SaveText(FileNameB64,
         'MIME-Version: 1.0' + #13#10 +
         'Date: Mon, 1 Oct 2018 17:51:52 -0500' + #13#10 +
         'Content-Type: application/octet-stream;' + #13#10 +
         '        name="'+FileNameBinary+'"' + #13#10 +
         'Content-Transfer-Encoding: base64' + #13#10 +
         'Content-Disposition: attachment;' + #13#10 +
         '        filename="'+FileNameBinary+'"'+ #13#10#13#10 +
         LoadText(FileNameB64));

   Msg := TIdMessage.Create;
   Msg.LoadFromFile(FileNameB64);

   for n := 0 to Msg.MessageParts.Count - 1 do
      if (Msg.MessageParts.Items[n] is TIdAttachment) then
         TIdAttachment(Msg.MessageParts.Items[n]).SaveToFile(TIdAttachment(Msg.MessageParts.Items[n]).Filename);

   Msg.Free;
end;


Me comentas si usas mi solucion o encontraste otra forma, es que de verdad como que no me deja contento esta solucion, convertirlo a email......hazme el favor je je je
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!


Volver a “Otros”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados