Ir para conteúdo
  • Cadastre-se

dev botao

IDENTIFICAR GRUPO ICMS NO LOADFROMFILE


Ver Solução Respondido por fabiofranzini,

Recommended Posts

Bom dia.

Atualmente eu uso o componente do ACBR para importação de XMLs através do ACBrCTE1.Conhecimentos.LoadFromFile(). Funciona bem.
Minha dificuldade é a seguinte: nem todo CTE tem o mesmo grupo de icms. Alguns são ICMS00, outro é ICMS45 e etc.
Se eu tentar carregar ou checar algum desses da seguinte forma:
  if Assigned(ACBrCTE1.Conhecimentos.Items[0].CTe.imp.ICMS.ICMS00) then ...

ou

  if ACBrCTE1.Conhecimentos.Items[0].CTe.imp.ICMS.ICMS00 = CST00 then ...
Nos dois casos ele retorna verdadeiro mesmo que o CTE não use o ICMS00

Sabem me indicar se há uma forma correta/confiável de fazer essa checagem?

Link para o comentário
Compartilhar em outros sites

  • Solution

Não é a tag    'imp.ICMS.SituTrib'    que define isto: 

 

  TpcnCSTIcms = (cst00, cst10, cst20, cst30, cst40, cst41, cst45, cst50, cst51,
                 cst60, cst70, cst80, cst81, cst90, cstPart10, cstPart90,
                 cstRep41, cstVazio, cstICMSOutraUF, cstICMSSN, cstRep60,
                 cst02, cst15, cst53, cst61);    

 

Sabendo o conteudo dela, já não saberia qual grupo foi utilizado ?

Link para o comentário
Compartilhar em outros sites

23 horas atrás, fabiofranzini disse:

Não é a tag    'imp.ICMS.SituTrib'    que define isto: 

 

  TpcnCSTIcms = (cst00, cst10, cst20, cst30, cst40, cst41, cst45, cst50, cst51,
                 cst60, cst70, cst80, cst81, cst90, cstPart10, cstPart90,
                 cstRep41, cstVazio, cstICMSOutraUF, cstICMSSN, cstRep60,
                 cst02, cst15, cst53, cst61);    

 

Sabendo o conteudo dela, já não saberia qual grupo foi utilizado ?

Boa tarde.
Consegui solucionar a questão com a sua sugestão. Através do CST da para saber sim o grupo. Obrigado pela ajuda.

A quem interessar, descobri um outro método que pode solucionar e possivelmente ser um pouco mais amplo.

Usando ACBrCTE1.Conhecimentos.Items[0].CTe.XML.Contains('<NomeDaTagXML>') é possível verificar se existe, ou não, uma tag no XML carregado. O único problema é quando houverem tags com o mesmo nome, que daí pode ocasionar algum erro.

Mas para as tags únicas ajuda identificar se existe ou não. Implementei esse método na mesma rotina de importação para verificar se existia toma3 ou toma4 e funcionou de acordo com o esperado

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

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

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

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.