ddwh.pas
来自「应对服装行业的生产成本控制系统」· PAS 代码 · 共 1,268 行 · 第 1/3 页
PAS
1,268 行
Column.Title.Font.Color := clRed; //改变标题行字体为红色,表示当前的排序方式为升序
Column.Title.Font.Style := [fsBold];
end;
end;
procedure TFrmddwh.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then ClientDataSet1.Append;
end;
function TFrmddwh.savekc:boolean;
var
relation,cx:string;
i,i1:integer;
begin
relation:=' = ''';
cx:='';
TRY
tddh.Text:=trim(tddh.Text);
tcpmc.Text:=trim(tcpmc.text);
errcode:=true;
errzt:=1;
commandstring:='select * from dbo.ddmxb where (dbo.ddmxb.ddh '+relation+cx+trim(tddh.Text)+cx+''')'+' order by xh';
DataModule1.ClientDataSet18.Close;
DataModule1.ClientDataSet18.CommandText:=commandstring;
DataModule1.ClientDataSet18.Open;
commandstring:='delete from dbo.ddmxb';
commandstring:=commandstring+' where (dbo.ddmxb.ddh'+relation+cx+tddh.Text+cx+''')';
DataModule1.ClientDataSet18.CommandText:=commandstring;
DataModule1.ClientDataSet18.Execute;
commandstring:='select * from dbo.ddmxb where (dbo.ddmxb.ddh '+relation+cx+trim(tddh.Text)+cx+''')'+' order by xh';
DataModule1.ClientDataSet18.Close;
DataModule1.ClientDataSet18.CommandText:=commandstring;
DataModule1.ClientDataSet18.Open;
i1:=clientdataset1.RecordCount;
if i1<1 then
begin
errcode:=false;
errzt:=0;
exit;
end;
clientdataset1.DisableControls;
clientdataset1.First;
for i:=1 to i1 do
begin
if not DataModule1.ClientDataSet18.Locate('xh',clientdataset1.fieldbyname('xh').AsString,[]) then
begin
savekcb;
if errcode or (errzt<>0) then savekcb;
if errcode or (errzt<>0) then savekcb;
if errcode or (errzt<>0) then savekcb;
end;
clientdataset1.Next;
end;
errcode:=false;
errzt:=0;
clientdataset1.EnableControls;
except
errcode:=true;
errzt:=1;
clientdataset1.EnableControls;
help.Caption:='数据库没有打开!';
end;
end;
function tFrmddwh.savekcb:boolean;
begin
try
errcode:=true;
errzt:=1;
DataModule1.clientdataset18.Edit;
DataModule1.ClientDataSet18.First;
DataModule1.clientdataset18.Insert;
DataModule1.clientdataset18.FieldByName('ddh').AsString:=tddh.Text;
DataModule1.clientdataset18.FieldByName('xh').AsString:=clientdataset1.fieldbyname('xh').AsString;
DataModule1.clientdataset18.FieldByName('ms').AsString:=clientdataset1.fieldbyname('ms').AsString;
DataModule1.clientdataset18.FieldByName('ts').AsString:=clientdataset1.fieldbyname('ts').AsString;
DataModule1.clientdataset18.FieldByName('ys').AsString:=clientdataset1.fieldbyname('ys').AsString;
DataModule1.clientdataset18.ApplyUpdates(-1);
errcode:=false;
errzt:=0;
except
errcode:=true;
errzt:=1;
help.caption:='数据库没有打开!';
end;
end;
function TFrmddwh.dbexit:boolean;
var
i,i1,i2,i3:integer;
begin
if not clientdataset1.Active then exit;
try
i1:=clientdataset1.RecordCount;
clientdataset1.DisableControls;
clientdataset1.first;
for i:=1 to i1 do
begin
IF (clientdataset1.FieldByName('xh').AsString='') or (clientdataset1.FieldByName('ms').AsString='') or (clientdataset1.FieldByName('ts').AsString='') or (clientdataset1.FieldByName('ys').AsString='') THEN
begin
clientdataset1.Edit;
clientdataset1.Delete;
end
else
clientdataset1.Next;
end;
ts:='0';
i3:=clientdataset1.RecordCount;
clientdataset1.first;
for i2:=1 to i3 do
begin
ts:=formatfloat('0.00',strtofloat(ts) + clientdataset1.FieldByName('ts').AsFloat);
if i2<>i3 then clientdataset1.Next;
end;
//ts:=formatfloat('0.00',strtofloat(ts)-1);
clientdataset1.EnableControls;
except
clientdataset1.EnableControls;
showmessage('请您输入正确的数字!')
end;
end;
procedure TFrmddwh.tslChange(Sender: TObject);
begin
if trim(tje.Text)='' then tje.Text:='0';
if trim(tdj.Text)='' then tdj.Text:='0';
if (trim(tsl.Text)<>'') and (trim(tdj.Text)<>'') then
begin
tje.Text:=formatfloat('0.00',strtofloat(tsl.Text)*strtofloat(tdj.Text));
end;
end;
procedure TFrmddwh.bsaveClick(Sender: TObject);
var
datestr:string;
begin
if not bsave.Enabled then exit;
bsave.Enabled:=false;
bcancel.Enabled:=false;
errcode:=true;
errzt:=1;
if not check then
begin
bsave.Enabled:=true;
bcancel.Enabled:=true;
exit;
end;
form1.kh:=trim(tkhmc.Text);
frmwjgdw.checkkh(form1.kh);
if form1.kh='' then
begin
bsave.Enabled:=true;
bcancel.Enabled:=true;
tkhmc.SetFocus;
help.Caption:=' 该客户不存在,请您输入正确的客户!';
exit;
end;
form1.kh:='';
form1.cpmc:=trim(tcpmc.Text);
form1.cpfl:=trim(tcpfl.Text);
form1.cpdw:=trim(tcpdw.Text);
frmcpml.checkcp(form1.cpmc,form1.cpfl,form1.cpdw);
if form1.cpmc='' then
begin
bsave.Enabled:=true;
bcancel.Enabled:=true;
tcpmc.SetFocus;
help.Caption:=' 该产品不存在,请您输入正确的产品!';
exit;
end;
form1.cpmc:='';
form1.cpfl:='';
form1.cpdw:='';
datestr:=frmxtfz.checkfzrq(formatdatetime('yyyy-mm-dd',jdrq.date));
if datestr<>'' then
begin
help.Caption:=' 封账日期为'+datestr+'您不能修改封账日期前的数据';
exit;
end;
try
save;
if errcode or (errzt<>0) then save;
if errcode or (errzt<>0) then save;
if errcode or (errzt<>0) then save;
if errcode or (errzt<>0) then
begin
showmessage(' 数据库在保存主记录时失败,请您稍后重新保存!');
errdelete;
bsave.Enabled:=true;
bcancel.Enabled:=true;
exit;
end;
savekc;
if errcode or (errzt<>0) then savekc;
if errcode or (errzt<>0) then savekc;
if errcode or (errzt<>0) then savekc;
if errcode or (errzt<>0) then
begin
showmessage(' 数据库在保存明细记录时失败,请您稍后重新保存!');
errdelete;
bsave.Enabled:=true;
bcancel.Enabled:=true;
exit;
end;
tkhmc.Text:='';
tcpmc.Text:='';
tcpfl.Text:='';
tcpdw.Text:='';
tsl.Text:='0';
tdj.Text:='0';
tje.Text:='0';
brework.Enabled:=false;
bsave.Enabled:=false;
bdelete.Enabled:=false;
bcancel.Enabled:=false;
bsh.Enabled:=false;
bprint.Enabled:=true;
dbgrid1.Enabled:=true;
help.Caption:=' 订单维护操作成功!' ;
except
clientdataset1.EnableControls;
bsave.Enabled:=true;
bcancel.Enabled:=true;
showmessage(' 订单维护时出现了系统无法识别的错误,请您主动辨别该错误!');
end;
end;
procedure TFrmddwh.DBGrid2Exit(Sender: TObject);
begin
dbexit;
if ts<>'0' then tsl.Text:=ts;
end;
function tFrmddwh.errdelete:boolean;
var
relation,cx:string;
begin
relation:=' = ''';
cx:='';
try
commandstring:='delete from dbo.ddb';
commandstring:=commandstring+' where (dbo.ddb.ddhh'+relation+cx+tddh.Text+cx+''')';
DataModule1.ClientDataSet17.CommandText:=commandstring;
DataModule1.ClientDataSet17.Execute;
commandstring:='delete from dbo.ddmxb';
commandstring:=commandstring+' where (dbo.ddmxb.ddh'+relation+cx+tddh.Text+cx+''')';
DataModule1.ClientDataSet18.CommandText:=commandstring;
DataModule1.ClientDataSet18.Execute;
khchange;
except
showmessage('数据库没有打开')
end;
end;
procedure TFrmddwh.FormActivate(Sender: TObject);
var
commandstring,relation,cx,str:string;
begin
rzjsj:=datetimetostr(now);
rzczy:=form1.StatusBar1.Panels[4].Text;
rzsj:='订单维护';
sq.Date:=date-30;
sz.Date:=date;
jq.Date:=date;
jz.Date:=date+30;
jdrq.DateTime:=date;
jhrq.DateTime:=date+30;
help.Caption:='';
brework.Enabled:=false;
bdelete.Enabled:=false;
bsave.Enabled:=false;
bcancel.Enabled:=false;
bprint.Enabled:=false;
bsh.Enabled:=false;
dbgrid1.Enabled:=true;
pz.Enabled:=true;
tkhmc.Text:='';
tcpmc.Text:='';
tcpfl.Text:='';
tcpdw.Text:='';
ts:='0';
try
relation:=' = ''';
str:='jg';
cx:='';
commandstring:='select * from fylbb where (fylbb.lb';
commandstring:=commandstring+relation+cx+str+cx+''')'+' order by xh';
DataModule1.ClientDataSet16.Close;
DataModule1.ClientDataSet16.CommandText:=commandstring;
DataModule1.ClientDataSet16.Open;
except
showmessage('数据库没有打开!')
end;
tsl.Text:='0';
tdj.Text:='0';
tje.Text:='0';
help.Caption:=' 请您点击<新增>按钮开始记录数据!';
end;
procedure TFrmddwh.FormClose(Sender: TObject; var Action: TCloseAction);
begin
try
DataModule1.ClientDataSet17.IndexFieldNames:='';
if clientdataset1.Active then ClientDataSet1.Active:=false;
if DataModule1.clientdataset17.Active then DataModule1.ClientDataSet17.Active:=false;
if DataModule1.clientdataset18.Active then DataModule1.ClientDataSet18.Active:=false;
if DataModule1.clientdataset13.Active then DataModule1.ClientDataSet13.Active:=false;
if DataModule1.clientdataset16.Active then DataModule1.ClientDataSet16.Active:=false;
if DataModule1.clientdataset7.Active then DataModule1.ClientDataSet7.Active:=false;
if rzcsj<>'' then exit;
rzcsj:=datetimetostr(now);
form16.WriteTorz(rzczy,rzsj,rzjsj,rzcsj);
except
clientdataset1.EnableControls;
showmessage('数据库没有打开!');
end;
close;
end;
procedure TFrmddwh.ClientDataSet1NewRecord(DataSet: TDataSet);
var
i,i1:integer;
begin
try
clientdataset1.FieldByName('xh').AsInteger:=clientdataset1.RecordCount+1;
i1:=clientdataset1.RecordCount;
ts:='0';
clientdataset1.DisableControls;
clientdataset1.first;
for i:=1 to i1 do
begin
if clientdataset1.FieldByName('ts').AsString<>'' then ts:=formatfloat('0.00',strtofloat(ts) + clientdataset1.FieldByName('ts').AsFloat);
if i<>i1 then clientdataset1.Next;
end;
//ts:=formatfloat('0.00',strtofloat(ts)-1);
clientdataset1.EnableControls;
except
clientdataset1.EnableControls;
showmessage('请您输入正确的数字')
end;
end;
procedure TFrmddwh.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if DataModule1.ClientDataSet17.FieldByName('shbj').AsInteger=1 then
begin
dbgrid1.Canvas.Font.Color:=clred;
dbgrid1.Canvas.Brush.Color:=clyellow;
end
else
begin
dbgrid1.Canvas.Font.Color:=clblue;
dbgrid1.Canvas.Brush.Color:=clwhite;
end;
dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);
if ((State = [gdSelected]) or (State = [gdSelected, gdFocused])) then
begin
DBGrid1.Canvas.Brush.Color:=clred;
DBGrid1.Canvas.Font.Color:=clWhite;
DBGrid1.DefaultDrawColumnCell(Rect, datacol,column, State);
end;
end;
procedure TFrmddwh.jglxKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tkhmc.SetFocus;
end;
procedure TFrmddwh.tcpflKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tcpdw.SetFocus;
end;
procedure TFrmddwh.DBGrid3DblClick(Sender: TObject);
begin
if not DataModule1.ClientDataSet7.Active then exit;
if DataModule1.ClientDataSet7.RecordCount>0 then
begin
tkhmc.Text:=DataModule1.ClientDataSet7.FieldByName('wjgdw').AsString;
tcpmc.SetFocus;
end;
end;
procedure TFrmddwh.jhrqKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tsl.SetFocus;
end;
procedure TFrmddwh.tjeKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8,#13,'.','-']) then
begin
key:=#0;
help.caption:=' 请输入数字!';
if key=#13 then tbz.SetFocus;
end;
end;
procedure TFrmddwh.tddhExit(Sender: TObject);
var
relation,cx:string;
begin
relation:=' = ''';
cx:='';
commandstring:='select * from dbo.ddb';
if trim(tddh.Text)<>'' then
begin
commandstring:=commandstring+' where (ddh'+relation+cx+trim(tddh.Text)+cx+''')'+' order by ddh desc';;
DataModule1.ClientDataSet17.Close;
DataModule1.ClientDataSet17.CommandText:=commandstring;
DataModule1.ClientDataSet17.Open;
if DataModule1.ClientDataSet17.RecordCount>0 then help.Caption:=' 该订单号已经存在,您不用再次录入了';
end;
end;
procedure TFrmddwh.BqueryClick(Sender: TObject);
var
commandtring1,relation,cx:string;
begin
relation:=' like ''';
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?