unit AcoesNFe;

interface

uses
  Windows, system.UItypes, IB_Access,  Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TelaComum, StdCtrls, Mask, IB_Controls, ComCtrls, ImgList,
  ExtCtrls, Buttons, OleCtrls, SHDocVw, System.ImageList;

type
  TfrmAcoesNF = class(TfrmTelaComum)
    Paginas: TPageControl;
    Cancelamento: TTabSheet;
    lblNumero: TLabeledEdit;
    OpenDialog1: TOpenDialog;
    procedure BtGravarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmAcoesNF: TfrmAcoesNF;

implementation

uses DataModulo, cadNF, Rotinas, DataModulo_NFe;

{$R *.dfm}

procedure TfrmAcoesNF.BtGravarClick(Sender: TObject);
var NumeroNF:String;
begin
  inherited;
  frmNF := TfrmNF.Create(Application);
  DMNFE.NFe.NotasFiscais.Clear;

  try
    NumeroNF:=IntToStr(StrToInt(lblNumero.Text));
  except
    begin
      MessageDlg('Usar apenas números', mtWarning, [mbOK], 0);
      Exit;
    end;
  end;
  frmNF.GerarNFe1(NumeroNF);
  DMNFE.NFe.Configuracoes.Arquivos.PathSalvar:=CaminhoEXE+'NFE\GERADAS\';
  DMNFE.NFe.NotasFiscais.Items[0].GravarXML;

  frmNF.GravarHistorico(NumeroNF,'Geração XML: '+ PegaNomeArquivoNoCaminho(DMNFE.NFe.NotasFiscais.Items[0].NomeArq));

  DMNFE.NFe.Consultar;
  ShowMessage(DMNFE.NFe.WebServices.Consulta.Protocolo);


// Transfere arquivo
  DMNFE.NFe.Enviar(1);
  if DMNFE.NFe.NotasFiscais.Items[0].Confirmada then
  begin
    ChaveAcesso:=Copy(PegaNomeArquivoNoCaminho(DMNFE.NFe.NotasFiscais.Items[0].NomeArq),1,44);
    frmNF.GravarHistorico(NumeroNF,DMNFE.NFe.NotasFiscais.Items[0].Msg+' Chave:'+ ChaveAcesso);

    Dados.script.sql.Clear;
    Dados.script.sql.Add('UPDATE NF SET CHAVE_ACESSO = '+ QuotedStr(ChaveAcesso)+ ' WHERE NUMERO ='+ NumeroNF);
    Dados.script.Execute;

    frmNF.ArquivarXML(DMNFE.NFe.NotasFiscais.Items[0].NomeArq);
  end;

  frmNF.Destroy;
end;


end.
