-
Total de ítens
346 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Dfox postou
-
Componente TDprotetor liberação Terminal Periódica e Online
um tópico no fórum postou Dfox Classificados
Boa tarde estou desenvolvendo um componente de Liberação de software mais exemplo de uso, caso alguém tiver interesse em ajudar no projeto chamar no Skype [email protected] O componente tem a função de liberar Terminal, Periódica e Online. segue os prints -
Bom dia, vi neste post que o componente já atende as novas regras da sefaz e a tag xPag não achei, já existe no componente? https://www.projetoacbr.com.br/forum/topic/62101-nota-técnica-2020006-nfe-versão-120/
-
Hum, acho que começara em homologação a 1.20 03/05/2021 o jeito é esperar...
-
Bom dia Amarildo de Matos está difícil de entender essa sefaz aqui em homologação tenho que enviar assim <indPres>1</indPres> <indIntermed>0</indIntermed> pelo que entendi quando indPres = 1 não deveria informar a tag indIntermed estranho rsrsrs
-
Bom dia a todos, Alguém sabe me dizer como ficou a questão da NT 2020/006 já estão aplicando isso em produção, quando for indpres 1 deve informar o tag intermediador, o componente já tem o campo xPag? Obrigado a todos Att.
-
Assinando um aplicativo .exe com capicom
Dfox replied to Dfox's tópico in Object Pascal - Delphi & Lazarus
procedure TForm1.Button2Click(Sender: TObject); var Store: IStore3; CertsLista, CertsSelecionado: ICertificates2; CertDados: ICertificate; lSigner : ISigner2; SignedCode : ISignedCode; begin Store := CoStore.Create; Store.Open(CAPICOM_CURRENT_USER_STORE, 'My', CAPICOM_STORE_OPEN_READ_ONLY); CertsLista := Store.Certificates as ICertificates2; CertsSelecionado := CertsLista.Select('Certificado(s) Digital(is) disponível(is)', 'Selecione o Certificado Digital para uso no aplicativo', false); if not (CertsSelecionado.Count = 0) then begin CertDados := IInterface(CertsSelecionado.Item[1]) as ICertificate; SignedCode := CoSignedCode.Create; lSigner := CoSigner.Create; SignedCode.FileName := 'Aplicativo.exe'; lSigner.Certificate := CertDados; SignedCode.Sign(lSigner); SignedCode.TimeStamp('http://timestamp.digicert.com'); end; end; -
Bom dia skype Dfox.sistemas [email protected]
-
Fiz uma Dll para assinar pdf se você tiver interesse chama no pv!
-
Assinando um aplicativo .exe com capicom
um tópico no fórum postou Dfox Object Pascal - Delphi & Lazarus
Tendo a dll capicom.dll registra ela com comando regsvr32 capicom.dll No Delphi : acesse, dentro do menu Component, a opção Import Component Na janela que aparece, selecione Import a Type Library e pressione Next para gerar a Unit CAPICOM_TLB.pas inclua no projeto uses CAPICOM_TLB; agora em um botão coloca o seguinte código procedure TForm1.Button1Click(Sender: TObject); var Certificado: ICertificate2; lSigner : ISigner2; SignedCode : ISignedCode; begin {Assina um exe Digitalmente} try Certificado := CoCertificate.Create; SignedCode := CoSignedCode.Create; lSigner := CoSigner.Create; Certificado.Load('Certificado.pfx', 'senhacertificado', CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME, CAPICOM_STORE_OPEN_READ_ONLY); SignedCode.FileName := 'Aplicativo.exe'; lSigner.Certificate := Certificado; SignedCode.Sign(lSigner); SignedCode.TimeStamp('http://timestamp.digicert.com'); finally end; end; Obs: Postei aqui porque não achei isso em lugar algum na net e queria deixar registrado! -
Com Capicom acho que é possível veja dá até para assinar um .exe https://www.sysadmins.lv/retired-msft-blogs/alejacma/how-to-sign-exe-files-with-an-authenticode-certificate-part-2.aspx
-
esse componente parece fazer o que você quer https://www.gnostice.com/nl_article.asp?id=268&t=Generating_Digitally_Signed_PDF_Documents_In_Delphi
-
Essa tag xPag já existe no componente Acbr?
-
Obrigado achei removi esse linha ACBrCTe1.dacte.PathPDF := edtPathLogs.text; e resolveu!
-
Boa tarde estou configurando o componente assim e o pdf só salva em pasta camada tmp o que será que pode ser? ACBrCTeDACTeRL1.UsaSeparadorPathPDF := True; ACBrCTeDACTeRL1.PathPDF := ExtractFilePath(ParamStr(0)) + 'PDF\';
-
Bom dia fiz uma pequena mudança na configuração e enviou normal para o Hotmail veja procedure TfrmACBrNFe.ConfigurarEmail; begin ACBrMail1.Host := edtSmtpHost.Text; ACBrMail1.Port := edtSmtpPort.Text; ACBrMail1.Username := edtSmtpUser.Text; ACBrMail1.Password := edtSmtpPass.Text; ACBrMail1.From := edtSmtpUser.Text; ACBrMail1.SetSSL := False;//cbEmailSSL.Checked; // SSL - Conexao Segura ACBrMail1.SetTLS := cbEmailSSL.Checked; // Auto TLS ACBrMail1.ReadingConfirmation := False; // Pede confirmacao de leitura do email ACBrMail1.UseThread := False; // Aguarda Envio do Email(nao usa thread) ACBrMail1.FromName := 'Projeto ACBr - ACBrNFe'; end; ACBrMail1.SetSSL := False;//cbEmailSSL.Checked; // SSL - Conexao Segura so mudei o SSL para false
-
Bom dia pode fechar o tópico, não há bug nenhum, eu estava selecionando um certificado errado rsrs esta tudo 100% Resolvido.
-
Hum isso parece ser um bug do componente, isso será corrigido?
-
Obrigado por reportar, as configuração estão corretas. eu ia migrar para o AcbrEmail, mais por enquanto vou continuar com minha Unit que esta enviando sem problemas veja como estou fazendo! procedure Tfrmnotafiscal_menu.bt_nfe_emailClick(Sender: TObject); var Para: string; sXML, sPDF, sXMLPDF: string; bservSsl: Boolean; email: TEmail; dests : TStringList; begin try sXML := qrnota.fieldbyname('nfe_xml').AsString; if FileExists(IfExtraiXmlnf(sXML,qrnota)) then begin {frmmodulo.qrconfig.Open;} if edtSmtpHost.Text = '' then begin Application.MessageBox('Favor configurar a conta de email!', 'Erro', mb_ok + mb_iconerror); exit; end; query.Close; query.SQL.Clear; query.SQL.Add('select EMAIL from c000004'); query.SQL.Add('where codigo = ''' + qrnota.fieldbyname('codfilial').AsString + ''''); query.Open; ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromFile(sXML); ACBrNFeDANFEFR1.Site := query.fieldbyname('EMAIL').AsString; // Verifica se é NFE ou NFC-e if ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.modelo = 65 then begin ACBrNFe1.DANFE := ACBrNFeDANFCEFR1; ACBrNFeDANFCEFR1.ACBrNFe := ACBrNFe1; // Linha inserida para corrigir problema de impressao do numero do protocolo na nfe. ACBrNFeDANFCEFR1.Protocolo := ''; ACBrNFe1.DANFE.TipoDANFE := tiNFCe; ACBrNFeDANFCEFR1.FonteTributos := 'IBPT'; //Fonte do cauculo dos impostos ACBrNFeDANFCEFR1.FastFile := ExtractFilePath(ParamStr(0)) + 'Nfe\Report\' + cbDanfeNFCe.Text + '.fr3'; end else if ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.modelo = 55 then begin ACBrNFe1.DANFE := ACBrNFeDANFEFR1; ACBrNFeDANFEFR1.ACBrNFe := ACBrNFe1; // Linha inserida para corrigir problema de impressao do numero do protocolo na nfe. ACBrNFeDANFEFR1.Protocolo := ''; ACBrNFe1.DANFE.TipoDANFE := tiRetrato; ACBrNFeDANFEFR1.FonteTributos := 'IBPT'; //Fonte do cauculo dos impostos ACBrNFeDANFEFR1.FastFile := ExtractFilePath(ParamStr(0)) + 'Nfe\Report\DANFeRetrato.fr3'; end; ACBrNFe1.NotasFiscais.ImprimirPDF; sPDF:= StringReplace(StringReplace(sXML,'Nfe', 'PDF',[]), '.xml', '.pdf',[]); sXMLPDF := sXML + '|'+ sPDF; qrNFE_Cliente.Close; qrNFE_Cliente.sql.clear; qrNFE_Cliente.sql.add('select email from c000007'); qrNFE_Cliente.sql.add('where codigo = ''' + qrnota.fieldbyname('codcliente').AsString + ''''); qrNFE_Cliente.Open; Para := qrNFE_Cliente.fieldbyname('email').AsString; if Para = '' then begin Para := InputBox('Email', 'Email do Cliente', ''); end; if Para = '' then exit; //Screen.Cursor := crAppStart; //Troca o cursor if (frmStatus = nil) then frmStatus := TfrmStatus.Create(Application); frmStatus.lblStatus.Caption := 'Enviando Email, Aguarde...'; frmStatus.Show; frmStatus.BringToFront; Application.ProcessMessages; {if frmmodulo.qrconfig.fieldbyname('email_exige_conexao').asinteger = 1 then bserv := True else bserv := False;} if cbEmailSSL.Checked then bservSsl := True else bservSsl := False; dests := TStringList.Create; dests.Clear; dests.Add(Para); email := TEmail.Create; {Envia o xml e o pdf} if email.EnviarEmail(edtnfe.text, edtSmtpUser.text, edtSmtpPass.text, edtSmtpHost.text, edtSmtpPort.text, edtEmailAssunto.text, '', //'c:\teste.html', bservSsl, true, dests, nil, nil, mmEmailMsg.Lines, sXMLPDF) then begin //Screen.Cursor := crDefault; //Volta o cursor frmStatus.Hide; Application.MessageBox('Email enviado com sucesso!', 'Aviso', mb_ok + MB_ICONINFORMATION); end else begin //Screen.Cursor := crDefault; //Volta o cursor frmStatus.Hide; Application.MessageBox ('Houve falha no envio deste email... Favor Verificar o endereço do Cliente!', 'Atenção', mb_ok + mb_iconerror); end; dests.Free; email.Free; end else begin Application.MessageBox('Arquivo XML não encontrado!', 'Erro', mb_ok + mb_iconerror); exit; end; except on E: exception do begin Application.MessageBox(PChar('Erro ao criar/imprimir NFe!' + #13 + 'Mensagem: ' + E.message), 'Erro', mb_ok + mb_iconerror); end; end; end; segue a Unit em anexo abraços. email.pas
-
Sim, Tenta Loadfromstring
-
Sim isso ocorre na minha aplicação também, estou usando o delphi xe2, Aquele primeiro botão retorna o número de série normal, mas o segundo retorna 01.
-
Boa note O ACBrNFe_Exemplo não esta pegando o numero de serie correto do certificado esta retornando apenas o numero 01 mais alguém com esse problema? segue a imagem
-
Boa noite estou testando o ACBrNFe_Exemplo para envio de e-mail do xml, e esta me dando o seguinte erro SMTP Error: Unable to Login , o mais estranho é que uso uma Unit que eu fiz para envio de e-mail e envia 100%. o que será que pode ser?
-
Sistema com apenas uma instancia e restaura form
Dfox replied to Dfox's tópico in Object Pascal - Delphi & Lazarus
na verdade o código final ficou assim var Handle, HandleId: THandle; // Evita carga dupla da aplicacao begin Handle := CreateMutex(nil, True, 'Dfox'); if GetLastError = ERROR_ALREADY_EXISTS then begin MessageDlg('O Sistema Dfox já está em execução', mtInformation, [mbOK], 0); HandleId := FindWindow('TfrmPrincipal',nil); if not IsWindowVisible(Handle) then begin ShowWindow(HandleId, SW_RESTORE); SetForegroundWindow(HandleId); end; if Handle <> 0 then CloseHandle(Handle); Application.Terminate; exit; end; end; -
Sistema com apenas uma instancia e restaura form
Dfox replied to Dfox's tópico in Object Pascal - Delphi & Lazarus
de momento consegui resolver assim var MutexHandle: THandle; hwind:HWND; MutexHandle := CreateMutex(nil, True, 'Dfox'); if MutexHandle <> 0 then begin if GetLastError = ERROR_ALREADY_EXISTS then begin MessageDlg('O Sistema Dfox já está em execução', mtInformation, [mbOK], 0); CloseHandle(MutexHandle); hwind := 0; repeat hwind := FindWindowEx(0,hwind,'TApplication','TfrmPrincipal'); until (hwind<>Application.Handle); if (hwind<>0) then begin ShowWindow(hwind,SW_SHOWNORMAL); SetForegroundWindow(hwind); end; Halt; end end; -
Sistema com apenas uma instancia e restaura form
Dfox replied to Dfox's tópico in Object Pascal - Delphi & Lazarus
Daniel valeu pela força, a função não deu certo!
