?? sprk.~pas
字號:
unit sprk;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxExEdtr, DB, ADODB, dxCntner, dxTL, dxDBCtrl, dxDBTL, ComCtrls,
dxtree, dxdbtree, dxdbtrel, cxLookAndFeelPainters, dxfColorButton,
StdCtrls, cxButtons, cxMaskEdit, cxSpinEdit, cxDBEdit, cxCurrencyEdit,
Grids, DBGridEh, cxLabel, cxControls, cxContainer, cxEdit, cxTextEdit,
bsSkinCtrls, HzSpell, cxGraphics, cxCustomData, cxStyles, cxTL,
cxInplaceContainer, cxDBTL, cxTLData, Mask, DBCtrlsEh, DBLookupEh, Menus,
cxDBExtLookupComboBox, cxFilterControl, cxDBFilterControl,
cxDBLookupComboBox, AAFont, AACtrls, cxCheckBox, cxDropDownEdit,
cxCalendar, DBSumLst, PrnDbgeh;
type
Tsprkck = class(TForm)
Table2: TADOTable;
Table3: TADOTable;
DataSource0: TDataSource;
DataSource2: TDataSource;
DataSource3: TDataSource;
py: THzSpell;
spzl: TADOQuery;
ADOQy1: TADOQuery;
dxDBTreeList1: TdxDBTreeList;
dxDBTreeList1Column1: TdxDBTreeListColumn;
DBGridEh1: TDBGridEh;
cxLabel1: TcxLabel;
DataSource1: TDataSource;
dblp1: TDBLookupComboboxEh;
sprk: TADOQuery;
Table8: TADOTable;
DataSource8: TDataSource;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
ePanel1: TbsSkinExPanel;
DBFc1: TcxDBFilterControl;
cxButton1: TcxButton;
Table5: TADOTable;
DataSource5: TDataSource;
DBGridEh2: TDBGridEh;
AALabel1: TAALabel;
ePanel2: TbsSkinExPanel;
cxLabel2: TcxLabel;
rBox1: TcxCheckBox;
Edit1: TcxTextEdit;
DBGridEh3: TDBGridEh;
khzl: TADOQuery;
rkzk: TADOQuery;
DataSource4: TDataSource;
DataSource6: TDataSource;
DataSource7: TDataSource;
ePanel3: TbsSkinExPanel;
cxLabel3: TcxLabel;
DBEdit1: TcxDBTextEdit;
cxLabel4: TcxLabel;
DateEdit1: TcxDBDateEdit;
cxLabel5: TcxLabel;
cEdit1: TcxDBCurrencyEdit;
cxLabel8: TcxLabel;
cEdit4: TcxDBCurrencyEdit;
cxLabel9: TcxLabel;
cxLabel10: TcxLabel;
cBox1: TcxDBComboBox;
sEdit1: TcxDBSpinEdit;
ePanel4: TbsSkinExPanel;
cxLabel11: TcxLabel;
cxLabel12: TcxLabel;
cxLabel13: TcxLabel;
cxLabel14: TcxLabel;
cxLabel15: TcxLabel;
cEdit5: TcxDBCurrencyEdit;
cEdit6: TcxDBCurrencyEdit;
cEdit7: TcxDBCurrencyEdit;
cEdit8: TcxDBCurrencyEdit;
DBSEdit1: TcxDBSpinEdit;
cxButton2: TcxButton;
cxButton3: TcxButton;
PopupMenu2: TPopupMenu;
MenuItem1: TMenuItem;
cxLabel6: TcxLabel;
cEdit2: TcxDBCurrencyEdit;
cxLabel7: TcxLabel;
cEdit3: TcxDBCurrencyEdit;
ePanel5: TbsSkinExPanel;
sBox1: TcxCheckBox;
sBox2: TcxCheckBox;
sBox3: TcxCheckBox;
sBox4: TcxCheckBox;
sBox5: TcxCheckBox;
sBox6: TcxCheckBox;
sBox7: TcxCheckBox;
sBox8: TcxCheckBox;
cxButton4: TcxButton;
PEh1: TPrintDBGridEh;
dy: TcxCheckBox;
procedure FormCreate(Sender: TObject);
procedure dblp1Change(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure cxButton1Click(Sender: TObject);
procedure Edit1PropertiesChange(Sender: TObject);
procedure DBGridEh3DblClick(Sender: TObject);
procedure cxDBSpinEdit1PropertiesChange(Sender: TObject);
procedure DBGridEh1DblClick(Sender: TObject);
procedure cEdit3PropertiesChange(Sender: TObject);
procedure cEdit2PropertiesChange(Sender: TObject);
procedure MenuItem1Click(Sender: TObject);
procedure cxButton2Click(Sender: TObject);
procedure cxButton3Click(Sender: TObject);
procedure cEdit5Exit(Sender: TObject);
procedure DBSEdit1Exit(Sender: TObject);
procedure rBox1Click(Sender: TObject);
procedure sBox1PropertiesChange(Sender: TObject);
procedure sBox2PropertiesChange(Sender: TObject);
procedure sBox3PropertiesChange(Sender: TObject);
procedure sBox4PropertiesChange(Sender: TObject);
procedure sBox5PropertiesChange(Sender: TObject);
procedure sBox6PropertiesChange(Sender: TObject);
procedure sBox7PropertiesChange(Sender: TObject);
procedure sBox8PropertiesChange(Sender: TObject);
procedure cxButton4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
sprkck: Tsprkck;
implementation
{$R *.dfm}
uses main;
procedure Tsprkck.FormCreate(Sender: TObject);
begin
table2.Open;
table5.Open;
table8.Open;
rkzk.Open;
rkzk.Append;
rkzk['jhbh']:=formatdatetime('yyyymmddhhmmss',now);
rkzk['jhrq']:=date;
rkzk['fkrq']:=date;
rkzk['fkqx']:=0;
rkzk['jzfs']:='現金';
dbgrideh2.Columns[7].Visible:=false;
spzl.Open;
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from spkc where ckh=:bh');
adoqy1.Parameters[0].Value:=table2['bh'];
adoqy1.Open;
table8.Edit;
table8['mc']:=table2['mc'];
epanel1.RollState:=true;
epanel5.RollState:=true;
end;
procedure Tsprkck.dblp1Change(Sender: TObject);
begin
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from spkc where ckh=:bh');
adoqy1.Parameters[0].Value:=table2['bh'];
adoqy1.Open;
end;
procedure Tsprkck.N1Click(Sender: TObject);
begin
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from spkc where (ckh=:bh) and (spbh like :bh)');
adoqy1.Parameters[0].Value:=table2['bh'];
adoqy1.Parameters[1].Value:=spzl['spbh']+'%';
adoqy1.Open;
end;
procedure Tsprkck.cxButton1Click(Sender: TObject);
begin
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from spkc where (ckh=:bh) and (spbh like :bh) and ');
adoqy1.SQL.Add(dbfc1.FilterText);
adoqy1.Parameters[0].Value:=table2['bh'];
adoqy1.Parameters[1].Value:=spzl['spbh']+'%';
adoqy1.Open;
epanel1.RollState:=true;
end;
procedure Tsprkck.Edit1PropertiesChange(Sender: TObject);
begin
khzl.Close;
khzl.SQL.Clear;
if rbox1.Checked then
begin
khzl.SQL.Add('select * from ghszl where zjm like :mc');
khzl.Parameters[0].Value:='%'+edit1.Text+'%';
end else
begin
khzl.SQL.Add('select * from ghszl where khmc like :mc');
khzl.Parameters[0].Value:='%'+edit1.Text+'%';
end;
khzl.Open;
end;
procedure Tsprkck.DBGridEh3DblClick(Sender: TObject);
begin
if khzl.RecordCount>0 then
begin
epanel2.RollState:=true;
rkzk.Edit;
rkzk['khbh']:=khzl['khbh'];
rkzk['khmc']:=khzl['khmc'];
dbgrideh1.Enabled:=true;
dbgrideh2.Enabled:=true;
dbgrideh3.Enabled:=false;
sprk.Close;
sprk.SQL.Clear;
sprk.SQL.Add('select * from sprkd where jhbh=:bh');
sprk.Parameters[0].Value:=rkzk['jhbh'];
sprk.Open;
end;
end;
procedure Tsprkck.cxDBSpinEdit1PropertiesChange(Sender: TObject);
begin
rkzk.Edit;
rkzk['fkrq']:=rkzk['jhrq']+sedit1.Value;
end;
procedure Tsprkck.DBGridEh1DblClick(Sender: TObject);
begin
epanel4.Enabled:=true;
sprk.Append;
sprk['spmc']:=adoqy1['spmc'];
sprk['spbh']:=adoqy1['spbh'];
sprk['sjmc']:=adoqy1['sjmc'];
sprk['sjbh']:=adoqy1['sjbh'];
sprk['dw']:=adoqy1['dw'];
sprk['jj']:=adoqy1['jj'];
sprk['pfj']:=adoqy1['pfj'];
sprk['sj']:=adoqy1['sj'];
sprk['sl']:=1;
sprk['je']:=adoqy1['jj'];
//sprk.edit;
sprk['ckh']:=adoqy1['ckh'];
sprk['zjm']:=adoqy1['zjm'];
sprk['zjm1']:=adoqy1['zjm1'];
sprk['jhbh']:=rkzk['jhbh'];
sprk.Prior;
sprk.Next;
rkzk.Edit;
rkzk['je']:=dbgrideh2.Columns[6].Footers[0].SumValue;
rkzk['ssje']:=rkzk['je'];
rkzk['yfje']:=rkzk['je'];
dbsedit1.SetFocus;
end;
procedure Tsprkck.cEdit3PropertiesChange(Sender: TObject);
begin
rkzk.Edit;
rkzk['qkje']:=rkzk['ssje']-cedit3.Value;
if cedit3.Value<rkzk['ssje'] then
begin
rkzk['jzfs']:='欠帳';
end;
end;
procedure Tsprkck.cEdit2PropertiesChange(Sender: TObject);
begin
rkzk.Edit;
rkzk['yfje']:=cedit2.Value;
rkzk['qkje']:=cedit2.Value-rkzk['yfje'];
end;
procedure Tsprkck.MenuItem1Click(Sender: TObject);
begin
sprk.Delete;
rkzk.Edit;
rkzk['je']:=dbgrideh2.Columns[6].Footers[0].SumValue;
rkzk['ssje']:=rkzk['je'];
rkzk['yfje']:=rkzk['je'];
end;
procedure Tsprkck.cxButton2Click(Sender: TObject);
begin
if sprk.RecordCount>0 then
begin
rkzk.Edit;
if sprk.RecNo<>sprk.RecordCount then
begin
sprk.Next;
sprk.Prior;
end else sprk.Next;
rkzk['je']:=dbgrideh2.Columns[6].Footers[0].SumValue;
rkzk['ssje']:=rkzk['je'];
rkzk['yfje']:=rkzk['je'];
cxbutton3.Enabled:=true;
dbgrideh1.Enabled:=false;
dbgrideh2.Enabled:=false;
epanel3.Enabled:=true;
cedit2.SetFocus;
end;
end;
procedure Tsprkck.cxButton3Click(Sender: TObject);
var i:integer;
begin
rkzk.UpdateBatch();
sprk.UpdateBatch();
//記入客戶資料
if khzl.Locate('khmc',rkzk['khmc'],[]) then
begin
khzl.Edit;
khzl['ljxf']:=khzl['ljxf']+rkzk['je'];
khzl['ljqk']:=khzl['ljqk']+rkzk['qkje'];
khzl['ljyh']:=khzl['ljyh']+rkzk['je']-rkzk['ssje'];
end;
khzl.UpdateBatch();
adoqy1.DisableControls;
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from spkc');
adoqy1.Open;
i:=1;
sprk.DisableControls;
//加入商品總庫
sprk.First;
while i<=sprk.RecordCount do
begin
if adoqy1.Locate('spbh;ckh',vararrayof([sprk['spbh'],sprk['ckh']]),[]) then
begin
adoqy1.Edit;
adoqy1['jj']:=(adoqy1['jj']+sprk['jj'])/2;
adoqy1['sl']:=adoqy1['sl']+sprk['sl'];
adoqy1['je']:=adoqy1['je']+sprk['je'];
end;
i:=i+1;
sprk.Next;
end;
adoqy1.UpdateBatch();
//記入帳目總庫
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from zmzk');
adoqy1.Open;
adoqy1.Append;
adoqy1['jhbh']:=rkzk['jhbh'];
adoqy1['jzbh']:=rkzk['jhbh'];
adoqy1['jzrq']:=date;
adoqy1['jzkm']:='進貨付款';
adoqy1['jzlx']:='支出';
adoqy1['je']:=rkzk['ssje'];
adoqy1['qkje']:=rkzk['qkje'];
adoqy1['jzfs']:=rkzk['jzfs'];
adoqy1['nh']:=formatdatetime('YYYY',date);
adoqy1['YF']:=formatdatetime('MM',date);
adoqy1.UpdateBatch();
adoqy1.Close;
//打印
if dy.Checked then
begin
//peh1.PrinterSetupDialog;
peh1.PageHeader.CenterText.Clear;
peh1.PageHeader.LeftText.Clear;
peh1.PageHeader.CenterText.Append(main.sydwqc+'入庫單');
peh1.PageHeader.LeftText.Append(' ');
peh1.PageHeader.RightText.Append(' ');
peh1.PageHeader.LeftText.Append('入庫編號:'+rkzk['jhbh']);
peh1.PageHeader.RightText.Append('打印日期:'+datetostr(date));
peh1.AfterGridText.Append('操作員:'+main.czy+' 供貨商:'+rkzk['khmc']);
//peh1.AfterGridText.Append('地址:'+bsskinlabel7.Caption+' 電話:'+bsskinlabel8.Caption);
peh1.Preview;
end;
khzl.Close;
sprk.Close;
//rkzk.Close;
adoqy1.Close;
close;
end;
procedure Tsprkck.cEdit5Exit(Sender: TObject);
begin
sprk.Edit;
sprk['je']:=cedit5.Value*sprk['sl'];
rkzk.Edit;
if sprk.RecNo<>sprk.RecordCount then
begin
sprk.Next;
sprk.Prior;
end else sprk.Next;
rkzk['je']:=dbgrideh2.Columns[6].Footers[0].SumValue;
rkzk['ssje']:=rkzk['je'];
rkzk['yfje']:=rkzk['je'];
end;
procedure Tsprkck.DBSEdit1Exit(Sender: TObject);
begin
sprk.Edit;
sprk['je']:=dbsedit1.Value*sprk['jj'];
rkzk.Edit;
if sprk.RecNo<>sprk.RecordCount then
begin
sprk.Next;
sprk.Prior;
end else sprk.Next;
rkzk['je']:=dbgrideh2.Columns[6].Footers[0].SumValue;
rkzk['ssje']:=rkzk['je'];
rkzk['yfje']:=rkzk['je'];
end;
procedure Tsprkck.rBox1Click(Sender: TObject);
begin
edit1.SetFocus;
end;
procedure Tsprkck.sBox1PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[0].Visible:=sbox1.Checked;
end;
procedure Tsprkck.sBox2PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[1].Visible:=sbox2.Checked;
end;
procedure Tsprkck.sBox3PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[2].Visible:=sbox3.Checked;
end;
procedure Tsprkck.sBox4PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[3].Visible:=sbox4.Checked;
end;
procedure Tsprkck.sBox5PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[4].Visible:=sbox5.Checked;
end;
procedure Tsprkck.sBox6PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[5].Visible:=sbox6.Checked;
end;
procedure Tsprkck.sBox7PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[6].Visible:=sbox7.Checked;
end;
procedure Tsprkck.sBox8PropertiesChange(Sender: TObject);
begin
dbgrideh2.Columns[7].Visible:=sbox8.Checked;
end;
procedure Tsprkck.cxButton4Click(Sender: TObject);
begin
epanel5.RollState:=true;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -