Ir para conteúdo
  • Cadastre-se

dev botao

Possível discordância da função Validar com o MOC.


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

Recommended Posts

  • Membros Pro

Agora consegui fazer emitir, tive que fazer algumas adequações aqui no meu código também, mas emitiu certinho, outra coisa que reparei também, é que mesmo eu preenchendo o TAF, no Validar() está retornando que não foi preenchido o NroRegEstadual, porém ambos são Choice Elements entre um e outro. E verificando aqui também, a UF também não é um elemento obrigatório, se eu não alimentasse a mesma deveria permitir na validação.

image.thumb.png.201874408d3ea4b19b0aab889e633b28.png

 

Falha na validação do Modal do Conhecimento: 48

TAG:<CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infCTeNorm><infModal versaoModal="4.00"><rodoOS><veic><prop> ID:#11/NroRegEstadual(Nmero do Registro Estadual) - Nenhum valor informado.

TAG:<CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infCTeNorm><infModal versaoModal="4.00"><rodoOS><veic><prop> ID:#14/UF(Cdigo do UF (Unidade da Federa��o)) - Nenhum valor informado.

TAG:<CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infCTeNorm><infModal versaoModal="4.00"><rodoOS><veic><prop> ID:#14/UF(Sigla da UF) - Contedo invlido.



 --> 1840 - Element '{http://www.portalfiscal.inf.br/cte}UF': [facet 'enumeration'] The value '' is not an element of the set {'AC', 'AL', 'AM', 'AP', 'BA', 'CE', 'DF', 'ES', 'GO', 'MA', 'MG', 'MS', 'MT', 'PA', 'PB', 'PE', 'PI', 'PR', 'RJ', 'RN', 'RO', 'RR', 'RS', 'SC', 'SE', 'SP', 'TO', 'EX'}.



Apenas para informação, meu tipo do CTe é normal e o tipo de serviço é excesso de bagagem.

Editado por Lindomar S. Menezes
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia!

Como está questão está relacionada a função validar e não as contribuições propriamente ditas, eu a separei em um novo tópico.

Criada a TK-4364 para análise da questão.

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 para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia Lindomar,

Devemos incluir na sprint da próxima semana.

At.

  • Curtir 2
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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 para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Boa tarde!

Partindo do programa exemplo, visando reproduzir o problema, tanto adicionei quanto comentei algumas informações na rotina AlimentarDados().

Em seguida adicionei o seguinte fonte para trabalhar na análise do seu caso:

var cte = AlimentarDados();            
ACBrCTe.LimparLista();
File.WriteAllText("C:\\Users\\Diego\\Documents\\TKs\\4364\\CTe-OS.ini", cte);
ACBrCTe.CarregarINI(cte);
try
{
	File.WriteAllText("C:\\Users\\Diego\\Documents\\TKs\\4364\\CTe-OS-SemAssinar.xml", ACBrCTe.ObterXml(0));
	ACBrCTe.Assinar();
	ACBrCTe.Validar();
	File.WriteAllText("C:\\Users\\Diego\\Documents\\TKs\\4364\\CTe-OS.xml", ACBrCTe.ObterXml(0));
}
catch(Exception ex)
{
	File.WriteAllText("C:\\Users\\Diego\\Documents\\TKs\\4364\\Exceptions.xml", ex.Message);
}

Meu arquivo Exceptions.xml ficou da seguinte maneira:

Falha na validação do Modal do Conhecimento: 1402
TAG:<CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infCTeNorm><infModal versaoModal="4.00"><rodoOS><veic><prop> ID:#11/NroRegEstadual(N�mero do Registro Estadual) - Nenhum valor informado.
TAG:<CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infCTeNorm><infModal versaoModal="4.00"><rodoOS><veic><prop> ID:#14/UF(C�digo do UF (Unidade da Federa��o)) - Nenhum valor informado.
TAG:<CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infCTeNorm><infModal versaoModal="4.00"><rodoOS><veic><prop> ID:#14/UF(Sigla da UF) - Conte�do inv�lido.

 --> 1840 - Element '{http://www.portalfiscal.inf.br/cte}UF': [facet 'enumeration'] The value '' is not an element of the set {'AC', 'AL', 'AM', 'AP', 'BA', 'CE', 'DF', 'ES', 'GO', 'MA', 'MG', 'MS', 'MT', 'PA', 'PB', 'PE', 'PI', 'PR', 'RJ', 'RN', 'RO', 'RR', 'RS', 'SC', 'SE', 'SP', 'TO', 'EX'}.

Minha resolução dos erros:

TAG:<CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infCTeNorm><infModal versaoModal="4.00"><rodoOS><veic><prop> ID:#14/UF(C�digo do UF (Unidade da Federa��o)) - Nenhum valor informado.
TAG:<CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infCTeNorm><infModal versaoModal="4.00"><rodoOS><veic><prop> ID:#14/UF(Sigla da UF) - Conte�do inv�lido.

 --> 1840 - Element '{http://www.portalfiscal.inf.br/cte}UF': [facet 'enumeration'] The value '' is not an element of the set {'AC', 'AL', 'AM', 'AP', 'BA', 'CE', 'DF', 'ES', 'GO', 'MA', 'MG', 'MS', 'MT', 'PA', 'PB', 'PE', 'PI', 'PR', 'RJ', 'RN', 'RO', 'RR', 'RS', 'SC', 'SE', 'SP', 'TO', 'EX'}.

O campo UF a que está mensagem se refere é este aqui:

image.png

Note que a cardinalidade dele é 1-1, indicando sua obrigatoriedade.

Acredito que você tenha confundido ele com o campo UF correspondente a UF em que veículo está licenciado. Este sim é opcional.

TAG:<CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infCTeNorm><infModal versaoModal="4.00"><rodoOS><veic><prop> ID:#11/NroRegEstadual(N�mero do Registro Estadual) - Nenhum valor informado.

Este erro acontece porque na validação que define se vai gerar a tag TAF ou NroRegEstadual do grupo prop, estava utilizando o TAF da identificação.

Algo como:

if (rodoOS.TAF != "")
{
  //Gera a tag TAF do grupo prop com a informação certa.
}else
{
  //Preenche NroRegEstadual
}

Como estava informando somente o TAF do grupo prop, ele acabava gerando o grupo NroRegEstadual.

Para este aqui, você pode resolver informando:

cte.Rodoviario.TAF = "Valor da TAF";
cte.Rodoviario.veic.prop.TAF = "Valor da TAF";

Eu também enviei alteração no SVN na Rev-30564 corrigindo a validação e na próxima compilação da Lib, ele deve usar o valor correto para comparar e você vai poder informar somente cte.Rodoviario.veic.prop.TAF;

  • Curtir 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 para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia.

a Lib do CTE foi compilada no dia 06/09 as 18:46, já deve contemplar essas alterações.

 

  • Curtir 1
  • Obrigado 1
Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Curtir 2
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 para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 233 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.