Ir para conteúdo
  • Cadastre-se

dev botao

Ambiguidade ou Necessidade


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

Recommended Posts

  • Membros Pro
Postado

Pessoal,

Com a adoção da versão 4.0 do CTe me deparei com uma situação que não sei se é ambiguidade ou necessidade.

Se voce atribuir ao componente a tag => infCTe.versao := 4.0 e não alterar a configuração => Configuracoes.Geral.VersaoDF := ve300 a SEFAZ (RS) responde um erro que nada tem a ver com isso.

Detectei que a infCTe.versao for 4.0  faz o envio para o endereço da 3.0 e a consulta é executada na versao 4.0, parece que foi isso que ocorreu.

Ao atribuir os valores corretos para as duas configurações, o componente funcionou perfeitamente.

Nao seria o caso de preencher automaticamente a tag => infCTe.versao de acordo com o especificado na Configuracoes.Geral.VersaoDF ?

Luis Fernando Vilela

Open Data Informatica Ltda

  • Consultores
Postado

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

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

  • Consultores
Postado

Bom dia!

Se conferir no programa exemplo do ACBrCTe, ele utiliza a configuração da VersadoDF para definir a versão no momento de preencher o CTe.

image.png

 

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

  • Membros Pro
Postado
4 minutos atrás, Diego Foliene disse:

Bom dia!

Se conferir no programa exemplo do ACBrCTe, ele utiliza a configuração da VersadoDF para definir a versão no momento de preencher o CTe.

image.png

 

Isso eu ja tinha visto, porem isso é um COMBOBOX para seleção no programa de exemplo, mas veja, eu estou relatando é a propriedade do componente Configuracoes.Geral.VersaoDF . Esse exemplo nao altera essa propriedade, porisso achei pertinente perguntar se a existencia de duas configurações são para atendimento a um propósito ou se está mesmo como ambiguidade.

Luis Fernando Vilela

Open Data Informatica Ltda

  • Consultores
Postado
2 horas atrás, fefevilela disse:

Isso eu ja tinha visto, porem isso é um COMBOBOX para seleção no programa de exemplo, mas veja, eu estou relatando é a propriedade do componente Configuracoes.Geral.VersaoDF . Esse exemplo nao altera essa propriedade, porisso achei pertinente perguntar se a existencia de duas configurações são para atendimento a um propósito ou se está mesmo como ambiguidade.

Boa tarde!

Estou buscando mais informações a respeito, mas por hora o que descobri é que esse comportamento acontece, por causa disso aqui:

image.png

Acredito que seja feito desta maneira para quando você carregue um XML de CT-e no componente (para consultar por exemplo) ele use as informações deste XML.

Mas da forma como está realmente parece ambíguo.

Em um primeiro momento, se Conhecimentos.Count for menor ou igual a zero, não é nem para chegar nesse trecho de código, então o else não faz sentido.

Criada a #TK-4391 para análise e melhoria.

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

  • 2 semanas depois ...
  • Consultores
  • Solution
Postado

Boa tarde!

Por favor, pode fornecer mais informações sobre está afirmação?

Em 01/09/2023 at 11:43, fefevilela disse:

Detectei que a infCTe.versao for 4.0  faz o envio para o endereço da 3.0 e a consulta é executada na versao 4.0, parece que foi isso que ocorreu.

Conferindo no fonte das classes, a lógica seria ocorrer o inverso do que você descreveu, pois a validação é:

if FConhecimentos.Count > 0 then    // Tem CTe ? Se SIM, use as informações do XML
  FVersaoDF := DblToVersaoCTe(ok, FConhecimentos.Items[0].CTe.infCTe.Versao)
else
  FVersaoDF := FPConfiguracoesCTe.Geral.VersaoDF;

Desta forma, se você configura VersaoDF como 3.00 e atribui infCTe.versao como 4.00, o componente vai considerar a versão como sendo 4.00 e fazer o envio nesta versão.

Por favor, qual foi a mensagem de erro que você recebeu?

Se ela foi:

Citar

Elemento cteCabecMsg inexistente no SOAP Header

Isso pode estar relacionado ao parâmetro do modo de envio passado para o componente.

A versão 4.0 não tem envio assíncrono.

Na Rev-30463 foi feita uma alteração visando deixar isso automático quando configurado na versão 4.0. Por favor, verifique se seus fontes estão atualizados, em dia com o SVN e sem alterações locais.

 

Em 01/09/2023 at 12:19, fefevilela disse:

porisso achei pertinente perguntar se a existencia de duas configurações são para atendimento a um propósito ou se está mesmo como ambiguidade.

As duas configurações parecem ser semelhantes, mas atendem a propósitos diferentes.

  • InfCte.versao define a versão do arquivo XML
  • VersaoDF define a versão do web service que vai ser enviado o XML.

Conforme citado anteriormente, no demo VersaoDF é usada para preencher infCTe.versao, mas isso é apenas uma questão de comodidade.

Isso não ocorre atualmente, mas da forma como está com essas duas configurações, você tem liberdade para que, por exemplo, se a Sefaz resolver criar um web service único que possa receber XMLs de todas as versões anteriores, não precise de alteraçã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 !!

  • Membros Pro
Postado

Olá. Você está correto na afirmação que quando seta 4.0 ele envia pro endereço correto porém a consulta do processamento é que aciona o endereço da 3.0

Foi isso que detectei no dia.

 

Vou tentar repetir o erro em detalhes, mas com certeza foi esse o comportamento do componente 

  • Curtir 1

Luis Fernando Vilela

Open Data Informatica Ltda

  • Consultores
Postado
Em 15/09/2023 at 13:02, fefevilela disse:

Olá. Você está correto na afirmação que quando seta 4.0 ele envia pro endereço correto porém a consulta do processamento é que aciona o endereço da 3.0

Foi isso que detectei no dia.

 

Vou tentar repetir o erro em detalhes, mas com certeza foi esse o comportamento do componente 

Bom dia!

Na Consulta de Recibo, também é considerado a informação da versão do XML carregado.

image.png

 

  • Obrigado 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 !!

  • Membros Pro
Postado

Pessoal,
Conforme prometido, fiz a simulação usando os mesmos parametros ERRADOS de quando eu obtive essa anomalia.

Fui surpreendido que agora foi inserido uma nova validação que trata o problema e voces podem encerrar esse ticket.

Captura de tela 2023-09-18 112839.png

  • Curtir 1

Luis Fernando Vilela

Open Data Informatica Ltda

  • Consultores
Postado

Obrigado por reportar.

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

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

 

 

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