Ir para conteúdo
  • Cadastre-se

dev botao

CTE : RECUPERAR CSTIcms do ARQUIVO XML


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

Recommended Posts

  • Membros Pro
Postado

Prezado Companheiros

Boa Tarde!

Inicialmente quero pedir desculpas se minha dúvida é muito simples.

Estou implementando uma rotina que lê o Arquivo XML do Conhecimento de Transporte Eletrônico e gera o Documento no Banco de Dados com suas respectivas Duplicatas no Contas a Pagar.

Uma das funções da rotina é recuperar a Situação Tributária do ICMS declarada no Arquivo XML ( 00,10,20,30,...90).

E justamente neste ponto eu estou cheio de dúvidas.
Até cheguei no seguinte caminho : CTe.imp.ICMS.SituTrib, mas não sei como seguir adiante.

Sabem os companheiros como posso recuperar a CST do Icms ?
 

  • Moderadores
  • Solution
Postado
15 minutos atrás, AnDes Sistemas disse:

Prezado Companheiros

Boa Tarde!

Inicialmente quero pedir desculpas se minha dúvida é muito simples.

Estou implementando uma rotina que lê o Arquivo XML do Conhecimento de Transporte Eletrônico e gera o Documento no Banco de Dados com suas respectivas Duplicatas no Contas a Pagar.

Uma das funções da rotina é recuperar a Situação Tributária do ICMS declarada no Arquivo XML ( 00,10,20,30,...90).

E justamente neste ponto eu estou cheio de dúvidas.
Até cheguei no seguinte caminho : CTe.imp.ICMS.SituTrib, mas não sei como seguir adiante.

Sabem os companheiros como posso recuperar a CST do Icms ?
 

Boa tarde,

através do programa exemplo do componente ACBrCTe você conseguirá solucionar essa questão. A única diferença é que ao invés de setar o enumerado, você vai checar o enumerado retornado e gravar no seu banco de dados.

  • Curtir 1

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

  • Membros Pro
Postado

Senhor Cleber

Bom Dia!

Baseado no Programa Exemplo eu criei a rotina conforme exibo logo abaixo.

Será que ficou correto ?

Grato

var
  stCstICMS : String;
begin
  // Ticket : 52595 : tento identificar a CST de ICMS que veio no Arquivo XML
  stCstICMS := '';
  if doc.CTe.Emit.enderEmit.UF = doc.CTe.Rem.enderReme.UF then
    begin
      if (doc.CTe.Imp.ICMS.ICMS00.CST = cst00) then
        stCstICMS := '00'
      else if (doc.CTe.Imp.ICMS.ICMS20.CST = cst20) then
        stCstICMS := '20'
      else if (doc.CTe.Imp.ICMS.ICMS45.CST = cst45) then
        stCstICMS := '45'
      else if (doc.CTe.Imp.ICMS.ICMS60.CST = cst60) then
        stCstICMS := '60'
      else if (doc.CTe.Imp.ICMS.ICMS90.CST = cst90) then
        stCstICMS := '90';
    end
  else
    begin
      if (doc.CTe.Imp.ICMS.ICMSOutraUF.CST = cst00) then
        stCstICMS := '00'
      else if (doc.CTe.Imp.ICMS.ICMSOutraUF.CST = cst20) then
        stCstICMS := '20'
      else if (doc.CTe.Imp.ICMS.ICMSOutraUF.CST = cst45) then
        stCstICMS := '45'
      else if (doc.CTe.Imp.ICMS.ICMSOutraUF.CST = cst60) then
        stCstICMS := '60'
      else if (doc.CTe.Imp.ICMS.ICMSOutraUF.CST = cst90) then
        stCstICMS := '90';
    end;

 

 

 

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