unit udm;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls, variants,  Forms,
  Dialogs, DBTables, DB, ExtCtrls;

type
  Tfdm = class(TDataModule)
    tbestado: TTable;
    tbvendedor: TTable;
    Query1: TQuery;
    Query2: TQuery;
    dsestado: TDataSource;
    dsvendedor: TDataSource;
    dsfatura: TDataSource;
    tbfatura: TTable;
    tbproduto: TTable;
    dsproduto: TDataSource;
    tbfornecedor: TTable;
    tbcliente: TTable;
    dscliente: TDataSource;
    dsquery1: TDataSource;
    dsfornecedor: TDataSource;
    tbpagar: TTable;
    tbreceber: TTable;
    dspagar: TDataSource;
    dsreceber: TDataSource;
    tbagenda: TTable;
    dsagenda: TDataSource;
    Timer1: TTimer;
    tbagenda1: TTable;
    tbgrupo: TTable;
    tbfuncionario: TTable;
    tbfuncionarioitem: TTable;
    tbpedidofornecedor: TTable;
    tbpedidofornecedoritem: TTable;
    tbpedidofornecedorbaixa: TTable;
    tbpedido: TTable;
    tbpedidoitem: TTable;
    tbpedidobaixa: TTable;
    tbentrada: TTable;
    tbentradaitem: TTable;
    tbbalcao: TTable;
    tbnota: TTable;
    tbnotaitem: TTable;
    tbcheque: TTable;
    tbboleto: TTable;
    dspedido: TDataSource;
    tbclientevisita: TTable;
    procedure tbestadoAfterPost(DataSet: TDataSet);
    procedure tbestadoBeforeEdit(DataSet: TDataSet);
    procedure tbestadoAfterScroll(DataSet: TDataSet);
    procedure tbvendedorAfterScroll(DataSet: TDataSet);
    procedure tbvendedorBeforeEdit(DataSet: TDataSet);
    procedure tbvendedorPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure tbestadoPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure tbfaturaAfterPost(DataSet: TDataSet);
    procedure tbfaturaAfterScroll(DataSet: TDataSet);
    procedure tbfaturaBeforeEdit(DataSet: TDataSet);
    procedure tbfaturaPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure tbfaturaBeforePost(DataSet: TDataSet);
    procedure tbprodutoAfterScroll(DataSet: TDataSet);
    procedure tbprodutoBeforeEdit(DataSet: TDataSet);
    procedure tbprodutoNewRecord(DataSet: TDataSet);
    procedure tbprodutoPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure tbclienteAfterScroll(DataSet: TDataSet);
    procedure tbclienteBeforeEdit(DataSet: TDataSet);
    procedure tbclientePostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure tbfornecedorAfterScroll(DataSet: TDataSet);
    procedure tbclienteAfterPost(DataSet: TDataSet);
    procedure tbprodutoAfterPost(DataSet: TDataSet);
    procedure tbgrupoAfterPost(DataSet: TDataSet);
    procedure tbfornecedorAfterPost(DataSet: TDataSet);
    procedure tbfornecedorBeforeEdit(DataSet: TDataSet);
    procedure tbfornecedorPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure tbpagarAfterPost(DataSet: TDataSet);
    procedure tbpagarAfterScroll(DataSet: TDataSet);
    procedure tbpagarBeforeEdit(DataSet: TDataSet);
    procedure tbpagarPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure tbreceberAfterPost(DataSet: TDataSet);
    procedure tbreceberAfterScroll(DataSet: TDataSet);
    procedure tbreceberBeforeEdit(DataSet: TDataSet);
    procedure tbreceberPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure tbpagarNewRecord(DataSet: TDataSet);
    procedure Timer1Timer(Sender: TObject);
    procedure tbgrupoAfterScroll(DataSet: TDataSet);
    procedure tbgrupoBeforeEdit(DataSet: TDataSet);
    procedure tbgrupoNewRecord(DataSet: TDataSet);
    procedure tbgrupoPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure tbfuncionarioAfterEdit(DataSet: TDataSet);
    procedure tbfuncionarioAfterPost(DataSet: TDataSet);
    procedure tbfuncionarioAfterScroll(DataSet: TDataSet);
    procedure tbfuncionarioitemAfterEdit(DataSet: TDataSet);
    procedure tbfuncionarioitemNewRecord(DataSet: TDataSet);
    procedure tbpedidofornecedoritemAfterScroll(DataSet: TDataSet);
    procedure tbpedidofornecedoritemBeforeEdit(DataSet: TDataSet);
    procedure tbpedidofornecedoritemNewRecord(DataSet: TDataSet);
    procedure tbpedidofornecedorAfterPost(DataSet: TDataSet);
    procedure tbpedidofornecedorAfterScroll(DataSet: TDataSet);
    procedure tbpedidofornecedorBeforeEdit(DataSet: TDataSet);
    procedure tbentradaAfterPost(DataSet: TDataSet);
    procedure tbentradaAfterScroll(DataSet: TDataSet);
    procedure tbentradaBeforeEdit(DataSet: TDataSet);
    procedure tbentradaPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure tbentradaitemAfterScroll(DataSet: TDataSet);
    procedure tbentradaitemBeforeEdit(DataSet: TDataSet);
    procedure tbentradaitemNewRecord(DataSet: TDataSet);
    procedure tbpedidoAfterPost(DataSet: TDataSet);
    procedure tbpedidoAfterScroll(DataSet: TDataSet);
    procedure tbpedidoBeforeEdit(DataSet: TDataSet);
    procedure tbpedidoitemAfterScroll(DataSet: TDataSet);
    procedure tbpedidoitemBeforeEdit(DataSet: TDataSet);
    procedure tbpedidoitemNewRecord(DataSet: TDataSet);
    procedure tbpedidoPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure tbbalcaoAfterScroll(DataSet: TDataSet);
    procedure tbbalcaoNewRecord(DataSet: TDataSet);
    procedure tbnotaitemBeforeEdit(DataSet: TDataSet);
    procedure tbnotaAfterPost(DataSet: TDataSet);
    procedure tbnotaAfterScroll(DataSet: TDataSet);
    procedure tbnotaBeforeEdit(DataSet: TDataSet);
    procedure tbnotaPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure tbboletoAfterOpen(DataSet: TDataSet);
    procedure tbboletoAfterScroll(DataSet: TDataSet);
    procedure tbboletoBeforeEdit(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fdm: Tfdm;

implementation

uses MMSystem, UEstado, UnitVendedor, UCondPgto, UnitProduto, UnitCliente, UnitMenu,
  UnitFornecedor, Unpagar, ureceber, ufuncionario, upedidofornecedor,
  uentrada, upedido, UnitDadoEmpresa, ubalcao, UNota, UBoleto;

{$R *.dfm}

procedure Tfdm.tbestadoAfterPost(DataSet: TDataSet);
begin
        festado.btngravar.enabled := false;
        festado.btncancelar.enabled := false;

end;

procedure Tfdm.tbestadoBeforeEdit(DataSet: TDataSet);
begin
       festado.btnGravar.Enabled:=True;
       festado.btncancelar.enabled := true;
end;

procedure Tfdm.tbestadoAfterScroll(DataSet: TDataSet);
begin

      if fmenu.controle = 'estado' then begin

           festado.btnAvancar.Enabled := True;
            festado.btnUltimo.Enabled := True;
             festado.btnPrimeiro.Enabled := True;
              festado.btnVoltar.Enabled := True;

        if tbestado.Bof then begin
         festado.btnPrimeiro.Enabled := False;
          festado.btnVoltar.Enabled := False;

             end;

        if tbestado.Eof then begin

           festado.btnAvancar.Enabled := False;
            festado.btnUltimo.Enabled := False;
             end;
                  end;


end;

procedure Tfdm.tbvendedorAfterScroll(DataSet: TDataSet);
begin

        if fmenu.controle = 'vendedor' then begin

           fvendedor.btnAvancar.Enabled := True;
            fvendedor.btnUltimo.Enabled := True;
             fvendedor.btnPrimeiro.Enabled := True;
              fvendedor.btnVoltar.Enabled := True;

        if tbvendedor.Bof then begin
         fvendedor.btnPrimeiro.Enabled := False;
          fvendedor.btnVoltar.Enabled := False;

             end;

        if tbvendedor.Eof then begin

           fvendedor.btnAvancar.Enabled := False;
            fvendedor.btnUltimo.Enabled := False;
             end;
              end;

end;

procedure Tfdm.tbvendedorBeforeEdit(DataSet: TDataSet);
begin
        fvendedor.btnGravar.Enabled:=True;
         fvendedor.btncancelar.enabled := true;
end;

procedure Tfdm.tbvendedorPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin

       Messagedlg('Este vendedor já está cadastrado, ou o telefone está sem preencher, verificar !!!',mterror,[mbok],0);
         fvendedor.btncancelarclick(self);
          abort;
end;

procedure Tfdm.tbestadoPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
       
        Messagedlg('Este estado já está cadastrado, ou existem siglas sem preencher, verificar !!!',mterror,[mbok],0);
         festado.btncancelarclick(self);
          abort;

end;

procedure Tfdm.tbfaturaAfterPost(DataSet: TDataSet);
begin
        fcondfatura.btngravar.enabled := false;
        fcondfatura.btncancelar.enabled := false;
end;

procedure Tfdm.tbfaturaAfterScroll(DataSet: TDataSet);
begin

       if fmenu.controle = 'condfatura' then begin

           fcondfatura.btnAvancar.Enabled := True;
            fcondfatura.btnUltimo.Enabled := True;
             fcondfatura.btnPrimeiro.Enabled := True;
              fcondfatura.btnVoltar.Enabled := True;

        if tbfatura.Bof then begin
         fcondfatura.btnPrimeiro.Enabled := False;
          fcondfatura.btnVoltar.Enabled := False;

             end;

        if tbfatura.Eof then begin

           fcondfatura.btnAvancar.Enabled := False;
            fcondfatura.btnUltimo.Enabled := False;
             end;
              end;

end;

procedure Tfdm.tbfaturaBeforeEdit(DataSet: TDataSet);
begin
        fcondfatura.btnGravar.Enabled:=True;
         fcondfatura.btncancelar.enabled := true;
end;

procedure Tfdm.tbfaturaPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin

       Messagedlg('Esta condição já foi cadastrada, verificar !!!',mterror,[mbok],0);
         fcondfatura.btncancelarclick(self);
          abort;

end;

procedure Tfdm.tbfaturaBeforePost(DataSet: TDataSet);
begin
        if fcondfatura.dbedit1.Text = '1' then
         if fcondfatura.editcondpgto.Text = '' then begin
          showmessage('Preencha a (as) Cond. Pgto. ');
           abort;
            end;

        if fcondfatura.dbedit1.Text = '2' then
         if (fcondfatura.editcondpgto.Text = '') or (fcondfatura.editcondpgto2.Text = '') then begin
          showmessage('Preencha a (as) Cond. Pgto. ');
           abort;
            end;

        if fcondfatura.dbedit1.Text = '3' then
         if (fcondfatura.editcondpgto.Text = '') or (fcondfatura.editcondpgto2.Text = '') or (fcondfatura.editcondpgto3.Text = '')then begin
          showmessage('Preencha a (as) Cond. Pgto. ');
           abort;
            end;

        if fcondfatura.dbedit1.Text = '4' then
         if (fcondfatura.editcondpgto.Text = '') or (fcondfatura.editcondpgto2.Text = '') or (fcondfatura.editcondpgto3.Text = '') or (fcondfatura.editcondpgto4.Text = '') then begin
          showmessage('Preencha a (as) Cond. Pgto. ');
           abort;
            end;
end;

procedure Tfdm.tbprodutoAfterScroll(DataSet: TDataSet);
 var
  pt : String;
begin


     if fmenu.controle = 'produto' then begin

     if tbproduto['imagem'] <> null then begin
      pt := tbproduto['imagem'] ;
       if FileExists(pt) then
        fproduto.image1.Picture.LoadFromFile (pt);
        end else
         fproduto.image1.Picture.LoadFromFile(extractfilepath(paramstr(0)) + '\imagem\imagem.wmf');

           fproduto.btnAvancarp1.Enabled := True;
            fproduto.btnUltimop1.Enabled := True;
             fproduto.btnPrimeirop1.Enabled := True;
              fproduto.btnVoltarp1.Enabled := True;

        if tbproduto.Bof then begin
         fproduto.btnPrimeirop1.Enabled := False;
          fproduto.btnVoltarp1.Enabled := False;

             end;

        if tbproduto.Eof then begin

           fproduto.btnAvancarp1.Enabled := False;
            fproduto.btnUltimop1.Enabled := False;
             end;
              end;


end;

procedure Tfdm.tbprodutoBeforeEdit(DataSet: TDataSet);
begin
       fproduto.btnGravar1.Enabled:=True;
       fproduto.btncancelar1.enabled := true;
end;

procedure Tfdm.tbprodutoNewRecord(DataSet: TDataSet);
begin
         tbproduto['grupo'] := tbgrupo['grupo'];
end;

procedure Tfdm.tbprodutoPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
       Messagedlg('Este produto já está cadastrado, ou existe registro sem preencher, verificar !!!',mterror,[mbok],0);
         fproduto.btncancelar1click(self);
          abort;
end;

procedure Tfdm.tbclienteAfterScroll(DataSet: TDataSet);
begin

         if fmenu.controle = 'cliente' then begin

           fcliente.btnAvancar.Enabled := True;
            fcliente.btnUltimo.Enabled := True;
             fcliente.btnPrimeiro.Enabled := True;
              fcliente.btnVoltar.Enabled := True;

        if tbcliente.Bof then begin
         fcliente.btnPrimeiro.Enabled := False;
          fcliente.btnVoltar.Enabled := False;

             end;

        if tbcliente.Eof then begin

           fcliente.btnAvancar.Enabled := False;
            fcliente.btnUltimo.Enabled := False;
             end;
              end;

end;

procedure Tfdm.tbclienteBeforeEdit(DataSet: TDataSet);
begin
      if fmenu.controle ='cliente' then begin
       fcliente.btnGravar.Enabled:=True;
       fcliente.btncancelar.enabled := true;
       end;
end;

procedure Tfdm.tbclientePostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
        Messagedlg('Este cliente já foi cadastrado, ou existe nome e telefone em branco, verificar',mterror,[mbok],0);
         tbcliente.Cancel;
          abort;
end;

procedure Tfdm.tbfornecedorAfterScroll(DataSet: TDataSet);
begin
        if fmenu.controle = 'fornecedor' then begin

           ffornecedor.btnAvancar.Enabled := True;
            ffornecedor.btnUltimo.Enabled := True;
             ffornecedor.btnPrimeiro.Enabled := True;
              ffornecedor.btnVoltar.Enabled := True;

        if tbfornecedor.Bof then begin
         ffornecedor.btnPrimeiro.Enabled := False;
          ffornecedor.btnVoltar.Enabled := False;

             end;

        if tbfornecedor.Eof then begin

           ffornecedor.btnAvancar.Enabled := False;
            ffornecedor.btnUltimo.Enabled := False;
             end;


         end;
end;

procedure Tfdm.tbclienteAfterPost(DataSet: TDataSet);
begin
        if fmenu.controle ='cliente' then begin
        fcliente.btngravar.enabled := false;
        fcliente.btncancelar.enabled := false;
        end;
end;

procedure Tfdm.tbprodutoAfterPost(DataSet: TDataSet);
begin
        fproduto.btngravar1.enabled := false;
        fproduto.btncancelar1.enabled := false;
end;

procedure Tfdm.tbgrupoAfterPost(DataSet: TDataSet);
begin
        fproduto.btngravarp.enabled := false;
        fproduto.btncancelarp.enabled := false;
end;

procedure Tfdm.tbfornecedorAfterPost(DataSet: TDataSet);
begin
        if fmenu.controle ='fornecedor' then begin

        ffornecedor.btngravar.enabled := false;
        ffornecedor.btncancelar.enabled := false;
        end;
end;

procedure Tfdm.tbfornecedorBeforeEdit(DataSet: TDataSet);
begin

       if fmenu.controle ='fornecedor' then begin
       ffornecedor.btnGravar.Enabled:=True;
       ffornecedor.btncancelar.enabled := true;
       end;
end;

procedure Tfdm.tbfornecedorPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
        Messagedlg('Este fornecedor já foi cadastrado, ou existe  nome fantasia em branco, verificar',mterror,[mbok],0);
         tbfornecedor.Cancel;
          abort;
end;

procedure Tfdm.tbpagarAfterPost(DataSet: TDataSet);
begin
        if fmenu.controle ='pagar' then begin
        fpagar.btngravar.enabled := false;
        fpagar.btncancelar.enabled := false;
        end;
end;

procedure Tfdm.tbpagarAfterScroll(DataSet: TDataSet);
begin
         if fmenu.controle = 'pagar' then begin

           fpagar.btnAvancar.Enabled := True;
            fpagar.btnUltimo.Enabled := True;
             fpagar.btnPrimeiro.Enabled := True;
              fpagar.btnVoltar.Enabled := True;

        if tbpagar.Bof then begin
         fpagar.btnPrimeiro.Enabled := False;
          fpagar.btnVoltar.Enabled := False;

             end;

        if tbpagar.Eof then begin

           fpagar.btnAvancar.Enabled := False;
            fpagar.btnUltimo.Enabled := False;
             end;
              end;

end;

procedure Tfdm.tbpagarBeforeEdit(DataSet: TDataSet);
begin
      if fmenu.controle ='pagar' then begin
       fpagar.btnGravar.Enabled:=True;
       fpagar.btncancelar.enabled := true;
       end;
end;

procedure Tfdm.tbpagarPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
        Messagedlg('Esta duplicata está repetida, ou existe campo (duplicata) em branco, verificar',mterror,[mbok],0);
         tbpagar.Cancel;
          abort;

end;

procedure Tfdm.tbreceberAfterPost(DataSet: TDataSet);
begin
        if fmenu.controle ='receber' then begin
        freceber.btngravar.enabled := false;
        freceber.btncancelar.enabled := false;
        end;
end;

procedure Tfdm.tbreceberAfterScroll(DataSet: TDataSet);
begin
         if fmenu.controle = 'receber' then begin

           freceber.btnAvancar.Enabled := True;
            freceber.btnUltimo.Enabled := True;
             freceber.btnPrimeiro.Enabled := True;
              freceber.btnVoltar.Enabled := True;

        if tbreceber.Bof then begin
         freceber.btnPrimeiro.Enabled := False;
          freceber.btnVoltar.Enabled := False;

             end;

        if tbreceber.Eof then begin

           freceber.btnAvancar.Enabled := False;
            freceber.btnUltimo.Enabled := False;
             end;
              end;

end;

procedure Tfdm.tbreceberBeforeEdit(DataSet: TDataSet);
begin
      if fmenu.controle ='receber' then begin
       freceber.btnGravar.Enabled:=True;
       freceber.btncancelar.enabled := true;
       end;

end;

procedure Tfdm.tbreceberPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
        Messagedlg('Esta duplicata está repetida, ou existe campo (duplicata) em branco, verificar',mterror,[mbok],0);
         tbreceber.Cancel;
          abort;
end;

procedure Tfdm.tbpagarNewRecord(DataSet: TDataSet);
begin
     tbpagar['tipoconta'] := 'DUPLICATA';
end;

procedure Tfdm.Timer1Timer(Sender: TObject);
var
st, st1:string;
begin

        tbagenda1.open;
        tbagenda1.DisableControls;
        tbagenda1.First;

        while not tbagenda1.Eof do begin

        if tbagenda1['hora']<> null then begin
        st := formatdatetime('hh:mm',tbagenda1['hora']);
        st1 := formatdatetime('hh:mm',time);

        if (tbagenda1['data'] = date) and (st = st1) then begin
         PlaySound (pchar(extractfilepath(paramstr(0)) + '\imagem\Notify.wav'), 0, snd_Async);
          application.MessageBox(pchar(datetimetostr(now) + '  -   ' +  (tbagenda1.FieldByName('nome').asstring) + '  - '+
          (tbagenda1.FieldByName('assunto').asstring)), 'COMPROMISSO - AGENDA',mb_OK + MB_ICONwarning );
            end;
             end;
        tbagenda1.Next;
        end;

        tbagenda1.close;
end;

procedure Tfdm.tbgrupoAfterScroll(DataSet: TDataSet);
begin
           fproduto.btnAvancarp.Enabled := True;
            fproduto.btnUltimop.Enabled := True;
             fproduto.btnPrimeirop.Enabled := True;
              fproduto.btnVoltarp.Enabled := True;

        if tbgrupo.Bof then begin
         fproduto.btnPrimeirop.Enabled := False;
          fproduto.btnVoltarp.Enabled := False;

             end;

        if tbgrupo.Eof then begin

           fproduto.btnAvancarp.Enabled := False;
            fproduto.btnUltimop.Enabled := False;
             end;

end;

procedure Tfdm.tbgrupoBeforeEdit(DataSet: TDataSet);
begin
       fproduto.btnGravarp.Enabled:=True;
        fproduto.btncancelarp.enabled := true;
end;

procedure Tfdm.tbgrupoNewRecord(DataSet: TDataSet);
begin
         tbgrupo['VendaPercent'] := '0';
         tbgrupo['RevendaPercent'] := '0';
end;

procedure Tfdm.tbgrupoPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
       Messagedlg('Este grupo já está cadastrado, ou existe sigla sem preencher, verificar !!!',mterror,[mbok],0);
         fproduto.btncancelarpclick(self);
          abort;
end;

procedure Tfdm.tbfuncionarioAfterEdit(DataSet: TDataSet);
begin
        ffuncionario.btnGravar.Enabled:=true;
         ffuncionario.btncancelar.Enabled := true;
end;

procedure Tfdm.tbfuncionarioAfterPost(DataSet: TDataSet);
begin
        ffuncionario.btngravar.enabled := false;
        ffuncionario.btncancelar.enabled := false;
end;

procedure Tfdm.tbfuncionarioAfterScroll(DataSet: TDataSet);
begin
           ffuncionario.btnAvancar.Enabled := True;
            ffuncionario.btnUltimo.Enabled := True;
             ffuncionario.btnPrimeiro.Enabled := True;
              ffuncionario.btnVoltar.Enabled := True;

        if tbfuncionario.Bof then begin
         ffuncionario.btnPrimeiro.Enabled := False;
          ffuncionario.btnVoltar.Enabled := False;

             end;

        if tbfuncionario.Eof then begin

           ffuncionario.btnAvancar.Enabled := False;
            ffuncionario.btnUltimo.Enabled := False;
             end;

end;

procedure Tfdm.tbfuncionarioitemAfterEdit(DataSet: TDataSet);
begin
        ffuncionario.btnGravar.Enabled:=true;
        ffuncionario. btncancelar.Enabled := true;
end;

procedure Tfdm.tbfuncionarioitemNewRecord(DataSet: TDataSet);
begin
        fdm.tbfuncionarioitem['salario'] := tbfuncionario['salario'];
end;

procedure Tfdm.tbpedidofornecedoritemAfterScroll(DataSet: TDataSet);
 var
  pt : String;
begin

     if fpedidofornecedor.image1.Visible = true then begin

     fdm.tbproduto.Locate('codigo',tbpedidofornecedoritem['codigo'],[]);
      if fdm.tbproduto['imagem'] <> null then begin
       pt := fdm.tbproduto['imagem'] ;
       if fileexists (pt) then
        fpedidofornecedor.image1.Picture.LoadFromFile (pt);
        end else

      fpedidofornecedor.image1.Picture.LoadFromFile(extractfilepath(paramstr(0)) + '\imagem\imagem.wmf');
end;


end;

procedure Tfdm.tbpedidofornecedoritemBeforeEdit(DataSet: TDataSet);
begin
       fpedidofornecedor.btnGravar.Enabled:=True;
       fpedidofornecedor.btncancelar.enabled := true;
end;

procedure Tfdm.tbpedidofornecedoritemNewRecord(DataSet: TDataSet);
begin
        tbpedidofornecedoritem['pedido'] := fpedidofornecedor.editcodped.text;
        tbpedidofornecedoritem['operacao'] := tbpedidofornecedor['operacao'];
        tbpedidofornecedoritem['data'] := tbpedidofornecedor['data'];
        tbpedidofornecedoritem['fantasia'] := tbpedidofornecedor['fantasia'];
        
end;

procedure Tfdm.tbpedidofornecedorAfterPost(DataSet: TDataSet);
begin
        fpedidofornecedor.btngravar.enabled := false;
        fpedidofornecedor.btncancelar.enabled := false;

end;

procedure Tfdm.tbpedidofornecedorAfterScroll(DataSet: TDataSet);
begin


           fpedidofornecedor.btnAvancar.Enabled := True;
            fpedidofornecedor.btnUltimo.Enabled := True;
             fpedidofornecedor.btnPrimeiro.Enabled := True;
              fpedidofornecedor.btnVoltar.Enabled := True;

        if fdm.tbpedidofornecedor.Bof then begin
         fpedidofornecedor.btnPrimeiro.Enabled := False;
          fpedidofornecedor.btnVoltar.Enabled := False;

             end;

        if fdm.tbpedidofornecedor.Eof then begin

           fpedidofornecedor.btnAvancar.Enabled := False;
           fpedidofornecedor.btnUltimo.Enabled := False;
             end;

end;

procedure Tfdm.tbpedidofornecedorBeforeEdit(DataSet: TDataSet);
begin
       fpedidofornecedor.btnGravar.Enabled:=True;
       fpedidofornecedor.btncancelar.enabled := true;
end;

procedure Tfdm.tbentradaAfterPost(DataSet: TDataSet);
begin
        fentrada.btngravar.enabled := false;
        fentrada.btncancelar.enabled := false;
end;

procedure Tfdm.tbentradaAfterScroll(DataSet: TDataSet);
begin
           fentrada.btnAvancar.Enabled := True;
            fentrada.btnUltimo.Enabled := True;
             fentrada.btnPrimeiro.Enabled := True;
              fentrada.btnVoltar.Enabled := True;

        if tbentrada.Bof then begin
         fentrada.btnPrimeiro.Enabled := False;
          fentrada.btnVoltar.Enabled := False;

             end;

        if tbentrada.Eof then begin

           fentrada.btnAvancar.Enabled := False;
            fentrada.btnUltimo.Enabled := False;
             end;

end;

procedure Tfdm.tbentradaBeforeEdit(DataSet: TDataSet);
begin
       fentrada.btnGravar.Enabled:=True;
       fentrada.btncancelar.enabled := true;

end;

procedure Tfdm.tbentradaPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
        ShowMessage('Esta nota já foi lançada, ou existe campo nota ou código em branco. Verificar !!!');
         tbentrada.cancel;
          abort;
end;

procedure Tfdm.tbentradaitemAfterScroll(DataSet: TDataSet);
 var
  pt : String;
begin

  if fentrada.image1.Visible = true then begin

  fdm.tbproduto.Locate('codigo',fdm.tbentradaitem['codigo'],[]);

  if fdm.tbproduto['imagem'] <> null then begin
  pt := fdm.tbproduto['imagem'] ;

  if fileexists (pt) then
  fentrada.image1.Picture.LoadFromFile (pt);

  end else
  fentrada.image1.Picture.LoadFromFile (extractfilepath(paramstr(0)) + '\imagem\imagem.wmf');
end;

        fentrada.label1.Visible := fdm.tbentradaitem['total'] <> null;


end;

procedure Tfdm.tbentradaitemBeforeEdit(DataSet: TDataSet);
begin
       fentrada.btnGravar.Enabled:=True;
       fentrada.btncancelar.enabled := true;
end;

procedure Tfdm.tbentradaitemNewRecord(DataSet: TDataSet);
begin
        fdm.tbentradaitem['entrada']:= fentrada.dbedit1.text;
        fdm.tbentradaitem['data']:= tbentrada['data'];
        fdm.tbentradaitem['nota']:= fentrada.dbedit6.text;
        fdm.tbentradaitem['fantasia']:= tbentrada['fantasia'];
        fdm.tbentradaitem['operacao']:= tbentrada['natureza'];
end;

procedure Tfdm.tbpedidoAfterPost(DataSet: TDataSet);
begin
        if fmenu.controle = 'pedidocliente' then begin

        fpedido.btngravar.enabled := false;
        fpedido.btncancelar.enabled := false;

        end;

end;

procedure Tfdm.tbpedidoAfterScroll(DataSet: TDataSet);
begin
      if fmenu.controle = 'pedidocliente' then begin

           fpedido.btnAvancar.Enabled := True;
            fpedido.btnUltimo.Enabled := True;
             fpedido.btnPrimeiro.Enabled := True;
             fpedido.btnVoltar.Enabled := True;

        if tbpedido.Bof then begin
         fpedido.btnPrimeiro.Enabled := False;
          fpedido.btnVoltar.Enabled := False;

             end;

        if tbpedido.Eof then begin

           fpedido.btnAvancar.Enabled := False;
            fpedido.btnUltimo.Enabled := False;
             end;
              end;

end;

procedure Tfdm.tbpedidoBeforeEdit(DataSet: TDataSet);
begin
      if fmenu.controle = 'pedidocliente' then begin

       fpedido.btnGravar.Enabled:=True;
       fpedido.btncancelar.enabled := true;

       end;

end;

procedure Tfdm.tbpedidoitemAfterScroll(DataSet: TDataSet);
 var
  pt : String;
begin

     if fpedido.image1.Visible = true then begin
         fdm.tbproduto.open;

     fdm.tbproduto.Locate('codigo',tbpedidoitem['codigo'],[]);
      if fdm.tbproduto['imagem'] <> null then begin
       pt := fdm.tbproduto['imagem'] ;
       if fileexists (pt) then
        fpedido.image1.Picture.LoadFromFile (pt);
        end else
      fpedido.image1.Picture.LoadFromFile(extractfilepath(paramstr(0)) + '\imagem\imagem.wmf');
      tbproduto.close;
      end;


end;

procedure Tfdm.tbpedidoitemBeforeEdit(DataSet: TDataSet);
begin
       fpedido.btnGravar.Enabled:=True;
       fpedido.btncancelar.enabled := true;

end;

procedure Tfdm.tbpedidoitemNewRecord(DataSet: TDataSet);
begin
        fdm.tbpedidoitem['pedido'] := fpedido.editcodped.text;
        fdm.tbpedidoitem['operacao'] := tbpedido['operacao'];
        fdm.tbpedidoitem['data'] := tbpedido['data'];
        fdm.tbpedidoitem['fantasia'] := fpedido.dbedit2.Text;
        fdm.tbpedidoitem['icm'] := tbpedido['icm'];
        fdm.tbpedidoitem['ipi'] := tbpedido['ipi'];
        fdm.tbpedidoitem['comissao'] := tbpedido['comissao'];
        fdm.tbpedidoitem['vendedor'] := tbpedido['vendedor'];

end;

procedure Tfdm.tbpedidoPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin

       Messagedlg('Pedido repetido, ou em branco, verificar',mterror,[mbok],0);
         tbpedido.Cancel;
          abort;

end;

procedure Tfdm.tbbalcaoAfterScroll(DataSet: TDataSet);
   var
   pt:string;
begin

    fdm.tbproduto.open;

     fdm.tbproduto.Locate('codigo',tbbalcao['codigo'],[]);
      if fdm.tbproduto['imagem'] <> null then begin
       pt := fdm.tbproduto['imagem'] ;
       if fileexists (pt) then
        fbalcao.image1.Picture.LoadFromFile (pt);
        end else
      fbalcao.image1.Picture.LoadFromFile(extractfilepath(paramstr(0)) + '\imagem\imagem.wmf');
      fdm.tbproduto.close;


end;

procedure Tfdm.tbbalcaoNewRecord(DataSet: TDataSet);
begin
        fdm.tbbalcao['pedido'] := fdm.tbpedido['pedido'];
        fdm.tbbalcao['operacao'] := fdm.tbpedido['operacao'];
        fdm.tbbalcao['data'] := fdm.tbpedido['data'];
        fdm.tbbalcao['fantasia'] := fdm.tbpedido['fantasia'];
        fdm.tbbalcao['icm'] := fdadoempresa.SpinEdit1.Value;
        fdm.tbbalcao['ipi'] := fdadoempresa.SpinEdit1.Value;
        fdm.tbbalcao['comissao'] := strtofloat(fbalcao.edit1.Text) ;
        fdm.tbbalcao['vendedor'] := fbalcao.combobox1.Text;
 

end;

procedure Tfdm.tbnotaitemBeforeEdit(DataSet: TDataSet);
begin
       fnota.btnGravar.Enabled:=True;
       fnota.btncancelar.enabled := true;

end;

procedure Tfdm.tbnotaAfterPost(DataSet: TDataSet);
begin
        fnota.btngravar.enabled := false;
        fnota.btncancelar.enabled := false;
end;

procedure Tfdm.tbnotaAfterScroll(DataSet: TDataSet);
begin
           fnota.btnAvancar.Enabled := True;
            fnota.btnUltimo.Enabled := True;
             fnota.btnPrimeiro.Enabled := True;
              fnota.btnVoltar.Enabled := True;

        if tbnota.Bof then begin
         fnota.btnPrimeiro.Enabled := False;
          fnota.btnVoltar.Enabled := False;

             end;

        if tbnota.Eof then begin

           fnota.btnAvancar.Enabled := False;
            fnota.btnUltimo.Enabled := False;
             end;

end;

procedure Tfdm.tbnotaBeforeEdit(DataSet: TDataSet);
begin
       fnota.btnGravar.Enabled:=True;
       fnota.btncancelar.enabled := true;

end;

procedure Tfdm.tbnotaPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
        showmessage('Nota já emitida!!!');
         tbnota.cancel;
          abort;
end;

procedure Tfdm.tbboletoAfterOpen(DataSet: TDataSet);
begin
        fboleto.btngravar.enabled := false;
        fboleto.btncancelar.enabled := false;

end;

procedure Tfdm.tbboletoAfterScroll(DataSet: TDataSet);
begin
           fboleto.btnAvancar.Enabled := True;
            fboleto.btnUltimo.Enabled := True;
             fboleto.btnPrimeiro.Enabled := True;
              fboleto.btnVoltar.Enabled := True;

        if tbboleto.Bof then begin
         fboleto.btnPrimeiro.Enabled := False;
          fboleto.btnVoltar.Enabled := False;

             end;

        if tbboleto.Eof then begin

           fboleto.btnAvancar.Enabled := False;
            fboleto.btnUltimo.Enabled := False;
             end;

end;

procedure Tfdm.tbboletoBeforeEdit(DataSet: TDataSet);
begin
       fboleto.btnGravar.Enabled:=True;
       fboleto.btncancelar.enabled := true;

end;

end.
