nsClick (Sender: TObject);. TbPersonal.Insert;; TfmPersonal.bbtDelClick (Sender: TObject);. tbPersonal.Delete;; TfmPersonal.bbtSaveClick (Sender: TObject); DM.tbPersonal.State in [dsEdit, dsInsert] then.tbPersonal.Post;;. uProf;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, Grids, DBGrids, DBCtrls, StdCtrls, Buttons;=class (TForm): TDBGrid;: TPanel;: TBitBtn;: TBitBtn;: TBitBtn;: TBitBtn; FormShow (Sender: TObject); FormClose (Sender: TObject; var Action: TCloseAction); bbtInsClick (Sender: TObject); bbtDelClick (Sender: TObject); bbtSaveClick (Sender: TObject); bbtExitClick (Sender: TObject);
{Private declarations}
{Public declarations};: TfmProf; uDM, uPersonal, DB;
{$ R *. dfm} TfmProf.FormShow (Sender: TObject);. tbProf.Open;; TfmProf.FormClose (Sender: TObject; var Action: TCloseAction);
begin
/ / Набір даних закривається, якщо він не використовується в інших формах:
if not fmPersonal.Showing then.tbProf.Close;; TfmProf.bbtInsClick (Sender: TObject);. tbProf.Insert;; TfmProf.bbtDelClick (Sender: TObject);. tbProf.Delete;; TfmProf.bbtSaveClick (Sender: TObject); DM.tbProf.State in [dsEdit, dsInsert] then.tbProf.Post;; TfmProf.bbtExitClick (Sender: TObject);;;. uRep;
/ / Модуль для формування звітів і документів
interface, SysUtils, Classes, ComObj, DB, Controls, Forms, ADODB, Math, DBGrids; Rep_Universal (ADBGrid: TDBGrid; NumCol: Integer; ACaption: string); Rep_MTR (Date1, Date2: TDate ); Rep_JobList (Date1, Date2: TDate); Rep_Contract; Rep_Appendix; Rep_Act; Rep_Bill; Rep_Fact; Rep_Defect; GetRightDate (ADate: TDateTime): string;, DateUtils, Dialogs, uStr;
/ / Формування звіту за обраним набору даних (висновок заголовків видимих ??
/ / полів та їх значень): Rep_Universal (ADBGrid: TDBGrid; NumCol: Integer; ACaption: string);: Variant;, j, Width: Integer;:=CreateOleObject («Excel.Application» ;);. Cursor:=crHourGlass;. Application.EnableEvents:=False;. Workbooks.Add; i:=0 to NumCol - 1 do
begin
/ / Висновок в шапку таблиці назв полів з DBGrid'а:
Excel.Cells [5, i +1]:=ADBGrid.Columns [i]. Title.Caption;
/ / Форматування заголовка ::=Min (30, Trunc (ADBGrid.Columns [i]. Width * 0.2));. Cells [5, i +1]. ColumnWidth:=Width;. Cells [5, i +1]. Font.Bold:=True;;. Cells [1,1]:=Date;. Cells [3,1]:=ACaption;. Cells [3,1]. Font.Bold :=True;. Cells [3,1]. Font.Size:=12;:=5;
/ / Експорт даних з таблиць БД:
with ADBGrid.DataSource.DataSet do
DisableControls;// Відключаємо сітку на час формування звіту
First; not Eof do
Inc (i);
/ / Виводяться NumCol перших полів таблиці, відображенняих в DBGrid'е:
for j:=0 to NumCol - 1 do.Cells [i, j +1]. NumberFormat:=«@»;. Cells [i, j +1]:=FieldByName ( ADBGrid.Columns [j]. FieldName). DisplayText;; ;;;// With.Application.EnableEvents:=True;. Visible:=True;. Quit;;. DataSource.DataSet.EnableControls;. Cursor:=crDefault;. Enabled:=True;
end;;
/ / Формування списку потреби в МТР за в...