-
Total de ítens
573 -
Registro em
-
Última visita
-
Days Won
2
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que datilas postou
-
Recuperar o BIN para aplicar desconto antes do pagamento
datilas replied to andrefaria's tópico in Dúvidas sobre TEF
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 -
Recuperar o BIN para aplicar desconto antes do pagamento
datilas replied to andrefaria's tópico in Dúvidas sobre TEF
vc pode usar: ACBrTEFAPI1.EfetuarAdministrativa('430'); e pegar o resultado em: ACBrTEFAPI1.UltimaRespostaTEF. -
ja testei e esta ok. muito obrigado.
-
ok. é que eu ainda não comecei a trabalhar com api, então para mim pareceu claro. me desculpe.
-
por favor leia o tópico para entender:
-
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.
-
existe a possibilidade dessas alterações serem incluidas no acbr?
-
segue a unit alterada caso o @Daniel Simoes queira adicionar ao acbr ACBrTEFAPI.pas
-
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
-
tenta assim: dtmTEF.ACBrTEFAPI1.ObterDadoPinPad(dpCPF, 90000, 11, 11);
-
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
-
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;
-
Entendi. Mas seria interessante ter essa opção no AcbrBoleto
-
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
-
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.
-
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
-
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
-
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
-
Log sendo registrado no terminal linux
datilas replied to dimom's tópico in NFC-e - Nota Fiscal do Consumidor Eletrônica
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 -
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
-
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:
-
eu consegui usando esse video, funcionou sem problema.
-
Ambiente Homologação MDF-e Inacessivel
datilas replied to Wiliam Dutra's tópico in Dúvidas Gerais sobre o ACBr
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 -
pode ser porque os servidores da sefaz RS estão desligados. por causa das enchentes