Ir para conteúdo
  • Cadastre-se

timanagement

Membros
  • Total de ítens

    3
  • Registro em

  • Última visita

Últimos Visitantes

921 visualizações

timanagement's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

1

Reputação

1

Community Answers

  1. Resolvido conforme orientações da TCNoSpeed recebidas da Embarcadero como segue: Para resolver o problema basta apagar o arquivo midas.dll do system32/syswow64 (versao 10.0.2151.25345) e adicionar novamente o arquivo que se encontra na pasta do Delphi (C:\Arquivos de programas\Embarcadero\RAD Studio\11.0\bin\midas.dll) (versão 18.0.4905.60485) Fonte: http://tsdn.tecnospeed.com.br/comunicao-tecnospeed/activity/15058 Apliquei a solução proposta e estou abrindo o danfe no preview normalmente. Agradeço aos que se dedicaram em buscar uma solução. parecer-delphi-xe4-1.pdf
  2. Descupem o post poluído. Os fontes já estão em anexo. Da próxima vez terei cuidado em não poluir o tópico. Agradeço a sugestão para um visual menos poluído.
  3. Boa tarde a todos. Fiz umas alterações no RecuperarXML e inclui a possibilidade de abrir um xml para consulta dos itens e se o usuário quiser imprimir o danfe para conferir ou outras finalidades internas. O problema é que só consigo mostrar o danfe na tela quando executo no meu notebook. Quando rodo o executável em outro pc tenho um erro do tipo "violation access..." bla, bla, bla.... Pesquisei muito no forum para saber se outros usuários do ACBR/FASTREPORT tinham algum problema e vi que os resultados de minha pesquisa apontavam para erros no patch referente ao "FastFile" o que não me ajudou, pois usando patch declarado em variável ou em string para o caminho ocorria o erro do mesmo modo. Vou colocar meu código inteiro para ver se algum amigo pode me auxiliar.... Usando o Delphi XE4 e o projeto foi alterado para rodar a partir de: "C:\XML\". unit principal; interface uses GifImage ,UrlMon, MSHtml, ACBrUtil, pcnAuxiliar, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw, ExtCtrls, ComCtrls, WinInet, Menus, ACBrNFe, Vcl.Grids, Vcl.Buttons, frxClass, ACBrNFeDANFEClass, ACBrNFeDANFEFR, frxExportPDF,ShellAPI,Types; type TfrmPrincipal = class(TForm) WebBrowser1: TWebBrowser; ProgressBar1: TProgressBar; lblStatus: TLabel; Panel2: TPanel; Panel3: TPanel; Panel4: TPanel; Image1: TImage; btnPegarHTML: TButton; btnNovaConsulta: TButton; btnGerarXML: TButton; Label1: TLabel; edtChaveNFe: TEdit; Label2: TLabel; edtCaptcha: TEdit; PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; Memo2: TMemo; Panel1: TPanel; WBXML: TWebBrowser; Button1: TButton; Label3: TLabel; TabSheet3: TTabSheet; Label4: TLabel; Label5: TLabel; TabSheet4: TTabSheet; ACBrNFe1: TACBrNFe; Edit1: TEdit; StringGridProdutos: TStringGrid; BtImprimir: TBitBtn; Label6: TLabel; DANFEFR: TACBrNFeDANFEFR; BtAbrirXml: TBitBtn; OpenDialog1: TOpenDialog; frxPDFExport: TfrxPDFExport; EdChave: TEdit; Label7: TLabel; Button2: TButton; procedure btnPegarHTMLClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); procedure WebBrowser1ProgressChange(Sender: TObject; Progress, ProgressMax: Integer); procedure btnNovaConsultaClick(Sender: TObject); procedure btnGerarXMLClick(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button1Click(Sender: TObject); procedure Label3Click(Sender: TObject); procedure BtImprimirClick(Sender: TObject); procedure BtAbrirXmlClick(Sender: TObject); procedure edtChaveNFeKeyPress(Sender: TObject; var Key: Char); procedure Button2Click(Sender: TObject); private { Private declarations } function DownloadFile(SourceFile, DestFile: string): Boolean; function StripHTML(S: string): string; procedure DeleteIECache; procedure PegarHTML; procedure GeraXml; procedure NovaConsulta; procedure carregaItens; public { Public declarations } FPath,caminho,DanfeRetrato,Dirxml,Dirpdf,Dirxmlfor: string; end; var frmPrincipal: TfrmPrincipal; TpcnCSTIcms: string; implementation uses ACBrNFeUtil, ACBrHTMLtoXML, pcnConversao; {$R *.dfm} procedure TfrmPrincipal.DeleteIECache; var lpEntryInfo: PInternetCacheEntryInfo; hCacheDir: LongWord; dwEntrySize: LongWord; begin { DeleteIECache } dwEntrySize := 0; FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize); GetMem(lpEntryInfo, dwEntrySize); if dwEntrySize>0 then lpEntryInfo^.dwStructSize := dwEntrySize; hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize); if hCacheDir<>0 then begin repeat DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName); FreeMem(lpEntryInfo, dwEntrySize); dwEntrySize := 0; FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize); GetMem(lpEntryInfo, dwEntrySize); if dwEntrySize>0 then lpEntryInfo^.dwStructSize := dwEntrySize; until not FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize) end; { hCacheDir<>0 } FreeMem(lpEntryInfo, dwEntrySize); FindCloseUrlCache(hCacheDir) end; { DeleteIECache } function TfrmPrincipal.DownloadFile(SourceFile, DestFile: string): Boolean; const BufferSize = 1024; var hSession, hURL: HInternet; Buffer: array[1..BufferSize] of Byte; BufferLen: DWORD; f: File; sAppName: string; begin sAppName := ExtractFileName(Application.ExeName); hSession := InternetOpen(PChar(sAppName),INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0); try hURL := InternetOpenURL(hSession,PChar(SourceFile),nil,0,0,0); try AssignFile(f, DestFile); Rewrite(f,1); repeat InternetReadFile(hURL, @Buffer,SizeOf(Buffer), BufferLen); BlockWrite(f, Buffer, BufferLen) until BufferLen = 0; CloseFile(f); Result := True; finally InternetCloseHandle(hURL) end finally InternetCloseHandle(hSession) end; end; procedure TfrmPrincipal.edtChaveNFeKeyPress(Sender: TObject; var Key: Char); begin //Acbrnfe1.NotasFiscais.LoadFromFile := (ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.chNFe); BtImprimir.Enabled:= True; end; {begin try Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; except Result := False; end; end; } function TfrmPrincipal.StripHTML(S: string): string; var TagBegin, TagEnd, TagLength: integer; begin TagBegin := Pos( '<', S); // search position of first < while (TagBegin > 0) do begin // while there is a < in S TagEnd := Pos('>', S); // find the matching > TagLength := TagEnd - TagBegin + 1; Delete(S, TagBegin, TagLength); // delete the tag TagBegin := Pos( '<', S); // search for next < end; Result := S; // give the result end; procedure TfrmPrincipal.btnPegarHTMLClick(Sender: TObject); begin PegarHTML; end; procedure TfrmPrincipal.PegarHTML; begin //edtChaveNFe.Text := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44); // EdChave.Text := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44); if not ValidarChave('NFe'+edtChaveNFe.Text) then begin MessageDlg('Chave Inválida.',mtError,[mbok],0); edtChaveNFe.SetFocus; exit; end; if trim(edtCaptcha.Text) = '' then begin MessageDlg('Digite o valor da imagem.',mtError,[mbok],0); edtCaptcha.SetFocus; exit; end; Memo2.Lines.Clear; Button1.Enabled := False; btnPegarHTML.Enabled := False; btnNovaConsulta.Enabled := False; btnGerarXML.Enabled := False; try WebBrowser1.OleObject.Document.all.Item('ctl00$ContentPlaceHolder1$txtChaveAcessoCompleta', 0).value := edtChaveNFe.Text; WebBrowser1.OleObject.Document.all.Item('ctl00$ContentPlaceHolder1$txtCaptcha', 0).value := edtCaptcha.Text; WebBrowser1.OleObject.Document.all.Item('ctl00$ContentPlaceHolder1$btnConsultar', 0).click; except btnNovaConsulta.Enabled := True; raise; end; PageControl1.ActivePageIndex := 0; end; procedure TfrmPrincipal.FormCreate(Sender: TObject); begin Dirxml := 'C:\XML\'; Dirpdf := 'C:\XML\\PDF\'; Dirxmlfor := 'C:\XML\XML_FORNECEDOR\'; DANFEFR.PathPDF := 'C:\XML\PDF\'; if not DirectoryExists(Dirpdf) then ForceDirectories(Dirpdf); if not DirectoryExists(Dirxmlfor) then ForceDirectories(Dirxmlfor); StringGridProdutos.ColWidths[0] := 20; // vazio StringGridProdutos.ColWidths[1] := 80; // código StringGridProdutos.ColWidths[2] := 100; // barras StringGridProdutos.ColWidths[3] := 260; // produto StringGridProdutos.ColWidths[4] := 30; // unidade StringGridProdutos.ColWidths[5] := 30; // cst StringGridProdutos.ColWidths[6] := 38; // Qtd StringGridProdutos.ColWidths[7] := 80; // valor unitario StringGridProdutos.ColWidths[8] := 80; // valor total StringGridProdutos.ColWidths[9] := 70; // % icms StringGridProdutos.ColWidths[10] := 100; // valor icms StringGridProdutos.ColWidths[11] := 50; // %IPI StringGridProdutos.ColWidths[12] := 70; // valor IPI //inicio do titulo das colunas StringGridProdutos.Cells[1,0] := 'Código'; StringGridProdutos.Cells[2,0] := 'Cód. Barras'; StringGridProdutos.Cells[3,0] := 'Descrição'; StringGridProdutos.Cells[4,0] := 'Und.'; StringGridProdutos.Cells[5,0] := 'CST'; StringGridProdutos.Cells[6,0] := 'Qtd.'; StringGridProdutos.Cells[7,0] := 'Valor Unit.'; StringGridProdutos.Cells[8,0] := 'Valor Total'; StringGridProdutos.Cells[9,0] := '% ICMS ST'; StringGridProdutos.Cells[10,0] := 'Valor ICMS ST'; StringGridProdutos.Cells[11,0] := '% IPI'; StringGridProdutos.Cells[12,0] := 'Valor IPI'; NovaConsulta; //DANFEFR.PathPDF.Empty; //DANFEFR.PathPDF := 'C:\XML\PDF\'; //DANFEFR.FastFile := 'C:\XML\DANFeRetrato_ti.fr3'; end; procedure TfrmPrincipal.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); var k, i: Integer; Source, dest: string; textoNFe : IHTMLDocument2; begin Application.ProcessMessages; if WebBrowser1.LocationURL = 'http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=' then begin for k := 0 to WebBrowser1.OleObject.Document.Images.Length - 1 do begin Source := WebBrowser1.OleObject.Document.Images.Item(k).Src; if (Source = 'http://www.nfe.fazenda.gov.br/scripts/srf/intercepta/captcha.aspx?opt=image') then begin dest := ExtractFilePath(ParamStr(0)) + 'captcha.gif'; DownloadFile(Source, dest); end; end; Image1.Picture.LoadFromFile(dest); btnPegarHTML.Enabled := True; end else if WebBrowser1.LocationURL = 'https://www.nfe.fazenda.gov.br/portal/visualizacaoNFe/completa/Default.aspx' then begin WebBrowser1.Navigate('https://www.nfe.fazenda.gov.br/PORTAL/visualizacaoNFe/completa/impressao.aspx'); end else if WebBrowser1.LocationURL = 'http://www.nfe.fazenda.gov.br/portal/consultaCompleta.aspx?tipoConteudo=XbSeqxE8pl8=' then begin textoNFe := WebBrowser1.Document as IHTMLDocument2; repeat Application.ProcessMessages; until Assigned(textoNFe.body); Memo2.Lines.Text := StripHTML(textoNFe.body.innerHTML); Memo2.Lines.Text := StringReplace(Memo2.Lines.Text,'&nbsp;','',[rfReplaceAll, rfIgnoreCase]); i := 0; while i < memo2.Lines.Count-1 do begin if trim(Memo2.Lines[i]) = '' then begin Memo2.Lines.Delete(i); i := i - 1; end; if pos('function',Memo2.lines[i])>0 then begin Memo2.Lines.Delete(i); i := i - 1; end; if pos('document',Memo2.lines[i])>0 then begin Memo2.Lines.Delete(i); i := i - 1; end; if pos('{',Memo2.lines[i])>0 then begin Memo2.Lines.Delete(i); i := i - 1; end; if pos('}',Memo2.lines[i])>0 then begin Memo2.Lines.Delete(i); i := i - 1; end; i := i + 1; end; Image1.Picture := nil; btnGerarXML.Enabled := True; GeraXml; end else if WebBrowser1.LocationURL = 'https://www.nfe.fazenda.gov.br/portal/inexistente_completa.aspx' then begin MessageDlg('NF-e INEXISTENTE na base nacional, favor consultar esta NF-e no site da SEFAZ de origem.',mtError,[mbok],0); Image1.Picture := nil; btnGerarXML.Enabled := True; btnNovaConsulta.Enabled := True; end else begin MessageDlg('Erro carregando URL: '+WebBrowser1.LocationURL,mtError,[mbok],0); Image1.Picture := nil; btnGerarXML.Enabled := True; btnNovaConsulta.Enabled := True; end; end; procedure TfrmPrincipal.WebBrowser1ProgressChange(Sender: TObject; Progress, ProgressMax: Integer); begin if ProgressMax = 0 then begin ProgressBar1.Visible := False; lblStatus.Visible := False; exit; end else begin ProgressBar1.Visible := True; lblStatus.Visible := True; try ProgressBar1.Max := ProgressMax; if (Progress <> -1) and (Progress <= ProgressMax) then ProgressBar1.Position := Progress else begin ProgressBar1.Visible := False; lblStatus.Visible := False; end; except on EDivByZero do exit; end; end; end; procedure TfrmPrincipal.btnNovaConsultaClick(Sender: TObject); begin NovaConsulta; end; procedure TfrmPrincipal.NovaConsulta; begin btnNovaConsulta.Enabled := False; btnGerarXML.Enabled := False; edtcaptcha.Text:=''; Button1.Enabled := True; // DeleteIECache; Memo2.Lines.Clear; WebBrowser1.Navigate('http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8='); end; procedure TfrmPrincipal.BtImprimirClick(Sender: TObject); begin //if FilesExists Acbrnfe1.NotasFiscais('C:\XML\XML_FORNECEDOR\'+(edtChaveNFe.Text)+'-nfe.xml') then //DANFEFR.FastFile := ''; //DANFEFR.PathPDF := ''; DANFEFR.FastFile := ExtractFileDir(application.ExeName) + '\DANFeRetrato_ti.fr3'; DANFEFR.PathPDF := 'C:\XML\PDF\'; ACBrNFe1.NotasFiscais.ImprimirPDF; //frxReport1.PrepareReport; //frxReport1.ShowPreparedReport; ACBrNFe1.NotasFiscais.Imprimir; ACBrNFe1.DANFE.MostrarPreview:= True; //carregaItens; //Acbrnfe1.NotasFiscais.LoadFromFile(''); //DANFEFR.PathPDF := EmptyStr; end; procedure TfrmPrincipal.BtAbrirXmlClick(Sender: TObject); var I: Integer; begin if OpenDialog1.Execute then begin caminho := ExtractFilePath(ParamStr(0)); ACBrNFe1.NotasFiscais.Clear; Acbrnfe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName); Acbrnfe1.NotasFiscais.SaveToFile('C:\XML\XML_FORNECEDOR\'); BtImprimir.Enabled := True; Edit1.Text := ACBrNFe1.NotasFiscais.Items[0].NFe.Emit.xNome; edtChaveNFe.Text := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44); EdChave.Text := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44); //edtChaveNFe.Text := caminho+'PDF\'; DANFEFR.PathPDF := 'C:\XML\PDF\'; //DANFEFR.dmDanfe.frxPDFExport.Start; //frxPDFExport.Start; DANFEFR.FastFile := ExtractFileDir(application.ExeName) + '\DANFeRetrato_ti.fr3'; //DANFEFR.FastFile := 'C:\XML\DANFeRetrato_ti.fr3'; //ACBrNFe1.NotasFiscais.Imprimir; carregaItens; end; end; procedure TfrmPrincipal.btnGerarXMLClick(Sender: TObject); var L: Integer; begin ACBrNFe1.NotasFiscais.Clear; GeraXML; ACBrNFe1.NotasFiscais.LoadFromFile(FPath); Acbrnfe1.NotasFiscais.SaveToFile(Dirxmlfor); Edit1.Text := ACBrNFe1.NotasFiscais.Items[0].NFe.Emit.xNome; edtChaveNFe.Text := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44); EdChave.Text := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44); carregaItens; end; procedure TfrmPrincipal.GeraXml; var i: integer; begin FPath:=GerarXML(Memo2.Lines.Text); WBXML.Navigate(FPath); MessageBox(0,PChar('XML '+FPath+' gerado com sucesso!'),'Informação', MB_ICONINFORMATION+MB_TASKMODAL); btnNovaConsulta.Enabled := True; btnPegarHTML.Enabled := True; ACBrNFe1.NotasFiscais.LoadFromFile(FPath); Edit1.Text := ACBrNFe1.NotasFiscais.Items[0].NFe.Emit.xNome; edtChaveNFe.Text := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44); EdChave.Text := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44); carregaItens; PageControl1.ActivePageIndex := 3; end; procedure TfrmPrincipal.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key=vk_escape then Close; end; procedure TfrmPrincipal.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmPrincipal.Button1Click(Sender: TObject); begin PegarHTML; BtImprimir.Enabled := True; DANFEFR.PathPDF := 'C:\XML\PDF\'; DANFEFR.FastFile := ExtractFileDir(application.ExeName) + '\DANFeRetrato_ti.fr3'; ACBrNFe1.DANFE.MostrarPreview:= True; { frxPDFExport.Creator := 'Ti Management'; frxPDFExport.Producer := 'Ti Management'; frxPDFExport.Title := 'DANFE PDF'; frxPDFExport.Subject := 'DANFE PDF'; frxPDFExport.Keywords := 'DANFE PDF'; frxPDFExport.ShowDialog := False; } end; procedure TfrmPrincipal.Button2Click(Sender: TObject); var lerpdf: string; ler: WideChar; begin //lerpdf:= ExtractFileDir(application.ExeName) + '\PDF\'+(EdChave.Text)+'.pdf'; //ReadState('\PDF\'+(EdChave.Text)+'.pdf'); {ler:= StringToWideChar('C:\XML\PDF\'+(EdChave.Text)+'.pdf'); lerpdf:= (ler); ShellExecute(Handle, nil, (lerpdf), nil, nil, SW_SHOWNORMAL);} end; procedure TfrmPrincipal.carregaItens; var i: integer; orig,cst,x: string; peripi,valipi,valpro,vcem,a,b,c: Double; begin //s := IntToStr(n); StringGridProdutos.RowCount := ACBrNFe1.NotasFiscais.Items[0].NFe.Det.Count+1; for i := 0 to ACBrNFe1.NotasFiscais.Items[0].NFe.Det.Count - 1 do begin orig := OrigToStr(ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Imposto.ICMS.orig); cst := CSTICMSToStr(ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Imposto.ICMS.CST); peripi:= (ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Imposto.IPI.pIPI); valipi:= (ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Imposto.IPI.vIPI); valpro:= (ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Prod.vProd); vcem:=100; StringGridProdutos.Cells[1,i+1] := ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Prod.cProd; StringGridProdutos.Cells[2,i+1] := ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Prod.cEANTrib; StringGridProdutos.Cells[3,i+1] := ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Prod.xProd; StringGridProdutos.Cells[4,i+1] := ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Prod.uCom; StringGridProdutos.Cells[5,i+1] := (orig+cst); StringGridProdutos.Cells[6,i+1] := FormatFloat('###,###,###0', ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Prod.qCom); StringGridProdutos.Cells[7,i+1] := FormatFloat('R$ ###,###,###0.00', ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Prod.vUnCom); StringGridProdutos.Cells[8,i+1] := FormatFloat('R$ ###,###,###0.00', ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Prod.vProd); StringGridProdutos.Cells[9,i+1] := FormatFloat('###,###,###0.00 %', ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Imposto.ICMS.pICMSST); StringGridProdutos.Cells[10,i+1] := FormatFloat('R$ ###,###,###0.00', ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Imposto.ICMS.vICMSST); //StringGridProdutos.Cells[10,i+1] := FormatFloat('###,###,###0.00', ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Imposto.IPI.pIPI); StringGridProdutos.Cells[12,i+1] := FormatFloat('R$ ###,###,###0.00', ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Imposto.IPI.vIPI); if ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Imposto.IPI.vIPI > 0 then a:= (valipi / valpro); b:= (a * vcem); x:= (FloatToString( ); if ( > Trunc(b ) then x:= FloatToStr(Trunc(b )) else x:= FloatToStr(Trunc(b )); //c:= (a / ; //peripi:= b; StringGridProdutos.Cells[11,i+1] := x+' %'; //if not ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Imposto.IPI.vIPI > 0 then //StringGridProdutos.Cells[10,i+1] := FormatFloat('###,###,###0.00', ACBrNFe1.NotasFiscais.Items[0].NFe.Det[i].Imposto.IPI.pIPI); BtImprimir.Enabled := True; end; end; procedure TfrmPrincipal.Label3Click(Sender: TObject); begin NovaConsulta; end; end. Desde já agradeço e peço desculpas, caso tenha infringido alguma das regras do forum. RecuperarXML.rar
×
×
  • 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.

The popup will be closed in 10 segundos...