Meu código:
if ACBrCTE.Configuracoes.Certificados.NumeroSerie = '' then
begin
SerieCertificado := ACBrCTE.SSL.SelecionarCertificado;
end;
ACBrCTE.EventoCTE.Evento.Clear;
VCNPJ := cdsEmpresaPessoa.FieldValues['CPF_CNPJ'];
VCNPJ := StringReplace(VCNPJ, '.','',[rfReplaceAll]);
VCNPJ := StringReplace(VCNPJ, '/','',[rfReplaceAll]);
VCNPJ := StringReplace(VCNPJ, '-','',[rfReplaceAll]);
with ACBrCTE.EventoCTE.Evento.Add do
begin
infEvento.chCTe := CDSCTEletronico.FieldByName('CHAVE_ACESSO').AsString;
infEvento.CNPJ := VCNPJ;
infEvento.dhEvento := now;
infEvento.tpEvento := teCCe;
infEvento.nSeqEvento := FCartaCorrecaoCTE.EditSequencia.Value;
infEvento.detEvento.xCondUso := '';
ACBrCTe.EventoCTe.Evento.Items[0].InfEvento.detEvento.infCorrecao.Clear;
FCartaCorrecaoCTE.CDSCorrecoes.First;
while not(FCartaCorrecaoCTE.CDSCorrecoes.Eof) do
begin
with ACBrCTe.EventoCTe.Evento.Items[0].InfEvento.detEvento.infCorrecao.Add do
begin
grupoAlterado := FCartaCorrecaoCTE.CDSCorrecoes.FieldByName('GRUPOALTERADO').AsString;
campoAlterado := FCartaCorrecaoCTE.CDSCorrecoes.FieldByName('CAMPOALTERADO').AsString;
valorAlterado := FCartaCorrecaoCTE.CDSCorrecoes.FieldByName('VALORALTERADO').AsString;
nroItemAlterado := FCartaCorrecaoCTE.CDSCorrecoes.FieldByName('ITEMALTERADO').AsInteger;
//ShowMessage(IntToStr(nroItemAlterado) + grupoAlterado + campoAlterado);
end;
FCartaCorrecaoCTE.CDSCorrecoes.Next;
end;
end;
ACBrCTE.EnviarEvento(1);
FCartaCorrecaoCTE.Release;