Ir para conteúdo
  • Cadastre-se

douglas_k

Membros
  • Total de ítens

    181
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que douglas_k postou

  1. @Juliomar Marchetti consegui capturar o peso corretamente, atualizei os fontes do acbr e agora fez certinho. Obrigado pela ajuda.
  2. Bom dia pessoal, Tenho uma balança rodoviária lider que esta configurada para ser utilizada na rede, estou efetuando testes com o ACBrBal, colocando na porta 'TCP:192.168.1.138:3500' mas o retorno do peso sempre vem com o valor 0. A parte de ativar parece estar ok, pois se coloco um ip invalido da erro, mas a captura acaba sempre retornando 0. -------------------------------------------------------------------------------- ATIVAR - 30/01/23 10:40:05:163 - Modelo: Lider - Porta: Device: BAUD=2400 DATA=8 PARITY=N STOP=1 HANDSHAKE= MAXBANDWIDTH=0 SENDBYTESCOUNT=0 SENDBYTESINTERVAL=0 -------------------------------------------------------------------------------- - 10:40:07:491 RX <- UltimoPesoLido: 0 , Resposta: - 10:40:08:646 RX <- UltimoPesoLido: 0 , Resposta: - 10:40:09:281 RX <- UltimoPesoLido: 0 , Resposta:
  3. Bom dia @leandroaoa Na verdade quero usar para fazer uma tela padrão de mensagens, poderia ser também um webbrowser pois ai já interpreta html, só teria que fazer ele ficar da mesma cor do form. Peguei uma procedure e adaptei aqui, consegui assim formatar o richedit interpretando o html, agora só vou fazer pra tratar as tags que passo, fiz com o negrito um exemplo. Abaixo tem uma tela como ficaria com o richedit e com o webbroser procedure TForm1.ApplyStyleWhenMatchPattern(Edit: TRichEdit; const TokenStart, TokenEnd: string); var StartPos, EndPos, OffSet, Len: Integer; begin Len:= Length(Edit.Text); StartPos:= Edit.FindText(TokenStart, 0, Len, []); EndPos:= Edit.FindText(TokenEnd, Succ(StartPos), Len, []); while EndPos <> -1 do begin {Tirando a tag inicial} Edit.SelStart:= StartPos; Edit.SelLength:= Length(TokenStart); Edit.SelText :=''; EndPos := EndPos - Length(TokenStart); {Atribuindo estilo} Edit.SelStart:= StartPos; Edit.SelLength:= EndPos - StartPos; if TokenStart = '<b>' then Edit.SelAttributes.Style:= [fsBold]; {Tirando a tag final} Edit.SelStart:= EndPos; Edit.SelLength:= Length(TokenEnd); Edit.SelText :=''; OffSet:= Succ(EndPos); StartPos:= Edit.FindText(TokenStart, OffSet, Len, []); EndPos:= Edit.FindText(TokenEnd, Succ(OffSet), Len, []); end; end; RichEdit1.Lines.Text := '<b>Erro:</b> Forma pagamento invalida '+ #10 +'<b>Erro:</b> Forma pagamento invalida' + #10 + '<b>Erro:</b> Forma pagamento invalida'; ApplyStyleWhenMatchPattern(RichEdit1, '<b>','</b>');
  4. na verdade eu quero que no RichEdit eu mostre o texto conforme uma string com html que vou passar, que tipo o texto seja exibido com a formação Eu to montando umas mensagens para usuário e to ja montando essa msg usando html, ai abro uma tela pra mostrar pro usuário e nessa tela quero mostrar essa mensagem formatada conforme a string que montei.
  5. Bom dia pessoal, Vocês tem alguma function ou se existe alguma outra forma, eu monto uma string contendo formatação html, exemplo: <b>Erro:</b>Forma de pagamento inválida. Ai pego essa string e atribuo para um RichEdit. Tem como exibir esse texto formatado? Erro: Forma de pagamento inválida
  6. Resolvido.. é só antes de iniciar a transação incluir juntamente com as restrições ACBrTEFD1.TEFCliSiTef.Restricoes o texto {CarteirasDigitaisHabilitadas=027160110024} ai habilitando oque é vc deseja.
  7. Bom dia Pessoal, Tenho a seguinte questão, utilizando o sitef com clisitef e carteiras digitais. Quando seleciono um meio de pagamento no cliente que seria para pagamento com 'Pix' o Sitef me retorna as carteiras digitais que estão habilitadas no clisitef.ini na sessão [CarteirasDigitais] e tag CarteirasHabilitadas=027160110024.... Eu gostaria que não fosse feito essa seleção, que já fosse direto para exibição do qrcode já que eu sei a forma de pagamento que estou trabalhando. Uma forma que acredito que funcionaria seria alterar esse .ini conforme preciso, só habilitando a carteira digital que estou transacionando no momento, alguém já trabalha alterando o clisitef.ini em tempo de execução? como aplicar a alteração depois de alterar o arquivo? Ou alguém tem outra forma que trabalha para contornar essa situação? Até mais.
  8. Show, obrigado @Juliomar Marchetti
  9. Sitef da software express.
  10. douglas_k

    Duvida Pix Troco

    Boa tarde Pessoal, Tenho uma duvida no momento de fazer um pix troco... eu tenho uma venda de 5,00 reais e faço o pagamento em pix de 5,00 reais mais 2,00 reais que informei em troco... como vcs tratam esses dois reais de troco, vcs jogam junto no valor recebido e enviam para venda 7,00 reais de pagamento, gerando os 2,00 reais de troco? Agora pensamos que a venda seja 7,00 reais ele paga 5,00 no pix e informa 2,00 no troco, então se seguir a mesma logica da forma anterior ele vai enviar 7,00 reais para o pagamento e fechar a venda pois atingiu o total.
  11. Bom dia @Juliomar Marchetti e @EMBarbosa, obrigado pela alteração efetuada. Assim que conseguir vamos efetuar os testes.
  12. Bom dia, Estou tentando cadastrar o meio de pagamento 'Pix' na ECF Epson Tm-T900F, só que esta me retornando erro, pelo que vi é o tamanho do campo, que deve ter um mínimo maior que 3 caracteres que estou informando. Qual descrição vocês estão utilizando para as finalizações com pix em seus PDVs?
  13. Pelo instalador deu os mesmos erros que abrindo pelo delphi e compilando. Ele gerou uma pasta LibD27x64 vazia. Oque acho estranho é assim, se eu crio um projeto vcl com o acbrboleto e o acbrboletofcfortes, ele compila win32 e win64, inclusive o exemplo utilizando o acbrboleto que vem junto com o projeto compilou corretamente para os dois. Agora se faço a criação de um projeto delphimvcframework ele só compila win32 se tentar compilar win64 gera aqueles erros do primeiro tópico. Esse diretório libD27x64, tentei substituir para o libD27 e tambem deixar sem ele, e de todos jeitos ocorreram os mesmos erros.
  14. Boa tarde, Estou tentando instalar o fortes para windows 64. Tanto usando o instalador quanto compilando pelo delphi, ocorre o seguinte erro ao compilar 'e2202 required package 'designide' not found'. Estamos iniciando um projeto utilizando delphi mvc e o acbrboleto e gostaríamos de utilizar win64. Compilando win32 vai sem problema mas compilando win64, ocorrem vários erros na compilação.
  15. Bom dia @automacaosamos, Obrigado pela ajuda. Tentei fazer dessa forma, só não tinha o 'RELEASE' na Condicional Defines, mas mesmo inserindo ela o erro permanece.
  16. Bom dia, Estamos iniciando o desenvolvimento com o ACBrBoletos e fazendo alguns testes para ver se conseguimos trabalhar com Linux, porem estamos com erro ao compilar o projeto adicionando apenas um form com o componente ACBrBoleto O erro ocorre no mesmo local que o amigo teve nesse post: Minha dúvida é, ainda não esta 100 % compatível essa questão? O Fortes reports para geração do boleto em PDF também não esta compatível com linux 64?
  17. Estou com a mesma situação, ele mostra certinho na Danfe e no xml da NFC-e, mas quando colo a URL no browser ou faço a leitura pelo qr-code ele altera para https://hom.sat.sef.sc.gov.br/tax.net/ e da erro 999-qr-code inválido
  18. Boa tarde @Juliomar Marchetti, na verdade atualizei sim, a parte dos registros do PAF-NFC-e vi que foi colocado um tipo para geração onde é possível gerar para PAF-ECF e PAF-NFC-e. A parte que não encontrei foi o seguinte requisito: I – “Identificação do PAF-NFC-e”, que apresentará na tela as seguintes informações: a) identificação da empresa desenvolvedora, contendo: 1. CNPJ; 2. razão social; 3. endereço; 4. telefone; e 5. contato. b) identificação do PAF-NFC-e, contendo: 1. nome comercial do PAF-NFC-e; e Hoje o identificação do PAF-ECF é chamado por ACBrECF.PafMF_RelIdentificacaoPafECF mas não encontrei algo já desenvolvido para PAF-NFC-e.
  19. Boa tarde, o ACBr já possui algo para geração do arquivo 'Identificação do PAF-NFC-e' semelhante ao 'Identificação do PAF-ECF' conforme requisito REQUISITO V do ANEXO III (Ato DIAT nº 038/2020) Até mais.
  20. Boa tarde Pessoal, Tive um caso semelhante com o do colega do seguinte post: https://www.projetoacbr.com.br/forum/topic/59916-mensagem-estranha-pelo-acbrmail/?tab=comments#comment-393386 e gostaria de compartilhar com quem eventualmente tenha o mesmo problema. O email ficava sem assunto e o corpo vinha com o conteúdo da imagem abaixo. Em testes encontrei que a causa era o timeout muito baixo, se deixo sem timeout ou com um valor alto a mensagem é enviada corretamente.
  21. Show, contornei usando o update direto com sql, se encontrar alguma solução para o caso publico aqui. Muito obrigado EMBarbosa. Até mais.
  22. Só para exemplificar, nessa sequencia de testes todos executam e tem o resultado esperado, menos o ultimo que seria o .clear. Ele chega executar só não altera a base de dados. dmSupervisor.cldsTeste.Active := False; dmSupervisor.cldsTeste.CommandText := 'SELECT * ' + 'FROM sis_usuarios ' + 'WHERE login_siusua=:P1'; dmSupervisor.cldsTeste.Params[0].DataType := ftString; dmSupervisor.cldsTeste.Params[0].AsString := '0'; dmSupervisor.cldsTeste.Active := True; while not dmSupervisor.cldsTeste.Eof do begin dmSupervisor.cldsTeste.Edit; dmSupervisor.cldsTeste.FieldByName('nome_siusua').AsString := 'Teste'; dmSupervisor.cldsTeste.post; dmSupervisor.cldsTeste.ApplyUpDates(-1); dmSupervisor.cldsTeste.Next; end; dmSupervisor.cldsTeste.Active := False; dmSupervisor.cldsTeste.CommandText := 'UPDATE sis_usuarios ' + 'SET nome_siusua=null ' + 'WHERE login_siusua=:P1'; dmSupervisor.cldsTeste.Params[0].DataType := ftString; dmSupervisor.cldsTeste.Params[0].AsString := '0'; dmSupervisor.cldsTeste.Execute; dmSupervisor.cldsTeste.Active := False; dmSupervisor.cldsTeste.CommandText := 'SELECT * ' + 'FROM sis_usuarios ' + 'WHERE login_siusua=:P1'; dmSupervisor.cldsTeste.Params[0].DataType := ftString; dmSupervisor.cldsTeste.Params[0].AsString := '0'; dmSupervisor.cldsTeste.Active := True; while not dmSupervisor.cldsTeste.Eof do begin dmSupervisor.cldsTeste.Edit; dmSupervisor.cldsTeste.FieldByName('nome_siusua').AsString := 'Outro Teste'; dmSupervisor.cldsTeste.post; dmSupervisor.cldsTeste.ApplyUpDates(-1); dmSupervisor.cldsTeste.Next; end; dmSupervisor.cldsTeste.Active := False; dmSupervisor.cldsTeste.CommandText := 'SELECT * ' + 'FROM sis_usuarios ' + 'WHERE login_siusua=:P1'; dmSupervisor.cldsTeste.Params[0].DataType := ftString; dmSupervisor.cldsTeste.Params[0].AsString := '0'; dmSupervisor.cldsTeste.Active := True; while not dmSupervisor.cldsTeste.Eof do begin dmSupervisor.cldsTeste.Edit; dmSupervisor.cldsTeste.FieldByName('nome_siusua').Clear; dmSupervisor.cldsTeste.post; dmSupervisor.cldsTeste.ApplyUpDates(-1); dmSupervisor.cldsTeste.Next; end;
×
×
  • 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.