📄 ustoragecheck.pas
字号:
SetView;
try
BillHandData.ReadOnly:=False;
BillBodyData.ReadOnly:=False;
BillHandData.Edit;
BillBodyData.Edit;
except
SetView;
Application.MessageBox('修改数据错误。',Hintinfo,$10);
Exit;
end;
Sum:=BillHandData.FieldByName('TOTALSUM').AsFloat;
isEdit:=True;
isStateEdit:=True;
end;
procedure TfrmStorageCheck.Action3Execute(Sender: TObject);
var
BillCode: string;
begin
if BillHandData.IsEmpty then
begin
Application.MessageBox('没有可删除的仓库盘点单。',Hintinfo,$30);
Exit;
end;
if BillHandData.FieldByName('isAuditing').asstring='1' then
begin
Application.MessageBox('此仓库盘点单已审核,不可删除。',Hintinfo,$30);
Exit;
end;
if Application.MessageBox('确定在要删除当前仓库盘点单吗?',Hintinfo,$24)=idYes then
begin
BillHandData.ReadOnly:=False;
BillCode:=BillHandData.Fieldbyname('BillCode').asstring;
try
BillHandData.Delete;
BillHandData.ApplyUpdates(-1);
DeleteBillBody('Delete From DepotCheckBody where BillCode='+#39+BillCode+#39);
OpenData('select * from DepotCheckHand Order by BillCode DESC',
BillHandData);
except
Application.MessageBox('删除数据不成功。',Errorinfo,$10);
end;
BillHandData.ReadOnly:=True;
end;
end;
procedure TfrmStorageCheck.Action4Execute(Sender: TObject);
begin
Printview('RepStockCheck.frf', Report);
end;
procedure TfrmStorageCheck.Action5Execute(Sender: TObject);
begin
if BillHandData.IsEmpty then
begin
Application.MessageBox('没有可审核的单据。',Hintinfo,$30);
Exit;
end;
if BillHandData.FieldByName('isAuditing').AsString='1' then
begin
Application.MessageBox('此单据已审核。',Hintinfo,$30);
Exit;
end;
if Application.MessageBox('确定要审核此仓库盘点单吗?',Hintinfo,$24)=idYes then
SetAuditing;
end;
procedure TfrmStorageCheck.Action6Execute(Sender: TObject);
begin
SelectBillCode:='';
frmSelectStorageCheck:=TfrmSelectStorageCheck.Create(Application);
frmSelectStorageCheck.ShowModal;
frmSelectStorageCheck.Free;
if SelectBillCode<>'' then
begin
OpenData('Select * from DepotCheckHand where '+
'BillCode='+#39+SelectBillCode+#39+
'Order by BillCode DESC', BillHandData);
end;
end;
procedure TfrmStorageCheck.Action7Execute(Sender: TObject);
begin
OpenData('Select * from DepotCheckHand Order by BillCode DESC',BillHandData);
BillInfoLabel.Caption:='';
end;
procedure TfrmStorageCheck.Action8Execute(Sender: TObject);
var
i:integer;
begin
i:=0;
if (BillBodyData.RecordCount=1)and
(PartCodeDBEdit.Text='') then
begin
Application.MessageBox(NotPartsOfSave, Hintinfo,$30);
Exit;
end;
BillBodyData.Edit;
BillBodyData.Post;
DBCtrlGrid.SetFocus;
if BillHandData.FieldByName('BillDate').AsString='' then
begin
Application.MessageBox('仓库盘点日期不能为空,请输入。',Hintinfo,$30);
BillDateDBEdit.SetFocus;
Exit;
end;
if not isEdit then
begin
BillHandData.Edit;
BillHandData.Fieldbyname('BILLCode').asstring:=ComDepotCode+'-'+'PD'+'-'+
GetBillID('31', BillHandData.Fieldbyname('BILLDATE').asstring);
end;
OpenView.Caption:='正在保存数据,请稍后...';
OpenView.Visible:=True;
Update;
with BillBodyData do
begin
First;
while not Eof do
begin
if Fieldbyname('PartCode').asstring<>'' then
begin
Edit;
Fieldbyname('ID').asinteger:=i+1;
Fieldbyname('BILLCode').asstring:=BillHandData.Fieldbyname('BILLCode').asstring;
i:=i+1;
Next;
end
else
begin
BillHandData.Edit;
BillHandData.FieldByName('TOTALSUM').asfloat:=
BillHandData.FieldByName('TOTALSUM').asfloat-
Fieldbyname('TOTALSUM').AsFloat;
Sum:=BillHandData.FieldByName('TOTALSUM').asfloat;
Delete;
if BillBodyData.RecNo=BillBodyData.RecordCount then
Next;
end;
end;
end;
OpenView.Visible:=False;
Update;
if BillBodyData.IsEmpty then
begin
Application.MessageBox(NotPartsOfSave,Hintinfo,$30);
Exit;
end;
Try
BillBodyData.ApplyUpdates(-1);
BillHandData.ApplyUpDates(-1);
Application.MessageBox(DataSaveOfSucceed,Hintinfo,$30);
except
Application.MessageBox(DataSaveOfFail, Errorinfo,$10);
BillBodyData.CancelUpdates;
BillHandData.CancelUpdates;
end;
BillBodyData.First;
Sum:=0;
isStateEdit:=False;
SetView;
BillBodyData.ReadOnly:=True;
BillHandData.ReadOnly:=True;
end;
procedure TfrmStorageCheck.Action9Execute(Sender: TObject);
begin
DBCtrlGrid.SetFocus;
BillBodyData.CancelUpdates;
BillHandData.CancelUpdates;
BillBodyData.First;
Sum:=0;
isStateEdit:=False;
SetView;
BillBodyData.ReadOnly:=True;
BillHandData.ReadOnly:=True;
end;
procedure TfrmStorageCheck.ORDERMANDBEditDropDown(Sender: TObject);
begin
if not isStateEdit then Exit;
SetListData('select Name From Employee', ORDERMANDBEdit);
end;
procedure TfrmStorageCheck.LBEditButton2Click(Sender: TObject);
begin
if not isStateEdit then Exit;
GetXoY(LBEditButton2);
if BillHandData.Fieldbyname('BillDate').asDateTime>0 then
sDate:=BillHandData.Fieldbyname('BillDate').asDateTime
else
sDate:=Date;
SelectDate;
BillHandData.Edit;
BillHandData.FieldByName('BillDate').AsDateTime:=SDate;
end;
procedure TfrmStorageCheck.PartCodeDBEditKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if Key=VK_DELETE then BillDeletePart(BillHandData, BillBodyData);
if key=13 then
begin
DBCtrlGrid.SetFocus;
PartNameDBEdit.SetFocus;
end;
BillKeyDown(Key, BillBodyData, 16);
end;
procedure TfrmStorageCheck.PartNameDBEditKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if Key=VK_DELETE then BillDeletePart(BillHandData, BillBodyData);
if key=13 then
begin
DBCtrlGrid.SetFocus;
UnitDBEdit.SetFocus;
end;
BillKeyDown(Key, BillBodyData, 16);
end;
procedure TfrmStorageCheck.UnitDBEditKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=13 then
begin
DBCtrlGrid.SetFocus;
DepotPlaceDBEdit.SetFocus;
end;
BillKeyDown(Key, BillBodyData, 16);
end;
procedure TfrmStorageCheck.DepotPlaceDBEditKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=13 then
begin
DBCtrlGrid.SetFocus;
QuantityDBEdit.SetFocus;
end;
BillKeyDown(Key, BillBodyData, 16);
end;
procedure TfrmStorageCheck.QuantityDBEditKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=13 then
begin
DBCtrlGrid.SetFocus;
CheckMemoDBEdit.SetFocus;
end;
BillKeyDown(Key, BillBodyData, 16);
end;
procedure TfrmStorageCheck.DBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
begin
DBCtrlGrid.SetFocus;
PriceDBEdit.SetFocus;
end;
BillKeyDown(Key, BillBodyData, 16);
end;
procedure TfrmStorageCheck.PriceDBEditKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=13 then
begin
DBCtrlGrid.SetFocus;
SumDBEdit.SetFocus;
end;
BillKeyDown(Key, BillBodyData, 16);
end;
procedure TfrmStorageCheck.SumDBEditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
begin
DBCtrlGrid.SetFocus;
CheckMemoDBEdit.SetFocus;
end;
BillKeyDown(Key, BillBodyData, 16);
end;
procedure TfrmStorageCheck.CheckMemoDBEditKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=13 then
begin
DBCtrlGrid.SetFocus;
if BillBodyData.RecordCount>BillBodyData.RecNo then
BillBodyData.Next;
QuantityDBEdit.SetFocus;
end;
BillKeyDown(Key, BillBodyData, 16);
end;
procedure TfrmStorageCheck.QuantityDBEditEnter(Sender: TObject);
begin
if not isStateEdit then Exit;
if Trim(QuantityDBEdit.Text)='' then
begin
BillBodyData.Edit;
BillBodyData.FieldByName('Quantity').asfloat:=0;
OldSaleQty:=StrToFloat(QuantityDBEdit.Text);
end;
end;
procedure TfrmStorageCheck.QuantityDBEditExit(Sender: TObject);
begin
if not isStateEdit then Exit;
if Trim(QuantityDBEdit.Text)='' then QuantityDBEdit.Text:='0';
if OldSaleQty=StrToFloat(QuantityDBEdit.Text) then Exit;
OpenData('select PartCode, StockQuantity From StockPart where PartCode='+
#39+Trim(PartCodeDBEdit.Text)+#39+' and DepotCode='+
#39+BillHandData.Fieldbyname('CheckDepotCode').asstring+#39, dmData.sdsPublic);
BillBodyData.Edit;
BillBodyData.FieldByName('CheckQry').asfloat:=
BillBodyData.FieldByName('Quantity').asfloat-
dmData.sdsPublic.FieldByName('StockQuantity').asfloat;
BillBodyData.FieldByName('isCheck').AsString:='True';
GetSum;
end;
procedure TfrmStorageCheck.BillHandDataAfterScroll(DataSet: TDataSet);
begin
OpenData('Select * from DepotCheckBody where BillCode='+
#39+BillHandData.Fieldbyname('BillCode').asstring+#39,
BillBodyData);
if BillHandData.FieldByName('isAuditing').AsString='1' then
Auditing.Visible:=True
else
Auditing.Visible:=False;
end;
procedure TfrmStorageCheck.DBCtrlGridKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
key:=0;
end;
procedure TfrmStorageCheck.BillNextButtonClick(Sender: TObject);
begin
if isStateEdit then Exit;
BillHandData.Next;
if BillHandData.RecNo=1 then
BillHandData.Next;
if BillHandData.RecordCount=BillHandData.RecNo then
begin
if BillHandData.GetNextPacket=0 then
BillInfoLabel.Caption:='已经是移到第一张单据了!'
else
BillInfoLabel.Caption:='';
BillHandData.Next;
end
else
BillInfoLabel.Caption:='';
end;
procedure TfrmStorageCheck.BillPriorButtonClick(Sender: TObject);
begin
if isStateEdit then Exit;
BillHandData.Prior;
if BillHandData.RecNo=1 then
BillHandData.Prior;
if BillHandData.Bof then
BillInfoLabel.Caption:='已经是移到最后一张单据了!'
else
BillInfoLabel.Caption:='';
end;
procedure TfrmStorageCheck.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
frmStorageCheck:=Nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -