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

📄 backpbunit.pas

📁 一个图书批发商的通用软件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
end;

procedure TfrmBackPBUnit.dxBarLargeButton2Click(Sender: TObject);
begin
  if (qryBackUnit.State in[dsEdit,dsInsert]) and(cxlcbSaleBookingId.Text<>'') and(edtNumber.Text<>'') then
  with qryBackUnit do
  begin
    FieldByName('SaleId').AsString :=edtNumber.Text;
    FieldByName('WholeSaling').AsString :=cbWholeBooking.Text;
    FieldByName('SaleDate').AsDateTime :=dtpDateNow.DateTime;
    FieldByName('Unitid').AsString :=cxlcbSaleBookingId.Text;
    FieldByName('UnitName').AsString :=edtUnitName.Text;
    FieldByName('OtherFee').AsString :=edtOtherMoney.Text;
    FieldByName('BackType').AsString :='2';
    FieldByName('Memo').AsString :=edtMemo.Text;
    Post;
    if (qryBackSubs.State in[dsEdit,dsInsert]) then
    qryBackSubs.Post;
  end;

end;

procedure TfrmBackPBUnit.dxBarLargeButton3Click(Sender: TObject);
var tempstr:string;
begin
  if edtNumber.Text<>'' then
  if Application.MessageBox('真的要删除销售订单吗?',Title,MB_ICONQUESTION+MB_YESNO)=Idyes then
  with dmData.qryTemp do
  begin
    tempstr :=edtNumber.Text;
    Close;
    SQL.Text :='Delete From tbBackUnit where (SaleId='''+tempstr+''') and (BackType=''2'')';
    ExecSQL;
    dsdbEdit.DataSet :=nil;
    edtNumber.Text :='';
    GetPH(cbWholeBooking);
    cxlcbSaleBookingId.Text :='';
  end;
  with qryBackSubs do
  begin
    First;
    while not Eof do
     Delete;
  end;
end;

procedure TfrmBackPBUnit.cxlcbSaleBookingIdPropertiesChange(
  Sender: TObject);
begin
  if qryPublish.Locate('ClientId',cxlcbSaleBookingId.Text,[loCaseInsensitive]) then
  dsdbEdit.DataSet :=qryPublish;
  if (edtNumber.Text ='') or(cxlcbSaleBookingId.Text='') then
  begin
    dxDBGrid1.Enabled :=False;
    bbtnAdd.Enabled :=False;
    bbtnDelete.Enabled :=False;
    bbtnEdit.Enabled :=False;
  end else
  begin
    dxDBGrid1.Enabled :=True;
    bbtnAdd.Enabled :=True;
    bbtnDelete.Enabled :=True;
    bbtnEdit.Enabled :=True;
  end;
end;

procedure TfrmBackPBUnit.dxBarLargeButton4Click(Sender: TObject);
begin
  Close;
end;

procedure TfrmBackPBUnit.qryBackSubsBeforePost(DataSet: TDataSet);
begin
  with qryBackSubs do
  begin
    if FieldByName('UnitId').AsString='' then
    FieldByName('UnitId').AsString :=cxlcbSaleBookingId.Text;
    if FieldByName('SaleId').AsString ='' then
    FieldByName('SaleId').AsString :=edtNumber.Text;
  end;
end;

procedure TfrmBackPBUnit.FormDestroy(Sender: TObject);
begin
  qryPublish.Close;
end;

procedure TfrmBackPBUnit.edtOtherMoneyKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (key in['0'..'9','.',#8]) then
  Key :=#0;
end;

procedure TfrmBackPBUnit.qryBackSubsAfterOpen(DataSet: TDataSet);
begin
   qryBackSubs.FieldByName('Discount').Ongettext :=dmData.kkg;
  
end;

procedure TfrmBackPBUnit.dxDBGrid1BookIdChange(Sender: TObject);
begin
  //qryBookingSubs.FieldByName('BookName').AsString :=qryBookClass.fieldbyname('BookName').AsString;
  //qryBookingSubs.FieldByName('BookEdition').AsString :=qryBookClass.fieldbyname('BookEdition').AsString;
  //qryBookingSubs.FieldByName('BookPrice').AsString :=qryBookClass.fieldbyname('BookPrice').AsString;
end;

procedure TfrmBackPBUnit.qryBackSubsAfterPost(DataSet: TDataSet);
var AVgDiscount,AvgBookPrice,SumBookCount,SumRealMoney,SumTotalMoney :Real;

begin
  with dmData.qryTemp do
  begin
    Close;
    Sql.Text :='Select Avg(Discount),Avg(BookPrice),Sum(BookCount),Sum(TotalMoney),Sum(RealMoney) From tbBackSubs Where SaleId='''+edtNumber.text+''' and BackType=''2''';
    Open;
    AVgDiscount :=Fields[0].AsFloat;
    AvgBookPrice:=Fields[1].AsFloat;
    SumBookCount:=Fields[2].AsFloat;
    SumTotalMoney:=Fields[3].AsFloat;
    SumRealMoney:=Fields[4].AsFloat;
    edtAVgDiscount.Text :=Floattostr(AVgDiscount);
    edtAvgBookPrice.Text :=FloatToStr(AvgBookPrice);
    edtSumBookCount.Text :=FloatToStr(SumBookCount);
    edtSumTotalMoney.Text :=FloatToStr(SumTotalMoney);
    edtSumRealMoney.Text :=FloatToStr(SumRealMoney);
    edtTaxMoney.Text := FormatFloat('0.00',SumRealMoney/1.13*0.13);
    edtNotax.Text :=floattostr(SumRealMoney-strtofloat(edtTaxMoney.Text));
    edtzkMoney.Text := FloatToStr(SumTotalMoney-SumRealMoney);
  end;
