Ir para conteúdo
  • Cadastre-se

datilas

Membros
  • Total de ítens

    573
  • Registro em

  • Última visita

  • Days Won

    2

Tudo que datilas postou

  1. paga pegar o resultado: //136 Contém as 6 primeiras posições do cartão (bin) ACBrTEFAPI1.UltimaRespostaTEF.LeInformacao(136, 0).AsString; //1003 Nome do Portador do Cartão ACBrTEFAPI1.UltimaRespostaTEF.LeInformacao(1003, 0).AsString; //1190 Embosso (4 últimos dígitos) do Cartão ACBrTEFAPI1.UltimaRespostaTEF.LeInformacao(1190, 0).AsString; resultaldo: 000-000 = 107 1002-000 = 2505 1003-000 = DOUGLAS A M D SOUZA 1190-000 = 3507 136-000 = 999999 2021-000 = 999999******3507 2022-000 = 2505 2023-000 = DOUGLAS A M D SOUZA 4100-000 = TCP:C:10060:TO 899-100 = ADM 899-103 = 0
  2. vc pode usar: ACBrTEFAPI1.EfetuarAdministrativa('430'); e pegar o resultado em: ACBrTEFAPI1.UltimaRespostaTEF.
  3. ja testei e esta ok. muito obrigado.
  4. ok. é que eu ainda não comecei a trabalhar com api, então para mim pareceu claro. me desculpe.
  5. por favor leia o tópico para entender:
  6. se vc olhar o tópico inteiro, essa alteração não tem relação com a api. ela tem relação com a parte visual na mensagem de pagamento. é uma alteração simples. que não vai gerar conflito nem problema.
  7. existe a possibilidade dessas alterações serem incluidas no acbr?
  8. segue a unit alterada caso o @Daniel Simoes queira adicionar ao acbr ACBrTEFAPI.pas
  9. na assinatura do metodo esta como smallint que vai até 32.767 então faça a alteração na unit ACBrTEFAPI passando para o tipo inteiro: antes: function ObterDadoPinPad(TipoDado: TACBrTEFAPIDadoPinPad; TimeOut: SmallInt = 30000; MinLen: SmallInt = 0; MaxLen: SmallInt = 0): String; depois: function ObterDadoPinPad(TipoDado: TACBrTEFAPIDadoPinPad; TimeOut: Integer = 30000; MinLen: SmallInt = 0; MaxLen: SmallInt = 0): String; não posso subir a unit alterada mas vc pode alterar e adicionar aqui (se vc estiver com o acbr atualizado) para ver se alguém adiciona no projeto
  10. tenta assim: dtmTEF.ACBrTEFAPI1.ObterDadoPinPad(dpCPF, 90000, 11, 11);
  11. datilas

    Ean13 e Ean8

    dentro do ACBrValidador existe a funcao ValidarPrefixoGTIN vc pode fazaer a verificação antes de usar: If ACBrValidador.ValidarPrefixoGTIN('7898341430036') = '' Then ShowMessage('Pode usar') Else ShowMessage('Não pode usar'); vc pode adaptar para sua necessidade
  12. se for uma transação com cartão "visa" e chamar a função 130 ela será cancelada automaticamente (não temos controle sobre isso "foi a informação que recebi durante a minha homologação") tente chamar a função 131. eu fiz assim e a homologação foi aprovada: dtmTEF.ACBrTEFAPI1.EfetuarAdministrativa('131'); If dtmTEF.ACBrTEFAPI1.UltimaRespostaTEF.LeInformacao(210, 0).AsInteger > 0 Then Begin TACBrTEFAPIClassCliSiTef(dtmTEF.ACBrTEFAPI1.TEF).TEFCliSiTefAPI.FinalizaFuncaoSiTefInterativo( 1{1=true,0=false}, pansichar(dtmTEF.ACBrTEFAPI1.UltimaRespostaTEF.LeInformacao(160, 0).AsString),//pCupomFiscal: pansichar(dtmTEF.ACBrTEFAPI1.UltimaRespostaTEF.LeInformacao(163, 0).AsString),//pDataFiscal: pansichar(dtmTEF.ACBrTEFAPI1.UltimaRespostaTEF.LeInformacao(164, 0).AsString),//pHoraFiscal: '' ); TfrmAlert.Alert( 'Última transação TEF foi efetuada' + sLineBreak + 'Favor reimprimir o cupom.', tmAviso); End;
  13. Entendi. Mas seria interessante ter essa opção no AcbrBoleto
  14. existe alguma forma para eu saber se algum banco possui ou não emissão de boleto por webservice? pois são muitos bancos dentro do Type TACBrTipoCobranca por exemplo existe cobBancoDoBrasil,cobBancoDoBrasilWS,cobBancoDoBrasilAPI,cobPenseBankAPI mas eu gostaria de saber quais possuem WS para eu mostrar ou não as configurações de WS
  15. sim, eu uso lazarus 3.2.4, não tenho delphi instalado, só tenho uma pasta acbr, não tem outras units, meu ambiente esta completamente limpo, vc pode testar com o demo do boleto como citei no primeiro post, mas ja enviei as correções no post anterior se quiser testar.
  16. lazarus para revolver o problema precisei alterar 3 unit's ACBrBoleto.pas ACBrBancoSicredi.pas ACBrBancoABCBrasil.pas na unit ACBrBoleto.pas linha 5504 estava: Result := Format(ACBrStr(CInstrucaoPagamento), [fpNome]); alterei para: Result := ACBrStr(Format(CInstrucaoPagamento, [fpNome])); na unit ACBrBancoSicredi.pas linha 638 estava: Result := Format(ACBrStr(CInstrucaoPagamentoCooperativa), [fpNome]); alterei para: Result := ACBrStr(Format(CInstrucaoPagamentoCooperativa, [fpNome])); na unit ACBrBancoABCBrasil.pas linha 963 estava: Result := CInstrucaoPagamentoTodaRede; alterei para: Result := ACBrStr(CInstrucaoPagamentoTodaRede); segue as units alteradas svn rev-34114 ACBrBoleto.pasACBrBancoSicredi.pasACBrBancoABCBrasil.pas
  17. para reproduzir o problema no ...\Exemplos\ACBrBoleto\Lazarus\uDemoBoleto.pas no OnChange do componente cbxBanco (TComboBox) adicionar o seguinte código: Var b: TACBrBanco; Begin b := TACBrBanco.Create(FACBrBoleto); Try b.TipoCobranca := TACBrTipoCobranca(cbxBanco.ItemIndex); edtLocalPag.Text := b.LocalPagamento; Finally b.Free; End; End; voce vera o resulta da imagem 1-1,2-1: então para resolver o problema de charset eu adicionei "CP1252ToUTF8" como o codigo abaixo: Var b: TACBrBanco; Begin b := TACBrBanco.Create(FACBrBoleto); Try b.TipoCobranca := TACBrTipoCobranca(cbxBanco.ItemIndex); edtLocalPag.Text := CP1252ToUTF8(b.LocalPagamento); Finally b.Free; End; End; então o problema de charset inverteu com nas imagens 1-2,2-2: a pergunta é como faço para resolver definitivamente esse problema? ja tentei com ACBrStr(b.LocalPagamento) e não resolveu. só para deixar claro essa situação acontece em varias ocasiões até no AcbrTEFApi usando sitef ja aconteceu.(eu sei que é outro componente) mas o problema é o mesmo
  18. na unit pcnConversao existe uma function que precisa adicionar o crtMEI para validação antes: function CRTTocRegTrib(const t: TpcnCRT): TpcnRegTrib; begin if T = crtSimplesNacional then Result := RTSimplesNacional else Result := RTRegimeNormal; end; agora: function CRTTocRegTrib(const t: TpcnCRT): TpcnRegTrib; begin if (T in [crtSimplesNacional, crtMEI]) then Result := RTSimplesNacional else Result := RTRegimeNormal; end; segue a unit alterada: ..\Fontes\PCNComum\pcnConversao.pas pcnConversao.pas versão da pcnConversao: svn rev-34108
  19. tente alterar "bkmk: TBookmarkStr;" para "bkmk: TBookmark;"
  20. isso é um erro de validação nos schema, e esta dizendo falta informar o bairro, e no nome da rua,(xBairro,xLogra). no xBairro vc esta enviando "0", no xLogra vc esta enviando "B" e o tamanho mínimo é 2 caracteres
  21. então na porta tente usar /dev/usb/pl1 mas vc vai ter que rodar sua aplicação como super usuario eu uso /dev/ubs/lpx (onde x é o numero da porta) para dispositivos usb. /dev/ttySx (onde x é o numero da porta) para dispositivos serial. se vc olhar na imagem abaixo ao lado do botão "testar balança" tem o valor "0,628" que eu acabei de testar no linux
  22. tente usar o comando ls /dev/usb para ver as portas. eu uso isso para impressoras, mas para acessar essas portas precisa de permissão:
  23. eu consegui usando esse video, funcionou sem problema.
  24. https://discord.com/channels/798697718800318484/806113038976548894/1233137128020644035 Emissão Assincrona de DFes, porque vc deve considerar mudar a forma de emissão em o quanto antes https://open.spotify.com/episode/2q28LuD3eaq1Eig3zwmkk2?si=e0288c458d4e4230
  25. pode ser porque os servidores da sefaz RS estão desligados. por causa das enchentes
×
×
  • 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.