📄 mrp_enter_assignalternative1_d.pas
字号:
unit Mrp_Enter_AssignAlterNative1_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Entry_Detail, Db, AdODB, ExtCtrls, StdCtrls, Mask, ExtEdit;
Type
TFrm_Mrp_Enter_AssignAlterNative1_D = Class(TFrm_Base_Entry_Detail)
lbl_ItemName: TLabel;
edt_qty: TEdit;
Label4: TLabel;
Label3: TLabel;
medt_Modate: TMaskEdit;
ExtEdt_ItemCode: TExtEdit;
Label2: TLabel;
Label5: TLabel;
Label6: TLabel;
lbl_UomName: TLabel;
Label1: TLabel;
lbl_onhand: TLabel;
procedure DateCheck(Sender: TObject);
procedure ExtEdt_ItemCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ExtEdt_ItemCodeExit(Sender: TObject);
procedure FloatCheck(Sender: TObject);
private
UomName:String; //记录当前单位
MnldTime:Integer;//记录制造提前期
runlt:integer;
LineNo:Integer;//行号
MoStArtWorkDate:String;//当前开工日期
AdoQry_Body1:TAdoQuery;
{ Private declarations }
public
procedure InitControls; Override;
procedure SaveBodyData; Override;
procedure SetStatus(CurrentStatus:String;var EnableControls:String);Override;
end;
var
Frm_Mrp_Enter_AssignAlterNative1_D: TFrm_Mrp_Enter_AssignAlterNative1_D;
implementation
uses Sys_Global,Mrp_Enter_AutoMo;
{$R *.DFM}
procedure TFrm_Mrp_Enter_AssignAlterNative1_D.InitControls;
var
SqlText:String;
begin
SetFocus_Control:=edt_qty;
Inherited;
with AdoQry_Body do
begin
ExtEdt_ItemCode.Text:=fieldbyname('ItemCode').AsString;
Lbl_ItemName.Caption:=fieldbyname('ItemName').AsString;
Lbl_UomName.Caption:=fieldbyname('UomName').AsString;
Lbl_onhand.Caption:=floattostr(fieldbyname('CurrentonhandInv').Asfloat);
edt_qty.Text:=floattostr(fieldbyname('ssqty').asfloat);
medt_Modate.text:=formatdatetime('yyyy.mm.dd',fieldbyname('ssdate').asdatetime);
end;
end;
procedure TFrm_Mrp_Enter_AssignAlterNative1_D.SaveBodyData;
begin
with AdoQry_Body do
begin
edit;
fieldbyname('ItemCode').AsString:=Trim(ExtEdt_ItemCode.Text);
fieldbyname('ItemName').AsString:=Lbl_ItemName.Caption;
fieldbyname('ssdate').Asdatetime:=strtodatetime(Medt_MoDate.Text);
fieldbyname('CurrentonhandInv').asfloat:=strtofloat(lbl_onhand.Caption);
fieldbyname('ssqty').AsFloat:=strtofloat(Edt_Qty.Text);
fieldbyname('UomName').AsString:=lbl_UomName.Caption;
Post;
end;
// abort;
end;
procedure TFrm_Mrp_Enter_AssignAlterNative1_D.SetStatus(CurrentStatus: String;
var EnableControls: String);
begin
inherited;
EnableControls:='edt_qty,';
end;
procedure TFrm_Mrp_Enter_AssignAlterNative1_D.DateCheck(Sender: TObject);
begin
If ActiveControl.Name='btn_Cancel' Then
Exit;
inherited;
If SlCalendar(DbConnect,MEdt_MoDate.Text,0)<>MEdt_MoDate.Text Then
begin
DispInfo(MEdt_MoDate.Text+'不是工作日!',3);
MEdt_MoDate.Text:=SlCalendar(DbConnect,MEdt_MoDate.Text,0);
MEdt_MoDate.SetFocus;
Abort;
end;
end;
procedure TFrm_Mrp_Enter_AssignAlterNative1_D.ExtEdt_ItemCodeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
If (Key=120) Then
CommonHint(Sender,AdoQry_Tmp,'ItemName','物料描述','ItemCode',
'物料代码','Item',' PmCode In (0,3)');
end;
procedure TFrm_Mrp_Enter_AssignAlterNative1_D.ExtEdt_ItemCodeExit(Sender: TObject);
var
SqlText:String;
begin
inherited;
If ActiveControl.Name='btn_Cancel' Then
Exit;
If Trim(TExtEdit(Sender).Text)='' Then
begin
DispInfo('物料代码不能为空!',3);
TWinControl(Sender).SetFocus;
Abort;
end;
SqlText:=' Select Item.ItemName,Item.MnldTime,runlt,Uom.UomName '
+' From Item '
+' Left Outer Join Uom On Item.UomCode=Uom.UomCode '
+' Where ItemCode='+''''+Trim(ExtEdt_ItemCode.Text)+''''
+' And PmCode In (0,3)';
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:=SqlText;
AdoQry_Tmp.Open;
If AdoQry_Tmp.Eof Then
begin
DispInfo('输入了错误的物料代码,请重新输入!',3);
TWincontrol(Sender).SetFocus;
Abort;
end;
UomName:=AdoQry_Tmp.fieldbyname('UomName').AsString;
MnldTime:=AdoQry_Tmp.fieldbyname('MnldTime').AsInteger;
runlt:=AdoQry_tmp.fieldbyname('runlt').asinteger;
Lbl_ItemName.Caption:=AdoQry_Tmp.fieldbyname('ItemName').AsString;
end;
procedure TFrm_Mrp_Enter_AssignAlterNative1_D.FloatCheck(Sender: TObject);
begin
If ActiveControl.Name='btn_Cancel' Then
Exit;
inherited;
If (Status='Add') And (StrToFloat(Edt_Qty.Text)<=0 ) Then
begin
DispInfo('增加数据时约定交货量不能小于等于0!',3);
TWincontrol(Sender).SetFocus;
Abort;
end;
Edt_Qty.Text:=FormatFloat('##0.####',StrToFloat(Edt_Qty.Text));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -