📄 unit_rubb_proccard.pas
字号:
unit Unit_Rubb_ProcCard;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Mask, DBCtrls, Db, DBTables, Buttons;
type
TForm_Rubb_ProcCard = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
Panel8: TPanel;
Panel9: TPanel;
Panel10: TPanel;
Panel11: TPanel;
Panel12: TPanel;
Panel13: TPanel;
Panel14: TPanel;
Panel15: TPanel;
Panel16: TPanel;
Panel17: TPanel;
Panel18: TPanel;
Panel19: TPanel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit_IgdCode: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
DBEdit21: TDBEdit;
DBEdit22: TDBEdit;
DBEdit23: TDBEdit;
Panel20: TPanel;
Panel21: TPanel;
Panel22: TPanel;
Panel23: TPanel;
Panel24: TPanel;
Panel25: TPanel;
DBEdit24: TDBEdit;
DBEdit25: TDBEdit;
DS_ProcCard: TDataSource;
Tab_ProcCard: TTable;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Panel26: TPanel;
Query1: TQuery;
dbePrice: TDBEdit;
Panel105: TPanel;
ComboBox1: TComboBox;
BitBtn4: TBitBtn;
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure DBEdit_IgdCodeEnter(Sender: TObject);
procedure DBEdit_IgdCodeExit(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure DBEdit25Exit(Sender: TObject);
procedure DBEdit10Enter(Sender: TObject);
procedure DBEdit25Enter(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBEdit13Enter(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
sRubbDate:string;
iCode:integer;
sMixCode,sRubbName:string;
end;
var
Form_Rubb_ProcCard: TForm_Rubb_ProcCard;
implementation
uses Unit_Rubb_MaterCard, Unit_Rubb_QryProcCard, Unit_Rubb_RepCardNew,
Unit_rubb_repcard2, Unit_Mater_Main, Unit_Rubb_Main, UnitQueryID, UnitDM;
{$R *.DFM}
procedure TForm_Rubb_ProcCard.FormKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end; //if
end;
procedure TForm_Rubb_ProcCard.DBEdit_IgdCodeEnter(Sender: TObject);
begin
TEdit(Sender).color:=claqua;
if TEdit(Sender).tag = 1 then
begin
TEdit(Sender).text:=sMixcode;
end;
if TEdit(Sender).tag = 2 then
TEdit(Sender).text:=sRubbName;
end;
procedure TForm_Rubb_ProcCard.DBEdit_IgdCodeExit(Sender: TObject);
begin
TEdit(Sender).color:=clwindow;
end;
procedure TForm_Rubb_ProcCard.BitBtn3Click(Sender: TObject);
var
iID:integer;
dDate,dFrom,dTo:Tdate;
begin
//必须填写的栏目
if (DBEdit_IgdCode.text= '') or (DBEdit25.text= '') or(DBEdit10.text= '') then
begin
showmessage('必须填写' +#13+#13+'配方编号、编号、混炼日期'+#13+#13+'等栏目!');
exit;
end; //if
//判断日期是否小于等于结账日期
if strtodate(DBEdit10.text) <=dm.zdyGetmaterCheckDate then //d_LimDate then
begin
showmessage('您所填写的日期在结账日期之前!'+#13+#13+'请重新填写!'+#13+#13+'上次结帐日期是:'+datetostr(dm.zdyGetmaterCheckDate));
perform(WM_NEXTDLGCTL,0,0);
exit;
end;
Tab_ProcCard.post;
iID:=Tab_ProcCard.fieldbyname('标识号').asinteger;
dDate:=Tab_ProcCard.fieldbyname('混炼日期').asdatetime;
dFrom:=strtodate(datetostr(Form_Rubb_QryProcCard.DateTimePicker_From.date));
dTo:=strtodate(datetostr(Form_Rubb_QryProcCard.DateTimePicker_To.date));
if dDate < dFrom then
dFrom := dDate;
if dDate > dTo then
dTo:= dDate;
// 刷新工艺卡
with Form_Rubb_QryProcCard.Qry_QryProcCard do
begin
close;
sql.Clear;
sql.Add('select * from 炼胶工艺卡 ');
sql.Add('where 编号=:v_to ');
// parambyname('v_from').asdatetime:=dFrom;
parambyname('v_to').asinteger:=strtoint(DBEdit25.text);
open;
last;
// while not eof do
//begin
// if fieldbyname('标识号').asinteger = iID then
// break;
// next;
// end; //while
end; //with
// 出现主窗体栏目
Form_Rubb_Main.Panel1.Visible:=true;
Form_Rubb_Main.PageControl1.Visible:=true;
Form_Rubb_Main.Panel104.Visible:=true;
Form_Rubb_Main.DBNavigator1.Visible:=true;
Form_Rubb_Main.BitBtn1.Visible:=true;
close;
end;
procedure TForm_Rubb_ProcCard.FormClose(Sender: TObject;
var Action: TCloseAction);
var
bm:TbookMark;
begin
Tab_ProcCard.cancel;
Form_Rubb_ProcCard.BitBtn1.Enabled:=true;
Form_Rubb_ProcCard.BitBtn2.Enabled:=true;
with Form_Rubb_QryProcCard.Qry_QryProcCard do
begin
bm:=GetBookmark;
close;
open;
GotoBookmark(bm);
end; //with
end;
procedure TForm_Rubb_ProcCard.BitBtn2Click(Sender: TObject);
begin
{
//必须填写的栏目
if (DBEdit_IgdCode.text= '') or (DBEdit6.text= '') or(DBEdit1.text= '') or (DBEdit8.text= '') or (DBEdit10.text= '') or (DBEdit17.text= '') or (DBEdit19.text= '') or (DBEdit21.text= '') then
begin
showmessage('必须填写' +#13+#13+'配方编号、货源号、生产批号、制成品名称'+#13+#13+'混炼日期、混炼用料量、剪胶日期、剪胶用料量'+#13+#13+'等栏目!');
exit;
end; //if
}
if (DBEdit_IgdCode.text= '') or (DBEdit25.text= '') or(DBEdit10.text= '') then
begin
showmessage('必须填写' +#13+#13+'配方编号、编号、混炼日期'+#13+#13+'等栏目!');
exit;
end; //if
Tab_ProcCard.post;
close;
//初始化用料单
with Form_Rubb_MaterCard.Qry_MaterCard do
begin
close;
sql.Clear;
sql.Add('select * from 炼胶用料单 where 主表标识号 = :v_mid ');
parambyname('v_mid').asinteger:=Tab_ProcCard.fieldbyname('标识号').asinteger;
open;
end;// with
Form_Rubb_MaterCard.Tab_MaterCard.open;
Form_Rubb_MaterCard.n_mid:=Tab_ProcCard.fieldbyname('标识号').asinteger;
Form_Rubb_MaterCard.s_MixCardNum:=Tab_ProcCard.fieldbyname('配方编号').asstring;
Form_Rubb_MaterCard.d_Rubbdate:=Tab_ProcCard.fieldbyname('混炼日期').asdatetime;
Form_Rubb_MaterCard.showmodal;
end;
procedure TForm_Rubb_ProcCard.BitBtn1Click(Sender: TObject);
begin
{
//必须填写的栏目
if (DBEdit_IgdCode.text= '') or (DBEdit6.text= '') or(DBEdit1.text= '') or (DBEdit8.text= '') or (DBEdit10.text= '') or (DBEdit17.text= '') or (DBEdit19.text= '') or (DBEdit21.text= '') then
begin
showmessage('必须填写' +#13+#13+'配方编号、生产批号、制成品名称'+#13+#13+'混炼日期、混炼用料量、剪胶日期、剪胶用料量'+#13+#13+'等栏目!');
exit;
end; //if
}
if (DBEdit_IgdCode.text= '') or (DBEdit25.text= '') or(DBEdit10.text= '') then
begin
showmessage('必须填写' +#13+#13+'配方编号、编号、混炼日期'+#13+#13+'等栏目!');
exit;
end; //if
Tab_ProcCard.post;
close;
if messagedlg('要使用自定义方式吗?',mtinformation,[mbyes,mbno],0) = mryes then
begin
Form_Rubb_ProcCard.Hide;
Form_rubb_repcard2.showmodal;
exit;
end;//if
//找到该记录
Form_Rubb_RepCard.Tab_RepCard.open;
Form_Rubb_RepCard.Tab_RepCard.SetKey;
if Form_Rubb_RepCard.Tab_RepCard.FindKey([Tab_ProcCard.fieldbyname('标识号').asinteger]) then
begin
Form_Rubb_RepCard.Tab_RepCard.edit;
Form_Rubb_ProcCard.Hide;
Form_Rubb_RepCard.showmodal;
exit;
end
else //没找到
begin
Form_Rubb_RepCard.Tab_RepCard.append;
Form_Rubb_RepCard.DBEdit_ID.text:=inttostr(Tab_ProcCard.fieldbyname('标识号').asinteger);
Form_Rubb_RepCard.DBEdit33.text:=inttostr(Tab_ProcCard.fieldbyname('配方编号').asinteger);
// showmessage(Form_Rubb_RepCard.DBEdit33.text);
Form_Rubb_ProcCard.Hide;
Form_Rubb_RepCard.showmodal;
end;
end;
procedure TForm_Rubb_ProcCard.DBEdit25Exit(Sender: TObject);
begin
TEdit(Sender).color:=clwindow;
end;
procedure TForm_Rubb_ProcCard.DBEdit10Enter(Sender: TObject);
begin
TEdit(Sender).color:=claqua;
DBedit10.text := sRubbDate;
end;
procedure TForm_Rubb_ProcCard.DBEdit25Enter(Sender: TObject);
begin
TEdit(Sender).color:=claqua;
if Tab_ProcCard.State = dsinsert then
DBEdit25.text:= inttostr(iCode);
end;
procedure TForm_Rubb_ProcCard.FormCreate(Sender: TObject);
begin
ComboBox1.Text:='';
end;
procedure TForm_Rubb_ProcCard.ComboBox1Change(Sender: TObject);
var
sID,sCode:string;
i:integer;
begin
i:=1;
sID:=combobox1.text;
while sID[i] <> ' ' do
begin
sCode:=sCode+sID[i];
i:=i+1;
end; //while
with query1 do
begin
close;
sql.clear;
sql.Add('select * from 炼胶配方表 where 配方编号 = :code ');
parambyname('code').asinteger:=strtoint(sCode);
open;
DBEdit_IgdCode.text:=inttostr(strtoint(sCode));
sRubbName:=fieldbyname('制成品名称').asstring;
DBEdit8.text:= fieldbyname('制成品名称').asstring;
end; //with
end;
procedure TForm_Rubb_ProcCard.BitBtn4Click(Sender: TObject);
begin
close;
end;
procedure TForm_Rubb_ProcCard.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;
procedure TForm_Rubb_ProcCard.DBEdit13Enter(Sender: TObject);
begin
TDBEdit(Sender).color:=claqua;
// FrmcommqueryID.estaffid.text:='';
FrmcommqueryID.PageControl1.ActivePageIndex:=0;
FrmcommqueryID.ActiveControl:=FrmcommqueryID.estaffID;
if FrmcommqueryID.showmodal=mrok then
begin
TDBEdit(Sender).text:=FrmcommqueryID.query3.fieldbyname('staffname').asstring;
// eprodn.SetFocus;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -