Ir para conteúdo
  • Cadastre-se

dev botao

Envio Bloco X


Edison Basso
  • Este tópico foi criado há 1939 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

14 horas atrás, Alisson Marques disse:

Como vcs resolveram esse problema?

Bom eu encontrei a solução algumas postagens atrás, não lembro de quem foi mas deu a dica de como fazer.
Mas fica assim:
Para validar --> o meu tratamento ficou:
-----------------
            DM.BlocoX.WebServices.ValidarBlocoX.Clear;
            DM.BlocoX.WebServices.ValidarBlocoX.XML := XmlReduZ;

            if not DM.BlocoX.WebServices.ValidarBlocoX.Executar then
              begin
                RespostaValidacao  := DM.BlocoX.WebServices.ValidarBlocoX.RetWS + sLineBreak;


                ErroValidacao := 'Arquivo: ' + ArqComCaminho + ' não foi validado. Erro: ' + RespostaValidacao;
                raise Exception.Create(ErroValidacao);
              end
            else
              begin
                RespostaValidacao  := DM.BlocoX.WebServices.ValidarBlocoX.RetWS + sLineBreak;

                if Pos('VALIDADO COM SUCESSO', UpperCase(RespostaValidacao)) = 0 then
                  raise Exception.Create(RespostaValidacao)
                else
                  Mensagem(RespostaValidacao, mtWarning, 1);
              end;
---------------------

e para enviar ....
com detalhe para ".EnviarBlocoX.XMLZipado" que deve ser passado para base 64 depois do arquivo zipado.
---------------------

            DM.BlocoX.WebServices.EnviarBlocoX.Clear;
            DM.BlocoX.WebServices.EnviarBlocoX.XML  := XmlReduZ;

            DM.BlocoX.WebServices.EnviarBlocoX.XMLZipado := DM.IdEncoderMIME1.EncodeStream(FileStream, FileStream.Size);
            if DM.BlocoX.WebServices.EnviarBlocoX.Executar then
              begin


                Sleep(20000); //Esse aqui coloquei porque encontei uma postagem dizendo que precisava, quando consegui transmitir não testei sem
                SetReciboNaBase(DM.BlocoX.WebServices.EnviarBlocoX.Recibo, 'Redução Z', 'ZR', ArqComCaminho);

                //depois de salvar o recibo na base arquiva o XML
                ArquivarXml(ArqComCaminho, 'Z');
              end
            else
              begin
                ErroTransmissao  := 'Arquivo: ' + ArqComCaminho + ' não foi transmitido.';
                raise Exception.Create(ErroTransmissao);
              end;
--------------------------


Espero que isso ajude.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membros Pro
8 horas atrás, Jefferson Damian disse:

Bom eu encontrei a solução algumas postagens atrás, não lembro de quem foi mas deu a dica de como fazer.
Mas fica assim:
Para validar --> o meu tratamento ficou:
-----------------
            DM.BlocoX.WebServices.ValidarBlocoX.Clear;
            DM.BlocoX.WebServices.ValidarBlocoX.XML := XmlReduZ;

            if not DM.BlocoX.WebServices.ValidarBlocoX.Executar then
              begin
                RespostaValidacao  := DM.BlocoX.WebServices.ValidarBlocoX.RetWS + sLineBreak;


                ErroValidacao := 'Arquivo: ' + ArqComCaminho + ' não foi validado. Erro: ' + RespostaValidacao;
                raise Exception.Create(ErroValidacao);
              end
            else
              begin
                RespostaValidacao  := DM.BlocoX.WebServices.ValidarBlocoX.RetWS + sLineBreak;

                if Pos('VALIDADO COM SUCESSO', UpperCase(RespostaValidacao)) = 0 then
                  raise Exception.Create(RespostaValidacao)
                else
                  Mensagem(RespostaValidacao, mtWarning, 1);
              end;
---------------------

e para enviar ....
com detalhe para ".EnviarBlocoX.XMLZipado" que deve ser passado para base 64 depois do arquivo zipado.
---------------------

            DM.BlocoX.WebServices.EnviarBlocoX.Clear;
            DM.BlocoX.WebServices.EnviarBlocoX.XML  := XmlReduZ;

            DM.BlocoX.WebServices.EnviarBlocoX.XMLZipado := DM.IdEncoderMIME1.EncodeStream(FileStream, FileStream.Size);
            if DM.BlocoX.WebServices.EnviarBlocoX.Executar then
              begin


                Sleep(20000); //Esse aqui coloquei porque encontei uma postagem dizendo que precisava, quando consegui transmitir não testei sem
                SetReciboNaBase(DM.BlocoX.WebServices.EnviarBlocoX.Recibo, 'Redução Z', 'ZR', ArqComCaminho);

                //depois de salvar o recibo na base arquiva o XML
                ArquivarXml(ArqComCaminho, 'Z');
              end
            else
              begin
                ErroTransmissao  := 'Arquivo: ' + ArqComCaminho + ' não foi transmitido.';
                raise Exception.Create(ErroTransmissao);
              end;
--------------------------


Espero que isso ajude.

valew amigo deu Certo mas agora ta retornando essa messange:  

 

<EnviarResult><?xml version="1.0" encoding="utf-8"?><Resposta><Recibo>Não gerado, pois não passou na validação inicial. Não será armazenado ou processado</Recibo><SituacaoProcessamentoCodigo /><SituacaoProcessamentoDescricao /><Mensagem>Versão da Especificação de Requisitos do PAF-ECF 02.01, mas precisa ser 02.03 ou superior</Mensagem></Resposta></EnviarResult>

to procurando aqui no xml eu nao informei essa versao do PAF-ECF, ta estranho.

Link para o comentário
Compartilhar em outros sites

39 minutos atrás, Alisson Marques disse:

valew amigo deu Certo mas agora ta retornando essa messange:  

 

<EnviarResult><?xml version="1.0" encoding="utf-8"?><Resposta><Recibo>Não gerado, pois não passou na validação inicial. Não será armazenado ou processado</Recibo><SituacaoProcessamentoCodigo /><SituacaoProcessamentoDescricao /><Mensagem>Versão da Especificação de Requisitos do PAF-ECF 02.01, mas precisa ser 02.03 ou superior</Mensagem></Resposta></EnviarResult>

to procurando aqui no xml eu nao informei essa versao do PAF-ECF, ta estranho.

Isso você configura no componente.
em configurações VersaoER
No caso no meu está disponível apenas a ER 0204 e 0205.
Só tenha o cuidado de estar com o componente atualizado.

 

Link para o comentário
Compartilhar em outros sites

O erro da versão se caracteriza devido ao valor da Tag "NumeroCredenciamento". Provavelmente o código que está passando não está ligado às versões aceitas. Consegui o correto entrando no site da SEFAZ de SC (http://www.sef.sc.gov.br/) e acessando os laudos que tinhamos. Peguei o mais recente a mensagem não ocorreu novamente.

Obs: Dentro do site ao entrar no local correto vc é redirecionado para o endereço https://tributario.sef.sc.gov.br/tax.NET/Login.aspx?ReturnUrl=%2ftax.net%2fdefault.aspx onde poderá fazer o login e acessar os arquivos dos laudos.

Editado por Leonardo Henrique
Adicionando mais informações úteis para a resposta.
Link para o comentário
Compartilhar em outros sites

  • 5 semanas depois ...
  • 4 meses depois ...
  • Administradores

Boa tarde.

Este tópico está inativo a algum tempo e por isso será fechado, caso necessário favor criar um novo tópico.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1939 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.