Charles Silveira
-
Total de ítens
8 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Charles Silveira
-
-
Boa tarde Italo,
O problema estava exatamente nesse trecho do código acima e o método Add não estava atribuindo os valores das propriedades e tivemos que usar a propriedade Items[0] para atribuir os respectivos valores e a integração do CT-e com Sefaz funcionou corrretamente.
Veja como ficou o código:
{with ACBrCTe.EventoCTe.Evento.New do
begin
infEvento.nSeqEvento := 1; // Para o Evento de Prestação do Serviço em Desacordo nSeqEvento sempre = 1
infEvento.chCTe := Copy(ACBrCTe.Conhecimentos.Items[0].CTe.infCTe.Id, 4, 44); //dtmNFEntradas.cdsManifestacao.FieldByName('NFE_CHAVE').AsString; //
infEvento.CNPJ := dtmMail.cdsFilial.FieldByName('CNPJ').AsString; // CNPJ do Tomador
infEvento.dhEvento := now;
infEvento.tpEvento := tePrestDesacordo;
infEvento.detEvento.xObs := trim(edtJustificativa.Text); // minimo 15, máximo 255 caracteres
infEvento.versaoEvento := '3.00';
end; }
//iLote := 1; // Numero do Lote do EventoACBrCTe.EventoCTe.Evento.Items[0].InfEvento.nSeqEvento := 1;
ACBrCTe.EventoCTe.Evento.Items[0].InfEvento.chCTe := Copy(ACBrCTe.Conhecimentos.Items[0].CTe.infCTe.Id, 4, 44);
ACBrCTe.EventoCTe.Evento.Items[0].InfEvento.CNPJ := dtmMail.cdsFilial.FieldByName('CNPJ').AsString;
ACBrCTe.EventoCTe.Evento.Items[0].InfEvento.dhEvento := now;
ACBrCTe.EventoCTe.Evento.Items[0].InfEvento.tpEvento := tePrestDesacordo;
ACBrCTe.EventoCTe.Evento.Items[0].InfEvento.detEvento.xObs := trim(edtJustificativa.Text);
ACBrCTe.EventoCTe.Evento.Items[0].InfEvento.versaoEvento := '3.00';ACBrCTe.EnviarEvento(1);
Muito obrigado pela ajuda.
-
Bom dia Italo,
Fizemos a atualização do CSV e instalamos com essa opção para remover os arquivos antigos e o erro continua. Quanto ao atributo tePrestDesacordo estamos passando esse valor código abaixo da nossa aplicação. Alguma outra sugestão?
with ACBrCTe.EventoCTe.Evento.Add do
begin
infEvento.nSeqEvento := 1; // Para o Evento de Prestação do Serviço em Desacordo nSeqEvento sempre = 1
infEvento.chCTe := Copy(ACBrCTe.Conhecimentos.Items[0].CTe.infCTe.Id, 4, 44); //dtmNFEntradas.cdsManifestacao.FieldByName('NFE_CHAVE').AsString; //
infEvento.CNPJ := dtmMail.cdsFilial.FieldByName('CNPJ').AsString; // CNPJ do Tomador
infEvento.dhEvento := now;
infEvento.tpEvento := tePrestDesacordo;
infEvento.detEvento.xObs := trim(edtJustificativa.Text); // minimo 15, máximo 255 caracteres
infEvento.versaoEvento := '3.00';
end;
//iLote := 1; // Numero do Lote do EventoACBrCTe.EnviarEvento(1);
-
Italo,
Desculpa a confusão, deixa explicar melhor para evitar ruido na comunicação: O componente foi instalado corretamente na primeira vez através desse instalador para implementar a solução de NF-e hoje está funcionando corretamente em nosso ambiente de produção, ou seja, a NF eletrônica está tudo 100% com o componente ACBr. No entanto, esse ano começamos a utilizar a manifestação de CT-e para informar o desacordo no recebimento do serviço e foi nessa integração com o Sefaz que reportei o erro no chamado. Entendeu o contexto? Nosso problema é apenas no componente ACBrCTe.
Mesmo com a NF-e funcionando corretamente, você recomenda essa reinstalação?
-
Boa tarde Italo,
Baixei o projeto do svn em 23.09 mas em nenhum momento realizei a instalação do ACBR. Tem alguma documentação com o passo a passo para poder executar o procedimento? O meu projeto já está buscando os fontes dentro da pasta C:\ComponentesSeattle\ACBR\Fontes\ACBrDFe\ACBrCTe. Seria possível fazer uma checagem para saber se estou dentro do padrão ou se está faltando alguma configuração?
-
Oi Juliana,
Não usei o demo estou usando o componente ACBR de dentro da nossa aplicação.
-
Pessoal, apenas corrigindo o código correto do atributo tpEvento é "610110" para o Desacordo e não "160110" como informei anteriormente.
Atenciosamente,
Charles Silveira
- 1
-
Bom dia,
Estou tendo erro de validação do XML ao enviar o evento de Desacordo conforrme a tela abaixo. Ao debugar o PcteEnvEventoCte.pas na linha 177 está montando o ID de forma errada visto que o campo Evento.Items[0].InfEvento.TipoEvento está retornando "-99999" ao invés de possuir o código "160110" conforme o manual. Poderiam auxiliar na identificação da causa raiz desse problema? E qual a solução nativa do ACBR? Além disso no mesmo trecho de código ao validar o valor dos campos identifiquei que o Evento.Items[0].InfEvento.dhEvento está com a data errada também 30.12.1890 e o campo Evento.Items[0].infEvento.CNPJ está vindo com o número da matriz e não da filial que foi contra quem foi emitida a CTE.
Código dessa Unit:
Evento.Items[0].InfEvento.Id := 'ID'+ Evento.Items[0].InfEvento.TipoEvento +
OnlyNumber(Evento.Items[0].InfEvento.chCTe) +
Format('%.2d', [Evento.Items[0].InfEvento.nSeqEvento]);Mensagem de erro:
Desde já gradeço o apoio de vocês.
Atenciosamente,
Charles Silveira
CTE - Erro de validação do XML ao enviar evento de desacordo
em ACBrCTe
Postado · Editado por Charles Silveira
Boa tarde BigWings,
Realmente o objeto já havia sido criado para atribuir o ambiente e sua dica funcionou com sucesso.
Muito obrigado pelo rápido retorno e pela dica.
Abraço,
Agora o código ficou assim:
ACBrCTe.EventoCTe.Evento.Clear;
with ACBrCTe.EventoCTe.Evento.Add do
begin
infEvento.nSeqEvento := 1; // Para o Evento de Prestação do Serviço em Desacordo nSeqEvento sempre = 1
infEvento.chCTe := Copy(ACBrCTe.Conhecimentos.Items[0].CTe.infCTe.Id, 4, 44); //dtmNFEntradas.cdsManifestacao.FieldByName('NFE_CHAVE').AsString; //
infEvento.CNPJ := dtmMail.cdsFilial.FieldByName('CNPJ').AsString; // CNPJ do Tomador
infEvento.dhEvento := now;
infEvento.tpEvento := tePrestDesacordo;
infEvento.detEvento.xObs := trim(edtJustificativa.Text); // minimo 15, máximo 255 caracteres
infEvento.versaoEvento := '3.00';
end;
//iLote := 1; // Numero do Lote do Evento
}
ACBrCTe.EnviarEvento(1);