Ir para conteúdo
  • Cadastre-se

dev botao

Ate ontem ok. hoje da operação com nao contribuinte deve ser consumidor final, do nada


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

Recommended Posts

estava tudo ok. ai atualizei o svn, gerei uma atualização com os fontes pros clientes. ai clientes que a nota tava saindo normalmente agora esta dando rejeição : Operação com não contribuinte deve indicar operacao com consumidor final. ai ja tentei la no cadastro de cliente indicando ele como consumidor final e sem ser (se o campo la tiver setado eu alimento as tags de consumidor final ou nao), mas mesmo assim nao ta indo. este erro esta dando em todos os nossos clientes.

abaixo como alimento o componente via codigo:

       if cdccliente.fieldbyname('pessoa').asstring = 'F' then
       begin
        Dest.indIEDest := inNaoContribuinte; // Quando for pessoa física
        ide.indFinal   := cfConsumidorFinal; // não contribuinte
       end;


       IF (cdccliente.fieldbyname('pessoa').asstring = 'J') or (cdccliente.fieldbyname('pessoa').asstring = '') then
        begin
         if (cdcCliente.fieldbyname('ie').asstring <> '') and (cdccliente.fieldbyname('ie').asstring <> 'ISENTO') then
          begin
           Dest.IE        := cdccliente.fieldbyname('ie').asstring;
           Dest.indIEDest := inContribuinte;

           if cdccliente.findfield('ie_tipo') = nil
            then ide.indFinal   := cfnao
            else begin
             if cdccliente.FieldByName('ie_tipo').AsString = ''
              then ide.indFinal   := cfnao
              else begin
               if cdccliente.FieldByName('ie_tipo').AsString = 'NAO'
                THEN ide.indFinal := cfnao
                ELSE ide.indFinal := cfconsumidorfinal;
              end;
            end;
          end else begin
           dest.IE        := '';
           Dest.indIEDest := inNaoContribuinte; //inIsento;
           if cdccliente.findfield('ie_tipo') = nil then
            begin
             if cdccliente.FieldByName('ie_tipo').AsString = ''
              then ide.indFinal   := cfConsumidorFinal
              else begin
               if cdccliente.FieldByName('ie_tipo').AsString = 'NAO'
                THEN ide.indFinal := cfnao
                ELSE ide.indFinal := cfconsumidorfinal;
              end;
            end;
          end;
        end;

 

em anexo uma nota que esta apresentando esse mesmo problema:
 

29171006149336000105550010000116091000116090-nfe.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores

A regra de validação é clara: caso o destinatário da nota seja não contribuinte (indIEDest = 9), é obrigatório que a NFe seja destinada a consumidor final (indFinal = 1).

E ela não é nova, é obrigatória desde março de 2016.

Sugiro que revise seu código.

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

if cdccliente.FieldByName('ie_tipo').AsString = 'FINAL' then
       begin
        ide.indFinal   := cfconsumidorfinal;
        Dest.indIEDest := inNaoContribuinte;
       end else begin
         IF (cdccliente.fieldbyname('pessoa').asstring = 'J') or (cdccliente.fieldbyname('pessoa').asstring = '') then
          begin
           if (cdcCliente.fieldbyname('ie').asstring <> '') and (cdccliente.fieldbyname('ie').asstring <> 'ISENTO') then
            begin
             Dest.IE        := cdccliente.fieldbyname('ie').asstring;
             Dest.indIEDest := inContribuinte;

             if cdccliente.findfield('ie_tipo') = nil
              then ide.indFinal   := cfnao
              else begin
               if cdccliente.FieldByName('ie_tipo').AsString = ''
                then ide.indFinal   := cfnao
                else begin
                 if cdccliente.FieldByName('ie_tipo').AsString = 'NAO'
                  THEN ide.indFinal := cfnao
                  ELSE ide.indFinal := cfconsumidorfinal;
                end;
              end;
            end else begin
             dest.IE        := '';
             Dest.indIEDest := inNaoContribuinte; //inIsento;
             if cdccliente.findfield('ie_tipo') = nil then
              begin
               if cdccliente.FieldByName('ie_tipo').AsString = ''
                then ide.indFinal   := cfConsumidorFinal
                else begin
                 if cdccliente.FieldByName('ie_tipo').AsString = 'NAO'
                  THEN ide.indFinal := cfnao
                  ELSE ide.indFinal := cfconsumidorfinal;
                end;
              end;
            end;
          end;
       end;

boa noite. resolvi. coloquei o codigo acima e passou tranquilo muito obrigado a ajuda.

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

Bom dia @Rafael jorge,

só achei estranho um trecho no seu código...

Onde vc testa se cdccliente.findfield('ie_tipo') = nil , e depois dentro do IF vc faz cdccliente.FieldByName('ie_tipo').AsString...

O certo não seria testar se o findfield retorna diferente de nil ?

Entrando neste IF não vai ocorrer erro de "Field 'ie_tipo' not found" na linha do FieldByName ?

Att

Ricardo

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2379 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...