Ir para conteúdo
  • Cadastre-se

Ademir P. Voigt

Membros
  • Total de ítens

    176
  • Registro em

  • Última visita

Tudo que Ademir P. Voigt postou

  1. Pessoal, boa tarde! Minha dificuldade é a seguinte em uma Impressora fiscal Bematech MP 4000 TH F1: Referente ao Procedimento DadosUltimaReducaoZ, estou tendo problemas em dois casos bem isolados para armazenar os dados da redução Z para fins de sped fiscal: // dados gerais MyTbReducoesNumeroCOOInicial.AsString := ReducaoZ.NumeroCOOInicial; NumeroCOOInicial, não retorna nenhum valor para posta em minha tabela. Em Meios de Pagameto também não obtenho resultado algum: // MEIOS DE PAGAMENTO ****************************************************** MyTbecf_dados_reducao_ecf_dados_reducao_meiosdepagamento.Active := true; for I := 0 to ReducaoZ.MeiosDePagamento.Count - 1 do begin with ReducaoZ.MeiosDePagamento[I] do begin MyTbecf_dados_reducao_ecf_dados_reducao_meiosdepagamento.Insert; MyTbecf_dados_reducao_ecf_dados_reducao_meiosdepagamentoreducao_id. AsInteger := MyTbReducoesid.AsInteger; MyTbecf_dados_reducao_ecf_dados_reducao_meiosdepagamentoIndice.AsString := Indice; MyTbecf_dados_reducao_ecf_dados_reducao_meiosdepagamentoDescricao.AsString := Descricao; if PermiteVinculado = true then begin MyTbecf_dados_reducao_ecf_dados_reducao_meiosdepagamentoPermiteVinculado. AsInteger := 1; end else begin MyTbecf_dados_reducao_ecf_dados_reducao_meiosdepagamentoPermiteVinculado. AsInteger := 0; end; MyTbecf_dados_reducao_ecf_dados_reducao_meiosdepagamentoData. AsDateTime := Data; MyTbecf_dados_reducao_ecf_dados_reducao_meiosdepagamentoTipoDoc.AsString := TipoDoc; MyTbecf_dados_reducao_ecf_dados_reducao_meiosdepagamento.Post; end; end; Existe alguma outra forma de conseguir os dados das formas de pagamento?
  2. Bom dia! Já testei aqui e validou perfeitamente. Obrigado ao forum mais uma vez, em especial ao Regys pela tenção dispensada ao caso.
  3. Isso mesmo! Olha o que eu descobri com esse comando: ShowMessage(ACBrNFe1.SSL.CertCNPJ); Ele traz o meu CPF, pois sou o responsável pela razão social da empresa. Por isso que a comparação está retornando erro, que no meu caso, realmente ocorre. Por isso que deveria ter uma forma de dizer ao acbr para não comparar. Vi em um topico, do dia 06/12/15 postado por Daniel Simoes que existe uma forma, mas não declara como fazer. Deve estar ainda em implementação.
  4. Ademir P. Voigt

    COMPARAÇÃO DE CNPJ

    Boa Tarde pessoal! Seguinte, implementamos em nosso sistema a opção para o cliente escolher entre openSSL ou Capicom. Esta funcionando! O problema: No caso dos meus testes aqui, não está sendo possível comparar o CNPJ do emitente com o CNPJ do certificado, no caso um A1 enviando ao componente dessa forma: ACBrNFe1.Configuracoes.Geral.SSLLib := libOpenSSL; ACBrNFe1.Configuracoes.Certificados.ArquivoPFX := 'C:\certaGestor\NFe\CERTA.pfx'; ACBrNFe1.Configuracoes.Certificados.Senha := '*******'; Outro passo é renomear o arquivo tiposBasico_v3.10_OPENSSL.xsd para tiposBasico_v1.03.xsd. O erro que recebo é o seguinte: "Erro ao Assinar. O XML informado possui CNPJ diferente do Certificado Digital" Para resolver isso, eu fui ao arquivo C:\ACBr\Fontes\ACBrDFe\ACBrNFe\ACBrNFeNotasFiscais.pas e comentei as linhas 256 e 257 onde são comparados os CNPJ. O erro deve ocorrer por uma falha na leitura, mas o certificado funciona perfeitamente. Pergunto: Existe alguma forma de informar via componente para não comparar o CNPJ do emitente com o CNPJ do certificado?
  5. Bom dia! Conferi, e a princípio está tudo OK. Grande abraço!
  6. Bom dia! Juliana, dessa vez está correto. Obrigado pela atenção e tempo dedicado a evoluir ainda mais essa excelente ferramenta que é ACBr. Uma pergunta: A minha pontuação agrega valor quando essas implementações vão para o SVN?
  7. Bom dia! Regys, no final das contas formatei o servidor e coloquei windows server 2008. Criei os usuários e tudo voltou ao normal. Como sempre, grato por sua colaboração.
  8. Bom dia Regys! Concordo com vc. Mas como eu falei, eu consigo usar esse certificado em sites do governo e até mesmo no emissor de testes gratuito do sefaz. Não estou apontando erros no componente, inclusive é possível buscar o numero de série do certificado. Vc acredita então que a dificuldade está em uma instalação mal sucedida?
  9. Pessoal, tenho a seguinte situação: Instalei Windows 7 64 Ultimate em um PC Instalei o certificado da caixa tipo A1 Instalei as DLLs e fiz rodar o nosso sistema sem nenhum problema. Está emitindo notas fiscas sem dificuldades O problema: Foram criados outros usuários no windows, e nos mesmos foi instalado o certificado da mesma forma que no usuário principal. Quando logo nesses usuários, testando o certificado no internet explorer, é possivel usar o portal eCAC, e também fiz o teste com a URL https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx e tudo funciona sem erros. Só que usando o nosso sistema para emissão de NFe ocorre o erro abaixo: Na primeira tentativa: O conjunto de chaves não existe Segunda Tentativa: Erro ao Assinar. O XML informado possui CNPJ diferente do Certificado Digital E não é possivel emitir notas pelos usuários criados. Só é possivel emitir por um dos usuário (O primeiro criado). Mas como falei acima, o certificado funciona no IE e na URL testada. Usuários: Ademir : tudo funcionando perfeitamente Fabricio : Só funciona no IE e no portal eCAC, no sistema de NFe não. FTP: Só funciona no IE e no portal eCAC, no sistema de NFe não. Tem algo que eu possa fazer?
  10. foi avaliado ou não foi? Os erros continuam os mesmos.
  11. Alguém tem algum retorno para me passar referente ao post ao post de 25/06? Na verdade utilizava o meu arquivo ACBrBancoSicredi.pas do banco Sicredi com as alterações que fizemos. Porem, na atualização de hj, no SVN, não pude mais proceder com o acbrinstall_trunk2. Tive que usar o ACBrBancoSicredi.pas do repositório para poder instalar o ABCBR. Estou tendo que alterar no novo .pas tudo o que já havia feito antes. Acredito que minhas sugestões são pertinentes, pois somente agregam ao projeto as melhorias.
  12. Ademir P. Voigt

    Nota Denegada

    Bom dia Pessoal! Estou com o seguinte problema: Tenho relatos de alguns clientes nossos que estão recebendo mensagem de nota denegada (irregularidade fiscal do destinatário) Pesquisei sobre o assunto e verificamos que realmente procede. O que preciso fazer é, nesse caso, postar essa informação no banco de dados, e alterar a numeração da próxima NFe, pois o numero dessa nota fica como denegada no sefaz. O problema é que não consigo pegar o status 110, 301 ou 302, pq o ACBR exibe a mensagem e na sequência aborta a operação. Já tentei fazer conforme alguns exemplos que vi no forum, mas o problema é que o sistema não retorna para minha rotina após a mensagem de uso denegado. Tentei fazer assim: if MyQrNFemodelo.AsString = '55' then begin ACBrNFe1.Enviar(vNumLote, True); end else begin ACBrNFe1.Enviar(vNumLote, True, True); end; ACBrNFe1.WebServices.Retorno.Executar; for I := 0 to ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Count - 1 do begin // Verificando Código da Situação do Documento Fiscal e se esta Autorizado o uso if ACBrNFe1.NotasFiscais.Items[I].Confirmada then begin Autorizada := 'SIM'; COD_SIT := '00'; end else begin Autorizada := 'NAO'; case (ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[I] .cStat) of 110: begin COD_SIT := '04'; ShowMessage('Uso Denegado'); memoLog.Lines.Add('cMsg NFE: ' + IntToStr(ACBrNFe1.WebServices.Retorno.cMsg)); memoLog.Lines.Add('xMsg NFE: ' + ACBrNFe1.WebServices.Retorno.xMsg); end; 301: begin COD_SIT := '04'; ShowMessage('Uso Denegado: Irregularidade fiscal do emitente'); memoLog.Lines.Add('cMsg NFE: ' + IntToStr(ACBrNFe1.WebServices.Retorno.cMsg)); memoLog.Lines.Add('xMsg NFE: ' + ACBrNFe1.WebServices.Retorno.xMsg); end; // Uso Denegado: Irregularidade fiscal do emitente 302: begin COD_SIT := '04'; ShowMessage ('Uso Denegado: Irregularidade fiscal do destinatário'); memoLog.Lines.Add('cMsg NFE: ' + IntToStr(ACBrNFe1.WebServices.Retorno.cMsg)); memoLog.Lines.Add('xMsg NFE: ' + ACBrNFe1.WebServices.Retorno.xMsg); end; // Uso Denegado: Irregularidade fiscal do destinatário else COD_SIT := '00'; end; end; end; Como faço para recuperar o cstatus e postar no meu banco as devidas informações?
  13. Olá! Não tenho mais MB disponíveis para upar. Você já usou 5 MB do seu 5 MB limite para anexos. Segue um link:
  14. Juliana, atualizei o arquivo acbrbancosicredi.pas para a versão 9338 e não surtiu efeito. Vc alterou para: IfThen(ValorDescontoAntDia > 0, IntToStrZero(round(ValorDescontoAntDia * 100), 10), IntToStrZero(round(ValorDesconto * 100), 10)) Como não estou informando o valor do desconto por dia de antecipação o sistema deve preencher com "zeros", nesse caso, está fazendo IntToStrZero(round(ValorDesconto * 100), 10) 083 a 092 - 010 - Valor de desconto por dia de antecipação Informar valor de desconto (alinhado à direita e zeros à esquerda) ou senão preencher com zeros.
  15. Ademir P. Voigt

    Remessa sicredi

    Boa Tarde Juliana! Após receber apontamentos da equipe teste cobrança do sicredi, fiz algumas alterações no ACBrBancoSicredi.pas quanto ao { Registro Informativo } No Manual, consta da seguinte forma: 9.6.1 Se cobrança com registro: 008 a 017 - 010 - Identificação do título seu número Este campo nunca pode se repetir (Diferente de branco) normalmente usado neste campo o número da nota fiscal gerada para o pagador. 9.6.2 Se cobrança sem registro: 008 a 016 - 009 - Identificação do título nosso número Se a impressão for pela Sicredi (A) é possível deixar em branco (sem preenchimento - gerado automaticamente pelo Banco) ou informar "Nosso Número" devidamente preenchido. Então substituí isso: //padL( NumeroDocumento, 10) + // 008 a 017 - Seu numero por isso: ifthen(wModalidade = 'A', padL( NumeroDocumento, 10), padR(wNossoNumeroCompleto,9,'0') + ' ') + // 008 a 017 - Seu numero Mas pode haver alterações conforme vc achar conveniente. Sobre a modalidade: Está fixo como: 'A' + // 019 a 019 - "A"-Com registro "C"-Sem registro Alterei para: wModalidade + // 019 a 019 - "A"-Com registro "C"-Sem registro Com isso pega A ou C de acordo com o que foi informado ao componente Também recebi uma critica ao processar um retorno. Percebi um motivo de rejeição que ainda não era tratado pelo ACBrBancoSicredi.pas C5-Título rejeitado pela centralizadora Fiz as devidas inclusões em toRetornoRegistroRecusado: case AnsiIndexStr(CodMotivo, ['A1','A2', 'A3', 'B4', 'B5', 'B6', 'B7', 'B8', 'B9', 'C6','D5', 'D7', 'F6', 'H7', 'H9', 'I1', 'I2', 'I3', 'I4', 'I5', 'I6', 'I7', 'I8', 'I9', 'J1', 'J2', 'J3', 'J4', 'J5', 'J6', 'J7', 'J8', 'J9', 'K1', 'K2', 'K3', 'K4', 'K5', 'K6', 'K7', 'K8', 'K9', 'L1', 'L2', 'L3', 'L4', 'C5']) of ... 46: Result:= 'C5-Título rejeitado pela centralizadora'; toRetornoBaixaRejeitada: //27 case AnsiIndexStr(CodMotivo,['A1', 'C6', 'C7', 'C5']) of ... 3: Result:= 'C5-Título rejeitado pela centralizadora'; toRetornoAlteracaoDadosRejeitados: //30 case AnsiIndexStr(CodMotivo,['C5','C6','C7']) of 0 : Result:= 'C5-Título rejeitado pela centralizadora'; 1 : Result:= 'C6-Título já liquidado'; 2 : Result:= 'C7-Título já baixado'; toRetornoInstrucaoRejeitada: //32 case AnsiIndexStr(CodMotivo, ['A1', 'A2', 'A4', 'A5', 'A6', 'B4', 'B5', 'B6', 'B7', 'B8', 'B9', 'C6', 'C7', 'D2', 'F7', 'F8', 'F9', 'G1', 'G5', 'G8', 'G9', 'H1', 'L3', 'L4', 'J8', 'C5']) of ... 25 : Result:= 'C5-Título rejeitado pela centralizadora'; Não enviei o ACBrBancoSicredi.pas, pois ainda não fiz o update das alterações que vc postou no svn sobre a questão dos dias de antecipação. Estarei fazendo o update assim que essas alterações estiverem disponíveis. Desculpe se estiver sendo inconveniente, mas minha intenção é também contribuir com o projeto ACBR.
  16. Bom dia! Existe a possibilidade das minhas sugestões serem analisadas?
  17. Observei que ao gerar a remessa para o banco sicredi sempre é informado o valor do 083 a 092 - Valor de desconto por dia de antecipação Olhando o codigo do sicredi, percebi que é é feito o calculo: IntToStrZero( round( ValorDesconto * 100), 10) // 083 a 092 - Valor de desconto por dia de antecipação Mesmo informando valor zero na variável ValorDescontoAntDia. Alterei para: IntToStrZero( round( ValorDescontoAntDia * 100), 10) // 083 a 092 - Valor de desconto por dia de antecipação Gerei remessa e saiu zerado. Acredito que seja essa a correção. O fórum não permite upload faz alguns dias.... por isso não upei o arquivo pas do sicredi. Mas é na linha 329 Consegue ver para mim Juliana?
  18. Muito obrigado Juliana! Bom poder contar com o apoio e agilidade de vcs.
  19. Boa Tarde! Para mim continua saindo o terceiro carnê na segunda apaguei os arquivos da pasta fontes/boletos e dei um update no SVN. A RLBand3.Heigth está 362 e não 352 Existe a possibilidade de ajustar para 352 e disponibilizar no SVN?
  20. Segue: ERRO UPLOAD Eu busco o arquivo no meu disco e depois clico em Anexar este Arquivo arquivo.pas
  21. Boa Noite! Pessoal, estou implementando o ACBR Boleto em nosso sistema e estive gerando remessas para testes. Me deparei com a seguinte situação: O Componente só permite gerar 8 arquivos diários, porem, o Sicredi permite 10; xxxx.crm xxxx.rm2 xxxx.rm3 xxxx.rm4 xxxx.rm5 xxxx.rm6 xxxx.rm7 xxxx.rm8 xxxx.rm9 xxxx.rm0 O Arquivo xxxx.cr9 xxxx.cr0 eu consegui gerar alterando o fonte do ACBrBancoSicredi.pas. Gostaria que avaliassem as alterações (FEITAS DO JEITO QUE CONSEGUI) ou que alterassem da forma que acharem melhor para que o componente permita gerar 10 arquivos por dia. while FilesExists(NomeArq) do begin NomeArq := NomeFixo + '.rm' + IntToStr(Sequencia); Inc(Sequencia); // testa se o nome gera for igual a .rm10 // se for, altera para .rm0 - ADEMIR 21052015 if NomeArq = NomeFixo + '.rm10' then begin NomeArq := NomeFixo + '.rm0' end; // alterado de > 9 para > 11 - ADEMIR 21052015 if Sequencia > 11 then raise Exception.Create (ACBrStr('Número máximo de 10 arquivos de remessa alcançado')); end; Result := NomeArq; Não enviei o .pas pq está dando erro no upload do forum.
  22. Tens o link do tutorial? Não achei o do regys. No site do regys é de 2012.
  23. Boa Tarde! Ao importar um XML da versão 2.0 não está sendo possível pegar a a Data da emissão e Data da saída... aparece em ambos 30/12/1899. Se importar um XML da versão 3.1 não tem problema algum. Fiz os testes inclusive no demo. No link abaixo encontrei informações a respeito, mas não consegui resolver. Faço da seguinte forma: MyTbXMLCorpoemissao.AsDateTime := Ide.dEmi; MyTbXMLCorpodata_ent_sai.AsDateTime := Ide.dSaiEnt; Pelo que sei, não preciso informar ao ACBR a versão, pois o mesmo pega do próprio XML. Alguma sugestão?
  24. ACBRDevice deve ser declarada. Vou testar no cliente novamente.
×
×
  • 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.