⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ustoragecheck.pas

📁 天涯進銷存系統
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  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 + -