Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 30-10-2014 em Posts

  1. Alguém sabe me explicar como funciona o RECOPI? É um único credenciamento por empresa ou o número é por produto? No layout da NFe 3.00 pode existir uma ocorrência de 0-8 Não sei em qual cadastro colocar esse RECOPI: se no cadastro de empresa, se no cadastro de produto ou .... Tenho um cliente do segmento gráfico que ainda não tem o credenciamento RECOPI mas terá a partir de junho/2014 e eles também não sabem ao certo como funciona.
    1 ponto
  2. Fiquei confuso... qual é o modelo de TEF que você está usando no ACBrTEFD ? Com a CliSiTef.DLL não há necessidade de confirmar uma transação para poder enviar outra (assim como ocorre no discado) Ou seja, você pode deixar todas as transações pendentes... sobe o mesmo numero de Cupom... Quando confirmar ele confirma todas pendentes... (commit) Quando enviar a Não confirmação ele desfaz todas as transações pendentes... (rollback)
    1 ponto
  3. Olá Fábio, Fiz exatamente isso, coloquei a chave de referencia e deu tudo certo com a nota de devolução, é que foram feitas muitas mudanças e ajustes na NFe e eu estava tendo dificuldade de compreender o novo esquema. Mas agora está tudo funcionando 100%. Grato pela atenção, João Antonio Batista
    1 ponto
  4. Boa tarde a todos, É com grande satisfação que comunico o inicio da publicação de Manuais e Notas Técnicas referentes aos Componentes ACBr. Inicialmente encontra disponível apenas a Nota Técnica 2014/001 que se refere a nomenclatura dos arquivos XML e PDF dos componentes ACBrNFe, ACBrCTe e ACBrMDFe. Alguns desses arquivos vão sofrer alterações nos nomes, por favor baixe e leiam a NT. Convido a todos que ajudam no desenvolvimento, bem como os que utilizam os componentes, a escreverem manuais sobre os mesmos. Podemos dividir o manual em 4 partes: 1. apresentação do componente, qual é a sua finalidade; 2. como configura-lo; 3. quais são as suas funcionalidades; 4. dicas de como usa-lo. Quero ver o nome de vocês na tabela de controle de versões dos manuais.
    1 ponto
  5. Oi Graça, as ferramentas CnWizards e GExperts instalado na IDE do delphi tem esse recurso.
    1 ponto
  6. Oi JNP... Já falei com eles... Devo receber o SAT em até 10 dias..
    1 ponto
  7. Boa tarde Alexandre, Muito obrigado pela colaboração, já esta incluído.
    1 ponto
  8. Você pode utilizar o FastReport que já vem com o Delphi, basta baixar o instalador ou baixar o Fortes Report diretamente do SVN deles no source forge e instalar manualmente. Depois basta rodar o acbrinstall e instalar o ACBr.
    1 ponto
  9. Tiago, Por favor, post somente em um único lugar, inclusive já fiz uma alteração no componente, disponibilizei, favor atualizar e testar novamente.
    1 ponto
  10. Bom dia a todos, Desculpem as vezes eu sou chato em algumas respostas, isso é devido a minha infância, onde não tínhamos internet e se desejássemos informações precisas, só encontraríamos nos livros. Notem que a grande maioria das minhas respostas faço referencia aos Manuais e Notas Técnicas. Se tivermos o habito de visitar o Portal Nacional da NF-e em busca de novidades, sempre estaremos atualizados. Acredito que o maior problema não é quando iniciar a emitir na nova versão e sim estar com a aplicação pronta e testada para a nova versão. Se a aplicação já esta pronta e testada, ótimo, maravilha, basta agora determinar a data de inicio. Se esta testada (envio, consulta, etc...) significa que a SEFAZ-Autorizadora esta apta a recepcionar a NF-e na nova versão. Agora é preciso checar com os contadores dos seus clientes, se os programas de escrita fiscal e contábil já estão prontos para essa nova versão. Se possível checar com os clientes do seus clientes, se estão prontos para receber um XML na versão 3.10 Estando tudo OK, podemos sim antecipar o inicio e não esperar até o último dia.
    1 ponto
  11. Não sei se ajuda alguem porém aqui vai o código em C# que eu utilizo para gerar a assinatura. private void ReloadCerts() { var store = new System.Security.Cryptography.X509Certificates.X509Store(StoreName.My, StoreLocation.CurrentUser); store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly); this.certs = new List<X509Certificate2>(); this.cmbCertificado.Properties.Items.Clear(); var _certs = store.Certificates .Find(X509FindType.FindByTimeValid, DateTime.Now, true) .Find(X509FindType.FindByKeyUsage, X509KeyUsageFlags.DigitalSignature, true); foreach (var cert in _certs) { if (cert.HasPrivateKey) { this.certs.Add(cert); this.cmbCertificado.Properties.Items.Add(cert.GetNameInfo(X509NameType.SimpleName, false)); } } } private void btnGerar_Click(object sender, EventArgs e) { if (this.cmbCertificado.SelectedIndex >= 0) { var cert = this.certs[this.cmbCertificado.SelectedIndex]; //if (cert.Verify()) { var data = Encoding.UTF8.GetBytes(this.txtCNPJSoftwareHouse.Text + this.txtCNPJContribuinte.Text); RSACryptoServiceProvider csp = (RSACryptoServiceProvider)cert.PrivateKey; // cert = certificado X509 var sha = new SHA256Managed(); var hash = sha.ComputeHash(data); var encrypted = csp.SignHash(hash, CryptoConfig.MapNameToOID("SHA256")); this.txtAssinatura.Text = Convert.ToBase64String(encrypted); } } }
    1 ponto
  12. Use o F1 da sua IDE, sobre o método que não existe.... você verá algo como: PosEx function Returns the index value of a substring. Unit StrUtils Portanto... na sua Unit faltou: uses StrUtils;
    1 ponto
  13. Bom dia Daniel, consegui fazer a comunicação com o seguinte procedimento, desinstalei os drivers da impressora completamente e em seguida instalei novamente apenas seu driver e o driver da porta serial virtual, realizei a configuração na porta COM criada conforme a explicação no vídeo tutorial da bematech e funcionou normalmente. Obrigado!
    1 ponto
  14. Vc pode testar usando os WebServices do Amazonas - http://portalnfce.sefaz.am.gov.br/desenvolvedor/ambiente-de-homologacao-para-desenvolvedores/
    1 ponto
  15. Bom dia Atilio. Eu não utilizo o Firedac, mas sou do tempo do BDE/Paradox. Hoje eu utilizo DBExpress para Firebird/MySQL e Zeos para MySQL/PostgreSQL. O componente table fazia sentido no tempo do BDE/Paradox, pois era muito simples e fácil de implementar. Mas, quando vamos para um BD Client/Server, com controle transacional as coisas mudam de figura. Primeiro, ao dar um Open num Table, teoricamente todos os registros são retornados. Qual a vantagem disso? Em 99% dos casos nenhuma. Portanto, eu te aconselho a utilizar Query, colocando nos select's os nomes dos campos, nunca select * from ..., filtrando com where os campos desejados. É dessa forma que eu trabalho desde quando "saí" do BDE, por volta de 2002. desde essa época, nunca mais utilizei um componente table, somente Query. E eu fiz da seguinte forma, criei um "componente virtual" chamado TMySqlQuery, que, conforme a diretiva de compilação herda o Query do componente que estou trabalhando.. Exemplo: {$IFDEF DBX} TMySQLQuery = class(TSQLQuery) public constructor Create(ACnx: TSQLConnection; ASQL: string = ''); reintroduce; overload; constructor Create(ASQL: string = ''); reintroduce; overload; destructor Destroy; override; function ExecutarSQL: Boolean; end; {$ENDIF} {$IFDEF MDO} TMySQLQuery = class(TMDOQuery) public constructor Create(ACnx: TMDODatabase; ASQL: string = ''); reintroduce; overload; constructor Create(ASQL: string = ''); reintroduce; overload; destructor Destroy; override; function ExecutarSQL: Boolean; end; {$ENDIF} {$IFDEF ZEOSDB} TMySQLQuery = class(TZQuery) public constructor Create(ACnx: TZConnection; ASQL: string = ''); reintroduce; overload; constructor Create(ASQL: string = ''); reintroduce; overload; destructor Destroy; override; function ExecutarSQL: Boolean; end; {$ENDIF} Bom, fica aí a minha dica. Atenciosamente. PS: "componente virtual" : Eu não trabalho com componentes visuais para acesso a dados. Todos são criados e destruidos por mim via código.
    1 ponto
×
×
  • 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.

The popup will be closed in 10 segundos...