Jump to content

dev botao

CTe - OS | Rejeição: IE deve ser informada para tomador Contribuinte


Go to solution Solved by Lindomar S. Menezes,
  • Este tópico foi criado há 390 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Linguagem - C#

CTe - OS | Rejeição: IE deve ser informada para tomador Contribuinte

IE está sendo alimentada na classe, está retornando certo no arquivo INI, porém está retornando rejeição de que a mesma deve ser preenchida ao enviar o mesmo.

No Delphi a mesma nota, com as mesmas informações é emitida normalmente, por isso acredito que não seja nada na SEFAZ.

Está sendo emitido em ambiente 3.0.

Observando o XML gerado após os comandos Assinar() e Validar(), a classe toma4 não está sendo alimentada.

42230717089484000190670020000000141448349226-cte.xml CT-eOS - ObterIni().txt CT-eOS - Classe CTe.txt

Edited by Lindomar S. Menezes
Link to comment
Share on other sites

  • Consultores

Bom dia Lindomar,

No XML que você anexou foi informado que o tipo de serviço é 6 - Transporte de Pessoas (Fretamento) e não consta o grupo toma (tomador).

Segundo o manual que contem o layout do CT-e / CT-e OS versão 3.00 diz que o grupo toma é opcional quando o tipo de serviço for Excesso de Bagagem.

Isso deve explicar a rejeição.

  • Like 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 to comment
Share on other sites

57 minutos atrás, Italo Giurizzato Junior disse:

Bom dia Lindomar,

No XML que você anexou foi informado que o tipo de serviço é 6 - Transporte de Pessoas (Fretamento) e não consta o grupo toma (tomador).

Segundo o manual que contem o layout do CT-e / CT-e OS versão 3.00 diz que o grupo toma é opcional quando o tipo de serviço for Excesso de Bagagem.

Isso deve explicar a rejeição.

O grupo toma a ser alimentado quando o tipo do serviço for "6 - Transporte de pessoas", no CT-e OS do C# é a classe Tomador4, correto?

Link to comment
Share on other sites

Caso sim, debugando até o momento em que eu Carrego a minha classe CT-e com os dados alimentados, o toma4 está lá preenchido normalmente.

image.png.513167a8a0bbd14e97362dc4ae8ce7eb.png

Utilizando o comando ObterIni(0) após utilizar o comando CarregarINI(), o toma4 também está preenchido, mas visualizando o XML gerado após o Assinar() e o Validar(), o toma4 não está presente no xml.

Obs: tipo do serviço é "6 - Transporte de pessoas"

Link to comment
Share on other sites

  • Consultores

Boa tarde Lindomar,

Pela sua imagem noto que você passou as informações do Tomador4.

Lembre-se que devemos alimentar esses campos quando o tomador do serviço não for o Remetente (0), Expedidor (1), Recebedor (2) ou Destinatário (3).

Neste caso se o tomador não nenhum dos 4 listados acima então é Outros (4).

Notei que o campo Toma do Tomador4 esta com o valor zero, isso faz com que o componente entenda que o tomador é o Remetente da carga, logo não se faz necessário alimentar os dados do Tomador4.

Repito, só alimentados o Tomador4 (não esqueça: Toma = 4) quando o tomador não é o Remetente, Expedidor, Recebedor e nem o Destinatário.

  • Like 2
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 to comment
Share on other sites

22 horas atrás, Italo Giurizzato Junior disse:

Boa tarde Lindomar,

Pela sua imagem noto que você passou as informações do Tomador4.

Lembre-se que devemos alimentar esses campos quando o tomador do serviço não for o Remetente (0), Expedidor (1), Recebedor (2) ou Destinatário (3).

Neste caso se o tomador não nenhum dos 4 listados acima então é Outros (4).

Notei que o campo Toma do Tomador4 esta com o valor zero, isso faz com que o componente entenda que o tomador é o Remetente da carga, logo não se faz necessário alimentar os dados do Tomador4.

Repito, só alimentados o Tomador4 (não esqueça: Toma = 4) quando o tomador não é o Remetente, Expedidor, Recebedor e nem o Destinatário.

Perdão pela minha falta de atenção Italo, realmente eu não tinha reparado nisso, nesse caso em qual classe devemos alimentar o Tomador do CTe-OS?
Pelo que verifiquei aqui, a única classe referente ao tomador, é a Tomador4, e no nosso código no Delphi temos as duas classes presentes, a toma e a toma4, e para essa ocasião a classe toma é alimentada.

Verifiquei no svn, a classe toma que contém os mesmos dados, foi removido na rev 29893. Sendo assim acredito eu que não tenha nenhuma outra classe para ser alimentada. Poderia confirmar se está correto isso?

image.thumb.png.058e39d18730bba0bc2074c48136aadf.png

Link to comment
Share on other sites

  • Consultores

Boa tarde Lindomar,

No CT-e temos o Remetente, Expedidor, Recebedor e o Destinatário, que podem ser o tomador do serviço.

Se não for nenhum deles temos o tal do toma4 que seria um outro tomador, que chamamos de Outro.

Se você olhar o manual do CT-e versão 3.00 - página 9 temos o grupo toma4 que contem diversas informações do tomador.

Lembrando que essas informações só devemos preencher quando o tomador não for o Remetente, Expedidor, Recebedor e nem o Destinatário.

Já no CT-e OS não temos o Remetente, Expedidor, Recebedor e nem o Destinatário, e sim um grupo chamado toma (vide o mesmo manual página 54).

No caso de Delphi temos as classes rem, exped, receb e dest, bem como ide.toma03 e ide.toma04 essas classes são usadas pelo CT-e

Para o CT-e temos a classe toma

Para o GTV-e a classe ide.toma4 é usada para informar os dados do tomaTerceiro.

Agora com relação Lib não sei se todas essas classes estão acessíveis.

 

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 to comment
Share on other sites

  • Solution
  • Solução
    Criado classe TomadorCTeOS.cs com os dados do tomador para preenchimento.
    TomadorCTeOS.cs

 

  • Alterações na classe CTe.cs

Leitura e gravação da classe no método ReadFromIni e WriteToIni.

iniData.ReadFromIni(Tomador, "toma");
iniData.WriteToIni(Tomador, "toma");

Criação da classe tomador no construtor

Tomador = new TomadorCTeOS();

Declaração da propriedade Tomador nas properties

public TomadorCTeOS Tomador { get; }

 

CT-e OS emitido com sucesso com essas alterações acima.

image.png.267487e655d236e67968b204bf827631.png

Edited by Lindomar S. Menezes
Link to comment
Share on other sites

  • Consultores

Boa tarde!

Muito obrigado pela contribuição!

Criada #TK-4293 para análise e posterior inclusão no SVN.

 

  • Like 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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 to comment
Share on other sites

  • 2 weeks later...
  • Consultores

Bom dia!

Contribuição enviada ao SVN na Rev-30292

  • Thanks 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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 to comment
Share on other sites

  • Este tópico foi criado há 390 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.