Jump to content

click.png click.png click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

Enviar Redução Z


Texs
Go to solution Solved by Texs,
  • Este tópico foi criado há 1713 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia.

Estou tentando enviar o arquivo da Redução Z utilizando o AcbrBlocoX porém o WS está me retornando um erro de Arquivo Zip Inválido.

Utilizo o Delphi 2010 para desenvolvimento o estou usando o componente ZipMaster para compactar o meu arquivo XML.

Já está funcionando no componente essa parte de envio de arquivos?

Se sim, alguém pode me mostrar um exemplo de como carregar o xml compactado na propriedade AcbrBlocoX1.WebServices.EnviarReducaoZ.XMLZipado no Delphi 2010?

Abaixo está o código que tentei fazer mas está dando o erro citado no post:       

//Compactar arquivo XML
        stlArquivoXML.LoadFromFile(ExtractFilePath(Application.ExeName) + sArquivo);
        with zmBlocoX do
        begin
          zmBlocoX.ZipFileName := StringReplace(ExtractFilePath(Application.ExeName) + sArquivo, '.xml', '.zip', [rfReplaceAll]);
          FSpecArgs.Add(ExtractFilePath(Application.ExeName) + sArquivo);
          Add;
          ConvertToZIP;
        end;

        if sTipo = 'Z' then
        begin
          //Carrega XML (Não Zipado) na propriedade XML
          WebServices.EnviarReducaoZ.XML := stlArquivoXML.Text;

          //Carrega XML Zipado em uma StringStream
          vStream.LoadFromFile(StringReplace(ExtractFilePath(Application.ExeName) + sArquivo, '.xml', '.zip', [rfReplaceAll]));
          WebServices.EnviarReducaoZ.XMLZipado := base64Encode(vStream.DataString);
          if WebServices.EnviarReducaoZ.Executar then
          begin
            //Trato o retorno aqui...
          end;
        end;


 

Muito obrigado!!!

Link to comment
Share on other sites

Olá, 

Verifique que já existe uma função para a compactação do arquivo no componente (chamada "ZipFile()" e localizada em ACBrBlocoX_WebServices.pas).
Caso seja informado o apenas xml na propriedade "XML", o próprio ACBr irá compactar o arquivo no momento do envio.

Consultor SAC ACBr Elias César Vieira
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Link to comment
Share on other sites

Olá EliasCesar.

Esse componente que o AcbrBlocoX utiliza para compactação (TZipFile) me parece que só tem à partir do Delphi XE2.

Pelo que entendi no código do componente, na unit ACBrBlocoX_WebServices.pas, me parece que tem uma diretiva que verifica se o Delphi utilizado é XE2 ou superior e compacta o arquivo, caso contrário, simplesmente não faz nada.

Esse é o meu problema, estou usando o Delphi 2010 e por isso o componente não esta compactando meu arquivo sozinho.

Acredito eu, que tenho que compactar de outra forma e passar de algum jeito na propriedade XMLZipado, mas como fazer é que não sei.

Por favor me corrija se estiver errado.

E muito obrigado pela ajuda.

Link to comment
Share on other sites

Ok EMBarbosa, eu já havia lido esse post.

Mas queria saber como fazer no Delphi 2010, que não tem esse componente TFileZip nativo.

Alguém sabe como fazer? Será que poderia me ajudar?

O que será que tem de errado com meu código? Você chegou a ver como estou tentando fazer?

Agradeço a atenção Galera!!!

Link to comment
Share on other sites

  • Solution

Resolvido Pessoal.

O problema estava no WebService de SC.

Mandei meu arquivo Zip para o pessoal do desenvolvimento da Sefaz/SC e me retornaram que o arquivo estava ok, para tentar novamente.

Hoje enviei um arquivo com esse mesmo código que postei aqui e funcionou perfeitamente.

Valew pela Atenção.

  • Like 1
Link to comment
Share on other sites

  • Consultores

Obrigado pelo retorno.

[]'s

Consultor SAC ACBr

Elton
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.