leandroaoa
-
Total de ítens
372 -
Registro em
-
Última visita
-
Days Won
3
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por leandroaoa
-
-
Boa tarde pessoal. tenho a seguinte situacao. eu recebo um retorno ja com a etiqueta montada e preciso imprimir em uma argox ppla
alguem consegue me ajudar
recebo o seguinte
N
R30,10
D10
A210,0,0,1,1,1,N,"Leandro da Silva Alves"
B285,65,0,2,2,4,70,N,"206323216001"
A210,20,0,1,1,1,N,"206-3232160-01 19/01/24 11:42"
A210,35,0,1,1,1,N,"CONV: 15665"
A330,35,0,1,1,1,N,"PED.CONV: 536"
A210,50,0,1,1,1,N,"NTOSP"
A430,50,0,1,1,1,N,"DN 07/03/77"
A195,220,3,1,1,1,R," NTOSP"
A210,143,0,1,1,1,N,"SORO"
A210,158,0,1,1,1,N,""
A210,173,0,1,1,1,N,"VOL: 800ul"
A450,173,0,1,1,1,N,"(REFRIG.)"
A210,188,0,1,1,1,N,"TSH-B"
A210,206,0,1,1,1,N,""
P1N
-
Em 11/09/2023 at 12:54, giovani deitos disse:
Sim, é uma boa alternativa.
Mas no caso de não ser um super-mercado.
Imagina o cliente paga seu almoço e precisa da NFCE na hora para comprovação na empresa.
Por isso imaginei o seguinte fluxo que pode ser funcional nesses momentos dando a opção ao operador arrumar o cadastro na hora e emitir a NFCE.
Uma função que emita a NFCE não emitindo o TEF, ou seja pulando o TEF que já foi pago.
Assim se na primeira tentativa o TEF é autorizado e a nota é rejeitada, o operador arruma o cadastro e usa a função emitir NFCE sem tef.Bom dia o fluxo é o mesmo voce vai imprimir a NFCe que deu rejeitada nela sera impresso o dizeres NFCe emitida em contigencia algo assim. Entrega pra pessoa e apos a normalizacao reenvia a NFCe pra Sefaz
- 1
-
15 horas atrás, giovani deitos disse:
Tudo bem Juliomar?
Minha ideia para pagar um cstat antes seria para o seguinte caso.
-Operador finaliza a venda.
-Abre tela TEF .
-Cliente finaliza o pagamento do TEF
E seguindo o fluxo a NFCE não é gerada devido a algum erro de cadastro do NCM por exemplo.
Mas... o TEF já foi feito e a tela de vendas continua ali com erro da nota.
Ai sabe né...
Vai ter operadores que irão se perder, irão tentar sanar o erro na nota e passar o TEF novamente por não saber ou não entender que o TEF ja foi debitado do cliente.
Dentre essa situação ou outras tava pensando uma maneira de validar a Nota antes.
To com essa questão matutando na cabeça, ou seja, uma forma de melhor tratar isso que fique claro aos operadores.
bom dia
Eu uso o seguinte fluxo :
Salvo os dados da NFCe no banco de dados
Salvo os dados de pagamento
envio a nota rejeitado ou nao é impresso o cupom e libero o cliente
a tarde no fechamento do caixa ai sim vai aparecer as notas rejeitadas so permitindo o fechamento apos a validacao das mesma basicamente seria isso.
A forma que voce quer fazer ai nao vai dar muito certo imagina um supermercado lotado voce vai para um caixa ate que arrume o problema na emissao da nfce e se for problema no cadastro do produto, vai ficar travado ate a pessoa que faz cadastro alterar pra poder liberar a nota imagina quantas outras pessoas vao ter comprado o mesmo produto, e ai vai parar todos os caixas. no meu ponto de vista a unica coisa que pode travar é a confirmacao da forma de pagamento apos confirmado o pagamento libera o cliente e vamos pro proximo.
- 1
-
Boa tarde
segue esse topico ai que voce vai encontrar tudo o que precisa
- 1
-
@Daniel Simoes Bom dia. deu certo aqui eu que passei os dados errado obrigado ai pela ajuda pode fechar o topico
ACBrPSPSicredi1.Certificado := DecodeBase64(aDataSet.FieldByName('certificado_cer').AsAnsiString);
-
11 horas atrás, Daniel Simoes disse:
Sim.. é um arquivo Binário como qualquer outro ..
Salve em um Blob
boa noite Daniel no meu teste nao deu certo salvando no banco. se eu passar o caminho da certo agora salvando no banco da erro 500
Olha como estou fazendo
estou usando essa funcao pra salvar no banco MYSQL
function LerCertificado(pCaminho: string): AnsiString;
var
vFile: TFileStream;
begin
vFile := TFileStream.Create(pCaminho, fmOpenRead);
try
Result := EncodeBase64(ReadStrFromStream(vFile, vFile.Size));
finally
vFile.Free;
end;
end;dm1.sqldataset1.close;
dm1.sqldataset1.sql.text:='update config_pix set certificado_cer=:certificado';
dm1.sqldataset1.parambyname('certificado').AsAnsiString := LerCertificado(lCaminho);//trim(destino);
dm1.sqldataset1.ExecSQL;
ACBrPixCD1.PSP := ACBrPSPSicredi1;
ACBrPSPSicredi1.ChavePIX := aDataSet.FieldByName('chavepix').AsString;
ACBrPSPSicredi1.ClientID := aDataSet.FieldByName('clientid').AsString;
ACBrPSPSicredi1.ClientSecret := aDataSet.FieldByName('clientsecret').AsString;
ACBrPSPSicredi1.ArquivoChavePrivada := FDir+aDataSet.FieldByName('chave_privada').AsString;
ACBrPSPSicredi1.ArquivoCertificado := DecodeBase64(aDataSet.FieldByName('certificado_cer').AsAnsiString);
-
Bom dia pessoal.
É possivel salvar os certificado PEM, CER, KEY em base de dados ? Estou implementando a APIPIX e estava vendo essa possibilidade ao inves de ter que levar os certificados pra distribuir junto a aplicacao
-
boa tarde
segue o passo que tem ai nesse link ai tem os banco suportados atualmente
- 2
-
41 minutos atrás, Renato Rubinho disse:
Veja a unit disponibilizada neste tópico para mesclar PDFs.
Perfeito obrigado pela dica funcionou perfeitamente
- 1
-
Boa tarde pessoal é possivel concatenar varios PDFs em delphi utilizando o ACBrFPD ? se for alguem teria um exemplo !
-
54 minutos atrás, rdxdt disse:
Aparentemente está calibrada, ao apertar o botão de feed na impressora, ela avança uma etiqueta, inclusve esta mesma etiqueta estava em uso a um bom tempo com as mesmas etiquetas, mas vou pedir para o cliente fazer o procedimento de reset.
O que mudou mesmo foi a versão do componente em uso, se não me engano a build do sistema que a cliente usava foi compilada com uma versão da suite ACBr antes de surgir o trunk2, mas vou continuar explorando o que pode ter acontecido.
No caso a impressora é uma Argox OS-214.
Bom dia se voce tinha uma versão tão antiga assim sugiro a dar uma olhada nos fontes pois tiveram algumas mudancas pegue o exemplo tambem a analisa. Essa foi uma das prorpiedades alteradas que pode estar dando esse problema ai
FETQ.Unidade := etqMilimetros; //etqMilimetros, etqPolegadas, etqDots, etqDecimoDeMilimetros
essa propriedade altera o tamanho conforme o que estiver selecionado
-
Bom dia estude melhor o link que o @Renato Rubinho te passou voce esta fazendo errado a consulta por ultNSU voce tem que informar o ultimo NSU que é devolvido da consulta anterior e deve espera 1 hora entre consulta. Pra poder efetuar o download dos xml voce precisa fazer a manifestacao so apos a manifestacao é que é liberado o XML para ser baixado. A consulta so traz um resumo.
- 2
-
Em 23/01/2023 at 13:36, douglas_k disse:
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>');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> -
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;
-
no seu caso deve ficar assim:
vtroco := 5,00 pois o valor da nota é menor que o pagamento e fazer um controle interno desse valor, nao tem outra solução a nao ser controle interno seu
pra fazer o que voce quer faca o seguinte informa o valor da nota na forma de pagamento e esse valor voce salva em ouro lugar seria mais ou menos isso
-
Bom dia
pra voce usar outros voce tem que alimentar a seguinte tag tambem
xPag := 'CREDITO COMPRA FUTURA';
-
Boa tarde
Esta usando fortes ou fast e qual o layout
e como esta alimentando o componente.
esse mesmo comportamento acontece tambem no programa de exemplo.
- 1
-
bom dia
o Campo vOutros esta tambem com valor nesse caso ele deve ser zerado
- 1
-
4 minutos atrás, moreira mauro disse:
Valter obrigado pelo seu retorno
mas o problema é o que informar neste campo do acbr
neste campo abaixo.
if DM1.TBLItensnotasaidais_cson.Value = '3500' then
icms.CSOSN := csosn500 ?
Detalhe estou fazendo uma nota de devolução.como eu disse acima nao existe csosn 3500 voce tem que passar o seguinte
icms.orig := 3;
icms.csosn := 500;
nao importa se é nota de venda devolucao etc
esse seu if esta totalmente errado verifica ai essa sua funcao.
outra coisa verirfica com o contador da empresa para gerar a nota de devolucao correta pois existe produtos com ST e produtos normal existe regras e tem que empresas que ate mandam um espelho de como dever ser feita a nota de devolucao
-
Boa tarde esses numeros nao existe. abaixo tabela CSOS
consulte um contador para enteder a numeracao pelo visto ali o primeiro numero seria a origem da mercadoria o campo Produto.Imposto.ICMS.orig
- 1
-
boa tarde da uma olhada ai
-
Voce esta usando o danfe do Fortes use o ACBrNFeDANFeESCPOS da uma olhado no exemplo do acbr
-
Opa boa tarde manda em escpos eu uso assim e não tenho problemas usando a mesma impressora
-
Poste o XML para teste
Fortes Report campo Memo maior que tamanho da página
em Dúvidas não relacionadas ao ACBr
Postado
Boa tarde da uma olhada ai nesse topico acho que pode te ajudar