📄 unttransferinstack.pas
字号:
DBEditItem3.Field.AsFloat:=0;
DBEditItem4.Field.AsFloat:=0;
DBEditItem5.Field.AsFloat:=0;
DBEditFqFat.Field.AsFloat:=0;
end;
procedure TFrmTransferInStack.BitBtnNewClick(Sender: TObject);
begin
inherited;
DBEditUnitID.Field.AsInteger:=Global.g_user.UnitID;
DBCmbxInType.Field.AsString := '内移收入';
DBEditClerk.Field.AsString := Global.g_user.UserName;
DBEditInTime.Field.AsDateTime := date;
end;
procedure TFrmTransferInStack.DBLkpCmbxSiteDropDown(Sender: TObject);
begin
inherited;
QrySql.Edit;
DBLkpCmbxDepot.Field.AsInteger:=-1;
DBLkpCmbxPosition.Field.AsInteger:=-1;
QrySite.Close;
QrySite.Filter:='UNIT_ID='+ IntToStr(Global.g_user.UnitID);
QrySite.Filtered:=true;
QrySite.Open;
end;
procedure TFrmTransferInStack.DBEditKeyExit(Sender: TObject);
var
QryCX: TQuery;
str: string;
begin
inherited;
if DBEditkey.Text='' then
begin
Showmessage('收货单编号不能为空,请输入!');
DBEditKey.SetFocus;
DBEditKey.Enabled:=true;
exit;
end
else
begin
try
QryCX:= TQuery.Create(nil);
QryCX.DatabaseName := 'LYDB';
QryCX.SQL.Clear;
str:='select * from ENT_INSTACK where INSTACK_ID='''+trim(DBEditKey.Text)+''' and UNIT_ID='+intToStr(DBEditUnitId.Field.AsInteger);
QryCX.SQL.Add(Str);
QryCX.Open;
if QryCX.RecordCount>0 then
begin
showmessage('入库编号重复,请重新输入!');
DBEditKey.SetFocus;
DBEditKey.Enabled:=true;
exit;
end;
finally
QryCX.Close;
QryCX.Free;
end;
end;
DBLkpCmbxSite.SetFocus;
end;
procedure TFrmTransferInStack.DBLkpCmbxSiteExit(Sender: TObject);
begin
inherited;
{if DBLkpCmbxSite.Text='' then
begin
Showmessage('库点号不能为空,请输入!');
DBLkpCmbxSite.SetFocus;
exit;
end;
QrySql.Edit;
DBLkpCmbxDepot.Field.AsInteger:=-1;
DBLkpCmbxPosition.Field.AsInteger:=-1;
//DBLkpCmbxDepot.SetFocus;}
end;
procedure TFrmTransferInStack.DBLkpCmbxDepotExit(Sender: TObject);
begin
inherited;
{if DBLkpCmbxDepot.Text='' then
begin
Showmessage('仓库号不能为空,请输入!');
DBLkpCmbxDepot.SetFocus;
exit;
end;
QrySql.Edit;
DBLkpCmbxPosition.Field.AsInteger:=-1;
//DBLkpCmbxPosition.SetFocus; }
end;
procedure TFrmTransferInStack.DBLkpCmbxPositionExit(Sender: TObject);
begin
inherited;
{ if DBLkpCmbxPosition.Text='' then
begin
Showmessage('货位号不能为空,请输入!');
DBLkpCmbxPosition.SetFocus;
exit;
end;}
end;
procedure TFrmTransferInStack.DBLkpCmbxDepotDropDown(Sender: TObject);
begin
inherited;
if DBLkpCmbxSite.Text<>'' then
begin
QrySql.Edit;
DBLkpCmbxPosition.Field.AsInteger:=-1;
QryDepot.Close;
QryDepot.Filter:='UNIT_ID='+ IntToStr(Global.g_user.UnitID)+' and SITE_ID='+IntToStr(DBLkpCmbxSite.Field.Value);
QryDepot.Filtered:=true;
QryDepot.Open;
end
else
begin
showmessage('请选择库点!');
DBLkpCmbxSite.SetFocus;
end;
end;
procedure TFrmTransferInStack.DBLkpCmbxPositionDropDown(Sender: TObject);
begin
inherited;
if (DBLkpCmbxSite.Text<>'') and (DBLkpCmbxDepot.Text<>'') then
begin
QryPosition.Close;
QryPosition.Filter:='UNIT_ID='+ IntToStr(Global.g_user.UnitID)+' and SITE_ID='+IntToStr(DBLkpCmbxSite.Field.Value)+' and Depot_ID='+IntToStr(DBLkpCmbxDepot.Field.Value);
QryPosition.Filtered:=true;
QryPosition.Open;
end;
if DBLkpCmbxSite.Text='' then
begin
showmessage('请选择库点!');
DBLkpCmbxSite.SetFocus;
end;
if DBLkpCmbxDepot.Text='' then
begin
showmessage('请选择库房!');
DBLkpCmbxDepot.SetFocus;
end;
end;
procedure TFrmTransferInStack.QrySQLAfterScroll(DataSet: TDataSet);
begin
inherited;
QryFoodStyle.Active:=false;
QryFoodStyle.SQL.Clear;
QryFoodStyle.SQL.Add('select * from ENT_FOOD_TYPE where FOOD_TYPE='''+QrySQL.FieldByName('IN_FOOD').AsString+'''');
QryFoodStyle.Open;
{if QryFoodStyle.RecordCount<>1 then
BEGIN
showmessage('入库的品种不对!或您刚新增了一条记录还未输入入库的品种!');
exit;
END; }
if QryFoodStyle.FieldByName('Food_style').AsString='大豆' then
begin
LblItem1.Enabled:=true;
DBEditItem1.Enabled:=true;
LblItem1.Caption:='纯粮率:';
LblItem2.Enabled:=false;
LblItem3.Enabled:=false;
LblItem4.Enabled:=false;
LblItem5.Enabled:=false;
DBEditItem2.Enabled:=false;
DBEditItem3.Enabled:=false;
DBEditItem4.Enabled:=false;
DBEditItem5.Enabled:=false;
LblFqFat.Enabled:=false;
DBEditFqFat.Enabled:=false;
end;
if QryFoodStyle.FieldByName('Food_style').AsString='大米' then
begin
LblItem1.Enabled:=false;
DBEditItem1.Enabled:=false;
LblItem2.Enabled:=true;
DBEditItem2.Enabled:=true;
LblItem5.Enabled:=true;
LblItem5.Caption:='稻谷率:';
DBEditItem5.Enabled:=true;
LblItem3.Enabled:=false;
LblItem4.Enabled:=false;
DBEditItem3.Enabled:=false;
DBEditItem4.Enabled:=false;
LblFqFat.Enabled:=false;
DBEditFqFat.Enabled:=false;
end;
if QryFoodStyle.FieldByName('Food_style').AsString='小麦' then
begin
LblItem1.Enabled:=false;
DBEditItem1.Enabled:=false;
LblItem2.Enabled:=true;
DBEditItem2.Enabled:=true;
LblItem5.Enabled:=true;
LblItem5.Caption:='容重:';
DBEditItem5.Enabled:=true;
LblItem3.Enabled:=false;
LblItem4.Enabled:=false;
DBEditItem3.Enabled:=false;
DBEditItem4.Enabled:=false;
LblFqFat.Enabled:=false;
DBEditFqFat.Enabled:=false;
end;
if QryFoodStyle.FieldByName('Food_style').AsString='玉米' then
begin
LblItem1.Enabled:=true;
DBEditItem1.Enabled:=true;
LblItem1.Caption:='纯粮率:';
LblItem2.Enabled:=true;
LblItem3.Enabled:=false;
LblItem4.Enabled:=false;
LblItem5.Enabled:=false;
DBEditItem2.Enabled:=true;
DBEditItem3.Enabled:=false;
DBEditItem4.Enabled:=false;
DBEditItem5.Enabled:=false;
LblFqFat.Enabled:=false;
DBEditFqFat.Enabled:=false;
end;
if QryFoodStyle.FieldByName('Food_style').AsString='稻谷' then
begin
LblItem1.Enabled:=true;
DBEditItem1.Enabled:=true;
LblItem1.Caption:='黄粒:';
LblItem2.Enabled:=true;
LblItem3.Enabled:=true;
LblItem4.Enabled:=true;
LblItem5.Enabled:=true;
LblItem5.Caption:='出糙率:';
DBEditItem2.Enabled:=true;
DBEditItem3.Enabled:=true;
DBEditItem4.Enabled:=true;
DBEditItem5.Enabled:=true;
LblFqFat.Enabled:=true;
DBEditFqFat.Enabled:=true;
end;
if QryFoodStyle.FieldByName('Food_style').AsString='油' then
begin
LblItem1.Enabled:=true;
DBEditItem1.Enabled:=true;
LblItem1.Caption:='酸价:';
LblItem2.Enabled:=false;
LblItem3.Enabled:=false;
LblItem4.Enabled:=false;
LblItem5.Enabled:=false;
LblItem5.Caption:='高过氧化值:';
DBEditItem2.Enabled:=false;
DBEditItem3.Enabled:=false;
DBEditItem4.Enabled:=false;
DBEditItem5.Enabled:=false;
LblFqFat.Enabled:=false;
DBEditFqFat.Enabled:=false;
end;
if (QrySQL.FieldByName('Site_ID').IsNull) or (QrySQL.FieldByName('Unit_ID').IsNull)
or (QrySQL.FieldByName('depot_ID').IsNull) or (QrySQL.FieldByName('FOODPOSITION_ID').IsNull) then //是新增记录
begin
QrySite.Close;
QrySite.Filter:='Unit_id=' + IntToStr(global.g_user.UnitID);
QrySite.Filtered:=true;
QrySite.Active:=true;
exit;
end
else //是记录选择
begin
QrySite.Close;
QrySite.Filter:='Unit_id=' + QrySQL.FieldByName('Unit_ID').AsString;
QrySite.Filtered:=true;
QrySite.Open;
QryDepot.Close;
QryDepot.Filter:='Unit_id=' + QrySQL.FieldByName('Unit_ID').AsString
+ ' and Site_ID=' + QrySQL.FieldByName('Site_ID').AsString;
QryDepot.Filtered:=true;
QryDepot.Open;
QryPosition.Close;
QryPosition.Filter:='Unit_id=' + QrySQL.FieldByName('Unit_ID').AsString
+ ' and Site_ID=' + QrySQL.FieldByName('Site_ID').AsString
+ ' and depot_ID=' + QrySQL.FieldByName('depot_ID').AsString;
QryPosition.Filtered:=true;
QryPosition.Open;
end;
end;
procedure TFrmTransferInStack.DBEditQuantityEnter(Sender: TObject);
begin
inherited;
OldQuantity := DBEditQuantity.Field.AsFloat;
end;
procedure TFrmTransferInStack.DBEditTransferIDExit(Sender: TObject);
var
TblCX: TTable;
begin
inherited;
if DBEditTransferID.Text <> '' then
begin
try
TblCX:=TTable.Create(nil);
TblCX.DatabaseName := 'LYDB';
TblCX.TableName := 'ENT_TR_CASE';
TblCX.Filter := 'CASE_ID='''+TRIM(DBEditTransferID.Text)+''''+' and UNIT_ID='+intToStr(DBEditUnitID.Field.AsInteger);
TblCX.Filtered := true;
TblCX.Active := true;
if TblCX.RecordCount=0 then
begin
showmessage('无此移库单,请重新输入!');
DBEditTransferID.Text := '';
exit;
end;
if TblCX.RecordCount>1 then
begin
showmessage('存在重复的移库单!');
DBEditTransferID.Text := '';
exit;
end;
finally
TblCX.Active:=false;
TblCX.Free;
end;
end;
end;
procedure TFrmTransferInStack.FormCreate(Sender: TObject);
begin
inherited;
QrySql.Active:=false;
QrySql.Filter:='Unit_id=' + IntToStr(Global.g_user.UnitID);
QrySql.Filtered:=true;
QrySql.Active:=true;
end;
procedure TFrmTransferInStack.QrySQLIN_TIMESetText(Sender: TField;
const Text: String);
begin
inherited;
if DBEditInTime.Text<>' - - ' then
try
Sender.AsDateTime:=strtodate(DBEditInTime.EditText);
except
Application.MessageBox(PChar(DBEditInTime.EditText+'不是有效的日期!'),'错误',mb_Ok+mb_IconError);
abort;
end
else
Sender.Clear;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -