Ir para conteúdo
  • Cadastre-se

dev botao

Impressão Da Nfse


Cleiton Silveira
Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 3456 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Consultores

Boa tarde Cleiton,

 

Seja mais especifico.

 

Qual é o provedor e o Report que você esta utilizando para imprimir o DANFSE?

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

  • Consultores

Cleiton,

 

Se possível post como anexo o XML da NFS-e cujo valor liquido aparece zerado no DANFSE.

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

  • Consultores
  • Solution

Cleiton,

 

O problema é que o provedor não esta retornando essa informação.

 

Fiz uma alteração para que o componente calcule com base nos demais valores retornados.

 

Atualize os fontes, compile com a opção Build e teste novamente.

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

  • Consultores

Cleiton,

 

Atualize mais uma vez, compile com o Build e teste novamente.

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

  • 2 semanas depois ...

Bom dia Italo, comigo acontece o mesmo problema,  estou usando os provedorres Fiorilli e 4R, e envio o xml pela função EnviarSincrono.

 

O xml de retorno vem com a informação do valor liquido, mas não alimenta o componente, depurando percebi que na rotina TGerarretNfse.LerXml(pnfsGerarNfseResposta), tem o seguinte bloco 

 

                
if Leitor.rExtrai(7, 'Valores') <> '' then
begin
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.ValorServicos          := Leitor.rCampo(tcDe2, 'ValorServicos');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.ValorDeducoes          := Leitor.rCampo(tcDe2, 'ValorDeducoes');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.ValorPis               := Leitor.rCampo(tcDe2, 'ValorPis');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.ValorCofins            := Leitor.rCampo(tcDe2, 'ValorCofins');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.ValorInss              := Leitor.rCampo(tcDe2, 'ValorInss');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.ValorIr                := Leitor.rCampo(tcDe2, 'ValorIr');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.ValorCsll              := Leitor.rCampo(tcDe2, 'ValorCsll');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.IssRetido              := StrToSituacaoTributaria(ok, Leitor.rCampo(tcStr, 'IssRetido'));
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.ValorIss               := Leitor.rCampo(tcDe2, 'ValorIss');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.OutrasRetencoes        := Leitor.rCampo(tcDe2, 'OutrasRetencoes');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.BaseCalculo            := Leitor.rCampo(tcDe2, 'BaseCalculo');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.Aliquota               := Leitor.rCampo(tcDe3, 'Aliquota');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.ValorLiquidoNfse       := Leitor.rCampo(tcDe2, 'ValorLiquidoNfse');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.ValorIssRetido         := Leitor.rCampo(tcDe2, 'ValorIssRetido');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.DescontoCondicionado   := Leitor.rCampo(tcDe2, 'DescontoCondicionado');
  ListaNfse.FCompNfse[i].FNFSe.Servico.Valores.DescontoIncondicionado := Leitor.rCampo(tcDe2, 'DescontoIncondicionado');
end;
 

porém, no xml, essa informação vem na tag "ValoresNfse", e não na "Valores", segue o xml em anexo

 

 

NFSe4865.xml

Editado por jGuto
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde jGuto,

 

Foi feita algumas alterações na unit que lê o XML recentemente, você esta com os fontes atualizados?

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

  • Consultores

jGuto,

 

A alteração que mencionei, verifica se o valor liquido da NFSe é zero, se sim ele calcula.

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

  • Consultores

jGuto,

 

O XML que você postou se refere ao provedor Fiorilli, correto?

 

Conferindo o XML com a Unit pnfsNFSeR.pas é para ele ler sim o valor liquido que encontra-se dentro do grupo ValoresNfse.

 

O provedor Fiorilli se utiliza da Function LerNFSe_ABRASF_V2 e esta logo nas sua primeiras linhas lê o grupo ValoresNfse e consequentemente a TAG ValorLiquidoNfse.

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

Estou usando a função EnviarSincrono, no retorno, ele passa pelo LerXML da unit pnfsGerarNfseResposta, onde ele não lê essa tag,

 

Se eu carregar o xml no componente depois, daí sim ele passa por essa função LerNFSe_ABRASF_V2, e preenche o campo corretamente..

 

Ps: Provedores Fiorilli e 4R

Editado por jGuto
Link para o comentário
Compartilhar em outros sites

O provedor Fiorilli se utiliza da Function LerNFSe_ABRASF_V2 e esta logo nas sua primeiras linhas lê o grupo ValoresNfse e consequentemente a TAG ValorLiquidoNfse.

 

 

 

Sim, está lá, mas está jogando as informações no lugar errado

function TNFSeR.LerNFSe_ABRASF_V2: Boolean;
var
 item: Integer;
 ok  : Boolean;
begin
 if Leitor.rExtrai(3, 'ValoresNfse') <> ''
  then begin
   NFSe.Servico.Valores.BaseCalculo      := Leitor.rCampo(tcDe2, 'BaseCalculo');
   NFSe.Servico.Valores.Aliquota         := Leitor.rCampo(tcDe3, 'Aliquota');
   NFSe.Servico.Valores.ValorIss         := Leitor.rCampo(tcDe2, 'ValorIss');
   NFSe.Servico.Valores.ValorLiquidoNfse := Leitor.rCampo(tcDe2, 'ValorLiquidoNfse');
  end; // fim ValoresNfse

O correto seria o codigo abaixo,

function TNFSeR.LerNFSe_ABRASF_V2: Boolean;
var
 item: Integer;
 ok  : Boolean;
begin
 if Leitor.rExtrai(3, 'ValoresNfse') <> ''
  then begin
   NFSe.ValoresNfse.BaseCalculo      := Leitor.rCampo(tcDe2, 'BaseCalculo');
   NFSe.ValoresNfse.Aliquota         := Leitor.rCampo(tcDe3, 'Aliquota');
   NFSe.ValoresNfse.ValorIss         := Leitor.rCampo(tcDe2, 'ValorIss');
   NFSe.ValoresNfse.ValorLiquidoNfse := Leitor.rCampo(tcDe2, 'ValorLiquidoNfse');
  end; // fim ValoresNfse

Do jeito que está essa informações estão sendo sobreescrita pela parte abaixo, 

 

if (Leitor.rExtrai(4, 'Servico') <> '')
    then begin
     NFSe.Servico.Valores.IssRetido   := StrToSituacaoTributaria(ok, Leitor.rCampo(tcStr, 'IssRetido'));
     {....}
     if (Leitor.rExtrai(5, 'Valores') <> '')
      then begin
        {...}
        NFSe.Servico.Valores.ValorIss               := Leitor.rCampo(tcDe2, 'ValorIss');
        NFSe.Servico.Valores.Aliquota               := Leitor.rCampo(tcDe3, 'Aliquota');
        {...}
        if NFSe.Servico.Valores.ValorLiquidoNfse = 0 then
          NFSe.Servico.Valores.ValorLiquidoNfse     := NFSe.Servico.Valores.ValorServicos -
                                                       NFSe.Servico.Valores.DescontoIncondicionado -
                                                       NFSe.Servico.Valores.DescontoCondicionado -
                                                       // Retenções Federais
                                                       NFSe.Servico.Valores.ValorPis -
                                                       NFSe.Servico.Valores.ValorCofins -
                                                       NFSe.Servico.Valores.ValorIr -
                                                       NFSe.Servico.Valores.ValorInss -
                                                       NFSe.Servico.Valores.ValorCsll -


                                                       NFSe.Servico.Valores.OutrasRetencoes -
                                                       NFSe.Servico.Valores.ValorIssRetido;


        if NFSe.Servico.Valores.BaseCalculo = 0 then
          NFSe.Servico.Valores.BaseCalculo          := NFSe.Servico.Valores.ValorServicos -
                                                       NFSe.Servico.Valores.ValorDeducoes -
                                                       NFSe.Servico.Valores.DescontoIncondicionado;


        if NFSe.Servico.Valores.ValorIss = 0 then
          NFSe.Servico.Valores.ValorIss             := (NFSe.Servico.Valores.BaseCalculo * NFSe.Servico.Valores.Aliquota)/100;


      end;
    end; // fim serviço
Editado por jGuto
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Consultores

Boa noite Guto,

 

Alteração feita, por favor atualize os fontes.

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á 3456 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.