end;
procedure TfrmBackPBUnit.bbtnEditClick(Sender: TObject);
var HouseName :string;
begin
  if qryBackSubs.IsEmpty then Abort;
  frmBackPBEdit :=TfrmBackPBEdit.Create(self);
  with frmBackPBEdit do
  begin
    try
      Tag :=0; //修改标志
      qryBackSubs.Edit;
      frmBackPBEdit.cxlcbBookId.Text :=qryBackSubs.fieldbyname('BookId').AsString;
      HouseName :=qryBackSubs.fieldbyname('HousePos').AsString;
      if not qryHouse.Active then qryHouse.Open;
      //cxcbPosHouse.Text :=HouseName;//qryHouse.Lookup('HouseName',HouseName,'HouseId');
      ShowModal;
    finally
      Free;
    end;
  end;
end;

procedure TfrmBackPBUnit.dxBarLargeButton6Click(Sender: TObject);
begin
  if not qryBackSubs.IsEmpty then
  with frReport1,qryPublish do
  begin
    frVariables['BookingId'] :=edtNumber.Text;
    frVariables['WholeBooking'] :=cbWholeBooking.Text ;
    frVariables['DATE'] :=dtpDateNow.Date ;
    frVariables['publish'] :=sysname ;
    frVariables['Address'] :=sysaddress ;
    frVariables['telphone'] :=systl ;
    frVariables['UnitId'] :=cxlcbSaleBookingId.Text ;
    frVariables['Discount'] :=edtAVgDiscount.Text ;
    frVariables['AvgPrice'] :=edtAvgBookPrice.Text; ;
    frVariables['TaxMoney'] :=edtTaxMoney.Text ;
    frVariables['Bank'] :=fieldbyname('ClientBank').AsString;
    frVariables['BondMan'] := fieldbyname('BondMan').AsString;
    frVariables['Memo'] :=edtMemo.Text ;
    frVariables['UnitName'] :=edtUnitName.Text ;
    frVariables['TotalCount'] :=edtSumBookCount.Text ;
    frVariables['DisCountMoney'] :=edtzkMoney.Text ;
    frVariables['NOTaxMoney'] :=edtNotax.Text ;
    frVariables['TaxNumber'] :=fieldbyname('ClientTax').AsString;
    frVariables['Telphonel'] :=fieldbyname('Telphone').AsString;
    frVariables['TotalMoneys'] :=edtSumTotalMoney.Text ;
    frVariables['RealMoneys'] :=edtSumRealMoney.Text ;
    frVariables['OtherMoney'] := edtOtherMoney.Text;
    frVariables['GetMoney'] := edtGetMoney.Text;
    frVariables['MoneyCode'] :=fieldbyname('MoneyCode').AsString ;
    //frVariables[''] :=dbedtAddress.Text ;
    frVariables['SumSort'] :=qryBackSubs.RecordCount;
    frVariables['CreatMan'] :='';
    frVariables['PageMemo'] :=strmemo;
    ShowReport;
  end;
end;

procedure TfrmBackPBUnit.qryBackUnitAfterPost(DataSet: TDataSet);
var i:integer ;
begin
  if not DmData.qryHouseSave.Active then
  begin
    DmData.qryHouseSave.Close;
    DmData.qryHouseSave.SQL.Text :='Select * From tbHouseSave';
    DmData.qryHouseSave.Open;
  end;
  qryBackSubs.DisableControls;
  Try
    qryBackSubs.First;
    for i:=0 to qryBackSubs.RecordCount-1 do
    begin
      if not DmData.qryHouseSave.Locate('BookId;HousePos',VarArrayOf([qryBackSubs.fieldbyname('BookId').AsString,qryBackSubs.fieldbyname('HousePos').AsString]),[loCaseInsensitive]) then
      begin
        With DmData.qryHouseSave do
        begin
          Append;
          FieldByName('BookId').AsString :=qryBackSubs.fieldbyname('BookId').AsString;
          FieldByName('BookName').AsString :=qryBackSubs.fieldbyname('BookName').AsString;
          FieldByName('BookEdition').AsString :=qryBackSubs.fieldbyname('BookEdition').AsString;
          FieldByName('BookCount').AsInteger :=0-qryBackSubs.fieldbyname('BookCount').AsInteger;
          FieldByName('BookPrice').AsString :=qryBackSubs.fieldbyname('BookPrice').AsString;
          FieldByName('AddBook').AsInteger :=0-qryBackSubs.fieldbyname('AddBook').AsInteger;
          FieldByName('TotalMoney').AsFloat :=0-qryBackSubs.fieldbyname('TotalMoney').AsFloat;
          FieldByName('HousePos').AsString :=qryBackSubs.fieldbyname('HousePos').AsString;
          //FieldByName('').AsString :=qrySaleSubs.fieldbyname('').AsString;
        end;
      end else
      With DmData.qryHouseSave do
      begin
        Edit;
        FieldByName('BookCount').AsInteger :=FieldByName('BookCount').AsInteger - qryBackSubs.fieldbyname('BookCount').AsInteger;
        FieldByName('AddBook').AsInteger := FieldByName('AddBook').AsInteger - qryBackSubs.fieldbyname('AddBook').AsInteger;
        FieldByName('TotalMoney').AsFloat :=FieldByName('TotalMoney').AsFloat - qryBackSubs.fieldbyname('TotalMoney').AsFloat;
      end;
      qryBackSubs.Next;
    end;
    if DmData.qryHouseSave.State in [dsInsert,dsEdit] then
    DmData.qryHouseSave.Post;
  finally
    qryBackSubs.EnableControls;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -