⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u_doc_manager.pas

📁 基于OOP设计的一套较好的ERP系统
💻 PAS
字号:
unit u_doc_manager;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ActnList, ComCtrls, ExtCtrls, ToolWin, Db, DBTables, Grids, DBGrids,
  DBGridEh, StdCtrls, Mask, DBCtrls, Buttons;

type
  TDoc_manager = class(TForm)
    ToolBar1: TToolBar;
    Splitter1: TSplitter;
    ToolButton1: TToolButton;
    Azioni_doc_manager: TActionList;
    Chiudi: TAction;
    Stampadoc: TAction;
    ToolButton3: TToolButton;
    StatusBar1: TStatusBar;
    ToolButton4: TToolButton;
    Aggiorna: TAction;
    TTTipidoc: TTable;
    DsTipidoc: TDataSource;
    Qdocumenti: TQuery;
    DsDocumenti: TDataSource;
    QdocumentiData: TDateField;
    QdocumentiNumero: TIntegerField;
    QdocumentiSerie: TStringField;
    QdocumentiRagionesocialedocumento: TStringField;
    QdocumentiTotaleE: TCurrencyField;
    QdocumentiTotaleL: TCurrencyField;
    ToolButton5: TToolButton;
    QdocumentiDocumento: TIntegerField;
    Mostra: TAction;
    Trova: TAction;
    QdocumentiEvaso: TBooleanField;
    GrigliaDocumenti: TDBGridEh;
    Copia: TAction;
    Elimina: TAction;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    Proprieta: TAction;
    ToolButton10: TToolButton;
    Non_Evaso: TAction;
    ToolButton9: TToolButton;
    PlugIns: TAction;
    ToolButton11: TToolButton;
    Invia: TAction;
    ToolButton2: TToolButton;
    Aiuto: TAction;
    QdocumentiProvvigione: TStringField;
    QdocumentiParzialeprovvigione: TFloatField;
    QdocumentiSoggetto: TStringField;
    Annulla: TAction;
    ToolButton12: TToolButton;
    QdocumentiAnnullato: TBooleanField;
    Panel1: TPanel;
    Albero_oggetti: TTreeView;
    Panel2: TPanel;
    DBEdit1: TDBEdit;
    Label1: TLabel;
    Label2: TLabel;
    DBLookupComboBox1: TDBLookupComboBox;
    Label3: TLabel;
    DBEdit2: TDBEdit;
    Label4: TLabel;
    DBEdit3: TDBEdit;
    Label5: TLabel;
    DBEdit4: TDBEdit;
    Label6: TLabel;
    DBEdit5: TDBEdit;
    Filtra: TAction;
    SpeedButton1: TSpeedButton;
    Off: TSpeedButton;
    Label7: TLabel;
    DBRadioGroup1: TDBRadioGroup;
    DBRadioGroup2: TDBRadioGroup;
    Seleziona_Tutto: TAction;
    SpeedButton2: TSpeedButton;
    procedure ChiudiExecute(Sender: TObject);
    procedure AggiornaExecute(Sender: TObject);
    procedure Albero_oggettiChange(Sender: TObject; Node: TTreeNode);
    procedure FormCreate(Sender: TObject);
    procedure MostraExecute(Sender: TObject);
    procedure TrovaExecute(Sender: TObject);
    procedure StampadocExecute(Sender: TObject);
    procedure GrigliaDocumentiTitleBtnClick(Sender: TObject; ACol: Integer;
      Column: TColumnEh);
    procedure CopiaExecute(Sender: TObject);
    procedure EliminaExecute(Sender: TObject);
    procedure ProprietaExecute(Sender: TObject);
    procedure GrigliaDocumentiDblClick(Sender: TObject);
    procedure Non_EvasoExecute(Sender: TObject);
    procedure DsDocumentiDataChange(Sender: TObject; Field: TField);
    procedure PlugInsExecute(Sender: TObject);
    procedure InviaExecute(Sender: TObject);
    procedure AiutoExecute(Sender: TObject);
    procedure GrigliaDocumentiCellClick(Column: TColumnEh);
    procedure AnnullaExecute(Sender: TObject);
    procedure GrigliaDocumentiKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FiltraExecute(Sender: TObject);
    procedure TuttiClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure OffClick(Sender: TObject);
    procedure Seleziona_TuttoExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    Procedure Aggiorna_documenti ;
  end;

var
  Doc_manager: TDoc_manager;

implementation

uses Umenu, Doc_mod, Ucerca, ana_mod, gestModExt, plugIn_u, scade_mod;

{$R *.DFM}
Procedure Tdoc_manager.Aggiorna_documenti ;
Var
   doc : Integer ;

begin
     doc := 0 ;
     If Qdocumenti.Active then
      begin
        doc := QdocumentiDocumento.asInteger ;
        Qdocumenti.Close ;
      end ;
     filtra.Execute ;
   //  Qdocumenti.Open ;
     
     Qdocumenti.Locate('Documento',doc,[]) ;
end ;

procedure TDoc_manager.ChiudiExecute(Sender: TObject);
begin
     if (ModuloDatiDocumenti.TTParam_doc.State = dsEdit) or (ModuloDatiDocumenti.TTParam_doc.State = dsInsert) then
       ModuloDatiDocumenti.TTParam_doc.Post ;
     Release ;
end;

procedure TDoc_manager.AggiornaExecute(Sender: TObject);
begin
     Aggiorna_documenti ;
     If Doc_Manager.WindowState <> wsMaximized then
        doc_manager.WindowState := wsMaximized ;
end;

procedure TDoc_manager.Albero_oggettiChange(Sender: TObject;
  Node: TTreeNode);
begin
    If Albero_oggetti.Selected <> nil then
     If Albero_oggetti.Selected.Text <> 'Documenti' then
      begin
       If TTTipidoc.Locate('Descrizione',Albero_oggetti.Selected.Text,[locaseinsensitive]) then
        begin
         Invia.enabled := TTTipiDoc.FieldByName('Invia').asBoolean ;
         Doc_Manager.Caption := 'Explorer documenti - ' + Albero_oggetti.Selected.Text ;
         If Qdocumenti.Active = false then
            Filtra.Execute ;
          //  Qdocumenti.Open ;
        end
       else
        ShowMessage('Tipo documento non disponibile.') ;
      end ;
end;

procedure TDoc_manager.FormCreate(Sender: TObject);
Var
   DocumentiRoot  : ttreenode ;
begin
 //Albero_oggetti.FullCollapse ;
 with Albero_oggetti.items do
  begin
     Clear ;
     TTTipidoc.Open;
     TTTipidoc.First ;
     DocumentiRoot := Add(nil,'Documenti') ;
     While Not TTTipiDoc.eof do
      begin
       AddChild(DocumentiRoot,TTTipidoc.FieldByName('Descrizione').asString);
       TTTipiDoc.Next ;
      end ;
  end ;
  Albero_oggetti.FullExpand ;
  Aggiorna_documenti;
end;

procedure TDoc_manager.MostraExecute(Sender: TObject);
begin
    If (ModuloDatiDocumenti.TTTestata.State = dsEdit) or
       (ModuloDatiDocumenti.TTTestata.State = dsInsert) then
       ModuloDatiDocumenti.TTTestata.Post ;
    If ModuloDatiDocumenti.TTTestata.Locate('Documento',QdocumentiDocumento.Value,[locaseinsensitive]) then
     Menu_form.scorri_documenti.Execute
    else
      ShowMessage('Documento non disponibile.') ;
end;

procedure TDoc_manager.TrovaExecute(Sender: TObject);
begin
     Cerca_form.trova(self) ;
end;

procedure TDoc_manager.StampadocExecute(Sender: TObject);
var i : integer ;
begin
     If GrigliaDocumenti.SelectedRows.Count > 1 then
      begin
         For i := 0  to GrigliaDocumenti.SelectedRows.Count - 1  do
           begin
             Qdocumenti.Bookmark := GrigliaDocumenti.SelectedRows.Items[i] ;
             If ModuloDatiDocumenti.TTTestata.Locate('Documento',QdocumentiDocumento.Value,[locaseinsensitive]) then
               begin
                 if i = 0 then
                  ModuloDatiDocumenti.StampaDoc(False,True)
                 else
                   ModuloDatiDocumenti.StampaDoc(False,False) ;
               end
             else
                 ShowMessage('Documento non disponibile !') ;
           end ;
      end
     else
       begin
         If ModuloDatiDocumenti.TTTestata.Locate('Documento',QdocumentiDocumento.Value,[locaseinsensitive]) then
            ModuloDatiDocumenti.StampaDoc(True,True)
         else
             ShowMessage('Documento non disponibile !') ;
       end ;
end;

procedure TDoc_manager.GrigliaDocumentiTitleBtnClick(Sender: TObject;
  ACol: Integer; Column: TColumnEh);
Var
   Campo_ordinamento : string   ;
   i,righe : integer ;

begin
     for i:= 0 to GrigliaDocumenti.Columns.Count -1 do
      If GrigliaDocumenti.Columns[i] <> Column then
       Column.Title.SortMarker := smNoneeh ;
     Column.Title.SortMarker := smUpeh ;
     Qdocumenti.Close ;
     Campo_ordinamento := Column.FieldName {.Title.Caption} ;
     righe := Qdocumenti.SQL.Count ;
     for i:= 0 to righe-1 do
     If Pos('ORDER',Qdocumenti.Sql.Strings[i]) > 0 then
        Qdocumenti.Sql.Strings[i] := 'ORDER BY "Tdoc.db"."'+campo_ordinamento+'"' ;
     Qdocumenti.Open ;

end;

procedure TDoc_manager.CopiaExecute(Sender: TObject);
var i : integer ;
begin
 If GrigliaDocumenti.SelectedRows.Count > 1 then
  begin
     For i := 0  to GrigliaDocumenti.SelectedRows.Count - 1 do
       begin
          Qdocumenti.Bookmark := GrigliaDocumenti.SelectedRows.Items[i] ;
          If ModuloDatiDocumenti.TTTestata.Locate('Documento',QdocumentiDocumento.Value,[locaseinsensitive]) then
               ModuloDatiDocumenti.Copia
          else
               ShowMessage('Documento non disponibile.') ;
       end ;
  end
 else
   begin
     If ModuloDatiDocumenti.TTTestata.Locate('Documento',QdocumentiDocumento.Value,[locaseinsensitive]) then
         ModuloDatiDocumenti.Copia
     else
         ShowMessage('Documento non disponibile.') ;
   end ;

end;

procedure TDoc_manager.EliminaExecute(Sender: TObject);
var i : integer ;
begin
 If GrigliaDocumenti.SelectedRows.Count > 1 then
  begin
     For i := 0  to GrigliaDocumenti.SelectedRows.Count - 1  do
       begin
         Qdocumenti.Bookmark := GrigliaDocumenti.SelectedRows.Items[i] ;
         if ModuloDatiDocumenti.TTTestata.Locate('Documento',QdocumentiDocumento.Value,[locaseinsensitive]) then
          begin
           ModuloDatiDocumenti.TTTestata.Delete ;
          end
         else
          ShowMessage('Documento non disponibile.') ;
       end ;
     Aggiorna.Execute ;
  end
 else
   begin
     if ModuloDatiDocumenti.TTTestata.Locate('Documento',QdocumentiDocumento.Value,[locaseinsensitive]) then
      begin
       ModuloDatiDocumenti.TTTestata.Delete ;
       Aggiorna.Execute ;
      end
     else
      ShowMessage('Documento non disponibile.') ;
   end ;
end;

procedure TDoc_manager.ProprietaExecute(Sender: TObject);
begin
 if ModuloDatiAnagrafiche.TTTipidoc.FindKey([TTTipiDoc.FieldByName('Codice').asString]) then
  Menu_form.Tipidoc.Execute
 else
  ShowMessage('Propriet

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -