📄 quality_check.pas
字号:
for i:=1 to StringGrid1.RowCount-1 do
begin
StringGrid1.Cells[0,i]:=IntTostr(i); //表示第0列第i行
end;
end;
procedure Tfrm_Quality_Check.StringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
s:string;
r:TRect;
begin
//ydy add 设置显示颜色
with Sender as Tstringgrid do
begin
if gdSelected in State then
Canvas.Brush.Color:= clTeal; //clBlue; //clyellow;//clRed;
Canvas.TextRect(Rect,Rect.Left,Rect.Top,' '+Cells[ACol,ARow]);
if gdFocused in State then
Canvas.DrawFocusRect(Rect);
end;
//不但水平居中,还垂直居中
with Sender as Tstringgrid do
begin
Canvas.FillRect(Rect);
s:=Cells[ACol,ARow];
r:=Rect;
DrawText(Canvas.Handle,PChar(s),Length(s),r,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
end;
with sender as TStringGrid do
begin
if (GDFocused in state) then
begin
Pcol:=Acol;
Prow:=ARow;
func.String_Col:=ARow;
end;
end;
end;
procedure Tfrm_Quality_Check.StringGrid1DblClick(Sender: TObject);
var
openstr:string;
S1,s2,s3:string;
sqlsub:widestring;
I:INTEGER;
begin
if pcol = 4 then //复制数量
begin
for i := prow+1 to STRINGGRID1.rowcount -1 do
begin
STRINGGRID1.cells[4,i]:= STRINGGRID1.cells[4,prow];
STRINGGRID1.cells[5,i]:=INTTOSTR(STRTOINT(STRINGGRID1.cells[3,i])-STRTOINT(STRINGGRID1.cells[4,i]));
//同时要计算金额
END;
END;
end;
procedure Tfrm_Quality_Check.Edit1DblClick(Sender: TObject);
begin
Edit1.Text:=ForMatDateTime('yyyy''-''mm''-''dd',now);
end;
procedure Tfrm_Quality_Check.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
Edit1.Text:=ForMatDateTime('yyyy''-''mm''-''dd',now);
end;
procedure Tfrm_Quality_Check.Edit8KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
Edit8.Text:=Handle_Man;
end;
procedure Tfrm_Quality_Check.Edit8DblClick(Sender: TObject);
begin
Edit8.Text:=Handle_Man;
end;
procedure Tfrm_Quality_Check.Cmd_LHDJClick(Sender: TObject);
var
sqlsub:widestring;
i:integer;
begin
LHXZ_Str:='';
LHXZ_Str:='Quality_Check_001';
LHXZ_Str_List_NO:='';
LHXZ_Str_Result:='';
frm_Stock_Write_Check:=Tfrm_Stock_Write_Check.Create(self);
frm_Stock_Write_Check.ShowModal;
frm_Stock_Write_Check.Free;
edit3.Text:=LHXZ_Str_List_NO;
if stringgrid1.RowCount<2 then
begin
stringgrid1.RowCount:=2;
stringgrid1.FixedRows:=1;
end;
end;
procedure Tfrm_Quality_Check.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DMMAIN.CDSquery2.Close;
dmmain.CDSquery2.Data:=null;
DMMAIN.CDSexecsql.Close;
dmmain.CDSexecsql.Data:=null;
dmmain.cdsprintmaster.Close;
dmmain.cdsprintmaster.Data:=null;
dmmain.cdsQuality_Check.Close;
dmmain.cdsQuality_Check.Data:=null;
dmmain.cdsQuality_Check_detail.Close;
dmmain.cdsQuality_Check_detail.Data:=null;
Action:=cafree;
end;
procedure Tfrm_Quality_Check.SpeedButton5Click(Sender: TObject);
begin
Check_Storage:='';Check_Storage_Result:='';
Check_Storage:='Quality_Checkstr';
frm_Storage_Select:=Tfrm_Storage_Select.Create(self);
frm_Storage_Select.ShowModal;
Edit5.Text:=Trim(Check_Storage_Result_NO);
Edit_Storage_Name.Text:=Trim(Check_Storage_Result);
frm_Storage_Select.Free;
end;
procedure Tfrm_Quality_Check.SpeedButton9Click(Sender: TObject);
begin
Employe_Check:='';
Employe_Check:='Quality_Checkstr';
Employe_Check_Result:='';
frm_Login_Man:=Tfrm_Login_Man.Create(self);
frm_Login_Man.Caption:='经手人选择';
frm_Login_Man.ShowModal;
Edit6.Text:=Employe_Check_Result;
frm_Login_Man.Free;
end;
procedure Tfrm_Quality_Check.SpeedButton8Click(Sender: TObject);
begin
ChildShop_Str:='';
ChildShop_Result_NO:='';
ChildShop_Result_Name:='';
ChildShop_Str:='Quality_Check_str';
frm_ChildShop_Select:=Tfrm_ChildShop_Select.Create(self);
frm_ChildShop_Select.ShowModal;
Edit7.Text:=ChildShop_Result_NO;
frm_ChildShop_Select.Free;
end;
procedure Tfrm_Quality_Check.SpeedButton7Click(Sender: TObject);
begin
frm_Login_Man:=Tfrm_Login_Man.Create(self);
frm_Login_Man.Caption:='制单人选择';
frm_Login_Man.ShowModal;
Edit8.Text:=Employe_Check_Result;
frm_Login_Man.Free;
end;
procedure Tfrm_Quality_Check.SpeedButton2Click(Sender: TObject);
var
user,tablename:widestring;
flag:olevariant;
begin
if trim(stringgrid1.Cells[1,1])='' then exit;
no:=trim(edit2.Text);
typed:='质量验收单';
user:=trim(Handle_No);
flag:=adisp.receipted(no,typed,user,1,Handle_Part);
tablename:='select a.storage_no,b.goods_no,b.stock_no,b.Regular_Amount as amount from Quality_Check as a ,Quality_Check_detail as b where a.stock_no=b.stock_no and a.stock_no='+''''+trim(No)+'''';
flag:=inttostr(adisp.UpdateOrder(tablename));
if flag='1' then
begin
application.MessageBox('审核成功!',pchar(application.Title),mb_iconinformation);
close;
exit;
end;
if flag='2' then
begin
application.MessageBox('无权进行进行审核',pchar(application.Title),mb_iconinformation);
close;
exit;
end;
if flag='3' then
begin
application.MessageBox('审核完毕!',pchar(application.Title),mb_iconinformation);
close;
exit;
end;
if flag='4' then
begin
application.MessageBox('反审核完毕!',pchar(application.Title),mb_iconinformation);
exit;
end;
if flag='5' then
begin
application.MessageBox('反审核成功!',pchar(application.Title),mb_iconinformation);
exit;
end;
if flag='6' then
begin
application.MessageBox('单据过帐后,不能进行审核或反审核!',pchar(application.Title),mb_iconinformation);
exit;
end;
end;
procedure Tfrm_Quality_Check.Edit3Change(Sender: TObject);
var
sql:widestring;
i:integer;
begin
if Public_Do='Business_Draft_0006' then exit;
if trim(edit3.Text)<>'' then
begin
sql:='SELECT a.*,b.*,c.* FROM [Stock_Write_detail] as a,Goods_CODE as b,Stock_Write as c where a.goods_no=b.goods_no and a.stock_no=c.stock_no and a.stock_no='+''''+trim(edit3.Text)+'''';
dmmain.CDSquery2.Close;
dmmain.CDSquery2.Data:=adisp.resultrecord(sql);
dmmain.CDSquery2.Open;
edit4.Text:= dmmain.CDSquery2.fieldbyname('wldw').AsString;
edit5.Text:= dmmain.CDSquery2.fieldbyname('storage_no').AsString;
edit7.Text:= dmmain.CDSquery2.fieldbyname('shop_no').AsString;
edit9.Text:= dmmain.CDSquery2.fieldbyname('condense').AsString;
edit10.Text:= dmmain.CDSquery2.fieldbyname('remark').AsString;
wldwno:=dmmain.CDSquery2.FieldByName('wldw_no').AsString;
i:=1;
StringGrid1.RowCount:=dmmain.CDSquery2.RecordCount+1;
while not dmmain.CDSquery2.Eof do
begin
StringGrid1.Cells[0,i]:=inttostr(i);
StringGrid1.Cells[1,i]:=trim(dmmain.CDSquery2.FieldByName('Goods_NO').AsString);//商品编号
StringGrid1.Cells[2,i]:=trim(dmmain.CDSquery2.FieldByName('Goods_Name').AsString);//商品名称
StringGrid1.Cells[3,i]:=trim(dmmain.CDSquery2.FieldByName('write_Amount').AsString);//商品编号
StringGrid1.Cells[7,i]:=trim(dmmain.CDSquery2.FieldByName('TYPE').AsString); //类别名称
StringGrid1.Cells[StringGrid1.ColCount-2,i]:=trim(dmmain.CDSquery2.FieldByName('write_remark').AsString); //类别名称
StringGrid1.Cells[StringGrid1.ColCount-1,i]:=trim(dmmain.CDSquery2.FieldByName('ORDERS').AsString); //类别名称
dmmain.CDSquery2.Next;
inc(i);
end;
end;
end;
procedure Tfrm_Quality_Check.StringGrid1KeyPress(Sender: TObject;
var Key: Char);
begin
if trim(StringGrid1.Cells[1,1])='' then exit;
if pcol = 4 then
begin
if not (key in ['0'..'9',#8,'.']) then
begin
key:=#0;
end else
begin
if key<>#8 then
begin
if pcol=4 then
begin
if StringGrid1.Cells[4,prow]<>'0' then
begin
StringGrid1.Cells[4,prow]:=StringGrid1.Cells[4,prow]+key;
end else
begin
StringGrid1.Cells[4,prow]:=key;
end;
StringGrid1.Cells[5,prow]:=inttostr(strtoint(StringGrid1.Cells[3,prow])-strtoint(StringGrid1.Cells[4,prow]));
end;
end else
begin
if pcol=4 then
begin
StringGrid1.Cells[4,prow]:=copy(StringGrid1.Cells[4,prow],1,length(StringGrid1.Cells[4,prow])-1); //减去最后数字
if StringGrid1.Cells[4,prow]='' then
begin
StringGrid1.Cells[4,prow]:='0';
end;
StringGrid1.Cells[5,prow]:=inttostr(strtoint(StringGrid1.Cells[3,prow])-strtoint(StringGrid1.Cells[4,prow]));
end;
end;
end;
end ;
if pcol=6 then
begin
stringgrid1.Options:=stringgrid1.Options+[goediting];
end else
begin
stringgrid1.Options:=stringgrid1.Options-[goediting];
end;
end;
procedure Tfrm_Quality_Check.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
pcol:=acol;
prow:=arow;
end;
procedure Tfrm_Quality_Check.SpeedButton3Click(Sender: TObject);
begin
if dmmain.cdsprintmaster.IsEmpty then exit;
fastrepxf:=tfastrepxf.Create(self);
fastrepxf.filenames:='Quality.ini';
fastrepxf.ShowModal;
fastrepxf.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -