Ir para conteúdo
  • Cadastre-se

Augusto Fontana

Membros
  • Total de ítens

    171
  • Registro em

  • Última visita

Posts postados por Augusto Fontana

  1. Boa tarde Daniel,

    Os fontes a seguir foram implementados no Delphi XE6, não sei se vai funcionar em versões anteriores.

    Precisa declarar a unit System.Zip

    Segue:

    interface
    
    /// <summary>Comprimir um arquivo em Zip</summary>
    /// <param name="pFileToZip">Caminho do arquivo que será comprimido</param>
    /// <returns>Retorna o caminho do arquivo Zip</returns>
    /// <remarks>O arquivo Zip ficará na mesma pasta do arquivo de origem</remarks>
    class function ZipFile(pFileToZip: String): String;
    
    implementation
    
    uses
    System.Zip
    
    class function TFuncao.ZipFile(pFileToZip: String): String;
    var
      vZip: TZipFile;
    begin
      vZip := TZipFile.Create;
      try
        // Definir o nome do arquivo Zip
        Result := ChangeFileExt(pFileToZip, '.zip');
        // Preparar para geração do arquivo
        vZip.Open(Result, zmWrite);
        // Incluir arquivo que será comprimido
        vZip.Add(pFileToZip);
        // Comprimir o arquivo
        vZip.Close;
      finally
        vZip.Free;
      end;
    end;

    Utilização do método acima

    // Obter o nome do arquivo XML
    vNomeArqXML := 'C:\teste.xml';
    // Salvar o arquivo XML
    ACBrBlocoX.ReducoesZ.SaveToFile(vNomeArqXML);
    // Comprimir o arquivo XML em ZIP
    vNomeArqZIP := TFuncao.ZipFile(vNomeArqXML);
    try
      vStream := TMemoryStream.Create;
      try
        // Carregar o stream do arquivo Zip
        vStream.LoadFromFile(vNomeArqZIP);
        // Codificar o stream para Base64
        WebServices.EnviarReducaoZ.XML := EncodeBase64(vStream.Memory, vStream.Size);
      finally
        vStream.Free;
      end;
    finally
      DeleteFile(PChar(vNomeArqZIP));
    end;

    Att

     

    • Curtir 1
  2. Boa tarde,

    Farei a homologação em Janeiro/2017 e as homologadoras estão cobrando o funcionamento completo desse requisito,

    ou seja, o PAF-ECF deve ser capaz de transmitir os dados para o Fisco.

    A homologadora me passou esse link contendo as novas instruções para geração do XML, ele ainda não é oficial,

    mas segundo me informaram será liberado em breve.

    Dessa forma, precisei fazer algumas alterações nos fontes, para adequar o XML e os novos métodos do WebService de SC.

    Com essas alterações que implementei estou conseguindo transmitir e consultar, os dados corretamente.

    Segue abaixo descrição das alterações realizadas :

    • Agora no novo WebService, existem métodos distintos para envio, sendo uma para Redução Z e outro para o Estoque, por isso criei as propriedades 'EnviarReducaoZ' e 'EnviarEstoque' na classe TWebServices
    • Criei a unit pcnRetEnvBlocoX.pas para carregar os dados do XML de resposta
    • Criação de algumas propriedades, como CNPJ, EstadoProcessamentoCodigo, NumeroCredenciamento..., necessários no XML e úteis para facilitar a obtenção de alguma informações

    Att

     

     

    ACBrBlocoX.rar

    Lembrando que agora deve ser informado o arquivo zipado no formato Base64 no XML , segue trecho que utilizei aqui, caso alguém tenha interesse

    uses Soap.EncdDecd
    
    ...
    vStream := TMemoryStream.Create;
    try
      // Carregar o stream do arquivo Zip
      vStream.LoadFromFile(vNomeArqZIP);
      // Codificar o stream para Base64
      WebServices.EnviarReducaoZ.XML := EncodeBase64(vStream.Memory, vStream.Size);
    finally
      vStream.Free;
    end;

     

  3. Boa tarde

    A alteração implementada nesse tópico foi comentada na revisão 12029, gerando novamente erro na emissão de NFS-e para destinatários estrangeiros, nesse provedor.

    Segue em anexo arquivo atualizado com a alteração necessária. Removi o código do comentário e reposicionei a condição dentro do if, para que mesmo quando for estrangeiro ("EX"), seja adicionada a tag "IdentificacaoTomador".

    pnfsNFSeW_ABRASFv1.pas

  4. Boa tarde,

    Ao tentar emitir uma NFS-e para o provedor SimplISS estava obtendo o erro apresentado no xml em anexo.

    Analisando o caso percebi que esse problema ocorre porque a senha (Configuracoes.Geral.SenhaWeb) do cliente tem o caractere especial &.

    Avaliando os fontes verifiquei que o parse da senha não era realizado, sendo informando no XML a senha com o caractere & em vez de &amp;, o que invalidava o XML.

    Fiz alteração para informar a senha no XML com o parse. Considerei apenas o provedor SimplISS, mas acredito que seria útil para os demais provedores que utilizem Usuário/ Senha.

    3037-rec.xml

    ACBrNFSeWebServices.pas

  5. Boa tarde

    Seguem algumas considerações que encontrei relacionadas a impressão do DANFE para EPEC:

    1) Está definido o seguinte no item 03.1 da Nota Técnica 2014.001 - v1.10 : "Impressão do DANFE da NF-e que consta do EPEC, em papel comum, constando no corpo a expressão “DANFE impresso em contingência - DPEC regularmente recebida pela Receita Federal do Brasil”"

    Atualmente está mostrando o texto: "Danfe em contingência - Impresso em decorrência de problemas técnicos"

    2) Pelo que verifiquei na NT, aparentemente o texto acima deve aparecer somente enquanto a NF-e não estiver autorizada, após autorização, não há mais necessidade em mostrar essa mensagem.

    3) Percebi também que ao imprimir o DANFE um pedaço da última letra da mensagem estava ficando cortada (Imagem em anexo), por isso achei melhor usar alinhamento no topo para o label em questão.

    Seguem arquivos com as alterações

     

    cortando letra.jpg

    alteração.jpg

    ACBrNFeDANFeRLPaisagem.pas

    ACBrNFeDANFeRLRetrato.dfm

    ACBrNFeDANFeRLRetrato.pas

  6. Bom dia Ítalo,

    sim é para cidade de Guarapuava. Com a última alteração liberada não ocorre mais o erro: "Not Found (404)..." .

    Agora está aparecendo a mensagem: "CNPJ do prestado deve ser igual ao CNPJ existente no certificado digital",

    o certificado que estou usando é o correto, acredito que esteja apresentada essa mensagem pois a

    propriedade UseCertificado está 0, e para acessar o link é necessário a autenticação com o certificado.

     

    Eu testei habilitando a propriedade UseCertificado , mas nessa situação aparece a mensagem de erro:

    "Erro ao ajusta INTERNET_OPTION_CLIENT_CERT_CONTEXT: 12046"

  7. Boa tarde Ítalo,

    testei hoje com os fontes atualizados e está aparecendo a seguinte mensagem:

    "É necessário um certificado para concluir a autenticação do cliente"

    Eu habilitei a propriedade "UseCertificado" e não apareceu mais a mensagem acima, mas agora aparece:

    "Not Found (404)..."

  8. Bom dia ALA,

    Qual é a prefeitura, Itabira/MG? 

    Pelo que vi esse município está trocando de provedor, passando de Ginfes para Pronim, talvez o serviço não esteja rodando 100%.

    Pela mensagem de erro parece que a prefeitura não está aceitando a integração na versão 2.02 do Pronim, já tentou usar a versão antiga 1.0?

     

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.