📄 unit_rubb_main.~pas
字号:
sql.Clear;
sql.Add('select * from 炼胶用料单 where 主表标识号 = :v_mid ');
parambyname('v_mid').asinteger:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('标识号').asinteger;
open;
end;// with
Form_Rubb_MaterCard.Tab_MaterCard.open;
Form_Rubb_MaterCard.n_mid:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('标识号').asinteger;
Form_Rubb_MaterCard.showmodal;
end;
procedure TForm_Rubb_Main.N_ExitClick(Sender: TObject);
begin
close;
end;
procedure TForm_Rubb_Main.N_NewIgdClick(Sender: TObject);
begin
Form_Rubb_MixCard1.showmodal;
end;
procedure TForm_Rubb_Main.N_TakeClick(Sender: TObject);
begin
Form_Rubb_TakeCard.showmodal;
end;
procedure TForm_Rubb_Main.N_RepClick(Sender: TObject);
begin
Tab_RepCard.Close;
Form_Rubb_PrtRepCard.QRLabel48.Caption:='';
Form_Rubb_PrtRepCard.QRLabel49.Caption:='';
Form_Rubb_PrtRepCard.QRLabel90.Caption:='';
Form_Rubb_PrtRepCard.QRLabel96.Caption:='';
Form_Rubb_PrtRepCard.QRLabel97.Caption:='';
Form_Rubb_PrtRepCard.QRLabel98.Caption:='';
Form_Rubb_PrtRepCard.QRLabel99.Caption:='';
Form_Rubb_PrtRepCard.QuickRep1.Preview;
Tab_RepCard.open;
end;
procedure TForm_Rubb_Main.N_BlankProcClick(Sender: TObject);
begin
Form_Rubb_PrtBlankProcCard.QuickRep1.Preview;
end;
procedure TForm_Rubb_Main.N_ModProcCardClick(Sender: TObject);
begin
if not Form_Rubb_QryProcCard.Qry_QryProcCard.Active then
begin
showmessage('请先查询并调出工艺卡!');
exit;
end; // if
Form_Rubb_ProcCard.Tab_ProcCard.open;
//找到该记录
Form_Rubb_ProcCard.Tab_ProcCard.SetKey;
Form_Rubb_ProcCard.Tab_ProcCard.FindKey([Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('标识号').asinteger]);
Form_Rubb_ProcCard.Tab_ProcCard.edit;
Form_Rubb_ProcCard.Panel7.Caption:='修 改 混 炼 工 艺 卡 ';
Form_Rubb_ProcCard.ComboBox1.Items.Clear;
Form_Rubb_ProcCard.ComboBox1.items.add(Form_Rubb_ProcCard.DBEdit_IgdCode.text);
Form_Rubb_ProcCard.ComboBox1.ItemIndex:=0;
Form_Rubb_ProcCard.showmodal;
end;
procedure TForm_Rubb_Main.N_DelProcCardClick(Sender: TObject);
var
n_id:integer;
s_mater, s_OutCardNum :string;
f_per:real;
begin
if not Form_Rubb_QryProcCard.Qry_QryProcCard.Active then
begin
showmessage('请先查询并调出工艺卡!');
exit;
end; // if
if messagedlg('确要删除当前的工艺卡及相关的技术报告单和用料单吗?',mtwarning,[mbyes,mbno],0) = mrno then
exit;
if messagedlg('是否同时要从原材料仓库中删除'+#13+#13'该工艺卡对应的出库记录?',mtWarning,[mbYes,mbNo],0) = mrYes then
begin
with Query2 do
begin
close;
sql.Clear;
sql.add('select * from 炼胶用料单 where 主表标识号 = :v_id');
parambyname('v_id').asinteger:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('标识号').asinteger;
open;
if recordcount=0 then
begin
with Qry_Exe do
begin
close;
sql.Clear;
sql.Add('delete from 炼胶工艺卡 where 标识号 = :v_id ');
parambyname('v_id').asinteger:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('标识号').asinteger;
execsql;
close;
sql.Clear;
sql.Add('delete from 炼胶用料单 where 主表标识号 = :v_id ');
parambyname('v_id').asinteger:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('标识号').asinteger;
execsql;
close;
sql.Clear;
sql.Add('delete from 炼胶指标报告单 where 标识号 = :v_id ');
parambyname('v_id').asinteger:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('标识号').asinteger;
execsql;
end; //with
Form_Rubb_QryProcCard.Qry_QryProcCard.close;
Qry_MaterCard.close;
showmessage('已删除当前工艺卡!');
// showmessage('无记录可删除!');
exit;
end;
//判断日期是否小于等于结账日期
if fieldbyname('riqi').asdatetime <=dm.zdyGetmaterCheckDate then //d_LimDate then
begin
showmessage('不允许删除结账日期之前的记录!'+#13+#13+'上次结帐日期是:'+datetostr(dm.zdyGetmaterCheckDate));
perform(WM_NEXTDLGCTL,0,0);
exit;
end;
first;
while not eof do
begin
Query3.close;
Query3.sql.Clear;
Query3.sql.add('select * from 原材料台帐 where 日期 = :vd and 出库数量=:nu and 单价=:v_Per and 领料单号=:v_out and 材料名称=:v_mater');
Query3.parambyname('vd').asdatetime:=Query2.fieldbyname('riqi').asdatetime;
Query3.parambyname('v_mater').asstring:=Query2.fieldbyname('材料名称').asstring;
Query3.parambyname('v_Out').asstring:=Query2.fieldbyname('领料单号').asstring;
Query3.parambyname('nu').asfloat:=Query2.fieldbyname('用料数量').asfloat;
Query3.parambyname('v_Per').asfloat:=Query2.fieldbyname('单价').asfloat;
Query3.open;
// showmessage(Query3.fieldbyname('材料名称').asstring);
//为刷新表格记录数据
s_mater:=Query3.fieldbyname('材料名称').asstring;
s_OutCardNum:=Query3.fieldbyname('领料单号').asstring;
f_per:=Query3.fieldbyname('单价').asfloat;
// showmessage(datetostr(Query2.fieldbyname('riqi').asdatetime));
//修改该记录日期以后的相关记录库存
with Qry_exe do
begin
close;
sql.Clear;
sql.Add('update 原材料台帐 set 库存 = (库存*1000 + :v_Rewt)/1000 ');
sql.Add('where 库存 < :v_stock and 材料名称 = :v_mater and 领料单号 = :v_outCardNum and 单价 = :v_Per ');
parambyname('v_stock').asfloat:=Query3.fieldbyname('库存').asfloat;
parambyname('v_mater').asstring:=Query3.fieldbyname('材料名称').asstring;
parambyname('v_OutCardNum').asstring:=Query3.fieldbyname('领料单号').asstring;
parambyname('v_Rewt').asfloat:=Query3.fieldbyname('出库数量').asfloat*1000;
parambyname('v_Per').asfloat:=Query3.fieldbyname('单价').asfloat;
execsql;
end; //with
//修改相关入库记录 剩余库存
with Qry_exe do
begin
close;
sql.Clear;
sql.Add('update 原材料台帐 set 剩余库存 = (剩余库存*1000 + :v_Rewt)/1000 ');
sql.Add('where 出入标识 = :v_IfOut and 材料名称 = :v_mater and 领料单号 = :v_outCardNum and 单价 = :v_Per');
parambyname('v_Rewt').asfloat:=Query3.fieldbyname('出库数量').asfloat*1000;
parambyname('v_IfOut').asboolean:=false;
parambyname('v_mater').asstring:=Query3.fieldbyname('材料名称').asstring;
parambyname('v_OutCardNum').asstring:=Query3.fieldbyname('领料单号').asstring;
parambyname('v_Per').asfloat:=Query3.fieldbyname('单价').asfloat;
execsql;
end; //with
//删除该记录
with Qry_exe do
begin
close;
sql.Clear;
sql.Add('delete from 原材料台帐 where 标识号 = :v_id ');
parambyname('v_id').asinteger:=Query3.fieldbyname('标识号').asinteger;
execsql;
end; //with
//修改最后领料标识的位置 先全部False 在最后一个True
with Qry_exe do
begin
close;
sql.Clear;
sql.Add('update 原材料台帐 set 最后领料标识 = :v_LastOutCardFlag');
sql.Add('where 材料名称 = :v_mater and 领料单号 = :v_outCardNum and 单价 = :v_per ');
parambyname('v_LastOutCardFlag').asboolean:=false;
parambyname('v_mater').asstring:=Query3.fieldbyname('材料名称').asstring;
parambyname('v_OutCardNum').asstring:=Query3.fieldbyname('领料单号').asstring;
parambyname('v_Per').asfloat:=Query3.fieldbyname('单价').asfloat;
execsql;
close;
sql.Clear;
sql.Add('select * from 原材料台帐 ');
sql.Add('where 材料名称 = :v_mater and 领料单号 = :v_outCardNum and 单价 = :v_per ');
sql.Add('order by 库存 ');
parambyname('v_mater').asstring:=Query3.fieldbyname('材料名称').asstring;
parambyname('v_OutCardNum').asstring:=Query3.fieldbyname('领料单号').asstring;
parambyname('v_Per').asfloat:=Query3.fieldbyname('单价').asfloat;
open;
n_id:=fieldbyname('标识号').asinteger;
close;
sql.Clear;
sql.Add('update 原材料台帐 set 最后领料标识 = :v_LastOutCardFlag ');
sql.Add('where 标识号 = :v_id');
parambyname('v_LastOutCardFlag').asboolean:=true;
parambyname('v_id').asinteger:=n_id;
execsql;
end; //with
next;
end;
end;
end;
with Qry_Exe do
begin
close;
sql.Clear;
sql.Add('delete from 炼胶工艺卡 where 标识号 = :v_id ');
parambyname('v_id').asinteger:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('标识号').asinteger;
execsql;
close;
sql.Clear;
sql.Add('delete from 炼胶用料单 where 主表标识号 = :v_id ');
parambyname('v_id').asinteger:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('标识号').asinteger;
execsql;
close;
sql.Clear;
sql.Add('delete from 炼胶指标报告单 where 标识号 = :v_id ');
parambyname('v_id').asinteger:=Form_Rubb_QryProcCard.Qry_QryProcCard.fieldbyname('标识号').asinteger;
execsql;
end; //with
Form_Rubb_QryProcCard.Qry_QryProcCard.close;
Qry_MaterCard.close;
showmessage('已删除当前工艺卡!');
end;
procedure TForm_Rubb_Main.N_SumClick(Sender: TObject);
begin
Form_Rubb_SumProcCard.showmodal;
end;
procedure TForm_Rubb_Main.Image1Click(Sender: TObject);
begin
If_ShowPic:= not If_ShowPic;
if If_ShowPic then
begin
Panel1.Visible:=false;
PageControl1.Visible:=false;
Panel104.Visible:=false;
DBNavigator1.Visible:=false;
BitBtn1.Visible:=false;
end
else
begin
Panel1.Visible:=true;
PageControl1.Visible:=true;
Panel104.Visible:=true;
DBNavigator1.Visible:=true;
BitBtn1.Visible:=true;
end;//if
end;
procedure TForm_Rubb_Main.BitBtn1Click(Sender: TObject);
begin
If_ShowPic:=true;
Panel1.Visible:=false;
PageControl1.Visible:=false;
Panel104.Visible:=false;
DBNavigator1.Visible:=false;
BitBtn1.Visible:=false;
// Tab_RepCard.Active:=false;
end;
procedure TForm_Rubb_Main.N7Click(Sender: TObject);
begin
if dbePrice.text <> '' then
{ Form_Rubb_ProcCard.Tab_ProcCard.open;
with Qry_MaterCard do
begin
close;
sql.Clear;
sql.Add('select * from 炼胶用料单 where 主表标识号 = :v_mid ');
parambyname('v_mid').asinteger:=strtoint(Form_Rubb_ProcCard.Tab_ProcCard.fieldbyname('标识号').asstring);
open;
end;// with
if Qry_MaterCard.RecordCount<>0 then }
begin
showmessage('这张工艺卡已经领过料了!');
exit;
end; //if
Form_Mater_Main.N_AutoClick(sender);
end;
procedure TForm_Rubb_Main.Button1Click(Sender: TObject);
begin
close;
end;
procedure TForm_Rubb_Main.N10Click(Sender: TObject);
begin
Form_Rubb_InCard.DBGrid1.Align:=alBottom;
Form_Rubb_InCard.zdyshowRubbName;
Form_Rubb_InCard.showmodal;
end;
procedure TForm_Rubb_Main.N11Click(Sender: TObject);
begin
Form_Rubb_sqljiaoliao.showmodal ;
end;
procedure TForm_Rubb_Main.N13Click(Sender: TObject);
var
dfrom,dto:Tdate;
begin
Form_Rubb_SumCfg.showmodal ;
end;
procedure TForm_Rubb_Main.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
try
if ((Key>57) and (Key<48)) or ((Key<96) and (Key>110)) then
// exit;
// if Key=190 then
exit;
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -