-
Total de ítens
2.163 -
Registro em
-
Última visita
-
Days Won
27
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Gr@c@ postou
-
Um aplicativo compilado no Delphi 7 não funciona em máquinas com windows 7 64 bits ao executar a função Bematech_FI_AbrePortaSerial dá Falha ao abrir porta serial de comunicação. Já instalei o driver da impressora (é uma impressora USB).O Bematool reconhece a impressora na usb e até consigo emitir leitura X (porém somente executando como administrador. Se não for como administrador dá erro que não há nenhuma porta de comunicação) Executo meu aplicativo também como administrador, coloquei o bemafi32.ini junto com o aplicativo, já tentei no SYSWOW64 e no windows\system32(sempre deixo em apenas um desses lugares) e nada funciona. Pergunta: terei que desenvolver meu aplicativo para um delphi 64bits para usar a bemafi64.dll? Ou uso mesmo o aplicativo em delphi 32 com a bemafi32.dll? Por que não reconhece a porta serial?
-
O que causa esse tipo de erro ao gerar TEF? - a transação ocorre com sucesso até a mensagem "TRANSACAO OK" no display - Exception List index of bound ( o comprovante não imprime ) após comando ImprimirTransaçõesPendentes ----> já debuguei até esse ponto mas não consigo chegar ao erro ao fechar o aplicativo e abrir novamente vem a mensagem na tela: Transação TEF efetuada Favor reimprimir ultimo cupom NSU: 00000000013013 (Para Cielo utilizar os 6 ultimos digitos) O fato é que às vezes dá certo, consigo finalizar a transação. Mas outras vezes não.
-
Estou tendo problemas com o CliSiTEF neste ponto. Valor da NFCe = 40,00 Valor pago em cartão de crédito = 10,00 Valor pago em dinheiro = 30,00 Valor Saldo Restante = 10,00 (porque aqui considero que ainda não emiti o comprovante de TEF) procedure TACBrTEFDClass.VerificarTransacaoPagamento(Valor: Double); var SaldoAPagar : Double ; begin Valor := RoundTo( Valor, -2); if (Valor <= 0) then raise EACBrTEFDErro.Create( ACBrStr( 'Valor inválido' ) ); { Lendo o SubTotal do ECF } with TACBrTEFD(Owner) do begin if not (EstadoECF in ['V','P','N']) then raise EACBrTEFDErro.Create( ACBrStr('ECF deve estar em Estado de "Venda", "Pagamento" ou "Não Fiscal"') ); SaldoAPagar := InfoECFAsDouble(ineSubTotal) ; SaldoAPagar := SaldoAPagar - InfoECFAsDouble(ineTotalAPagar,0); RespostasPendentes.SaldoAPagar := SaldoAPagar ; if TrocoMaximo <= 0 then begin if (Valor > RespostasPendentes.SaldoRestante ) then raise EACBrTEFDErro.Create( ACBrStr( 'Operação TEF deve ser limitada ao '+ 'Saldo restante a Pagar' ) ); end else begin if CompareValue(Valor, RespostasPendentes.SaldoRestante + TrocoMaximo, 0.01) = GreaterThanValue then raise EACBrTEFDErro.Create( ACBrStr( 'Operação TEF permite '+ 'Troco Máximo de R$ '+FormatCurr('0.00',TrocoMaximo) ) ); end ; if MultiplosCartoes and (NumeroMaximoCartoes > 0) and // Tem multiplos Cartoes ? (RespostasPendentes.Count >= NumeroMaximoCartoes) then // Já informou todos cartões ? raise EACBrTEFDErro.Create( ACBrStr( 'Multiplos Cartões Limitado a '+ IntToStr(NumeroMaximoCartoes)+' operações.' ) ); if Self is TACBrTEFDClassTXT then // Limita Saldo Restante se for derivado de TEF discado begin if MultiplosCartoes and (NumeroMaximoCartoes > 0) and // Tem multiplos Cartoes ? (Valor <> RespostasPendentes.SaldoRestante) and // Valor é diferente do Saldo Restante a Pagar ? ((NumeroMaximoCartoes - RespostasPendentes.Count) <= 1) then // Está no último cartão ? raise EACBrTEFDErro.Create( ACBrStr( 'Multiplos Cartões Limitado a '+ IntToStr(NumeroMaximoCartoes)+' operações.'+sLineBreak+ 'Esta Operação TEF deve ser igual ao Saldo a Pagar' ) ); end ; end; end; SaldoAPagar := InfoECFAsDouble(ineSubTotal) ; ---> quando chega aqui está 10.00 SaldoAPagar := SaldoAPagar - InfoECFAsDouble(ineTotalAPagar,0); ---> quando chega aqui já está -20.00 RespostasPendentes.SaldoAPagar := SaldoAPagar ; Então obtenho a resposta operação TEF deve ser limitada ao saldo restante a pagar Meu evento InfoECF está assim begin case Operacao of ineSubTotal : begin ASubTotal := Total_VlrVenda - Total_VlrPago; (40.00-30.00) = 10.00 RetornoECF := FloatToStr(ASubTotal); if estadoSimuladoEcf = tpsPagamento then RetornoECF := FloatToStr(0); end; ineTotalAPagar : RetornoECF := FloatToStr(Total_VlrPago); -----> 30.00 ineEstadoECF : begin Case estadoSimuladoEcf of tpsLivre : RetornoECF := 'L' ; tpsVenda : RetornoECF := 'V' ; tpsPagamento : RetornoECF := 'P' ; tpsRelatorio : RetornoECF := 'R' ; else RetornoECF := 'O' ; end; end; end; end;
-
tpEmis = 6 significa que a nota foi emitida em contingência a tag xJust é a mensagem que o emitente quer (caso tenha essa opção para editar) ou que o desenvolvedor do aplicativo emissor colocou na tag. Trata-se do motivo da contingência. Não é uma mensagem fixada pelo SEFAZ nem pelo ACBr.
-
Alguém conseguiu realizar as transações com o ACBrTEFD sem ECF como no exemplo? No meu está funcionando se tudo for 100% finalizado. Mas se houver um erro durante a emissão, ocorrem erros muito estranhos, por exemplo, faz a transação até "Transação OK. " mas em seguida dá erro de Transação não efetuada Favor reter cupom.
-
O que está ocorrendo é que consigo chegar a TRANSAÇÃO OK, mas logo em seguida tenho um List Index of Bounds(1) que me impede de finalizar a operação. Ao que parece, não me retorna a imagem do comprovante. CliSiTef.log ACBr_CliSiTef_001.tef
-
não consigo debugar até o método. Retirei alguns eventos do componente (deixando somente os que estavam no demo, acrescentando apenas o OnAguardaResp (exigida pelo CliSiTef) e está funcionando até a mensagem Transação OK. Surgiu outra dúvida: ao tentar realizar uma venda com cartão vencido, ocorre o erro, dá a mensagem Transação Negada. Porém no display, permanece a mensagem "Aguarde, em processamento...35". O aplicativo já está liberado para realizar envio de outra forma de pagamento e não há mais nada em processamento. Qual o comando devo realizar logo em seguida a uma Transação Negada para liberar a mensagem do display e realizar novo pagamento (com ou sem TEF) ? Se TRANSAÇÃO OK ----> Destravo componentes, Envio NFCe, Imprimo Transações Pendentes/Comprovante TEF, EstadoSimuladoECF = tpsLivre Se TRANSAÇÃO NEGADA ----> como tratar aqui corretamento o ACBrTEFD?
-
Estou tentando enviar um pagamento via cartão, mas ocorre o erro "Operação TEF deve ser limitada ao saldo restante a pagar" Estou enviando o valor de 60,00 que é o que corresponde ao valor da NFC-e no Debugando, verifiquei que o erro ocorre If (Valor > RespostasPendentes.SaldoRestante) then ---> aqui o valor está vindo zerado, quando deveria ser 60,00 porque ainda não foi efetuado nenhum pagamento. Alguma sugestão? SaldoAPagar := InfoECFAsDouble(ineSubTotal) ; SaldoAPagar := SaldoAPagar - InfoECFAsDouble(ineTotalAPagar,0); RespostasPendentes.SaldoAPagar := SaldoAPagar ; if TrocoMaximo <= 0 then begin if (Valor > RespostasPendentes.SaldoRestante ) then raise EACBrTEFDErro.Create( ACBrStr( 'Operação TEF deve ser limitada ao '+ 'Saldo restante a Pagar' ) ); end else begin if CompareValue(Valor, RespostasPendentes.SaldoRestante + TrocoMaximo, 0.01) = GreaterThanValue then raise EACBrTEFDErro.Create( ACBrStr( 'Operação TEF permite '+ 'Troco Máximo de R$ '+FormatCurr('0.00',TrocoMaximo) ) ); end ;
-
A impressora é usb. Instalei o conversor da bematech, mas acho que ele não está funcionando corretamente para a MP 3000 no windows 7 32 bits.
-
No Delphi 7 compilou. Simulei uma venda com cartão, outra com cartão e dinheiro e outra com multiplos cartões e a principio parece que tá ok. Fiz os testes com cartão de credito número digitado. Estou sem pinpad e sem impressora não fiscal, então não foi possivel testar tudo. Terei que aguardar os equipamentos para testar tudo. Mas esse demo será muito útil.
-
Ao compilar o projeto em Delphi 7 está dando erro. E a Unit5 contém lixo no início do nome e mesmo retirando, não compila.
-
NFC-e qual componente utilizar?
Gr@c@ replied to Gr@c@'s tópico in NFC-e - Nota Fiscal do Consumidor Eletrônica
Obrigada Warquia, vou testar com o CliSiTef.dll -
O erro de de duplicidade de Nf-e sobreescreve o XML
Gr@c@ replied to Claudio Stein Junior's tópico in ACBrNFe
Nesse ponto, se a NFe se encontra no SEFAZ, é porque foi enviada e já tenho o xml assinado (só falto o protocolo da autorização). Só vou atualizar protocolot e banco de dados se o cSTAT for autorizado,cancelado ou denegado. Caso não possua o xml e não tenha como montá-lo, tem que dar um alerta ao usuário que a nota já existe no SEFAZ e requer download do xml para correção. -
O erro de de duplicidade de Nf-e sobreescreve o XML
Gr@c@ replied to Claudio Stein Junior's tópico in ACBrNFe
Como aqui em MG ocorre muito esse problema de lentidão e NFe ser enviada e não retornar protocolo e, se tentasse enviar a nota novamente vem a rejeição de Duplicidade, fiz o seguinte: antes de enviar uma NFe consulto se ela já existe no SEFAZ atraves da chave de acesso. Se sim -> atualizo o protocolo no xml,imprimo a NFe e atualizo BD Se nao -> gero novo xml, envio ao Sefaz, imprimo e atualizo BD a principio, achei que isso poderia me causar o problema de Consumo Indevido. Mas isso nao ocorreu. Com esse procedimento, nunca mais tive o problema de duplicidade. var bNFeNoSEFAZ = boolean try Consulta NFe pela chave de acesso bNFeNoSEFAZ = True except bNFeNoSEFAZ = False end If bNFeNoSEFAZ begin atualiza protocolo no xml imprime atualiza BD end Else begin Gera Xml Envia NFe Imprime Atualiza protocolo no xml atualiza BD end -
PinPad Ingenico 3070 Serial com cabo conversor USB
um tópico no fórum postou Gr@c@ Dúvidas sobre TEF
Tenho um PinPad Ingenico 3070 Serial e tentei instalar com cabo conversor USB em um SO Windows 7. O driver Prolific instalou na porta COM5, coloquei porta=05 no CliSiTef.ini, porém a função VerificaPresencaPinpad não localizou o pinpad. Pergunta: 1-Alguém tem o driver desse pinpad (ele está descontinuado) para Windows 7? 2-como testar o pinpad para saber se está funcional ? (o display não mostra nada e teclando as teclas 1 e 3 não mostra o menu no visor) -
A fonte da linha digitavel ainda continua arial 13. O TRLAngleLabel txtSwHouse não aparece na impressão. Houve alguma alteração para corrigir o erro de margem cortanto ACBrBoletoFCFortesFr(linha digitavel, codigo de barras,nome da Sw House, margem direita e esquerda cortando)
-
NFC-e qual componente utilizar?
Gr@c@ replied to Gr@c@'s tópico in NFC-e - Nota Fiscal do Consumidor Eletrônica
Ainda não. Apenas alguns eventos. Mas estou com problemas no meu pinpad ingenico 3070 (que é serial e não funcionou com cabo conversor para USB, porque meu micro só tem usb) e isso me atrasou no desenvolvimento e testes. Mas posso considerar que o TEF tá no zero ainda. -
Para resolver isso sem precisar criar vários loops de leitura, o ideal seria ter no componente as seguintes opções: GerarPDF_UltimoTituloDaLista; Imprimir_UltimoTituloDaLista; e poder gerar remessa completa. O pdf individual é essencial para envio de email, re-impressão e controle da empresa.
-
A não ser que eu tenha um segundo componente ACBrBoleto2 e faça ACBrBoleto2 = ACBrBoleto1 antes de limpar a lista e usar o ACBrBoleto2 no fim do processo. E limpe o ACBrBoleto1 dentro da leitura sequencial e o ACBrBoleto2 somente antes da leitura sequencial. Vou tentar isso. Depois retorno.
-
Correto, mas antes eu Adiciona o titulo e gerava o pdf...adicionava novo titulo...e assim sucessivamente. Após ler todos os titulos, adicioná-los a lista e gerar o pdf, eu imprimia e gerava a remessa com todos os titulos adicionados. Se limpar a lista após gerar cada pdf, como imprimir todos de uma vez e gerar a remessa completa no final da leitura dos titulos? Terei que fazer novo loop de leitura para isso? While Not Tabela.Eof do begin ---> aqui eu criava a lista de titulos GeraBoleto ; // rotina que adiciona os dados no componente ACBRBoleto ACBrBoletoFCFortes1.NomeArquivo := 'NomedoArquivo.pdf' ; ACBrBoleto1.GerarPDF ; Tabela.Next; end ; ----> aqui eu imprimia todos os titulos de uma só vez e gerava um pdf contendo todos os titulos adicionados <--- ----> limpa a lista Nesse caso, se eu quiser gerar pdf individual perco a possibilidade de usar a lista completa no fim do processo?
-
While Not Tabela.Eof do begin GeraBoleto ; // rotina que adiciona os dados no componente ACBRBoleto ACBrBoletoFCFortes1.NomeArquivo := 'NomedoArquivo.pdf' ; ACBrBoleto1.GerarPDF ; Tabela.Next; end ; Eu estava fazendo esse procedimento e estava salvando os pdf´s individualmente. Mas após alguma atualização (não sei qual foi pois não havia percebido antes), os boletos começaram a salvar com os boletos adicionados anteriormente no Titulo. Por exemplo, adiciono a lista o Titulo 00001 e salvo. Leio o proximo titulo 00002 e salvo (esse pdf salva com o 00001 e 00002) antes salvava somente com o 00002. Como devo proceder para salvar individual o pdf?
-
Sei que o post é antigo, mas estou tentando fazer esse procedimento com um Bematech MP3000 TH FI mas não funciona. Chego até esse ponto de configurar a porta virtual, mas dá o erro "Communication error 110: O sistema não pode abrir o dispositivo ou arquivo especificado" ao executar o TEFDDemo.exe Esse procedimento realmente está funcional?
-
E esse caso: Emitente da NF-e = industria enquadrada no Simples Nacional Destinatário da NF-e = (oficina mecanica) Pessoa Juridica sem IE não contribuinte que irá usar o produto adquirido para prestação de serviço (conserto de veiculo de terceiros). Se aqui fosse revenda, o ST seria destacado. Destaca-se ou não a ST na NF-e?
-
Destaque de ST para Destinatario Pessoa Juridica sem IE e Pessoa Fisica
um tópico no fórum postou Gr@c@ Legislação Fiscal e Tributária
Surgiu um impasse entre os contabilistas aqui sobre : destaque de Substituição Tributária para destinatário Pessoa Juridica Sem Inscrição Estadual (não contribuinte). Deve-se destacar ou não? E pessoa física? -
O ACBrSPED tem que gerar o layout padrão. Também tenho alguns contabilistas que me pediram esse tipo de customização, diferente desta que você mencionou. Impossível customizar para atender a "n" solicitações. O que eu fiz foi gerar um arquivo à parte, com os dados que eles solicitaram e eles implementaram no sistema contabil deles a junção do registro padrão do SPED com o arquivo auxiliar, que tem como chave de relacionamento o fCOD_PART.