
Ronaldo Cesar Bim
Membros-
Total de ítens
44 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Ronaldo Cesar Bim postou
-
@Juliomar Marchetti a documentação agora está funcionando.
-
Como eu faço para acompanhar o status ?
-
Boa tarde Alexandre, estou enviando a pasta compactada, na pasta raíz tem um projeto de teste exemplificando uma venda com qrCode e aguardando o pagamento até for concluído. Dentro da pasta Acbr é um modelo da BPL que criei, já com a imagem do componente, apenas deixei comentado o Register pois não sei ao certo como é feito o registro dos demais componentes do Acbr, mas eu utilizei o register apenas para testar aqui no meu ambiente. O link da documentação da H1 fintech: https://api.h1fintech.com.br/swagger-ui/?urls.primaryName=pix-service Qualquer dúvida estou a disposição. PixH1.zip
-
Bom dia Alexandre, tenho algumas coisas para finalizar ainda, assim que deixar tudo pronto e documentado irei postar. Obrigado
-
Boa tarde pessoal, realizei uma implementação local aqui seguindo os padrões do Acbr integrando o PIX com a Fintech H1 utilizada por um de nossos clientes. Como faço ou com quem converso para poder enviar os fontes e disponibilizar esta nova integração junto aos componentes padrões do ACBR ?
-
Formato de arquivo fonte utilizando em Delphi e Lazarus
um tópico no fórum postou Ronaldo Cesar Bim Object Pascal - Delphi & Lazarus
Pessoal, se eu utilizar um arquivo fonte em projetos delphi e lazarus e não precisar de suporte a delphis antigos(d7) teria algum problema em converter o formato do fonte para utf-8 ? pois pelo que entendi se eu manter o arquivo em cp1252 preciso converter as strings para UTF8 quando utilizadas no lazarus. Seria isso mesmo ? -
Boa noite, segue a alteração sugerida, basicamente alterei para aceitar definir no componente cópias = 0, quando estiver setada copias = 0 não fará a verificação deste trecho if RLPrinter.Copies <> AConfig.NumCopias then, pois é exatamente neste if onde ocorre o problema. ACBrDANFCeFortesFr.pas ACBrDFeReport.pas ACBrDFeReportFortes.pas
-
Administradores do ACBR, fiz a leitura do post ( ) constatei que temos o mesmo problema na impressão da DANFE nfe e nfc-e, estou desenvolvendo um servidor rest compilando pra ISAPI no IIS e está ocorrendo o mesmo problema ao executar este código (if RLPrinter.Copies <> AConfig.NumCopias then) no método AjustarReport do fonte (ACBRDFeFortesReport.pas) e no método ImprimirInterno do fonte (ACBrDANFCeFortesFr.pas). Fiz localmente um pequeno ajuste para aceitar NumCopias com valor zero e adicionei neste if para testar se NumCopias > 0 para evitar a chamada de RLPrinter.Copies. Pelos testes que fiz resolveu, inclusive fiz teste em massa realizando várias chamadas simultâneas ao servidor e ele gerou todos os PDFs corretamente, porém para que isso seja possível precisei adicionar uma sessão crítica no meu servidor no momento da geração do PDF, pois o FortesReport não é Thread Safe. Seria possível disponibilizar este ajuste no RLPrinter.Copies nas impressões do Acbr para que toda a comunidade consiga utilizar em modo ISAPI as impressões com Fortes Report ?
-
Problemas com envio de email (ACBrMail)
Ronaldo Cesar Bim replied to Matheus_Polli's tópico in ACBrTCP
Bom dia Daniel, obrigado pela dica, referente o caso de ontem, testei utilizando um e-mail gmail e funcionou perfeitamente, então acredito que seja algum tipo de bloqueio do meu provedor de e-mail quando recebe a conexão do meu servidor, ainda não descobri o motivo mas irei entrar em contato com o provedor para me auxiliar. Por hora irei utilizar este gmail até que o caso seja resolvido. -
Problemas com envio de email (ACBrMail)
Ronaldo Cesar Bim replied to Matheus_Polli's tópico in ACBrTCP
Blz, obrigado pelo apoio, vou tentar entrar no meu provedor e ver algumas configurações, caso eu encontre a solução irei postar aqui -
Problemas com envio de email (ACBrMail)
Ronaldo Cesar Bim replied to Matheus_Polli's tópico in ACBrTCP
Daniel, implementei um memo na tela para logar conforme sugestão, segue os resultados. Meu PC, SSL=True, TLS=True Resultado: email enviado com sucesso, sem nenhum log Meu PC, SSL=True, TLS=False Resultado: email enviado com sucesso, sem nenhum log Meu PC, SSL=False Resultado: não envia e-mail e log: Unable to Login Servidor Nuvem, SSL=True, TLS=True Resultado: não envia e-mail, sem nenhum log Servidor Nuvem, SSL=True, TLS=False Resultado: não envia e-mail, sem nenhum log Servidor Nuvem, SSL=False Resultado: não envia e-mail e log: Unable to Login Implementei um exemplo usando Indy que achei na internet e ocorre a mesma coisa, no meu pc funciona e no servidor não loga nada de erro e não chega o e-mail. A empresa que fornece o servidor me passou que não existe nenhum bloqueio, o que acabei confirmando usando o Thunderbird. -
Problemas com envio de email (ACBrMail)
Ronaldo Cesar Bim replied to Matheus_Polli's tópico in ACBrTCP
Boa tarde Daniel, não ocorre mensagem de erro. -
Problemas com envio de email (ACBrMail)
Ronaldo Cesar Bim replied to Matheus_Polli's tópico in ACBrTCP
Senhores, comecei a usar o AcbrMail em um projeto novo, fiz um aplicativo de teste usando meu provedor de email na porta 465 com ssl/tls, o aplicativo de teste funciona normalmente aqui no meu PC, mas em um servidor novo na nuvem com windows 2008R2 não vai, não ocorre erro algum, o e-mal simplesmente não chega, já testei todas versões de dlls que estão na pasta OpenSSL , atualizei o windows, e nada. Instalei um client de e-mail neste servidor para testar e funciona normalmente, testei o meu aplicativo em outros servidores de clientes, em outros PCs e ele funciona, mas neste servidor na nuvem não vai. O que pode estar acontecendo ? seria algum certificado que tenho no meu PC que não tem no servidor ? -
lei 18622-2015 parana - Transparencia Fiscal nos Itens da Nota
Ronaldo Cesar Bim replied to Rogerio Alcantara's tópico in ACBrNFe
Alguém sabe me dizer qual é a relação desta lei com a lei 12741/12 (de olho no imposto) ? Será que podemos utilizar a mesma tabela IBPT para apresentar os cálculos de impostos por produto ?- 3 replies
-
- 18622-2015 lei
- 18622/2015 lei transparencia
- (e 1 mais)
-
Quando fui testar, percebi que esta alteração talvez gere um impacto indesejado, se mudarmos de CancelarTransacoesPendentesClass para TACBrTEFD(Owner).CancelarTransacoesPendentes, pq em CancelarTransacoesPendentes é realizado um loop na lista de TEF habilitados, podendo assim Cancelar Transações de outros TEF que não seja o da SiTef. E talvez ocorra de existir transações ao mesmo tempo em SiTef, Pay&Go e outros... Sera que a melhor forma não é chamar o evento "OnDepoisCancelarTransacoes" após processar o "TACBrTEFDClass.CancelarTransacoesPendentesClass"? Deixando dessa maneira, ou algo do genero: with TACBrTEFD(Owner) do begin if Assigned( OnDepoisCancelarTransacoes ) then try OnDepoisCancelarTransacoes( RespostasPendentes ) ; except { Nao deixa interromper } end; end; Já o caso de CancelarTransacoesPendentesClass estar chamando o evento "OnAntesCancelarTransacao" apenas uma vez, existe a validação: JaCancelado := (Resp.DocumentoVinculado = DocumentoVinculado) ; Como o SiTef cancela todas as transações vinculados com o documento, entendo que esta validação esteja certa, porém quebrou o fluxo do OnAntesCancelarTransacao, já que a segunda transação cancelada não irá disparar o evento, pq na validação acima é retornado True. Por enquanto ainda não alterei nada no ACBr, mas resolvi a questão ajusta a minha implementação para o evento OnAntesCancelarTransacao, deixando dessa maneira: Resposta Pendente é CRT? Percorre minha lista de pagamento; Pagamento é Cartao? Pagamento.DocVinculado = RespostaPendente.DocVinculado? Excluir Pagamento; A principio assim está funcionando, sem mexer no ACBr, porém estou correndo risco do NCN não dar certo, e eu perder o histórico do pagamento, pois já foi deletado do banco... O que vc acha Daniel, da questão de chamar o "OnDepoisCancelarTransacoes" após processar o "TACBrTEFDClass.CancelarTransacoesPendentesClass"?
-
Tacbrtefdclisitef.inicializar E Cancelartransacoespendentesclass
um tópico no fórum postou Ronaldo Cesar Bim Dúvidas sobre TEF
Olá, Implementei o evento "OnDepoisCancelarTransacoes" do ACBrTEFD, para fazer a manutenção das transações no meu banco de dados depois que elas são canceladas... até aqui tudo certo, quando chamo o "TACBrTEFD.CancelarTransacoesPendentes", as transações pendentes são canceladas e consigo manipular os dados no meu banco... Porém, ao chamar o TACBrTEFDCliSiTef.Inicializar, no final do método existe a seguinte condição: // Cupom Ficou aberto ?? Se SIM, Cancele tudo... // if (Est in ['V','P','N','O']) then CancelarTransacoesPendentesClass else // NAO, Cupom Fechado, Pode confirmar e Mandar aviso para re-imprimir // ConfirmarESolicitarImpressaoTransacoesPendentes ; Note que quando o "if" é satisfeito, por exemplo Est = 'O', será chamado o método CancelarTransacoesPendentesClass E quando as transações são canceladas direto pelo CancelarTransacoesPendentesClass, o evento OnDepoisCancelarTransacoes não é disparado... Seria uma sugestão? Subistituir o "CancelarTransacoesPendentesClass" por "TACBrTEFD(Owner).CancelarTransacoesPendentes"? Assim o evento OnDepoisCancelarTransacoes seria disparado.... Outro caso, dentro do evento CancelarTransacoesPendentesClass, quando tenho mais de uma transação para o mesmo Cupom (Multiplos Cartoes) e envio um TACBrTEFD.CancelarTransacoesPendentes, o evento "OnAntesCancelarTransacao" esta sendo disparado apenas uma vez... Nesse caso, como tenho 2 transações pendentes, teria que disparar 2 vezes? Ou, estou implementando os eventos de manutenção no meu banco de dados no lugar errado? -
Mascarar O Código Do Supervisor No Sitef
Ronaldo Cesar Bim replied to joaovmf's tópico in Dúvidas sobre TEF
Pra interceptar quando o ACBr/SiTef Solicita a Tela de Autorização você deve Implementar no Metodo "ObtemCampoCliSiTef" do ACBrTEFD Olha a declaração: ObtemCampoCliSiTef(Titulo: String; TamanhoMinimo, TamanhoMaximo: Integer; TipoCampo: Integer; Operacao: TACBrTEFDCliSiTefOperacaoCampo; var Resposta: AnsiString; var Digitado: Boolean; var VoltarMenu: Boolean); // TipoCampo = 500, Solicitação de Senha do Supervisor para Transação TEF if (TipoCampo = 500) then begin Digitado := TMinhaTelaSolicitacaoPersonalizada.Autoriza(); end else ( ... ) Para prosseguir a var Digitado := True, para Abortar o Processo (Nao Autorizado) var Digitado := False; -
Olá, No Metodo TACBrTEFD.FinalizarCupom, existe o seguinte tratamento de except: on EACBrTEFDECF do ImpressaoOk := False ; try ... Finalizar Cupom ... except on EACBrTEFDECF do ImpressaoOk := False ; else raise ; end; Quando desligo a impressora (Bematech) essa except (EACBrTEFDECF) está sendo gerada, fazendo entrar nessa parte do código: if not ImpressaoOk then begin if DoExibeMsg( opmYesNo, CACBrTEFD_Erro_ECFNaoResponde ) <> mrYes then begin try ComandarECF(opeCancelaCupom); except {Exceção Muda} end ; break ; end; end; Caso o Usuario escolha a opção "Não" do DoExibeMsg, vai ser disparado o Cancelamento do Cupom... Minha duvida é referente a este cancelamento, por falha de comunicação com a impressora no momento do FinalizarCupom, Ja imaginou uma venda com 999 itens e o Usuario selecionar a opção "Não", o cupom vai ser cancelado e vai ter que passar todos os 999 itens novamente.... Realmente o cupom deve ser cancelado por falta de comunicação com a impressora no FinalizarCupom?
-
Régys Obrigado pela resposta. Mas o problema está um pouco antes.... Seria encontrar uma maneira de identificar que no ADM do CliSiTef o Usuario escolheu a opção 3:Cancelamento de transacao, e assim poderei fazer uma validação se o Usuario tem acesso pra ação de 3:Cancelamento de transacao... A principio estou fazendo assim: type TefAcaoAtual = (TesteDeComunicacao = 0, ReimpressaoComprovante = 1, CancelamentoTransacao = 2, PreAutorizacao = 3, ConsultaParcelaCDC = 4, ConsultaPrivateLabel = 5, ConsultaSaqueFinivest = 6, ConsultaSaqueBancoIBI = 7, ConsultaSaldoDebito = 8, ConsultaSaldoCredito = 9, RecargaCelular = 10, PetrobrasPremmia = 11, OutrosCielo = 12); Depois do OnTefCliSiTefExibeMenu(Titulo: String; Opcoes: TStringList; var ItemSelecionado: Integer; var VoltarMenu: Boolean); TEF.AcaoAtual := TefAcaoAtual(ItemSelecionado); // CancelamentoTransacao Boolean := ValidarAcessoAcao('Usuario', TEF.AcaoAtual); So que tem um problema isso funciona apenas quando mando o ADM (110) pro ACBrTEFD... Pq quando o ACBrTEFD solicitar o OnTefCliSiTefExibeMenu pra escolher por exemplo a opção se é Cartao Magnetico/Chip ou Digitado, e o usuario escolher o tipo Magnetico/Chip o fluxo vai disparar TEF.AcaoAtual := TefAcaoAtual(ItemSelecionado); onde ItemSelecionado é 0 ao fazer TefAcaoAtual(ItemSelecionado) sera retornado TesteDeComunicacao, mas na realidade seria o Magnetico/Chip
-
Capturar Cancelamento De Transação - Obtemcampoclisitef Tipocampo = 500
um tópico no fórum postou Ronaldo Cesar Bim Dúvidas sobre TEF
Olá, Alguém poderia me ajudar em uma duvida? Estou usando o ACBrTEF (SiTef) Vou explicar um pouco do meu processo: É um Cancelamento de Transação. Solicito um ADM, (Modalidade: 110) Então é disparado o evento ExibeMenuCliSiTef; No Menu escolho a Opção de 3:Cancelamento de Transação; (Buffer = 3); Então é disparado o evento ObtemCampoCliSiTef com Tipo Campo = 500 (código do supervisor); Na implementação do ObtemCampoCliSiTef, é disparado o ShowModal de uma tela para solicitar a senha do supervisor. Na minha rotina de solicitação de autorização eu tenho que passar qual é a ação desejada e a função retorna se tem acesso sim/não. Ex: Boolean := AutorizaAcaoUsuario('User', paCancelaProduto); Agora vem minha duvidas: 1º - No evento ObtemCampoCliSiTef quando o Tipo Campo for 500, sempre será do tipo 3:Cancelamento de Transação; (Buffer = 3)? 2º - De que maneira eu conseguiria identificar que o usuario escolheu a opção 3:Cancelamento de Transação; (Buffer = 3) no ADM (ExibeMenuCliSiTef)? Já verifiquei que no ExibeMenuCliSiTef existe a var ItemSelecionado, que retornar qual opção o usuario escolheu... seria por aqui msmo? Para que eu consiga fazer mais ou menos isso: if (TipoCampo = 500) then begin Digitado := AutorizaAcaoUsuario('User', Ord(paCancelaTransacao); if Digitado then Resposta := 'OK'; end -
Registro Ead Com Acbread No Linux
Ronaldo Cesar Bim replied to Ronaldo Cesar Bim's tópico in ACBrSintegra/ACBrPAF
Depois de muita batalha consegui descobrir o motivo, são os caracteres de quebra de linha que no linux é diferente do windows. Então para resolver isso setei a seguinte propriedade no meu StringList. sl.TextLineBreakStyle := tlbsCRLF;//padrão windows -
Registro Ead Com Acbread No Linux
Ronaldo Cesar Bim replied to Ronaldo Cesar Bim's tópico in ACBrSintegra/ACBrPAF
Sim a chave é a mesma, a chave fica em uma constante no código fonte, e os fontes da minha aplicação são únicos independente da plataforma, tanto é que quando compilados no windows a assinatura é válida. Segunda feira vou analisar melhor qual é o ponto do código fonte que gera diferenças, talvez seja nas dlls/so que utiliza.