douglas_k
-
Total de ítens
181 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por douglas_k
-
-
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:
-
20 horas atrás, leandroaoa disse:
Mas é so voce criar os style estou deduzindo que voce saiba trabalhar com htm
var
Doc: Variant;
begin
if not Assigned(WebBrowser1.Document) then
WebBrowser1.Navigate('about:blank');Doc := WebBrowser1.Document;
Doc.Clear;
Doc.Write('<html>');
Doc.Write('<head>');
Doc.Write('<style>');
Doc.Write('.important {background-color: blue; color: white; border: 2px solid black; margin: 2px; padding: 2px;}');
Doc.Write('</style>');
Doc.Write('</head>');
Doc.Write('<body>');
Doc.Write('<h1 class="important">Isto é um cabeçalho</h1>');
Doc.Write('<p class="important">Isto é um parágrafo.</p>');
Doc.Write('</body>');
Doc.Write('</html>Boa tarde, obrigado pelas dicas
-
Em 21/01/2023 at 10:45, leandroaoa disse:
bom dia
porque voce não usa WebBrowser no lugar do RichEdit exemplo:
var
Doc: Variant;
begin
if not Assigned(WebBrowser1.Document) then
WebBrowser1.Navigate('about:blank');Doc := WebBrowser1.Document;
Doc.Clear;
Doc.Write('<b>Erro:</b>Forma de pagamento inválida.');
Doc.Close;
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>'); -
42 minutos atrás, Élviro Cavalcanti disse:
Pelo que entendi, você está querendo pegar algo dentro de um html ou xml por exemplo, você poderia usar o seguinte:
function TfrmExemplo.obterNroResultado(const aXML: XMLString; aTag,
aEndTag: string): string;
var
_Posini, _Posfim : integer;
Begin
Result := '';
_Posini:= Pos(aTag,aXML);
_Posfim:= Pos(aEndTag,aXML);
if ( _Posini > 0 ) then
begin
inc(_PosIni, Length(aTag));
Result:=Copy(aXML,_Posini+1,(_PosFim-_PosIni)-1);
end;
end;
E no botão seria esse comando pra chamar o campo desejado, seria isso ?
EditResultado.Text := obterNroResultado(mmXML.Text, '<nRec','</nRec');
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.
-
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
-
53 minutos atrás, douglas_k disse:
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.
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.
-
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.
-
Em 11/05/2022 at 16:23, Juliomar Marchetti disse:
Veja que interessante é algo da regra de negócio que tu vai colocar em seu sistema.
tudo é possível, mas geralmente se fechou o valor o máximo que deixa de troco era um valor inferior que o valor em dinheiro lançado.
hoje já não tu pode usar para sacar grana e entregar a pessoa como muitos estabelecimentos fazem
Show, obrigado @Juliomar Marchetti
-
Agora, Juliomar Marchetti disse:
de qual solução TEF está falando?
Sitef da software express.
-
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.
-
12 minutos atrás, Juliomar Marchetti disse:
Bom dia.
com a ajuda do amigo @EMBarbosa foi feito a devida separação dos pacotes.
entaõ assim não depende mais do visual temos agora o frce.bpl e o dclfrce.bpl.
Bom dia @Juliomar Marchetti e @EMBarbosa, obrigado pela alteração efetuada. Assim que conseguir vamos efetuar os testes.
-
3 horas atrás, Daniel Simoes disse:
Tente "PIX Pagto Instantaneo"
show, obrigado pela sugestão.
- 1
-
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?
-
14 horas atrás, Juliomar Marchetti disse:
Exatamente pois pra rodar no Win64 não é instalado na IDE 64 pois a IDE do delphi é Win32.
o que ele precisa é de diretivas e estar na win32 pra dai funcionar.
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.
-
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.
-
21 horas atrás, automacaosamos disse:
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.
-
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?
-
Em 28/05/2021 at 17:56, fabio disse:
Não tinha nem percebido isso, mas a url que consta no xml é https://hom.sat.sef.sc.gov.br/nfce/consulta?p=42210503934293000172650010000000171228673680|2|2|1|8D8374EEC25363FB0F7BF3DD85C60D95C2BEC904
quando copio esta url para o navegador ela se altera e fica igual esta informada acima
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
-
7 minutos atrás, Juliomar Marchetti disse:
Pra imprimir não foi feito nada.
ams veja que é pra tu trazer na tela
Verdade Amigo, falha minha na leitura, obrigado.
-
Em 23/04/2021 at 15:48, Juliomar Marchetti disse:
Já a um tempo no ACBrPAF mesmo. olhou e atualizou o componente?
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.
-
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.
-
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.
- 2
- 1
-
14 horas atrás, EMBarbosa disse:
Pode ser um bug no componente então. Ou no ClientDataSet ou no DBX que você usa por trás.
Lembro de ter tido um problema como esse. Estava até no QC da Embarcadero...
Show, contornei usando o update direto com sql, se encontrar alguma solução para o caso publico aqui.
Muito obrigado EMBarbosa.
Até mais.
- 1
-
8 minutos atrás, douglas_k disse:
Na verdade se salvo outros valores ele faz corretamente, se por exemplo mover o valor 'Teste' ele salva corretamente, agora o .Clear, simplesmente não altera o valor, fica o mesmo que ja estava.
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;
AcbrBal + Balança rodoviária lider LD2052
em ACBrSerial
Postado
@Juliomar Marchetti consegui capturar o peso corretamente, atualizei os fontes do acbr e agora fez certinho. Obrigado pela ajuda.