Jump to content

Delphi chamada_delphi.png acbr.png

C6 chamada_c6.png botao.png

Averbação de CT-e


  • Este tópico foi criado há 333 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Consultores

Olá Pessoal,

Normalmente as transportadora fazem seguro da carga que esta sendo transportada. A averbação é a declaração das mercadorias em estado de risco.

O que vai ser apresentado abaixo é como averbar um CT-e se utilizando do componente ACBrANe e a empresa responsável pela averbação será a AT&M.

 

A averbação de um CT-e é muito simples, os passos são:

1. Emitir o CT-e utilizando o componente ACBrCTe;

2. Averbar o CT-e utilizando o componente ACBrANe;

 

O programa exemplo do componente ACBrANe é bastante simples e de fácil compreensão.

Abaixo a rotina que alimenta o componente ACBrANe para realizar a averbação de um CT-e:

procedure TfrmACBrANe.AlimentarComponente(ANomeArq: String);
begin
  ACBrANe1.Documentos.Clear;

  with ACBrANe1.Documentos.Add.ANe do
  begin
    // ATM
    Usuario := ACBrANe1.Configuracoes.Geral.Usuario;
    Senha   := ACBrANe1.Configuracoes.Geral.Senha;
    codatm  := ACBrANe1.Configuracoes.Geral.CodATM;

    // ELT
    NomeArq := ExtractFileName(ANomeArq);
    CNPJ    := ACBrANe1.Configuracoes.Geral.CNPJEmitente;

    // ATM e ELT
    xmlDFe  := DocNFeCTe;
  end;
end;

O componente permite averbar documentos com a AT&M e ELT, como dito estamos exemplificando o processo com base na AT&M.

Para a AT&M precisamos informar o Usuário, Senha e o Código AT&M gerado para cada usuário.

A variável DocNFeCTe é do tipo string e ela contem o conteúdo do XML.

Detalhe importante: podemos averbar uma NF-e ou CT-e, nessa postagem estarei mostrando a averbação de um CT-e, logo o conteúdo da variável DocNFeCTe do programa exemplo vai conter o XML de um CT-e.

Após alimentar o componente com os dados necessários, basta executar o método Enviar, como é mostrado pela codificação do botão [Criar e Enviar] do programa exemplo.

 

A questão maior é quando o segurado possui coberturas adicionais em sua apólice tais como: Operação de carga e descarga, içamento de carga, contêiner, acessórios, entre outros.

No Manual da AT&M (WebService 2.0 - REST 1.1) temos no item 16.0 e subitens uma relação das coberturas adicionais e os seus valores padrões.

A titulo de exemplo vamos pegar a cobertura: Operação de Carga e Descarga.

O valor padrão é "N" ou seja o segurado não tem essa cobertura.

Caso o segurado venha a ter se faz necessário constar no XML do CT-e a informação que ele tem a cobertura para a Operação de Carga e Descarga.

Como fazer isso?

Vamos utilizar (conforme consta no manual da AT&M) o grupo de observação do contribuinte.

Exemplo genérico:

with compl.ObsCont.New do
begin
  xCampo := 'Nome do Campo';
  xTexto := 'Valor do Campo';
end;

Informando que o segurado tem cobertura para a Operação de Carga e Descarga na rotina que alimenta o componente ACBrCTe:

with compl.ObsCont.New do
begin
  xCampo := 'OCD';
  xTexto := 'S';
end;

Isso vai fazer com que ao gerar o XML do CT-e ele vai conter as tags:

<compl>
	<ObsCont xCampo =“OCD”>
		<xTexto>S</xTexto>
	</ObsCont>
</compl>

Vamos supor que o segurando além de ter a cobertura de Operação de Carga e Descarga tenha também a cobertura para içamento de carga da mercadoria.

with compl.ObsCont.New do
begin
  xCampo := 'OCD';
  xTexto := 'S';
end;
with compl.ObsCont.New do
begin
  xCampo := 'IC';
  xTexto := 'S';
end;

No XML teremos:

<compl>
	<ObsCont xCampo =“OCD”>
		<xTexto>S</xTexto>
	</ObsCont>
	<ObsCont xCampo =“IC”>
		<xTexto>S</xTexto>
	</ObsCont>
</compl>

Um XML com esses dados vai ser autorizado pela SEFAZ sem nenhum problema, uma vez que essas informações são observações do contribuinte informadas no XML de forma estruturada.

Ao enviar o XML do CT-e com essas tag para o webservice da AT&M ela identifica essas informações no XML e averba o CT-e levando em consideração as coberturas informadas.

Detalhe Importante:

O grupo ObsCont só pode ocorrer no XML no máximo 10 vezes (no exemplo acima temos 2 ocorrências), logo não informe uma cobertura que você não tenha ou com o seu valor padrão.

Exemplo: Se o segurado tenha uma cobertura para uma mercadoria especifica deverá constar no XML, caso contrario não informe.

<compl>
	<ObsCont xCampo =“MERCESPECIFICA”>
		<xTexto>S</xTexto>
	</ObsCont>
</compl>

 

Espero ter ajudado.

  • Like 2
  • Thanks 3
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

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.