📄 bjllunitpas.pas
字号:
end;
end
else
begin
with dmdata.editADOQuery do
begin
close;
sql.Clear;
sql.Add('insert into t_lyb(ql_id,rq,sl,qxhm,jxhm,lybm,qt,lyr,ms_id) values(:a,:b,:c,:d,:e,:f,:g,:h,:i)');
parameters.ParamByName('a').Value:=ql_id;
parameters.parambyname('b').value:=datetostr(datetimepicker1.Date);
parameters.ParamByName('c').Value:=(strtofloat(edit2.Text)-strtofloat(qxhm))/unm;
parameters.ParamByName('d').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(qxhm));
parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(floattostr(strtofloat(edit2.Text)-1)));
parameters.ParamByName('f').Value:=trim(lybm);
parameters.ParamByName('g').Value:=qt;
parameters.ParamByName('h').Value:=trim(lyr);
parameters.ParamByName('i').Value:=ms_id;
Execsql;
end;
with dmdata.KqeditADOQuery do
begin
close;
sql.Clear;
sql.Add('update t_lyb set sl = :b,qxhm = :c where id = :a');
parameters.ParamByName('a').Value:=id;
parameters.ParamByName('b').Value:=sl-(strtofloat(edit2.Text)-strtofloat(qxhm))/unm-strtofloat(edit1.Text);
parameters.parambyname('c').value:=formatfloat(dm.DMData.pjlenstr,strtofloat(floattostr(strtofloat(edit3.text)+1)));
Execsql;
end;
end;
end;
with dmdata.KqqsADOQuery do
begin
close;
sql.Clear;
sql.Add('select a.ql,b.ms_id,b.ql_id,b.rq,b.sl,b.qxhm,b.jxhm from t_bjql as a inner join t_kqb as b on a.km = b.ql_id where (id=:a)' );
parameters.ParamByName('a').Value:=strtofloat(idlabel.Caption);
open;
if (RecordCount > 0) and (strtofloat(fieldbyname('qxhm').AsString)=(strtofloat(edit3.Text)+1)) then
begin
kqsl:=fieldbyname('sl').AsInteger;
kqqxhm:=fieldbyname('qxhm').AsString;
with dmdata.KqeditADOQuery do
begin
close;
sql.Clear;
sql.Add('update t_kqb set sl = :b,qxhm = :c where id = :a');
parameters.ParamByName('a').Value:=strtofloat(idlabel.Caption);
parameters.ParamByName('b').Value:=kqsl+strtofloat(edit1.Text);
parameters.parambyname('c').value:=formatfloat(dm.DMData.pjlenstr,strtofloat(floattostr(strtofloat(kqqxhm)-strtofloat(edit1.Text)*unm)));
Execsql;
end;
end
else
begin
with dmdata.kqeditADOQuery do
begin
close;
sql.Clear;
sql.Add('insert into t_kqb(ms_id,ql_id,rq,sl,qxhm,jxhm,kqbm,qt) values(:a,:b,:c,:d,:e,:f,:g,:h)');
parameters.ParamByName('a').Value:=ms_id;
parameters.ParamByName('b').Value:=ql_id;
parameters.parambyname('c').value:=datetostr(datetimepicker1.Date);
parameters.ParamByName('d').Value:=strtofloat(edit1.Text);
parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit2.Text));
parameters.ParamByName('f').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit3.Text));
parameters.ParamByName('g').Value:='库存';
parameters.ParamByName('h').Value:=0;
Execsql;
end;
end;
end;
delnewll;
kqhznewll;
combobox1change(Sender);
lynewll;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
combobox2.Text:='';
edit1.SetFocus;
button2.Enabled:=false;
end;
procedure TbjllForm.dbgrideh2cellclick(Column: TColumnEh);
begin
with dmdata.KqmsADOQuery do
begin
if RecordCount > 0 then
begin
idlabel.Caption:=floattostr(dmdata.KqmsADOQuery.fieldbyname('id').AsInteger);
edit1.Text:=floattostr(dmdata.KqmsADOQuery.fieldbyname('sl').AsInteger);
edit2.Text:=dmdata.KqmsADOQuery.fieldbyname('qxhm').AsString;
edit3.Text:=dmdata.KqmsADOQuery.fieldbyname('jxhm').AsString;
end;
end;
combobox2.Text:='';
edit4.Text:='';
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;
button1.Enabled:=true;
button2.Enabled :=false;
//showmessage(floattostr(unm));
end;
procedure TbjllForm.edit1chagne(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 TbjllForm.edit2change(Sender: TObject);
begin
if ((edit1.Text <> '') and (edit2.Text <> '') and (edit3.Text <>'')) then
begin
edit3.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit1.Text)*unm+strtofloat(edit2.Text)-1);
end
else
exit;
end;
procedure TbjllForm.dbgrideh3ceclick(Column: TColumnEh);
begin
with dmdata.lyADOQuery do
begin
if RecordCount > 0 then
begin
idlabel.Caption:=floattostr(dmdata.lyADOQuery.fieldbyname('qt').AsInteger);
edit1.Text:=floattostr(dmdata.lyADOQuery.fieldbyname('sl').AsInteger);
edit2.Text:=dmdata.lyADOQuery.fieldbyname('qxhm').AsString;
edit3.Text:=dmdata.lyADOQuery.fieldbyname('jxhm').AsString;
combobox2.Text:= dmdata.lyADOQuery.fieldbyname('dwbm').AsString;
edit4.Text:=dmdata.lyADOQuery.fieldbyname('lyr').AsString;
id:=dmdata.LyADOQuery.fieldbyname('id').AsInteger;
ql_id:=dmdata.LyADOQuery.fieldbyname('ql_id').AsString;
sl:= dmdata.lyADOQuery.fieldbyname('sl').AsInteger;
qxhm:=dmdata.LyADOQuery.fieldbyname('qxhm').AsString;
jxhm:=dmdata.LyADOQuery.fieldbyname('jxhm').AsString;
ms_id:=dmdata.lyAdoquery.fieldbyname('ms_id').asinteger;
lybm:=dmdata.LyADOQuery.fieldbyname('lybm').AsString;
qt:=dmdata.LyADOQuery.fieldbyname('qt').AsInteger;
lyr:=dmdata.LyADOQuery.fieldbyname('lyr').AsString;
end;
end;
with dmdata.BjqlADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from t_bjql where km= :a');
parameters.ParamByName('a').Value:=dmdata.lyADOQuery.fieldbyname('ql_id').AsString;
open;
combobox1.Text:=fieldbyname('ql').AsString;
unm:= fieldByName('mbf').AsInteger;
end;
button2.Enabled:=true;
button1.Enabled:=false;
//showmessage(floattostr(unm));
end;
procedure TbjllForm.BitBtn2Click(Sender: TObject);
begin
printerpreview.Orientation:=poLandscape;
printdbgrideh1.Preview;
end;
procedure TbjllForm.BitBtn1Click(Sender: TObject);
var
iacc_id,iyear,id,ms_id:integer;
begin
iacc_id:=dmdata.qsjzADOQuery.fieldbyname('iacc_id').AsInteger;
iyear:=dmdata.qsjzADOQuery.fieldbyname('iyear').AsInteger;
id:=dmdata.qsjzADOQuery.fieldbyname('id').AsInteger-1;
if dmdata.qsjzADOQuery.fieldbyname('id').AsInteger <> 1 then
begin
with dmdata.JzADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from g_period where (iacc_id=:a)and(iyear=:b)and(id=:c)');
parameters.ParamByName('a').Value := iacc_id;
parameters.ParamByName('b').Value:=iyear;
parameters.ParamByName('c').Value :=id;
open;
if dmdata.jzADOQuery.fieldByName('bflag').AsBoolean = false then
begin
showmessage('上月未结账,不能登记入账;重新注册结账,结账后请重新注册登记入账.');
exit;
end;
end;
end;
with dmdata.lyADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from T_lyb');
open;
First;
while not eof do
begin
with dmdata.QcKqADOQuery do
begin
close;
sql.Clear;
sql.Add('insert into t_ms_jl(ql_id,rq,sl,qxhm,jxhm,Lybm,qt,jbr) values(:a,:b,:c,:d,:e,:f,:g,:i)');
parameters.ParamByName('a').Value:=dmdata.lyADOQuery.fieldByName('ql_id').AsString;
parameters.ParamByName('b').Value:=dmdata.lyADOQuery.fieldByName('rq').AsDateTime;
parameters.parambyname('c').value:=dmdata.lyADOQuery.fieldByName('sl').AsInteger;
parameters.ParamByName('d').Value:=dmdata.lyADOQuery.fieldByName('QXHM').AsString;
parameters.ParamByName('e').Value:=dmdata.lyADOQuery.fieldByName('JXHM').AsString;
parameters.ParamByName('f').Value:=dmdata.lyADOQuery.fieldByName('lybm').AsString;
parameters.ParamByName('g').Value:=2;
parameters.ParamByName('i').Value:=dmdata.lyADOQuery.fieldByName('lyr').AsString;
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:=dmdata.lyADOQuery.fieldByName('ql_id').AsString;
parameters.ParamByName('b').Value:=dmdata.lyADOQuery.fieldByName('rq').AsDateTime;
parameters.parambyname('c').value:=dmdata.lyADOQuery.fieldByName('sl').AsInteger;
parameters.ParamByName('d').Value:=dmdata.lyADOQuery.fieldByName('QXHM').AsString;
parameters.ParamByName('e').Value:=dmdata.lyADOQuery.fieldByName('JXHM').AsString;
parameters.ParamByName('f').Value:=dmdata.lyADOQuery.fieldByName('lybm').AsString;
parameters.ParamByName('g').Value:=1;
Execsql;
end;
next;
end;
end;
with dmdata.lyADOQuery do
begin
close;
sql.Clear;
sql.Add('delete from t_lyb');
Execsql;
end;
lynewll;
showmessage('登记完成!');
end;
procedure TbjllForm.combobox1keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then
begin
datetimepicker1.SetFocus;
end;
end;
procedure TbjllForm.datetimepicker1keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then
begin
edit1.SetFocus;
end;
if key = vk_up then
begin
combobox1.SetFocus;
end;
end;
procedure TbjllForm.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 TbjllForm.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 TbjllForm.edit3keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_return) or (key = vk_down) then
begin
combobox2.SetFocus;
end;
if key=vk_up then
begin
edit2.SetFocus;
end;
end;
procedure TbjllForm.combobox2keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_return then
begin
edit4.SetFocus;
end;
if key=vk_up then
begin
edit3.SetFocus;
end;
end;
procedure TbjllForm.edit4keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = vk_return) or (key = vk_down) then
begin
Button1.SetFocus;
end;
if key=vk_up then
begin
edit3.SetFocus;
end;
end;
procedure TbjllForm.edit1keypress(Sender: TObject; var Key: Char);
var
m:boolean;
begin
m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
if m then key := #0;
end;
procedure TbjllForm.edit2keypress(Sender: TObject; var Key: Char);
var
m:boolean;
begin
m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
if m then key := #0;
end;
procedure TbjllForm.edit3keypress(Sender: TObject; var Key: Char);
var
m:boolean;
begin
m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
if m then key := #0;
end;
procedure TbjllForm.BitBtn4Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -