📄 u_doc_manager.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 + -