Ir para conteúdo
  • Cadastre-se

dev botao

Problemas com as tag indCanalVerde e indCarregaPosterior


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

Recommended Posts

Bom dia Pessoal,

Estou tentando fazer testes de homologação da MDF-e e após atualizar os componentes me deparei com uma falha durante a transmissão do MDF-e. Falha esta relacionadas as tags :  indCanalVerde  e indCarregaPosterior  onde o componente cria automaticamente e atribui o valor 1 a estas tags!

Como faço para que o componente não crie essas tag na hora da geração do XML da MDFe? Pois de acordo com o layout não é obrigatório essas tags.

 

 

MDFe000002764.XML

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Tatiane,

Você esta com todos os fontes de todas as pastas atualizados?

Após atualizar, reinstalou a Suite ACBr com o ACBrInstall_Trunk2 com a opção apagar arquivos antigos marcada?

Lhe pergunto isso, pois essas duas tags são inicializadas com o valor tiNao que faz com que as tags não sejam geradas no XML.

Só são geradas caso o valor das mesmas sejam tiSim.

Inicialização:

constructor TIde.Create;
begin
  inherited Create;
  FinfMunCarrega := TinfMunCarregaCollection.Create;
  FinfPercurso   := TinfPercursoCollection.Create;
  FindCanalVerde := tiNao;
  FindCarregaPosterior := tiNao;
end;

Geração das tags:

procedure TMDFeW.GerarIde;
begin
  Gerador.wGrupo('ide', '#004');
  Gerador.wCampo(tcInt, '#005', 'cUF', 02, 02, 1, MDFe.ide.cUF, DSC_CUF);
  if not ValidarCodigoUF(MDFe.ide.cUF) then
    Gerador.wAlerta('#005', 'cUF', DSC_CUF, ERR_MSG_INVALIDO);

(...)

  if (MDFe.infMDFe.versao >= 3) and (MDFe.ide.indCanalVerde = tiSim) then
    Gerador.wCampo(tcStr, '#027', 'indCanalVerde', 01, 01, 0, TindicadorToStr(MDFe.ide.indCanalVerde), DSC_INDCANALVERDE);

  if (MDFe.infMDFe.versao >= 3) and (MDFe.ide.indCarregaPosterior = tiSim) then
    Gerador.wCampo(tcStr, '#028', 'indCarregaPosterior', 01, 01, 0, TindicadorToStr(MDFe.ide.indCarregaPosterior), DSC_INDCARREGAPOSTERIOR);

  Gerador.wGrupo('/ide');
end;

 

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

  • Consultores

Tatiane,

As units que contem os fragmentos de códigos são: pmdfeMDFe.pas e pmdfeMDFeW.pas

Verifica se a sua aplicação, mais precisamente a rotina que alimenta o componente não esta atribuindo o valor tiSim a essas duas tags.

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

  • Consultores

Boa tarde Tatiane,

Neste caso será necessário "debugar" a sua aplicação para descobrir o que esta ocorrendo.

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

Italo,

é o seguinte rodei com debug e nao sei por qual motivo esta passando 2 vezes nestas linhas:

  if (MDFe.infMDFe.versao >= 3) and (MDFe.ide.indCanalVerde = tiSim) then
    Gerador.wCampo(tcStr, '#027', 'indCanalVerde', 01, 01, 0, TindicadorToStr(MDFe.ide.indCanalVerde), DSC_INDCANALVERDE);

  if (MDFe.infMDFe.versao >= 3) and (MDFe.ide.indCarregaPosterior = tiSim) then
    Gerador.wCampo(tcStr, '#028', 'indCarregaPosterior', 01, 01, 0, TindicadorToStr(MDFe.ide.indCarregaPosterior), DSC_INDCARREGAPOSTERIOR);

A primeira vez a tag indCarregaPosterior  esta atribuido o valor tiNao e na segunda vez já vem atribuido tiSim.

Ja analisei minha rotina e só gera o mdf-e uma vez só pelo comando:  ACBrMDFe1.Manifestos.GerarMDFe;

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Tatiane,

Porque você esta executando o método GerarMDFe?

O método Enviar executa o método Assinar que por sua vez gera o MDFe.

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

  • Consultores
  • Solution

Tatiane,

Favor atualizar os fontes e faça novos testes.

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

  • Consultores

Obrigado por reportar.

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

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

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