-
Total de ítens
496 -
Registro em
-
Última visita
Community Answers
-
Hetosoft Sistemas's post in cardse este não é um código picpay válido was marked as the answer
Descobrir
esta vindo certo do sitef
é so mudar
//QRCode.Encoding := qrUTF8NoBOM;
QRCode.Encoding := qrUTF8BOM; esse monta o qrcode sem o ?
-
Hetosoft Sistemas's post in Habilitar Seleção Certificado TWebBrowser Delphi was marked as the answer
Consegui realizar o Download do XML da NF-e pelo WebBrowser,
foi somente setar a Propriedade do TWebBrowser.Silent = False;
A partir dai a opção para selecionar o certificado ja aparece, e é só salvar para arquivo.
-
Hetosoft Sistemas's post in WebService SOAP Delphi was marked as the answer
Era isso Mesmo, segue abaixo como consegui pegar caminho exato:
uses
Winapi.Windows
function TWM.GetModuleFileSpec: String;
var
cret: integer;
ModName: array[0..MAX_PATH - 1] of Char;
begin
GetModuleFileName(HInstance, ModName, SizeOf(ModName));
cret := GetLongPathName(ModName, ModName, SizeOf(ModName));
SetString(Result, ModName, cret);
end;
function TWM.GetModulePath: String;
begin
Result := ExtractFilePath(GetModuleFileSpec);
end;
var Caminho := GetModulePath;
-
Hetosoft Sistemas's post in Nf-E 3.10 was marked as the answer
Resolvir assim
Ide.dEmi := StrToDate(DM12.Client_NotaFiscalC_EMISSAO.Text);// Date;
Ide.dSaiEnt := StrToDate(DM12.Client_NotaFiscalC_ENTREGA.Text);// Date;
Ide.hSaiEnt := Now;
Ide.dEmi := StrToDateTime(DM12.Client_NotaFiscalC_EMISSAO.Text+' '+FormatDateTime('hh:mm:ss',Now));
Ide.dSaiEnt := StrToDateTime(DM12.Client_NotaFiscalC_ENTREGA.Text+' '+FormatDateTime('hh:mm:ss',Now));
-
Hetosoft Sistemas's post in Iss.net Erro Ao Enviar was marked as the answer
Desativei o CONSULTALOTEAPOSENVIO = False
e mudei minha rotina de enviar
try
if Form_NFSe.ACBrNFSe1.Enviar(vNumLote) then
begin
//MessagemH( 0, 'Form_NFSe.ACBrNFSe1.Enviar(vNumLote)' );
DM12.Client_NotaFiscal.edit;
DM12.Client_NotaFiscalNFS_PROTOCOLO.Text:= Form_NFSe.ACBrNFSe1.WebServices.Enviar.Protocolo;
DM12.Client_NotaFiscalNFS_PROTOCOLO_LOTE.Text:= Form_NFSe.ACBrNFSe1.WebServices.ConsLote.Protocolo;
DM12.Client_NotaFiscalNFS_CODVERIFICACAO.Text:= Form_NFSe.ACBrNFSe1.NotasFiscais.Items[0].NFSe.CodigoVerificacao;
DM12.Client_NotaFiscalNUMERO.Text:= Form_NFSe.ACBrNFSe1.NotasFiscais.Items[0].NFSe.Numero;
DM12.Client_NotaFiscal.ApplyUpdates(-1);
Form_NFSe.ACBrNFSe1.NotasFiscais.Clear;
//COSNULTA 1 SEGUNDOS 5 TENTATIVA
//CONSUTA RPS RPS + 12 - RPS.XML
//
//
try
Form_NFSe.ACBrNFSe1.NotasFiscais.Clear;
Form_NFSe.ACBrNFSe1.NotasFiscais.LoadFromFile(
RAIZ+'\Controles_SQL\NFSe\EnvioDeResposta\'+
Copy( DM12.Client_NotaFiscalC_EMISSAO.Text,7,4 )+
Copy( DM12.Client_NotaFiscalC_EMISSAO.Text,4,2 )+
'\RPS\'+DM12.Client_NotaFiscalNFS_RPS.Text+Form_NFSe.Edit2.Text+'-RPS.XML'
);
Form_NFSe.ACBrNFSe1.ConsultarNFSeporRps(Form_NFSe.ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero,
Form_NFSe.ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Serie,
TipoRPSToStr(Form_NFSe.ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Tipo),
Form_NFSe.ACBrNFSe1.NotasFiscais.Items[0].NFSe.Prestador.Cnpj,
Form_NFSe.ACBrNFSe1.NotasFiscais.Items[0].NFSe.Prestador.InscricaoMunicipal);
Form_NFSe.MemoResp.Lines.Text := UTF8Encode(Form_NFSe.ACBrNFSe1.WebServices.ConsNfseRps.RetWS);
Form_NFSe.memoRespWS.Lines.Text := UTF8Encode(Form_NFSe.ACBrNFSe1.WebServices.ConsNfseRps.RetWS);
Form_NFSe.LoadXML(Form_NFSe.MemoResp, Form_NFSe.WBResposta);
DM12.Client_NotaFiscal.edit;
DM12.Client_NotaFiscalNFS_CODVERIFICACAO.Text:= Form_NFSe.ACBrNFSe1.NotasFiscais.Items[0].NFSe.CodigoVerificacao;
DM12.Client_NotaFiscalNUMERO.Text:= Form_NFSe.ACBrNFSe1.NotasFiscais.Items[0].NFSe.Numero;
DM12.Client_NotaFiscal.ApplyUpdates(-1);
if Tipo=0 then
begin
//IMPRIMIR
Form_NotaFiscal.BitBtn99Click(nil);
end;
Form_NFSe.ACBrNFSe1.NotasFiscais.Clear;
except
MessagemH(2,'NFS-e NºPED:'+DM12.Client_NotaFiscalCOD.Text+' RPS:'+FormatFloat('#########0', StrToInt(NumNFSe))+''+#13+
'Sem Retorno !');
Abort;
end;
end else
begin
MessagemH(2,'NFS-e NºPED:'+DM12.Client_NotaFiscalCOD.Text+' RPS:'+FormatFloat('#########0', StrToInt(NumNFSe))+''+#13+
'Não Enviada !');
Abort;
end;
except
on E: Exception do
begin
MessagemH(2,'NFS-e NºPED:'+DM12.Client_NotaFiscalCOD.Text+' RPS:'+FormatFloat('#########0', StrToInt(NumNFSe))+''+#13+
'Não Enviada !'+#13+
E.Message);
Form_NFSe.ACBrNFSe1.NotasFiscais.Clear;
Abort;
end;
end;
-
Hetosoft Sistemas's post in Danfe & Acbrnfemonitor was marked as the answer
Senhores,
Consegui resolver o problema faltou simplesmente colocar onde esta:
Errado: NFe.ImprimirDanfe("'+odOpenNFe.FileName+'","MP4200TH01",1)
Certo: NFe.ImprimirDanfe("'+odOpenNFe.FileName+'","\\ESTACAO01\MP4200TH01")
-
Hetosoft Sistemas's post in Nome Computador Da Conexao Remota was marked as the answer
Conseguir
USERNAME = nome do usuario conexao remota
CLIENTNAME = nome da maquina que abrio a conexao remota
USERPROFILE = caminho da pasta de meus documentos do usuario
Edit1.Text := GetEnv('USERNAME');
function TForm1.GetEnv(Variable: string): string;
var Buffer : Integer;
begin
Buffer := GetEnvironmentVariable(PChar(Variable), nil, 0);
if Buffer > 0 then
begin
SetLength(Result, Buffer - 1);
GetEnvironmentVariable(PChar(Variable), PChar(Result), Buffer);
end
else
Result := '';
end;
essa é pra saber se esta em uma conexao remota ou desktop
procedure TForm1.Button1Click(Sender: TObject);
begin
if IsRemoteSession=True then
Edit1.Text:='Conexao Remota' else
Edit1.Text:= 'Desktop' ;
end;
function TForm1.IsRemoteSession: boolean;
var res : integer;
begin
res := GetSystemMetrics (SM_REMOTESESSION);
Result := (res <> 0);
end;
-
Hetosoft Sistemas's post in Qrcode Em Off-Line was marked as the answer
blz,
Barcode2D_QRCode1.Barcode:= NotaUtil.GetURLQRCode(
Form_NFe.ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.cUF,
Form_NFe.ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.tpAmb,
copy( Form_NFe.ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, 4,44 ),
Form_NFe.ACBrNFe1.NotasFiscais.Items[0].NFe.Dest.CNPJCPF,
Form_NFe.ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dEmi,
Form_NFe.ACBrNFe1.NotasFiscais.Items[0].NFe.Total.ICMSTot.vNF,
Form_NFe.ACBrNFe1.NotasFiscais.Items[0].NFe.Total.ICMSTot.vICMS,
Form_NFe.ACBrNFe1.NotasFiscais.Items[0].NFe.signature.DigestValue,
IDTOKEN,
TOKEN );
Brigadoooooooo.
-
Hetosoft Sistemas's post in Manifestar - Manifestação Do Destinatário was marked as the answer
Obrigado André pela ajuda consegui enviar.
-
Hetosoft Sistemas's post in Retorno Acbrnfemonitor - Manifestação Do Destinatário was marked as the answer
Para esclarecer melhor a duvida por exemplo ao fazer a consulta sem usar o monitor é usado este comando:
MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.ConsNFeDest.RetWS);
memoRespWS.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.ConsNFeDest.RetornoWS);
// ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].XXXX
LoadXML(MemoResp, WBResposta);
quando eu uso o socket com monitor a maquina cliente não acesso o WebServices como obter a resposta da consulta na maquina cliente?
-
Hetosoft Sistemas's post in Manifestação Do Destinatário was marked as the answer
Juliomar após rever o link que vc passo consegui enviar o comando para o monitor. Obrigado pela ajuda.
-
Hetosoft Sistemas's post in 100 - Qr Code Inválido was marked as the answer
Obrigado pela ajuda fiz a atualização e resolveu o problema. Tive que gerar tb um CSC para homologação caso alguém precise veja nestes links:
http://www.sefaz.mt.gov.br/portal/?action=noti&codg_Noticia=32240
http://www.sefaz.mt.gov.br/portal/nfce/
-
Hetosoft Sistemas's post in Acbrnfedanfeqr1 Pdf was marked as the answer
RESOLVI
colocando estes codigos
unit ACBrNFeDANFeQR;
if APreview
then begin
QRNFe.PrinterSettings.Copies := FNumCopias; // Incluido por Italo em 15/10/2010
// Incluido por Italo em 13/01/2011
{$IFDEF QReport_PDF}
QRNFe.PrevShowSearch := False;
QRNFe.PrevShowThumbs := False;
QRNFe.PreviewInitialState := wsMaximized;
QRNFe.PrevInitialZoom := qrZoomToWidth;
QRNFe.PreviewDefaultSaveType := stPDF;
QRExportFilterLibrary.AddFilter(TQRPDFDocumentFilter);
{$ENDIF}
-
Hetosoft Sistemas's post in Nfc-E 3.10 was marked as the answer
Dest.indIEDest := inNaoContribuinte;
-
Hetosoft Sistemas's post in Boleto Data De Multa_Juros Errada was marked as the answer
Resolvir,
mudando este codigo
na unit ACBrBoleto;
-
Hetosoft Sistemas's post in Arquivo Remessa Quantidade De Linhas A Menos was marked as the answer
abra o arquivo ACBrCaixaEconomica.pas, coloque um breakpoint na linha 511 e verifique o que ele faz ao gerar o boleto!
Resolvido
-
Hetosoft Sistemas's post in Acbrboleto1.lerretorno was marked as the answer
procedure TfrmDemo.Button8Click(Sender: TObject);
Var
i: integer;
Titulo : TACBrTitulo;
begin
ACBrBoleto1.LerRetorno;
try
For I := 0 to ACBrBoleto1.ListadeBoletos.Count - 1 do
begin
Titulo := ACBrBoleto1.ListadeBoletos.Objects;
Memo1.Lines.Add('Numero do Documento = ' + Titulo.NumeroDocumento);
Memo1.Lines.Add('Valor Recebido = ' + FloatToStr(Titulo.ValorRecebido));
Memo1.Lines.Add('Nosso Numero = ' + Titulo.NossoNumero);
Memo1.Lines.Add('Nome do Cliente = ' + Titulo.ACBrBoleto.Name);
end;
finally
end;
end;
-
Hetosoft Sistemas's post in Nao Gera Pdf Boleto was marked as the answer
Esqueci de um detalhe ativa o codigo.
unit ACBrBoletoFCQuickFr;
uses
SysUtils, StdCtrls, Classes, Graphics, Controls, Forms, Dialogs, ACBrBoleto,
QRMultiExport, QRCtrls, QuickRpt, ExtCtrls, QRExport, ACBrBarCode,
QRWebFilt, QRPDFFilt;
procedure TACBrBoletoFCQuick.Imprimir;
var
frACBrBoletoQuick : TACBRBoletoFCQuickFr;
RLLayout: TQuickRep;
MultiExport : TQRMultiExport ;
FiltroExportacao: TQRPAbstractExportFilter;
//HTMLFilter : TQRHTMLDocumentFilter ;
begin
inherited Imprimir; // Executa verificações padroes
frACBrBoletoQuick := TACBrBoletoFCQuickFr.Create(Self);
try
with frACBrBoletoQuick do
begin
case LayOut of
lCarne : RLLayout:= BoletoCarne;
lPadraoEntrega : RLLayout:= LayoutPadraoEntrega;
else
RLLayout := LayoutBoleto;
end;
RLLayout.PrinterSettings.Copies := NumCopias ;
case Filtro of
fiPDF :
begin
FiltroExportacao := TQRPDFDocumentFilter.Create(NomeArquivo);
try
TQRPDFDocumentFilter(FiltroExportacao).CompressionOn := true;
RLLayout.ExportToFilter(FiltroExportacao);
finally
FiltroExportacao.Free;
end;
MultiExport := TQRMultiExport.Create(self);
try
MultiExport.Report := RLLayout ;
MultiExport.ExportFormat := qrxPDF ;
MultiExport.FileName := NomeArquivo ;
MultiExport.ShowDialog := MostrarSetup ;
MultiExport.DPI := 300 ;
MultiExport.DoExport ;
finally
MultiExport.Free ;
end ;
end ;
fiHTML :
begin
(* Codigo abaixo comentado pois não funciona...
HTMLFilter := TQRHTMLDocumentFilter.Create( NomeArquivo );
try
RLLayout.ExportToFilter( HTMLFilter );
finally
HTMLFilter.Free ;
end ;
*)
raise Exception.Create( ACBrStr('Exportação para HTML não implementada no QuickReport') ) ;
end ;
else
begin
if MostrarPreview then
RLLayout.PreviewModal
else
begin
if MostrarSetup then
RLLayout.PrinterSetup ;
if (RLLayout.Tag = 0) then
RLLayout.Print;
end ;
end
end ;
end ;
finally
frACBrBoletoQuick.Free ;
end;
end;
-
Hetosoft Sistemas's post in Manifesto De Destinatario Erro Data was marked as the answer
Depois de 20 dias
Conseguir resolver
Pesquisei no google e achei esse tópico.
que o Liandrocs resolveu o problema
-----------------------
Estao meu codigo ficou assim....
function TForm_Manifesto.Manifestar(tipo: Integer): Boolean;
var
Chave, idLote, CNPJ, vXMotivo: string;
lMsg: string;
begin
try
Chave:=DM11.Client_ManifestoCHAVE_NFE.Text;
CNPJ:=Form_NFe.edtEmitCNPJ.Text;
Chave := Trim(OnlyNumber(Chave));
idLote := '1';
Form_NFe.ACBrNFe1.EventoNFe.Evento.Clear;
with Form_NFe.ACBrNFe1.EventoNFe.Evento.Add do
begin
infEvento.chNFe := Chave;
infEvento.CNPJ := CNPJ;
infEvento.dhEvento := now;
if tipo=1 then
infEvento.tpEvento := teManifDestConfirmacao else
if tipo=2 then
infEvento.tpEvento := teManifDestDesconhecimento else
if tipo=3 then
infEvento.tpEvento := teManifDestOperNaoRealizada else
if tipo=4 then
infEvento.tpEvento := teManifDestCiencia;
//novo 2014
//infEvento.cOrgao:= StrToInt( Form_NFe.edtCodUF.Text );
//infEvento.nSeqEvento:=1;
//infEvento.versaoEvento:='1.00';
//infEvento.DescEvento:='Confirmacao da Operacao';
//infEvento.xJust:='';//Operacao nao Realizada
end;
//Form_NFe.ACBrNFe1.EnviarEventoNFe(StrToInt(IDLote));
try
Form_NFe.ACBrNFe1.EnviarEventoNFe(StrToInt(IDLote));
if Form_NFe.ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 657 then
begin
Form_NFe.ACBrNFe1.EventoNFe.Evento.Items[0].InfEvento.cOrgao := Form_NFe.ACBrNFe1.WebServices.EnvEvento.EventoRetorno.cOrgao;
if not Form_NFe.ACBrNFe1.EnviarEventoNFe(StrToInt(IDLote)) then
begin
with Form_NFe.ACBrNFe1.WebServices.EnvEvento do
begin
raise Exception.Create('Ocorreram erros ao tentar efetuar a manifestação:' + sLineBreak +
'Lote: ' + IntToStr(EventoRetorno.idLote) + sLineBreak +
'Ambiente: ' + TpAmbToStr(EventoRetorno.tpAmb) + sLineBreak +
'Orgao: ' + IntToStr(EventoRetorno.cOrgao) + sLineBreak +
'Status: ' + IntToStr(EventoRetorno.cStat) + sLineBreak +
'Motivo: ' + EventoRetorno.xMotivo);
end;
end;
end;
except
//SE ERRO DE DATA MUDA O cOrgao
Form_NFe.ACBrNFe1.EventoNFe.Evento.Items[0].InfEvento.cOrgao := 91;
Form_NFe.ACBrNFe1.EnviarEventoNFe(StrToInt(IDLote));
if Form_NFe.ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 657 then
begin
Form_NFe.ACBrNFe1.EventoNFe.Evento.Items[0].InfEvento.cOrgao := Form_NFe.ACBrNFe1.WebServices.EnvEvento.EventoRetorno.cOrgao;
if not Form_NFe.ACBrNFe1.EnviarEventoNFe(StrToInt(IDLote)) then
begin
with Form_NFe.ACBrNFe1.WebServices.EnvEvento do
begin
raise Exception.Create('Ocorreram erros ao tentar efetuar a manifestação:' + sLineBreak +
'Lote: ' + IntToStr(EventoRetorno.idLote) + sLineBreak +
'Ambiente: ' + TpAmbToStr(EventoRetorno.tpAmb) + sLineBreak +
'Orgao: ' + IntToStr(EventoRetorno.cOrgao) + sLineBreak +
'Status: ' + IntToStr(EventoRetorno.cStat) + sLineBreak +
'Motivo: ' + EventoRetorno.xMotivo);
end;
end;
end;
end;
with Form_NFe.AcbrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento do
begin
vXMotivo:=xMotivo;
lMsg:=
'Id: '+Id+#13+
'tpAmb: '+TpAmbToStr(tpAmb)+#13+
'verAplic: '+verAplic+#13+
'cOrgao: '+IntToStr(cOrgao)+#13+
'cStat: '+IntToStr(cStat)+#13+
'xMotivo: '+xMotivo+#13+
'chNFe: '+chNFe+#13+
'tpEvento: '+TpEventoToStr(tpEvento)+#13+
'xEvento: '+xEvento+#13+
'nSeqEvento: '+IntToStr(nSeqEvento)+#13+
'CNPJDest: '+CNPJDest+#13+
'emailDest: '+emailDest+#13+
'dhRegEvento: '+DateTimeToStr(dhRegEvento)+#13+
'nProt: '+nProt;
end;
if Pos('registrado e vinculado', vXMotivo )>0 then
begin
{
DM11.Client_Manifesto.Edit;
DM11.Client_ManifestoSEL.Text:='False';
DM11.Client_ManifestoDATAMANIFESTO.AsDateTime:=Now;
DM11.Client_ManifestoTIPOMANIFESTO.Text:=IntToStr(tipo);
DM11.Client_Manifesto.ApplyUpdates(-1);
}
try
DM.SQL_PRATUDO.Close;
DM.SQL_PRATUDO.CommandText:=
'UPDATE N_MANIFESTO SET DATAMANIFESTO=:A, TIPOMANIFESTO='+IntToStr(tipo)+' '+
'WHERE ID='+DM11.Client_ManifestoID.Text+' ';
DM.SQL_PRATUDO.ParamByName('A').AsDate:= StrToDate( FormatDateTime('dd/mm/yyyy',Now) );
DM.SQL_PRATUDO.ExecSQL;
DM.SQL_PRATUDO.Close;
DM.SQL_PRATUDO.CommandText:=
'commit';
DM.SQL_PRATUDO.ExecSQL;
except
MessagemH(1,'Erro ao salvar o evento do manifesto !');
end;
end else
begin
if tipo=1 then
NFEM_CancelarProcesso:=1;
ShowMessage(lMsg);
end;
Form_NFe.MemoResp.Lines.Text := UTF8Encode(Form_NFe.ACBrNFe1.WebServices.EnvEvento.RetWS);
Form_NFe.memoRespWS.Lines.Text := UTF8Encode(Form_NFe.ACBrNFe1.WebServices.EnvEvento.RetornoWS);
// ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].XXXX
Form_NFe.LoadXML(Form_NFe.MemoResp, Form_NFe.WBResposta);
except
on E: Exception do
begin
if tipo=1 then
NFEM_CancelarProcesso:=1;
MessagemH(2,'Erro ao enviar evento de manifesto !'+#13+
E.Message);
end;
end;
end;
-
Hetosoft Sistemas's post in Recuperar Xml - Xml2.00 was marked as the answer
Blz,
mais fiz a correções se alguém quiser .... ta ai.
RecuperarXML.rar
-
Hetosoft Sistemas's post in Caminho Do Servidor Para Baixar Todas As Pasta Acbr was marked as the answer
Post
Falei tanto que esqueci de postar a "solução".
Na unit ACBrHTMLtoXML,
alterar a linha:
if Trim(Versao)<>'2.00' then
para:
if (Trim(Versao)<>'2.00') and (Trim(Versao)<>'XML2.00') then
Pelo que vi, na consulta completa mudou somente a versão: de "2.00" para "XML2.00"
[]´s
Edson.
-
Hetosoft Sistemas's post in Acbrboleto1.gerarpdf Nao Funciona Mais was marked as the answer
Descomentei
ACBrBoletoFCQuickFr
uses
SysUtils, StdCtrls, Classes, Graphics, Controls, Forms, Dialogs, ACBrBoleto,
QRMultiExport, QRCtrls, QuickRpt, ExtCtrls, QRExport, ACBrBarCode, QRWebFilt, QRPDFFilt;
// RLFilters, RLPDFFilter ;
case Filtro of
fiPDF :
begin
FiltroExportacao := TQRPDFDocumentFilter.Create(NomeArquivo);
try
TQRPDFDocumentFilter(FiltroExportacao).CompressionOn := true;
RLLayout.ExportToFilter(FiltroExportacao);
finally
FiltroExportacao.Free;
end;
MultiExport := TQRMultiExport.Create(self);
try
MultiExport.Report := RLLayout ;
MultiExport.ExportFormat := qrxPDF ;
MultiExport.FileName := NomeArquivo ;
MultiExport.ShowDialog := MostrarSetup ;
MultiExport.DPI := 300 ;
MultiExport.DoExport ;
finally
MultiExport.Free ;
end ;
end ;
-
Hetosoft Sistemas's post in Nao Gerar O Pdf was marked as the answer
Descomentei
ACBrBoletoFCQuickFr
uses
SysUtils, StdCtrls, Classes, Graphics, Controls, Forms, Dialogs, ACBrBoleto,
QRMultiExport, QRCtrls, QuickRpt, ExtCtrls, QRExport, ACBrBarCode, QRWebFilt, QRPDFFilt;
// RLFilters, RLPDFFilter ;
case Filtro of
fiPDF :
begin
FiltroExportacao := TQRPDFDocumentFilter.Create(NomeArquivo);
try
TQRPDFDocumentFilter(FiltroExportacao).CompressionOn := true;
RLLayout.ExportToFilter(FiltroExportacao);
finally
FiltroExportacao.Free;
end;
MultiExport := TQRMultiExport.Create(self);
try
MultiExport.Report := RLLayout ;
MultiExport.ExportFormat := qrxPDF ;
MultiExport.FileName := NomeArquivo ;
MultiExport.ShowDialog := MostrarSetup ;
MultiExport.DPI := 300 ;
MultiExport.DoExport ;
finally
MultiExport.Free ;
end ;
end ;
-
Hetosoft Sistemas's post in Homologação Sitef was marked as the answer
eu conseguir na verdade fis isso
fCancelado:=False;
////////////////////////////////////////////////////
20 :
begin
if Mensagem = '' then
Mensagem := 'CONFIRMA ?';
Resposta := ifThen( (DoExibeMsg( opmYesNo, Mensagem ) = mrYes), '0', '1' ) ;
{Digitado := ( Resposta <> '1') ;}
fCancelado:=False;
end ;
//Cabei de ser homologado na Certified CIELO e com Cielo Premia
tive que fazer alguma modificacoes mais tudo ok.
fazer com que o dinheiro sempre seja imprimirdo por ultimo na impressora fiscal
desabilitei eta funcao
opeImprimePagamentos :
procedure TForm1TEFD.ACBrTEFD1ComandaECF(Operacao : TACBrTEFDOperacaoECF;
Resp : TACBrTEFDResp; var RetornoECF : Integer );
Var
Est : TACBrECFEstado ;
P : Integer;
Linha, CodFPG : String ;
ValorFPG : Double ;
begin
Memo1.Lines.Add('ComandaECF: '+GetEnumName( TypeInfo(TACBrTEFDOperacaoECF), integer(Operacao) ));
try
Est := Form1_ACBrECF.ACBrECF1.Estado;
case Operacao of
opeAbreGerencial :
Form1_ACBrECF.ACBrECF1.AbreRelatorioGerencial;
opeCancelaCupom :
if Est = estNaoFiscal then
begin
Form1_ACBrECF.ACBrECF1.CancelaNaoFiscal;
end else
begin
Form1_ACBrECF.ACBrECF1.CancelaCupom;//2
Form_PDV.Cancelar_Cupom_REGISTROS_TefFim(-1);
end;
opeFechaCupom :
if Est = estNaoFiscal then
Form1_ACBrECF.ACBrECF1.FechaNaoFiscal('') //'Projeto ACBr|http://acbr.sf.net'
else
begin
Form_PDV.Finalizar_ACBrECF_Memo;
Form1_ACBrECF.ACBrECF1.FechaCupom( Form_PDV.DBMemo2.Text); //'Projeto ACBr|http://acbr.sf.net'
end;
opeSubTotalizaCupom :
if Est = estNaoFiscal then
Form1_ACBrECF.ACBrECF1.SubtotalizaNaoFiscal( 0, '' ) //'Projeto ACBr|http://acbr.sf.net'
else
Form1_ACBrECF.ACBrECF1.SubtotalizaCupom( 0, '' ); //'Projeto ACBr|http://acbr.sf.net'
opeFechaGerencial, opeFechaVinculado :
Form1_ACBrECF.ACBrECF1.FechaRelatorio ;
opePulaLinhas :
begin
Form1_ACBrECF.ACBrECF1.PulaLinhas( Form1_ACBrECF.ACBrECF1.LinhasEntreCupons );
Form1_ACBrECF.ACBrECF1.CortaPapel( True );
//Sleep(200);
end;
opeImprimePagamentos :
begin
{while mPagamentos.Lines.Count > 0 do
begin
Linha := mPagamentos.Lines[0] ;
P := pos('|',Linha) ;
if P > 0 then
begin
CodFPG := Trim(copy(Linha,1,P-1)) ;
ValorFPG := StringToFloatDef( copy(Linha, P+1, Length(Linha) ), 0 );
ShowMessage(CodFPG+' - '+FloatToStr(ValorFPG));
if (CodFPG <> '') and (ValorFPG > 0) then
Form1_ACBrECF.ACBrECF1.EfetuaPagamento( CodFPG, ValorFPG );
end;
mPagamentos.Lines.Delete(0);
end; }
end;
end;
RetornoECF := 1 ;
except
RetornoECF := 0 ;
end;
end;
//E COLOQUEI AQUI
'P' :
begin
if not AutoEfetuarPagamento then
procedure TACBrTEFD.FinalizarCupom(DesbloquearMouseTecladoNoTermino: Boolean);
Var
I, J, Ordem : Integer;
Est, EstNaoFiscal : AnsiChar;
ImpressaoOk : Boolean ;
GrupoFPG : TACBrTEFDArrayGrupoRespostasPendentes ;
P : Integer;
Linha, CodFPG : String ;
ValorFPG : Double ;
begin
ImpressaoOk := False ;
fTefClass.GravaLog( 'FinalizarCupom'+IfThen(DesbloquearMouseTecladoNoTermino,
', DesbloquearMouseTecladoNoTermino','') ) ;
try
while not ImpressaoOk do
begin
try
BloquearMouseTeclado( True );
try
EstNaoFiscal := 'N';
Est := EstadoECF;
while Est <> 'L' do
begin
// É não fiscal ? Se SIM, vamos passar por todas as fases...
if Est = 'N' then
begin
case EstNaoFiscal of
'N' : EstNaoFiscal := 'V' ;
'V' : EstNaoFiscal := 'P' ;
'P' : EstNaoFiscal := 'N' ;
end ;
Est := EstNaoFiscal ;
end ;
try
Case Est of
'V' : ECFSubtotaliza( RespostasPendentes.TotalDesconto );
'P' :
begin
if not AutoEfetuarPagamento then
begin
//FORMAS TEF
GrupoFPG := nil ;
AgruparRespostasPendentes( GrupoFPG );
Ordem := 0 ;
For I := 0 to Length( GrupoFPG )-1 do
begin
if GrupoFPG.OrdemPagamento = 0 then
begin
Inc( Ordem ) ;
if InfoECFAsDouble(ineSubTotal) > 0 then
ECFPagamento( GrupoFPG.IndiceFPG_ECF, GrupoFPG.Total );
For J := 0 to RespostasPendentes.Count-1 do
if RespostasPendentes[J].IndiceFPG_ECF = GrupoFPG.IndiceFPG_ECF then
begin
if (RespostasPendentes[J].Header = 'CHQ') and CHQEmGerencial then
begin
RespostasPendentes[J].OrdemPagamento := 999;
Dec( Ordem ) ;
end
else
RespostasPendentes[J].OrdemPagamento := Ordem;
end;
end
else
Ordem := GrupoFPG.OrdemPagamento ;
end;
if vTEFDjaExPag<>1 then
begin
//////////////////////////////////////
//FORMA NAO TEF
while Form1TEFD.mPagamentos.Lines.Count > 0 do
begin
Linha := Form1TEFD.mPagamentos.Lines[0] ;
P := pos('|',Linha) ;
if P > 0 then
begin
CodFPG := Trim(copy(Linha,1,P-1)) ;
ValorFPG := StringToFloatDef( copy(Linha, P+1, Length(Linha) ), 0 );
if (CodFPG <> '') and (ValorFPG > 0) then
begin
//Form1_ACBrECF.ACBrECF1.EfetuaPagamento( CodFPG, ValorFPG );
//ShowMessage('desligue a impressora');
vTEFDjaExPag:=1;
ECFPagamento( CodFPG, ValorFPG );
end;
end;
Form1TEFD.mPagamentos.Lines.Delete(0);
end;
//////////////////////////////////////
end;
end;
-
Hetosoft Sistemas's post in Tef Dedicado Atalho Com F? was marked as the answer
resolvir fazendo isso
if key = vk_F1 then
begin
BitBtn3.Click;
end;