📄 qckqunit.pas
字号:
unit QcKqUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, GridsEh, DBGridEh, ComCtrls, ToolWin, ImgList, StdCtrls,
ExtCtrls, Buttons,DB, PrnDbgeh,prvieweh,printers, Menus;
type
TQcKqForm = class(TForm)
ImageList1: TImageList;
ToolBar1: TToolBar;
ToolButton15: TToolButton;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ToolButton13: TToolButton;
ToolButton7: TToolButton;
DBGridEh1: TDBGridEh;
GroupBox2: TGroupBox;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
ComboBox2: TComboBox;
DateTimePicker2: TDateTimePicker;
Edit6: TEdit;
Edit7: TEdit;
BitEDIT: TBitBtn;
BitBtn3: TBitBtn;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
ComboBox1: TComboBox;
DateTimePicker1: TDateTimePicker;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
BitADD: TBitBtn;
BitBIT2: TBitBtn;
IDLabel: TLabel;
edit5: TEdit;
PrintDBGridEh1: TPrintDBGridEh;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
procedure QcKqNewll;
procedure Grbox1comboboxnew;
procedure Grbox2comboboxnew;
procedure ToolButton1Click(Sender: TObject);
procedure BitBIT2Click(Sender: TObject);
procedure BitADDClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure edit2Change(Sender: TObject);
procedure combobox1change(Sender: TObject);
procedure edit3change(Sender: TObject);
procedure combobox1keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure datetimepicker1deydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edit1keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edit3keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edit2keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGridehcellclick(Column: TColumnEh);
procedure combobox2change(Sender: TObject);
procedure edit6change(Sender: TObject);
procedure edit7change(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure edit5change(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitEDITClick(Sender: TObject);
procedure conbobox2keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure datetime2keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edit5keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edit6keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edit7keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton12Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure ToolButton13Click(Sender: TObject);
procedure edit1keypress(Sender: TObject; var Key: Char);
procedure edit2keypress(Sender: TObject; var Key: Char);
procedure edit3keypress(Sender: TObject; var Key: Char);
procedure edit5keypress(Sender: TObject; var Key: Char);
procedure edit6keypress(Sender: TObject; var Key: Char);
procedure edit7keypress(Sender: TObject; var Key: Char);
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
unm:integer;
public
{ Public declarations }
end;
var
QcKqForm: TQcKqForm;
implementation
uses dm,OpenUnit,MainUnit;
{$R *.dfm}
procedure TQcKqForm.QcKqNewll;
begin
with dmdata.QcKqADOQuery do
begin
close;
sql.Clear;
sql.Add('select a.ql,b.id,b.rq,b.sl,b.qxhm,b.jxhm from t_bjql as a inner join t_ms_jl as b on a.km = b.ql_id where (lybm = ''库存'') and (qt = 0) order by b.id');
open;
if RecordCount > 0 then
begin
toolbutton2.Enabled:=true;
toolbutton3.Enabled:=true;
toolbutton5.Enabled:=true;
toolbutton8.Enabled:=true;
toolbutton9.Enabled:=true;
toolbutton11.Enabled:=true;
end
else
begin
toolbutton2.Enabled:=false;
toolbutton3.Enabled:=false;
toolbutton5.Enabled:=false;
toolbutton8.Enabled:=false;
toolbutton9.Enabled:=false;
toolbutton11.Enabled:=false;
end;
end;
idlabel.Caption:=inttostr(dmdata.QcKqADOQuery.fieldbyname('id').AsInteger);
end;
procedure Tqckqform.Grbox1comboboxnew;
begin
dmdata.BjqlADOTable.Active:=false;
dmdata.BjqlADOTable.Active:=true;
dmdata.BjqlADOTable.First;
while not dmdata.BjqlADOTable.eof do
begin
combobox1.Items.Add(dmdata.BjqlADOTable['QL']);
dmdata.BjqlADOTable.Next;
end;
combobox1.ItemIndex:=0;
end;
procedure TQckqform.Grbox2comboboxnew;
begin
dmdata.BjqlADOTable.Active:=false;
dmdata.BjqlADOTable.Active:=true;
dmdata.BjqlADOTable.First;
while not dmdata.BjqlADOTable.eof do
begin
combobox2.Items.Add(dmdata.BjqlADOTable['QL']);
dmdata.BjqlADOTable.Next;
end;
with dmdata.QcKqADOQuery do
begin
if RecordCount > 0 then
begin
idlabel.Caption:=inttostr(fieldbyname('id').AsInteger);
if groupbox2.Visible = true then
begin
combobox2.Text:=fieldbyname('ql').AsString;
datetimepicker2.date:=fieldbyname('rq').AsDateTime;
edit5.Text:=inttostr(fieldbyname('sl').AsInteger);
edit6.Text:=fieldbyname('qxhm').AsString;
edit7.Text:=fieldbyname('jxhm').AsString;
end;
end;
end;
end;
procedure TQcKqForm.ToolButton1Click(Sender: TObject);
begin
if groupbox2.Visible = true then
groupbox2.Visible:=false;
if groupbox1.Visible = false then
combobox1.Clear;
Groupbox1.Visible:=true;
Grbox1comboboxnew;
datetimepicker1.Date:=dmdata.ADOTable_T_user['date'];
combobox1change(Sender);
Combobox1.SetFocus;
toolbutton3.Enabled :=false;
n3.Enabled:=false;
edit1.MaxLength:=dm.DMData.pjlen;
edit2.MaxLength:=dm.DMData.pjlen;
edit3.MaxLength:=dm.DMData.pjlen;
end;
procedure TQcKqForm.BitBIT2Click(Sender: TObject);
begin
groupbox1.Visible:=false;
toolbutton3.Enabled:=true;
n3.Enabled:=true;
end;
procedure TQcKqForm.BitADDClick(Sender: TObject);
var
ID:string;
ms_id:integer;
begin
if (edit1.Text = '') or (edit2.Text = '') or (edit3.Text ='') then
exit;
if dmdata.qsjzADOQuery.FieldByName('dbegin').AsDateTime > datetimepicker1.Date then
begin
showmessage('日期已小于本月范围,请重新选择!');
datetimepicker1.Date:=dmdata.ADOTable_T_user['date'];
exit;
end;
if (dmdata.qsjzADOQuery.FieldByName('dend').AsDateTime+1) < datetimepicker1.Date then
begin
showmessage('日期已大于本月范围,请重新选择!');
datetimepicker1.Date:=dmdata.ADOTable_T_user['date'];
exit;
end;
with dmdata.BjqlADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from t_bjql where ql = :a');
parameters.ParamByName('a').Value := trim(combobox1.Text);
open;
ID := fieldByName('km').AsString;
end;
with dmdata.QcKqADOQuery do
begin
close;
sql.Clear;
sql.Add('insert into t_ms_jl(ql_id,rq,sl,qxhm,jxhm,Lybm,qt) values(:a,:b,:c,:d,:e,:f,:g)');
parameters.ParamByName('a').Value:=ID;
parameters.ParamByName('b').Value:=datetostr(datetimepicker1.Date);
parameters.parambyname('c').value:=edit1.text;
parameters.ParamByName('d').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit2.Text));
parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit3.Text));
parameters.ParamByName('f').Value:='库存';
parameters.ParamByName('g').Value:=0;
Execsql;
end;
with dmdata.QcKqADOQuery do
begin
close;
sql.Clear;
sql.Add('select MAX(ID) AS ms_id from t_ms_jl' );
open;
ms_id:= fieldByName('ms_id').AsInteger;
end;
with dmdata.QcKqADOQuery do
begin
close;
sql.Clear;
sql.Add('insert into t_kqb(ms_id,ql_id,rq,sl,qxhm,jxhm,KQbm,qt) values(:h,:a,:b,:c,:d,:e,:f,:g)');
parameters.ParamByName('h').Value := ms_id;
parameters.ParamByName('a').Value:=ID;
parameters.ParamByName('b').Value:=datetostr(datetimepicker1.Date);
parameters.parambyname('c').value:=edit1.text;
parameters.ParamByName('d').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit2.Text));
parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit3.Text));
parameters.ParamByName('f').Value:='库存';
parameters.ParamByName('g').Value:=0;
Execsql;
end;
QcKqNewll;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
combobox1.SetFocus;
toolbutton3.Enabled:=false;
n3.Enabled:=false;
end;
procedure TQcKqForm.FormCreate(Sender: TObject);
var
j:integer;
stryear:string;
begin
QcKqNewll;
with dmdata.ShowADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from t_MS_JL where ((qt<>0)and(qt<>1))OR((qt=1)and(LYBM =''购入''))');
open;
if RecordCount > 0 then
begin
toolbutton2.Enabled:=false;
toolbutton3.Enabled:=false;
toolbutton1.Enabled:=false;
toolbutton4.Enabled:=false;
n1.Enabled:=false;
n2.Enabled:=false;
n3.Enabled:=false;
end;
end;
j:=pos('-',trim(datetostr(dmdata.ADOTable_T_user.fieldbyname('date').AsDateTime)));
stryear:=copy(trim(datetostr(dmdata.ADOTable_T_user.fieldbyname('date').AsDateTime)),1,j-1);
printdbgrideh1.PageHeader.CenterText.Add(dmdata.ADOTable_T_user.fieldbyname('dh').AsString);
printdbgrideh1.Title.Add(stryear+'年期初库存');
printdbgrideh1.PageFooter.RightText.Add('制表人:'+dmdata.ADOTable_T_user.fieldbyname('name').AsString);
printdbgrideh1.PageFooter.CenterText.add('第&[Page]页 共&[Pages]页');
printdbgrideh1.PageFooter.LeftText.Add('打印日期:'+DateToStr(Now));
end;
procedure TQcKqForm.edit2Change(Sender: TObject);
begin
if ((edit1.Text <> '') and (edit2.Text <> '')) then
begin
edit3.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit1.Text)*unm+strtofloat(edit2.Text)-1);
end
else
exit;
end;
procedure TQcKqForm.combobox1change(Sender: TObject);
begin
with dmdata.BjqlADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from t_bjql where ql= :a');
parameters.ParamByName('a').Value:=trim(combobox1.Text);
open;
unm:= fieldByName('mbf').AsInteger;
end;
end;
procedure TQcKqForm.edit3change(Sender: TObject);
begin
edit2.Text:= copy(trim(edit2.Text),1,dm.DMData.pjlen);
end;
procedure TQcKqForm.combobox1keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = vk_return)then
begin
datetimepicker1.SetFocus;
end;
end;
procedure TQcKqForm.datetimepicker1deydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key =vk_return)or(key=vk_down)then
begin
edit1.SetFocus;
end;
if key=vk_up then
begin
combobox1.SetFocus;
end;
end;
procedure TQcKqForm.edit1keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key =vk_return)or(key=vk_down) then
begin
edit2.SetFocus;
end;
if key=vk_up then
begin
datetimepicker1.SetFocus;
end;
end;
procedure TQcKqForm.edit3keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key =vk_return)or(key=vk_down) then
begin
bitadd.SetFocus;
end;
if key=vk_up then
begin
edit2.SetFocus;
end;
end;
procedure TQcKqForm.edit2keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key =vk_return)or(key=vk_down) then
begin
edit3.SetFocus;
end;
if key=vk_up then
begin
edit1.SetFocus;
end;
end;
procedure TQcKqForm.DBGridehcellclick(Column: TColumnEh);
begin
with dmdata.QcKqADOQuery do
begin
if RecordCount > 0 then
begin
idlabel.Caption:=inttostr(fieldbyname('id').AsInteger);
if groupbox2.Visible = true then
begin
combobox2.Text:=fieldbyname('ql').AsString;
datetimepicker2.date:=fieldbyname('rq').AsDateTime;
edit5.Text:=inttostr(fieldbyname('sl').AsInteger);
edit6.Text:=fieldbyname('qxhm').AsString;
edit7.Text:=fieldbyname('jxhm').AsString;
end;
end;
end;
end;
procedure TQcKqForm.combobox2change(Sender: TObject);
begin
with dmdata.BjqlADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from t_bjql where ql= :a');
parameters.ParamByName('a').Value:=trim(combobox2.Text);
open;
unm:= fieldByName('mbf').AsInteger;
end;
if ((edit5.Text <> '') and (edit6.Text <> '')) then
begin
edit7.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit5.Text)*unm+strtofloat(edit6.Text)-1);
end
else
exit;
end;
procedure TQcKqForm.edit6change(Sender: TObject);
begin
if ((edit5.Text <> '') and (edit6.Text <> '')) then
begin
edit7.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit5.Text)*unm+strtofloat(edit6.Text)-1);
end
else
exit;
end;
procedure TQcKqForm.edit7change(Sender: TObject);
begin
edit6.Text:= copy(trim(edit6.Text),1,dm.DMData.pjlen);
end;
procedure TQcKqForm.ToolButton2Click(Sender: TObject);
begin
if groupbox1.Visible = true then
groupbox1.Visible:=false;
if groupbox2.Visible = false then
combobox2.Clear;
Groupbox2.Visible:=true;
Grbox2comboboxnew;
//datetimepicker2.Date:=dmdata.ADOTable_T_user['date'];
combobox2change(Sender);
Combobox2.SetFocus;
toolbutton3.Enabled:=false;
n3.Enabled:=false;
edit5.MaxLength:=dm.DMData.pjlen;
edit6.MaxLength:=dm.DMData.pjlen;
edit7.MaxLength:=dm.DMData.pjlen;
end;
procedure TQcKqForm.edit5change(Sender: TObject);
begin
if ((edit5.Text <> '') and (edit6.Text <> '')) then
begin
edit7.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit5.Text)*unm+strtofloat(edit6.Text)-1);
end
else
exit;
end;
procedure TQcKqForm.BitBtn3Click(Sender: TObject);
begin
groupbox2.Visible:=false;
toolbutton3.Enabled:=true;
n3.Enabled:=true;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -