📄 uflat.pas
字号:
application.MessageBox('请选择经手人!',pchar(application.Title),mb_iconinformation);
edit5.SetFocus;
exit;
end;
if (trim(stringgrid1.Cells[1,1])='') or (trim(stringgrid1.Cells[4,1])='') then
begin
application.MessageBox('请输入套餐商品的编号或数量',pchar(application.Title),mb_iconinformation);
stringgrid1.SetFocus;
exit;
end;
for i:=1 to stringgrid2.RowCount-1 do
begin
if (trim(stringgrid2.Cells[1,i])='') or (trim(stringgrid2.Cells[4,1])='') then
begin
application.MessageBox('请输入组成商品的编号或数量',pchar(application.Title),mb_iconinformation);
stringgrid2.SetFocus;
exit;
end;
end;
END;
if Public_Do='flatnew' then
begin
if Public_Do_Result='02' then
begin
if dmmain.cdsflat.Active then dmmain.cdsflat.Close;
dmmain.cdsflat.Params.ParamByName('no').AsString:='1';
dmmain.cdsflat.Open;
dmmain.cdsflat.Insert;
dmmain.cdsflat.FieldByName('stock_no').AsString:=trim(edit2.Text);
dmmain.cdsflat.FieldByName('copy_date').AsString:=trim(edit1.Text);
dmmain.cdsflat.FieldByName('storage').AsString:=trim(edtshop.Text);
dmmain.cdsflat.FieldByName('tranman').AsString:=trim(edit5.Text);
dmmain.cdsflat.FieldByName('operater').AsString:=trim(edit7.Text);
dmmain.cdsflat.FieldByName('goods_no').AsString:=trim(stringgrid1.Cells[1,1]);
dmmain.cdsflat.FieldByName('goods_name').AsString:=trim(stringgrid1.Cells[2,1]);
dmmain.cdsflat.FieldByName('price').AsString:=trim(stringgrid1.Cells[3,1]);
dmmain.cdsflat.FieldByName('amount').AsString:=trim(stringgrid1.Cells[4,1]);
dmmain.cdsflat.FieldByName('totalmoney').AsString:=trim(stringgrid1.Cells[5,1]);
dmmain.cdsflat.Post;
if dmmain.cdsflatdetail.Active then dmmain.cdsflatdetail.Close;
dmmain.cdsflatdetail.Params.ParamByName('no').AsString:='1';
dmmain.cdsflatdetail.Open;
for i:=1 to stringgrid2.RowCount-1 do
begin
dmmain.cdsflatdetail.Insert;
dmmain.cdsflatdetail.FieldByName('stock_no').AsString:=trim(edit2.Text);
dmmain.cdsflatdetail.FieldByName('goods_no').AsString:=trim(stringgrid2.Cells[1,i]);
dmmain.cdsflatdetail.FieldByName('goods_name').AsString:=trim(stringgrid2.Cells[2,i]);
dmmain.cdsflatdetail.FieldByName('price').AsString:=trim(stringgrid2.Cells[3,i]);
dmmain.cdsflatdetail.FieldByName('amount').AsString:=trim(stringgrid2.Cells[4,i]);
dmmain.cdsflatdetail.FieldByName('flatgoods').AsString:=trim(stringgrid1.Cells[1,1]); //组合后商品编码;
dmmain.cdsflatdetail.Post;
end;
dmmain.cdsReceipt.Open;
dmmain.cdsReceipt.Append; //审核表
dmmain.cdsReceipt.FieldByName('Receipt_NO').AsString:=trim(edit2.Text);
dmmain.cdsReceipt.FieldByName('Receipt_Name').AsString:='套餐定义';
dmmain.cdsReceipt.FieldByName('Copy_Date').AsString:=trim(edit1.Text);
dmmain.cdsReceipt.FieldByName('Proposer').AsString:=trim(edit7.Text);
dmmain.cdsReceipt.FieldByName('Check_Result').Asinteger:=0;
dmmain.cdsReceipt.FieldByName('Flag_Sign').AsString:='草稿';
dmmain.cdsReceipt.FieldByName('Condense').AsString:='仓库【'+trim(edtshop.Text)+'】定义套餐【'+trim(stringgrid1.cells[1,1])+'】';
dmmain.cdsReceipt.FieldByName('Re_part').AsString:=trim(Handle_Part);
dmmain.cdsReceipt.Post;
try
dmmain.cdsReceipt.ApplyUpdates(-1);
dmmain.cdsflat.ApplyUpdates(-1);
dmmain.cdsflatdetail.ApplyUpdates(-1);
except
application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
exit;
end;
end else
begin
close;
end;
end;
if Public_Do='flatedit' then //修改
begin
if Public_Do_Result='02' then
begin
if not bedit then
begin
if trim(Handle_Man)<>trim(edit7.Text) then
begin
Application.MessageBox('不能修改数据!',pchar(application.Title),mb_iconinformation);
exit;
end;
end;
if dmmain.cdsflat.Active then dmmain.cdsflat.Close;
dmmain.cdsflat.Params.ParamByName('no').AsString:=trim(list_no);
dmmain.cdsflat.Open;
dmmain.cdsflat.edit;
dmmain.cdsflat.FieldByName('storage').AsString:=trim(edtshop.Text);
dmmain.cdsflat.FieldByName('tranman').AsString:=trim(edit5.Text);
dmmain.cdsflat.FieldByName('operater').AsString:=trim(edit7.Text);
dmmain.cdsflat.FieldByName('goods_no').AsString:=trim(stringgrid1.Cells[1,1]);
dmmain.cdsflat.FieldByName('goods_name').AsString:=trim(stringgrid1.Cells[2,1]);
dmmain.cdsflat.FieldByName('price').AsString:=trim(stringgrid1.Cells[3,1]);
dmmain.cdsflat.FieldByName('amount').AsString:=trim(stringgrid1.Cells[4,1]);
dmmain.cdsflat.FieldByName('totalmoney').AsString:=trim(stringgrid1.Cells[5,1]);
dmmain.cdsflat.Post;
if dmmain.cdsflatdetail.Active then dmmain.cdsflatdetail.Close;
dmmain.cdsflatdetail.Params.ParamByName('no').AsString:=trim(list_no);
dmmain.cdsflatdetail.Open;
for i:=1 to stringgrid2.RowCount-1 do
begin
dmmain.cdsflatdetail.edit;
dmmain.cdsflatdetail.FieldByName('goods_no').AsString:=trim(stringgrid2.Cells[1,i]);
dmmain.cdsflatdetail.FieldByName('goods_name').AsString:=trim(stringgrid2.Cells[2,i]);
dmmain.cdsflatdetail.FieldByName('price').AsString:=trim(stringgrid2.Cells[3,i]);
dmmain.cdsflatdetail.FieldByName('amount').AsString:=trim(stringgrid2.Cells[4,i]);
dmmain.cdsflatdetail.FieldByName('flatgoods').AsString:=trim(stringgrid1.Cells[1,1]); //组合后商品编码;
dmmain.cdsflatdetail.Post;
dmmain.cdsflatdetail.Next;
end;
try
dmmain.cdsflat.ApplyUpdates(-1);
dmmain.cdsflatdetail.ApplyUpdates(-1);
except
application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
exit;
end;
end else
begin
close;
end;
end;
close;
end;
procedure Tfmflat.SpeedButton5Click(Sender: TObject);
begin
inherited;
Check_Storage:='';
Check_Storage_Result:='';
Check_Storage:='Goods_Write';
frm_Storage_Select:=Tfrm_Storage_Select.Create(self);
frm_Storage_Select.ShowModal;
Edtshop.Text:=Trim(Check_Storage_Result_NO);
frm_Storage_Select.Free;
end;
procedure Tfmflat.Cmd_JSRClick(Sender: TObject);
begin
inherited;
Employe_Check:='';
Employe_Check:='Goods_Write_Str';
Employe_Check_Result:='';
frm_Login_Man:=Tfrm_Login_Man.Create(self);
frm_Login_Man.Caption:='经手人选择';
frm_Login_Man.ShowModal;
Edit5.Text:=Employe_Check_Result;
frm_Login_Man.Free;
end;
procedure Tfmflat.StringGrid2MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
var
i:integer;
tm:double;
begin
inherited;
tm:=0.00;
for i:=1 to stringgrid2.RowCount-1 do
begin
if trim(stringgrid2.Cells[5,i])<>'' then
tm:=tm+strtofloat(stringgrid2.Cells[5,i]);
end;
stringgrid1.Cells[3,1]:=floattostr(tm);
end;
procedure Tfmflat.SpeedButton2Click(Sender: TObject);
var
user,sql,no,shopno:widestring;
flag:olevariant;
begin
inherited;
if trim(public_do)<>'flatedit' then exit;
no:=trim(edit2.Text);
typed:='套餐定义';
user:=trim(Handle_No);
flag:=adisp.receipted(no,typed,user,1,Handle_Part);
if flag=3 then
begin
sql:='select goods_no from goods_code where goods_no='+''''+trim(stringgrid1.Cells[1,1])+'''';
dmmain.CDSexecsql.Close;
dmmain.CDSexecsql.Data:=null;
dmmain.CDSexecsql.Data:=adisp.execSql(sql);
dmmain.CDSexecsql.Open;
if dmmain.CDSexecsql.IsEmpty then
begin
sql:='insert into goods_code (goods_no,goods_name,type_no,type,brand_no,brand,breed_no,breed,norms_type_no,norms_type) values ('+''''+trim(stringgrid1.Cells [1,1])+''''+','+''''+trim(stringgrid1.Cells[2,1])+''''+','+''''+trim('tc')+''''+','+''''+trim('套餐商品')+''''+','+''''+trim('zdy')+''''+','+''''+trim('自定义')+''''+','+''''+trim('zdy')+''''+','+''''+trim('自定义')+''''+','+''''+trim('zdy')+''''+','+''''+trim('自定义')+''''+')';
ipubtemp.scrapsate(sql);//写入商品信息表
sql:='insert into goods_prices (goods_no,baseprice) values ('+''''+trim(stringgrid1.Cells [1,1])+''''+','+''''+trim(stringgrid1.Cells[3,1])+''''+')';
ipubtemp.scrapsate(sql);//写入商品财流表
//////////生成出入库单///////////////
shopno:=trim(edtshop.Text);
ipubtemp.inputFlat(no,shopno);
//////////////////////////////////////
end;
end;
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);
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 Tfmflat.FormClose(Sender: TObject; var Action: TCloseAction);
begin
psum.Free;
psum:=nil;
DMMAIN.CDSquery2.Close;
dmmain.CDSquery2.Data:=null;
dmmain.cdsflat.Close;
dmmain.cdsflat.Data:=null;
dmmain.cdsflatdetail.Close;
dmmain.cdsflatdetail.Data:=null;
inherited;
end;
procedure Tfmflat.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
s:string;
r:TRect;
begin
inherited;
//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;
end;
procedure Tfmflat.StringGrid2DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
s:string;
r:TRect;
begin
inherited;
//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;
end;
procedure Tfmflat.Cmd_DeleteClick(Sender: TObject);
begin
inherited;
deletegridrows(stringgrid2,prow2);
end;
procedure Tfmflat.Cmd_AddClick(Sender: TObject);
begin
inherited;
addgridrows(stringgrid2);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -