Então minha versão do ACBR e um pouco mais antiga e preciso incluir a nova TAG do QRCode para envio da NFCe.
Tem alguma maneira mais simples.
Segue o bloco de codigo onde deve assinar ?
Como alterar para incluir a TAG nesse procedimento.
procedure TNotasFiscais.Assinar;
var
i: Integer;
vAssinada : AnsiString;
ArqXML, Alertas: String;
Leitor: TLeitor;
FMsg : AnsiString;
begin
for i:= 0 to Self.Count-1 do
begin
Self.Items.GerarXML(ArqXML, Alertas, False);
Self.Items.Alertas := Alertas;
{$IFDEF ACBrNFeOpenSSL}
if not(NotaUtil.Assinar(ArqXML, FConfiguracoes.Certificados.Certificado , FConfiguracoes.Certificados.Senha, vAssinada, FMsg)) then
raise EACBrNFeException.Create('Falha ao assinar Nota Fiscal Eletrônica '+
IntToStr(Self.Items.NFe.Ide.nNF)+FMsg);
{$ELSE}
if not(NotaUtil.Assinar(ArqXML, FConfiguracoes.Certificados.GetCertificado , vAssinada, FMsg)) then
raise EACBrNFeException.Create('Falha ao assinar Nota Fiscal Eletrônica '+
IntToStr(Self.Items.NFe.Ide.nNF)+FMsg);
{$ENDIF}
vAssinada := StringReplace( vAssinada, '<'+ENCODING_UTF8_STD+'>', '', [rfReplaceAll] );
vAssinada := StringReplace( vAssinada, '<?xml version="1.0"?>', '', [rfReplaceAll] );
Self.Items.XML := vAssinada;
Leitor := TLeitor.Create;
leitor.Grupo := vAssinada;
Self.Items.NFe.signature.URI := Leitor.rAtributo('Reference URI=');
Self.Items.NFe.signature.DigestValue := Leitor.rCampo(tcStr, 'DigestValue');
Self.Items.NFe.signature.SignatureValue := Leitor.rCampo(tcStr, 'SignatureValue');
Self.Items.NFe.signature.X509Certificate := Leitor.rCampo(tcStr, 'X509Certificate');
Leitor.Free;
if FConfiguracoes.Geral.Salvar then
FConfiguracoes.Geral.Save(StringReplace(Self.Items.NFe.infNFe.ID, 'NFe', '', [rfIgnoreCase])+'-nfe.xml', vAssinada);
if DFeUtil.NaoEstaVazio(Self.Items.NomeArq) then
FConfiguracoes.Geral.Save(ExtractFileName(Self.Items.NomeArq), vAssinada, ExtractFilePath(Self.Items.NomeArq));
end;
end;