Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Pessoal,

 

Tenho 4 certificados de 4 empresas no meu pc e ao emitir a nota gostaria que viesse, por padrão, selecionado o certificado daquele CNPJ que estou emitindo, ao invés de rolar a tela e localizar a empresa. Tem alguma forma?

 

Grata,

Tathiana

Postado
13 minutos atrás, tathianam disse:

Tenho 4 certificados de 4 empresas no meu pc [...]
Tem alguma forma?

Crie um procedimento para isso. Salve os dados dos certificados em uma tabela, depois ao escolher o CNPJ, faça uma varredura nesta tabela em busca do serial do certificado.
Ex:

Var i:Integer;
    NomeArq:String;
begin
   NomeArq:= ExtractFilePath(ParamStr(0))+'listacert.xml';
   if  FileExists( NomeArq ) then
   begin
       TbCert.CreateDataSet;
       TbCert.Active:=True;
       TbCert.LoadFromFile( NomeArq );
   End else
   begin
       TbCert.CreateDataSet;
       TbCert.Active:=True;
   End;

   DM.NumerodeSerieCert:='';
   
   TbCert.First;
   i:= TbCert.RecordCount;
   
   if i>0 then
   while Not TbCert.eof do
   begin
        if OnlyNumber( TbCertCNPJ.Value ) = OnlyNumber( DM.CNPJFilial )  then
        begin
           DM.NumerodeSerieCert := TbCertSERIE.Value;
           break;
        end;
        TbCert.Next;
   end;
   if DM.NumerodeSerieCert<>'' then
   begin
      TbCert.Active:=False;
      Exit;
   end;
   
   // Caso não exista o arquivo .xml, será criado.
   ACBrNFe1.SSL.DescarregarCertificado;

   ACBrNFe1.SSL.LerCertificadosStore;
   if ACBrNFe1.SSL.ListaCertificados.Count<> i then
   begin
      i:=0;
      TbCert.EmptyDataSet;

      for I := 0 to ACBrNFe1.SSL.ListaCertificados.Count-1 do
      begin
          with ACBrNFe1.SSL.ListaCertificados do
          begin
               if (CNPJ <> '') and (Length(NumeroSerie) >= 16) then
               begin
                 TbCert.Append;
                 TbCertID.Value            := i;
                 TbCertSERIE.Value         := NumeroSerie;
                 TbCertCLIENTE.Value       := RazaoSocial;
                 TbCertCNPJ.Value          := CNPJ;
                 TbCertVALIDADE.Value      := DataVenc;
                 TbCertCERTIFICADORA.Value := Certificadora;
                 TbCertFLAG.Value := 0;
                 TbCert.Post;
              End;
          End;
     End;
   End;
   TbCert.First;
   if i>0 then
   TbCert.SaveToFile(NomeArq);
end;

_____________

Prates, Agnaldo

Postado

Agnaldo,

 

Obrigada pela função!

Depois disso basta informar apenas o n. do serial antes de chamar a função SSL.SelecionarCertificado? Você tem o nome da propriedade?

 

Grata,

 

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.