Ir para conteúdo
  • Cadastre-se

Edmilson Santin

Membros
  • Total de ítens

    17
  • Registro em

  • Última visita

Tudo que Edmilson Santin postou

  1. Olá pessoal! Somente para dar retorno aqui, há algum tempo não temos mais reclamação sobre esse problema. O que identificamos aqui é que tínhamos uma personalização para o cliente em questão onde era criado um formulário que implementava uma interface para busca de algumas informações personalizadas da venda. Esse formulário era apresentado como modal, e aparentemente em algumas situações ele ficava por traz da aplicação, dando a impressão de que o PDV estava travado. Dentro do nosso processamento do TEF usávamos vários Application.ProcessMessages e também algumas exibições de mensagens com MessageDlg. Imagino que em algum momento, o uso em conjunto de tudo isso acabava causando o travamento. As ações que tomamos aqui foram: - Ajuste na destruição do formulário modal e remoção do uso da interface. - Remoção do Application.ProcessMessages no processamento do TEF. - Substituição da apresentação de mensagens com MessageDlg por mensagens internas nossas, que no final das contas usam o Application.MessageBox. - Remoção de um gauge que tínhamos para apresentar informações do andamento da transação, sendo que agora estamos apresentando em um TLabel no formulário principal do PDV. Não sei dizer o que exatamente eliminou nosso problema, mas após esses ajustes não tivemos mais relatos. Diante disso, deixo aqui essas informações para que, caso mais alguém tenha um problema parecido possa usar como base para correção. Agradeço a ajuda de todos. O tópico pode ser finalizado.
  2. Olá Thiago. Pelo que sei, a SEFAZ-SP não está mais atualizando aquele emulador. Foi orientado pra gente comprar um aparelho físico para realizar os testes, mas até onde entendi vai depender que os fabricantes dos aparelhos disponibilizem alterações para que possamos enviar esses novos meios de pagamento. Deixei nosso sistema preparado pra enviar quando os aparelhos estiverem aptos, mas até o momento não fizemos nenhum envio com essas novas formas de pagamento.
  3. Boa tarde, tudo bem? Estamos fazendo os testes para a homologação do PAF-ECF utilizando a impressora Bematech MP 4000 TH FI e encontramos uma inconsistência na leitura do estado da impressora. Encontrei esse tópico: Pelo que pude entender, foi solicitado que sejam tratados os casos em que a impressora só entra em estado de redução Z às 02:00. Entretanto, em ACBrECFBematech.pas, método TACBrECFBematech.GetEstado temos o seguinte trecho: fpEstado := estLivre ; DataMov := Self.GetDataMovimento; if (DataMov > 0) then begin DataHora := Self.GetDataHora; Data := DateOf(DataHora); if (DataMov < Data) and ((HoursBetween(Data, DataHora) > 2)) then fpEstado := estRequerZ ; end; Com esse código, a função vai retornar o estado "estRequerZ" somente às 03:00, pois ele valida se a diferença entre as duas datas é maior do que 2 horas. Diante disso, solicito alteração para que seja considerado a diferença maior ou igual a 2, fazendo com que às 02:00 a impressora já entre no estado "estRequerZ". A alteração deixaria o código assim: fpEstado := estLivre ; DataMov := Self.GetDataMovimento; if (DataMov > 0) then begin DataHora := Self.GetDataHora; Data := DateOf(DataHora); if (DataMov < Data) and ((HoursBetween(Data, DataHora) >= 2)) then fpEstado := estRequerZ ; end; Se puderem avaliar por favor, agradeço.
  4. Boa tarde pessoal. De acordo com o manual "Especificação Técnica de Requisitos" do SAT, versão ER 2.28.05, de 01 de Março de 2021, será possível enviar novas tags de meios de pagamento a partir do dia 01/09/2021. Para atender isso é necessário alterar os fontes "pcnConversao.pas" e "ACBrECFVirtualSAT.pas" implementando tais meios de pagamento. Nos baseamos no que já existe atualmente para a NFe/NFCe para desenvolver. Estou enviando em anexo os fontes com as alterações que fizemos aqui. Peço por gentileza que validem e então disponibilizem no SVN para os demais. Muito obrigado! ACBrECFVirtualSAT.pas pcnConversao.pas
  5. Para resolver o meu problema daria apenas para desfazer a última alteração feita no fonte ACBrTEFD.pas, da revisão 20734. Entretanto, não sei exatamente o que motivou o usuário "anfm" do SVN a fazer essa alteração, ele deve ter tido algum outro problema que eu não sei qual é. Então, uma outra sugestão seria alterar a chamada da procedure "ConfirmarTransacoesPendentes" dentro de "ACBrTEFD.ImprimirTransacoesPendentes" passando o parâmetro "ApagarRespostasPendentes" com "True", mas gostaria da avaliação de vocês sobre isso, para não ter nenhum impacto negativo pra ninguém.
  6. Boa tarde! Percebi que no commit do fonte ACBrTEFD.pas (revisão 20734 no svn) foi adicionado um "if" fazendo com que não seja chamado o método "ConfirmarTransacoesPendentes" caso a propriedade "ConfirmarAntesDosComprovantes" esteja marcada com "True". Depois desse commit, percebi que os arquivos de respostas pendentes do TEF, que são salvos dentro da pasta da aplicação, na subpasta "TEF", não estão mais sendo excluídos, pois era a procedure "ConfirmarTransacoesPendentes" que excluía eles. Com isso, ao iniciar o PDV esse arquivo é carregado novamente, e no nosso caso é apresentada a seguinte mensagem: Pelo que pude perceber, a transação no SiTEF ocorre normalmente e fica confirmada, sendo que o único "problema" seria a não exclusão desses arquivos. Me corrijam se estiver errado, mas esses arquivos deveriam ser excluídos ao finalizar a transação, certo? Não consegui encontrar nos comentários do svn ou nos tópicos do fórum o motivo dessa alteração, por isso gostaria de entender melhor qual era o outro problema para saber como contornar essa situação. Para resolução do problema vejo que temos duas opções: 1 - Voltar a versão do fonte como era antes, removendo o "if", fazendo com que a procedure seja chamada e os arquivos sejam excluídos; OU 2 - Manter as alterações feitas, mas ao chamar o método "ConfirmarTransacoesPendentes" dentro do método "TACBrTEFD.ImprimirTransacoesPendentes", passar o parâmetro "ApagarRespostasPendentes" com "True". A primeira opção deixará o processo como era antes. Implementando a segunda opção funcionará também, mas gostaria da avaliação de todos para não causar problema para os demais. É possível simular no demo não fiscal também. Para isso, deve ser alterada a propriedade "ConfirmarAntesDosComprovantes" do componente "ACBrTEFD1" para "True" e então realizar qualquer transação com o TEF. Fazendo isso os arquivos não serão excluídos. Se estou certo no sentido de que os arquivos deveriam ser excluídos, poderiam avaliar as sugestões de correção por gentileza? Obrigado!
  7. Aqui nos marcamos nas configurações do TEF a opção ACBrTEFD1.ConfirmarAntesDosComprovantes com True. Dessa forma não dependemos da impressão dos comprovantes para confirmar a transação.
  8. Certo, vou fazer isso e assim que eu conseguir as informações retorno aqui. Muito obrigado!
  9. Infelizmente não. A princípio está acontecendo só com esse cliente em específico, mas são em todos os computadores deles. Alguns com mais frequência. Pode ser alguma configuração do sistema ou algo semelhante, mas como não consigo reproduzir não sei dizer o que é. Cadastrei tópico aqui no TEF pois sei que o problema ocorre no momento em que vão ser impressos os comprovantes do TEF, e só ocorre quando o pagamento é com TEF, então pensei que alguém pudesse ter passado por algo semelhante. Mas infelizmente não temos muitas outras informações sobre o problema.
  10. Usamos ESCPOS, Juliomar, mas mesmo assim ocorre. Foi verificado e não existe antivírus e nem aplicativo de segurança bancária. Nossa aplicação não é multithread também, mas vou tentar fazer alguns tratamentos com o TCriticalSection.
  11. Obrigado pela resposta @Juliomar Marchetti! Mas nesse caso, o spooler não deveria resolver isso? Não tenho muito conhecimento sobre, mas ele não é tipo uma fila de impressão? Se não for isso, tem alguma dica de como posso solucionar isso? Pois de fato ele envia a impressão da NFC-e e em seguida a impressão dos comprovantes TEF, mas preciso fazer essas duas operações mesmo. Há alguma outra forma de enviar essas duas impressões? Muito obrigado!
  12. Bom dia pessoal. Usamos as estruturas de ECFVirtual para emissão de NFC-e, e estou com um problema em um único cliente onde todos os PDV's dele simplesmente travam em alguns momentos. O que percebi até então: - Isso ocorre no momento da impressão do comprovante TEF. - A transação é aprovada, o problema ocorre na impressão do comprovante. - Se tenta encerrar o processo do PDV pelo gerenciador de tarefas do windows, não é possível finaliza-lo. - Ao iniciar um outro processo do PDV, ocorrem vários erros por conta do arquivo "acbrecf001.buf" estar em uso, pois o processo do PDV que travou ainda não foi encerrado. - O cliente usa uma VPN para conexão com o SiTEF. Já fizemos várias melhorias no sistema e várias tentativas de correções pra esse problema nesses PDV's em específico, mas ainda não conseguimos encontrar um padrão de quando isso ocorre e nem o que está causando isso. O que imagino é que por conta de algum outro processo, o PDV trava e consequentemente prende o arquivo acbrecf001.buf, fazendo com que seja necessário reiniciar a máquina para poder utilizar novamente o PDV. Alguém tem alguma dica do que mais posso verificar pra corrigir isso? Ou talvez alguém já passou por esse problema? Muito obrigado!
  13. Bom dia! Atualizei o ACBR e está tudo certo. Desculpe a demora para dar o retorno. Obrigado!
  14. Bom dia! Fiz uma alteração no fonte ACBrTEFDCliSiTef.pas para que no evento TACBrTEFDCliSiTef.ContinuarRequisicao faça a leitura do comando 41, conforme o item 3.3.1 Tabela de códigos de Comando do manual do SiTEF. Pelo que li no manual esse comando fará a mesma tratativa do comando 30, mas no caso do 41 a coleta deverá ser feita de forma mascarada. Diante disso criei um novo item em TACBrTEFDCliSiTefOperacaoCampo, chamado tcStringMask. Com esse novo item será possível solicitar a informação mascarada na implementação do evento OnObtemCampo e retornar a informação para o SiTEF. Sem a implementação ocorria um erro ao processar transações do cartão Alelo Auto por exemplo, onde o TEF retornava a mensagem "Campo obrigatório", pois a aplicação não conseguia apresentar a tela solicitando a informação para o usuário. Essa informação é solicitada via comando 41. Em anexo está o fonte com as alterações. Peço por gentileza que avaliem as alterações e subam para o repositório se julgarem que está correto. Obrigado! ACBrTEFDCliSiTef.pas
×
×
  • 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.