Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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

Postado (editado)
21 minutos atrás, Rafael jorge disse:

    end
   else
   begin
// Se não há inscrição estadual não informar a tag dest.IE.
//           dest.IE        := '';

 

 

Editado por Agnaldo Prates
tag e não tab
  • Curtir 2

_____________

Prates, Agnaldo

  • Moderadores
Postado

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

 

 

Postado
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
Postado

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

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