Ir para conteúdo
  • Cadastre-se

dev botao

impressão nfse discriminação dos servicos servidor betha


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

Recommended Posts

  • Moderadores

opa..

o seu problema esta na hora de gerar o xml.. voce tera de tirar 

{[[ esses caracteres..

 

 </Valores>
        <ItemListaServico>0104</ItemListaServico>
        <Discriminacao>{[[Descricao=LICENCA DE USO DE SOFTWARE REF 11/2018][ItemServico=0104][Quantidade=1][ValorUnitario=100][ValorServico=100][ValorBaseCalculo=100][Aliquota=4.23]]}</Discriminacao>
        <CodigoMunicipio>4313706</CodigoMunicipio>
      </Servico>

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

meu código
 

     try
        try
          ConsultarSituacao(QRYCONSULTAPROTOCOLO.ASSTRING, QRYCONSULTALOTE.ASSTRING);
        except
          on E: Exception do
          begin
            if WebServices.ConsSitLoteRPS.Msg <> '' then
              widRespAux := WebServices.ConsSitLoteRPS.Msg
            else if E.Message <> '' then
              widRespAux := E.Message
            else
              widRespAux := 'RPS em processamento aguarde e consulte mais tarde!';

            frm_aviso(widRespAux);
          end;
        end;

        Situacao := StrToIntDef(WebServices.ConsSitLoteRPS.Situacao, 0);

        if (Situacao = 4) then
        begin

          strArquivo := Configuracoes.Arquivos.GetPathNFSe(qryConsultaDATA.value) + '\NFSe\Recibos\' + inttostr(qryconsultanumero.value) + 'E-RPS.XML';

          if not FileExists(strArquivo) then
          begin
            strArquivo := Configuracoes.Arquivos.GetPathGer(qryConsultaDATA.value) + '\Recibos\' + inttostr(qryconsultanumero.value) + 'E-RPS.XML';
          end;

          qrygravalotenota.close;
          qrygravalotenota.ParamByName('numero').value := NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero;
          qrygravalotenota.Open;
          qrygravalotenota.edit;
          qrygravalotenotaSITUACAO.value := Situacao;

          if FileExists(strArquivo) then
          begin
            NotasFiscais.Clear;
            NotasFiscais.LoadFromFile(strArquivo);
            ConsultarNFSeporRps(NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero,
                                NotasFiscais.Items[0].NFSe.IdentificacaoRps.Serie,
                                TipoRPSToStr(NotasFiscais.Items[0].NFSe.IdentificacaoRps.Tipo));
          end
          else
          begin
            ConsultarNFSeporRps(qryConsultaNUMERO.ASSTRING, dtmdados.serie, TipoRPSToStr(trRPS));
          end;

             // Grava numero da NFSe
          qrygravalotenotanota.Value := strtofloat(NotasFiscais.Items[0].NFSe.Numero);

          strArquivo := Configuracoes.Arquivos.GetPathNFSe(qryConsultaDATA.value) + '\NFSe\Notas\' + NotasFiscais.Items[0].NFSe.Numero + 'E-NFSE.XML';

              // procura NFSe
          if not FileExists(strArquivo) then
          begin
            strArquivo := Configuracoes.Arquivos.GetPathGer(0) + '\Notas\' + qryConsultaNOTA.AsString + 'E-NFSE.XML';
            if not FileExists(strArquivo) then
            begin
              strArquivo := Configuracoes.Arquivos.GetPathGer(qryConsultaDATA.value) + '\Notas\' + qryConsultaNOTA.AsString + 'E-NFSE.XML';
              if not FileExists(strArquivo) then
              begin
                strArquivo := Configuracoes.Arquivos.GetPathGer(qryConsultaDATA.value) + qryConsultaNOTA.AsString + 'E-NFSE.XML'
              end;
            end;
          end;

             // procura RPS
          if not FileExists(strArquivo) then
          begin
            strArquivo := Configuracoes.Arquivos.GetPathGer(0) + '\recibos\' + inttostr(qryconsultanumero.value) + 'E-RPS.XML';

            if not FileExists(strArquivo) then
            begin
              strArquivo := Configuracoes.Arquivos.GetPathGer(qryConsultaDATA.value) + '\recibos\' + inttostr(qryconsultanumero.value) + 'E-RPS.XML'
            end;
          end;

          NotasFiscais.Clear;
          NotasFiscais.LoadFromFile(strArquivo);

          if FileExists(strArquivo) then
          begin
            Configuracoes.Arquivos.NomeLongoNFSe := True;
            NotasFiscais.Imprimir;
            NotasFiscais.ImprimirPDF;
          end;
        end;
      finally
        if dtsgravalotenota.State in [dsEdit] then
        begin
          qrygravalotenota.POST;
          QRYGRAVALOTENOTA.Transaction.CommitRetaining;
        end;
      end;
    end;
 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde a todos,

Amarildo, se tratando de NFS-e o cenário é uma zorra, cada provedor faz da forma que lhe convém.

O provedor Betha tem essa loucura de retornar no campo Discriminação do XML da NFS-e alguns dados segundo essa formatação com chaves e colchetes.

Que eu saiba, mais nenhum faz isso.

Se faz necessário criar uma função dentro do componente de impressão do DANFSE que pegue esse conteúdo e o apresente de forma mais clara.

Detalhe essa função só pode ser chamada se o provedor em questão for o Betha.

Estamos aguardando o Refactoring que esta sendo realizado nos componentes de impressão de DAs (DANFE, DACTE, etc).

Esse Refactoring não vai resolver esse problema, mas depois dele vamos poder mexer nesses componentes sem atrapalhar o serviço que esta em andamento.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
Em 30/11/2018 at 14:54, Italo Jurisato Junior disse:

Boa tarde a todos,

Amarildo, se tratando de NFS-e o cenário é uma zorra, cada provedor faz da forma que lhe convém.

O provedor Betha tem essa loucura de retornar no campo Discriminação do XML da NFS-e alguns dados segundo essa formatação com chaves e colchetes.

Que eu saiba, mais nenhum faz isso.

Se faz necessário criar uma função dentro do componente de impressão do DANFSE que pegue esse conteúdo e o apresente de forma mais clara.

Detalhe essa função só pode ser chamada se o provedor em questão for o Betha.

Estamos aguardando o Refactoring que esta sendo realizado nos componentes de impressão de DAs (DANFE, DACTE, etc).

Esse Refactoring não vai resolver esse problema, mas depois dele vamos poder mexer nesses componentes sem atrapalhar o serviço que esta em andamento.

O provedor da pública também faz isso, alguém já conseguiu alguma solução para imprimir certo isso quando envia mais de um serviço na mesma nota?

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Cesar,

Infelizmente temos poucos que se habilitam em ajudar na melhoria do código.

Sendo assim até o momento nada foi feito com relação a essa melhoria.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...