boa tarde a todos estou comum pequeno problema que é o seguinte ao tentar manifestar uma nota fiscal ta dando o seguinte erro
Cnpj base docertificado difere do certificado do emitente
uso as seguintes rotinas
4 empresas cadastradas o banco de dados
para selecionar o certificado certo uso a seguinte rotina
procedure TF_Importador.configuracoes;
begin
dm.empresa2.Locate('CODEMP', lblcod.Caption,[]);
Dm.Acbrnfe1.NotasFiscais.Clear;//tentaiva de resolver o problema
if dm.empresa2TP_AMB_NFE.AsString = '1' then
begin
dm.ACBrNFe1.Configuracoes.WebServices.Ambiente := taProducao;
end
else
if dm.empresa2TP_AMB_NFE.AsString = '2' then
begin
dm.ACBrNFe1.Configuracoes.WebServices.Ambiente := taHomologacao;
end;
//=======salva ou não salva
if dm.empresa2SALVA_XML.AsString = 'S' then
begin
dm.ACBrNFe1.Configuracoes.Geral.Salvar := True;
end
else
if dm.empresa2SALVA_XML.AsString = 'N' then
begin
dm.ACBrNFe1.Configuracoes.Geral.Salvar := False;
end;
//=======fimde salva ou não salva
dm.ACBrNFe1.Configuracoes.Certificados.Senha := trim(dm.Empresa2SENHA_CERT.AsString);
dm.ACBrNFe1.Configuracoes.Certificados.NumeroSerie := trim(dm.Empresa2NUMSERIE_CERT.AsString);
// dm.ACBrNFe1.Configuracoes.Geral.Salvar := False;
dm.ACBrNFe1.Configuracoes.Geral.PathSalvar := dm.Empresa2CAMINHOXML.AsString;
dm.ACBrNFe1.Configuracoes.WebServices.UF := dm.Empresa2UF_WEBSERVER.AsString;
dm.ACBrNFe1.Configuracoes.WebServices.ProxyHost := dm.Empresa2HOST_PROXY.AsString;
dm.ACBrNFe1.Configuracoes.WebServices.ProxyPort := dm.Empresa2PORTA_PROXY.AsString;
dm.ACBrNFe1.Configuracoes.WebServices.ProxyUser := dm.Empresa2USER_PROXY.AsString;
dm.ACBrNFe1.Configuracoes.WebServices.ProxyPass := dm.Empresa2SENHA_PROXY.AsString;
end;
//para outras rotinas como consulta funciona muito bem as configurações porem para manifestar ta dando erro.
procedure que manifesta a nfe
procedure TF_Importador.SpeedButton1Click(Sender: TObject);
var
Chave, idLote, CNPJ: string;
lMsg: string;
begin
configuracoes;
idLote := InttoStr(Dm.inc_gen('GEN_LOTE_MANIF_ID'));
Chave:='';
CNPJ := '';
Chave := trim(DM.XmlNfeCHAVE.AsString);
showmessage(chave);
CNPJ := trim(DM.XmlNfeCNPJ_CPF.AsString);
showmessage(CNPJ);
dm.ACBrNFe1.EventoNFe.Evento.Clear;
with dm.ACBrNFe1.EventoNFe.Evento.Add do
begin
infEvento.chNFe := Chave;
infEvento.CNPJ := CNPJ;
infEvento.dhEvento := now;
infEvento.tpEvento := teManifDestConfirmacao;
end;
dm.ACBrNFe1.EnviarEventoNFe(StrToInt(IDLote));
with dm.ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento do
begin
dm.XmlNfe.Edit;
dm.XmlNfePROTOC_XML.AsString := nProt;
dm.XmlNfeDT_MANIF.AsDateTime := dhRegEvento;
dm.XmlNfeXMOTIVO.AsString := xMotivo;
dm.XmlNfeMANIFESTADA.AsString := 'S';
dm.XmlNfe.ApplyUpdates(0);
lMsg:=
'Id: '+Id+#13+ //id de retorno
'tpAmb: '+TpAmbToStr(tpAmb)+#13+ //(taProducao, taHomologacao);
'verAplic: '+verAplic+#13+//versão do aplicativo
'cOrgao: '+IntToStr(cOrgao)+#13+ //valor inteiro
'cStat: '+IntToStr(cStat)+#13+ //valor do tipo inteiro
'xMotivo: '+xMotivo+#13+ //string
'chNFe: '+chNFe+#13+ //chave nfe
'tpEvento: '+TpEventoToStr(tpEvento)+#13+ // teManifDestConfirmacao, teManifDestCiencia, teManifDestDesconhecimento, teManifDestOperNaoRealizada);
'xEvento: '+xEvento+#13+ //string
'nSeqEvento: '+IntToStr(nSeqEvento)+#13+ //valor inteiro
'CNPJDest: '+CNPJDest+#13+ //cnpj do emitente//
'emailDest: '+emailDest+#13+//email destinatario
'dhRegEvento: '+DateTimeToStr(dhRegEvento)+#13+//data e hora da manifestação
'nProt: '+nProt; //numero de protocolo//
end;
ShowMessage(lMsg);
end;
alguem pode me ajudar