📄 cktk.pas
字号:
unit cktk;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGridEh, dxfColorButton,
cxLookAndFeelPainters, cxDBLookupComboBox, cxCalendar, cxCurrencyEdit,
cxDropDownEdit, cxSpinEdit, cxTextEdit, cxFilterControl,
cxDBFilterControl, cxLabel, StdCtrls, cxButtons, cxControls, cxContainer,
cxEdit, cxCheckBox, bsSkinCtrls, PrnDbgeh, Menus, AAFont, AACtrls,
cxMaskEdit, cxDBEdit, DBSumLst;
type
Tcktkck = class(TForm)
DBGridEh1: TDBGridEh;
DataSource1: TDataSource;
AALabel1: TAALabel;
DBGridEh2: TDBGridEh;
PopupMenu2: TPopupMenu;
MenuItem1: TMenuItem;
ePanel4: TbsSkinExPanel;
sBox1: TcxCheckBox;
sBox2: TcxCheckBox;
sBox3: TcxCheckBox;
sBox4: TcxCheckBox;
sBox5: TcxCheckBox;
sBox6: TcxCheckBox;
sBox7: TcxCheckBox;
sBox8: TcxCheckBox;
cxButton4: TcxButton;
AALabel2: TAALabel;
rkzk: TADOQuery;
DataSource7: TDataSource;
sprk: TADOQuery;
DataSource4: TDataSource;
sBox9: TcxCheckBox;
ePanel1: TbsSkinExPanel;
DBFc1: TcxDBFilterControl;
cxButton1: TcxButton;
DataSource6: TDataSource;
khzl: TADOQuery;
Table5: TADOTable;
DataSource5: TDataSource;
PEh2: TPrintDBGridEh;
DBGridEh3: TDBGridEh;
DataSource2: TDataSource;
ePanel2: TbsSkinExPanel;
cxLabel2: TcxLabel;
sEdit1: TcxSpinEdit;
cxLabel3: TcxLabel;
cxButton2: TcxButton;
cxLabel4: TcxLabel;
tEdit1: TcxDBTextEdit;
cxLabel5: TcxLabel;
DateEdit1: TcxDBDateEdit;
cxLabel6: TcxLabel;
cEdit1: TcxDBCurrencyEdit;
cxLabel7: TcxLabel;
cEdit2: TcxDBCurrencyEdit;
cEdit3: TcxDBCurrencyEdit;
cxLabel8: TcxLabel;
cxButton3: TcxButton;
dy: TcxCheckBox;
table1: TADOQuery;
table2: TADOQuery;
DBSEdit1: TcxDBSpinEdit;
cxLabel9: TcxLabel;
ADOQy1: TADOQuery;
ePanel3: TbsSkinExPanel;
cxLabel10: TcxLabel;
rBox1: TcxCheckBox;
kEdit1: TcxTextEdit;
DBGridEh4: TDBGridEh;
DBSum1: TDBSumList;
procedure FormCreate(Sender: TObject);
procedure cxButton1Click(Sender: TObject);
procedure DBGridEh1DblClick(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 sBox9PropertiesChange(Sender: TObject);
procedure cxButton3Click(Sender: TObject);
procedure cxButton2Click(Sender: TObject);
procedure cxButton4Click(Sender: TObject);
procedure DBGridEh2DblClick(Sender: TObject);
procedure DBSEdit1Exit(Sender: TObject);
procedure cxTextEdit1PropertiesChange(Sender: TObject);
procedure DBGridEh4DblClick(Sender: TObject);
procedure rBox1Click(Sender: TObject);
procedure MenuItem1Click(Sender: TObject);
procedure cEdit3PropertiesChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
cktkck: Tcktkck;
implementation
{$R *.dfm}
uses main;
procedure Tcktkck.FormCreate(Sender: TObject);
begin
khzl.Open;
table5.Open;
epanel1.RollState:=true;
//epanel2.RollState:=true;
//epanel3.RollState:=true;
epanel4.RollState:=true;
epanel2.Enabled:=false;
cxbutton2.Enabled:=false;
sedit1.Value:=100;
//kedit1.SetFocus;
end;
procedure Tcktkck.cxButton1Click(Sender: TObject);
begin
rkzk.Close;
rkzk.SQL.Clear;
rkzk.SQL.Add('select * from spckzk where khmc=:bh and');
rkzk.SQL.Add(dbfc1.FilterText);
rkzk.Parameters[0].Value:=table2['khmc'];
rkzk.Open;
epanel1.RollState:=true;
end;
procedure Tcktkck.DBGridEh1DblClick(Sender: TObject);
begin
sprk.Close;
sprk.SQL.Clear;
sprk.SQL.Add('select * from spckd where jhbh=:bh');
sprk.Parameters[0].Value:=rkzk['jhbh'];
sprk.Open;
end;
procedure Tcktkck.sBox1PropertiesChange(Sender: TObject);
begin
dbgrideh3.Columns[0].Visible:=sbox1.Checked;
end;
procedure Tcktkck.sBox2PropertiesChange(Sender: TObject);
begin
dbgrideh3.Columns[1].Visible:=sbox2.Checked;
end;
procedure Tcktkck.sBox3PropertiesChange(Sender: TObject);
begin
dbgrideh3.Columns[2].Visible:=sbox3.Checked;
end;
procedure Tcktkck.sBox4PropertiesChange(Sender: TObject);
begin
dbgrideh3.Columns[3].Visible:=sbox4.Checked;
end;
procedure Tcktkck.sBox5PropertiesChange(Sender: TObject);
begin
dbgrideh3.Columns[4].Visible:=sbox5.Checked;
end;
procedure Tcktkck.sBox6PropertiesChange(Sender: TObject);
begin
dbgrideh3.Columns[5].Visible:=sbox6.Checked;
end;
procedure Tcktkck.sBox7PropertiesChange(Sender: TObject);
begin
dbgrideh3.Columns[6].Visible:=sbox7.Checked;
end;
procedure Tcktkck.sBox8PropertiesChange(Sender: TObject);
begin
dbgrideh3.Columns[7].Visible:=sbox8.Checked;
end;
procedure Tcktkck.sBox9PropertiesChange(Sender: TObject);
begin
dbgrideh3.Columns[8].Visible:=sbox9.Checked;
end;
procedure Tcktkck.cxButton3Click(Sender: TObject);
var i:integer;
begin
table1.UpdateBatch();
table2.UpdateBatch();
//记入客户资料
if khzl.Locate('khmc',table2['khmc'],[]) then
begin
khzl.Edit;
khzl['ljxf']:=khzl['ljxf']-table2['je'];
//khzl['ljqk']:=khzl['ljqk'];
//khzl['ljyh']:=khzl['ljyh'];
end;
khzl.UpdateBatch();
//退入总库
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from spkc');
adoqy1.Open;
i:=1;
table1.DisableControls;
//加入商品总库
table1.First;
while i<=table1.RecordCount do
begin
if adoqy1.Locate('spbh;ckh',vararrayof([table1['spbh'],table1['ckh']]),[]) then
begin
adoqy1.Edit;
//adoqy1['jj']:=(adoqy1['jj']+table1['jj'])/2;
adoqy1['sl']:=adoqy1['sl']+table1['sl'];
adoqy1['je']:=adoqy1['je']+(table1['sl']*table1['jj']);
end;
i:=i+1;
table1.Next;
end;
adoqy1.UpdateBatch();
//记入帐目总库
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select * from zmzk');
adoqy1.Open;
adoqy1.Append;
adoqy1['jhbh']:=table2['tkbh'];
adoqy1['jzbh']:=table2['tkbh'];
adoqy1['jzrq']:=date;
adoqy1['jzkm']:='退货付款';
adoqy1['jzlx']:='支出';
adoqy1['je']:=table2['stje'];
adoqy1['qkje']:=0;
adoqy1['jzfs']:='现金';
adoqy1['nh']:=formatdatetime('YYYY',date);
adoqy1['YF']:=formatdatetime('MM',date);
adoqy1.UpdateBatch();
adoqy1.Close;
if dy.Checked then
begin
//打印
peh2.PrinterSetupDialog;
peh2.PageHeader.CenterText.Clear;
peh2.PageHeader.LeftText.Clear;
peh2.PageHeader.CenterText.Append(main.sydwqc+'退库明细单');
peh2.PageHeader.LeftText.Append(' ');
peh2.PageHeader.RightText.Append(' ');
peh2.PageHeader.LeftText.Append('操作员:'+main.czy);
peh2.PageHeader.RightText.Append('打印日期:'+datetostr(date));
peh2.AfterGridText.Append('操作员:'+main.czy+' 客户名:'+table2['khmc']);
//peh1.AfterGridText.Append('地址:'+bsskinlabel7.Caption+' 电话:'+bsskinlabel8.Caption);
peh2.Preview;
end;
close;
end;
procedure Tcktkck.cxButton2Click(Sender: TObject);
begin
epanel2.Enabled:=true;
cedit2.SetFocus;
end;
procedure Tcktkck.cxButton4Click(Sender: TObject);
begin
epanel4.RollState:=true;
end;
procedure Tcktkck.DBGridEh2DblClick(Sender: TObject);
begin
if table1.RecordCount<=0 then
cxbutton2.Enabled:=true;
table1.Append;
table1['tkbh']:=table2['tkbh'];
table1['sjmc']:=sprk['sjmc'];
table1['sjbh']:=sprk['sjbh'];
table1['spmc']:=sprk['spmc'];
table1['spbh']:=sprk['spbh'];
table1['dw']:=sprk['dw'];
table1['pfj']:=sprk['pfj'];
table1['ckh']:=sprk['ckh'];
table1['jhbh']:=sprk['jhbh'];
table1['jj']:=sprk['jj'];
table1['sj']:=sprk['sj'];
table1['sl']:=sprk['sl'];
table1['je']:=sprk['je'];
table1['stje']:=sprk['je']*sedit1.Value/100;
table1['tkyy']:='质量问题';
table1.Next;
table2.edit;
table2['je']:=dbgrideh3.Columns[5].Footers[0].SumValue;
table2['tkje']:=dbgrideh3.Columns[6].Footers[0].SumValue;
table2['stje']:=dbgrideh3.Columns[6].Footers[0].SumValue;
end;
procedure Tcktkck.DBSEdit1Exit(Sender: TObject);
begin
table1.Edit;
table1['je']:=table1['sj']*table1['sl'];
table1['lr']:=table1['je']-(table1['jj']*table1['sl']);
table1['stje']:=table1['je']*sedit1.Value/100;
if table1.RecNo<>table1.RecordCount then
begin
table1.Next;
table1.Prior;
end else table1.Next;
table2.edit;
table2['je']:=dbgrideh3.Columns[5].Footers[0].SumValue;
table2['lr']:=dbsum1.SumCollection[0].SumValue;
table2['tkje']:=dbgrideh3.Columns[6].Footers[0].SumValue;
table2['stje']:=dbgrideh3.Columns[6].Footers[0].SumValue;
end;
procedure Tcktkck.cxTextEdit1PropertiesChange(Sender: TObject);
begin
khzl.Close;
khzl.SQL.Clear;
if rbox1.Checked then
begin
khzl.SQL.Add('select * from khzl where zjm like :mc');
khzl.Parameters[0].Value:='%'+kedit1.Text+'%';
end else
begin
khzl.SQL.Add('select * from khzl where khmc like :mc');
khzl.Parameters[0].Value:='%'+kedit1.Text+'%';
end;
khzl.Open;
end;
procedure Tcktkck.DBGridEh4DblClick(Sender: TObject);
begin
rkzk.Close;
rkzk.SQL.Clear;
rkzk.SQL.Add('select * from spckzk where khmc=:bh');
rkzk.Parameters[0].Value:=khzl['khmc'];
rkzk.Open;
if rkzk.RecordCount>0 then
begin
sprk.Close;
sprk.SQL.Clear;
sprk.SQL.Add('select * from spckd where jhbh=:bh');
sprk.Parameters[0].Value:=rkzk['jhbh'];
sprk.Open;
epanel3.RollState:=true;
epanel3.Enabled:=false;
table2.Close;
table2.SQL.Clear;
table2.SQL.Add('select * from sptkzk where tkbh like :bh');
table2.Parameters[0].Value:=formatdatetime('YYYYMM',date);
table2.open;
table2.Append;
table2['tkbh']:=formatdatetime('YYYYMMDDhhmmss',now);
table2['tkrq']:=date;
table2['khmc']:=khzl['khmc'];
table2['khbh']:=khzl['khbh'];
table1.Close;
table1.SQL.Clear;
table1.SQL.Add('select * from sptkd where tkbh=:bh');
table1.Parameters[0].Value:=table2['tkbh'];
table1.Open;
epanel1.Enabled:=true;
dbgrideh1.Enabled:=true;
dbgrideh2.Enabled:=true;
dbgrideh3.Enabled:=true;
end else
begin
showmessage('此客户无销售记录!');
kedit1.SetFocus;
end;
end;
procedure Tcktkck.rBox1Click(Sender: TObject);
begin
kedit1.SetFocus;
end;
procedure Tcktkck.MenuItem1Click(Sender: TObject);
begin
table1.Delete;
table2.edit;
table2['je']:=dbgrideh3.Columns[5].Footers[0].SumValue;
table2['lr']:=dbsum1.SumCollection[0].SumValue;
table2['tkje']:=dbgrideh3.Columns[6].Footers[0].SumValue;
table2['stje']:=dbgrideh3.Columns[6].Footers[0].SumValue;
end;
procedure Tcktkck.cEdit3PropertiesChange(Sender: TObject);
begin
table2.edit;
table2['lr']:=table2['lr']-(table2['je']-table2['stje']);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -