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

📄 dfm_sale.pas

📁 仓库管理系统 仓库管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit dfm_sale;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls, Grids, DBGrids, Buttons, DB, ADODB,
  Mask,StrUtils, DBCtrls, DBGridEh, ppCtrls, ppPrnabl, ppClass, ppDB,
  ppBands, ppCache, ppProd, ppReport, ppComm, ppRelatv, ppDBPipe, ppModule,
  raCodMod, TFlatSpinEditUnit, TFlatEditUnit,  ppTypes, ppVar, DBCtrlsEh,
  TFlatPanelUnit;

type
  Tdfmsale = class(TForm)
    Panel1: TPanel;
    StatusBar1: TStatusBar;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    Atblsaledet: TADOTable;
    DataSource1: TDataSource;
    SpeedButton3: TSpeedButton;
    CheckBox1: TCheckBox;
    Atbldefault: TADOTable;
    DataSource2: TDataSource;
    Atblstemp: TADOTable;
    DataSource3: TDataSource;
    DataSource4: TDataSource;
    Atblstore: TADOTable;
    AQryware: TADOQuery;
    DataSource5: TDataSource;
    DataSource6: TDataSource;
    Atblman: TADOTable;
    DataSource7: TDataSource;
    Aqrysum: TADOQuery;
    Panel4: TPanel;
    Label12: TLabel;
    Label13: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    DataSource8: TDataSource;
    Aqryid: TADOQuery;
    SpeedButton6: TSpeedButton;
    Aqryapp: TADOQuery;
    Aqrylose: TADOQuery;
    Aqrydel: TADOQuery;
    SpeedButton7: TSpeedButton;
    DBGridEh1: TDBGridEh;
    ppDBPipeline1: TppDBPipeline;
    ppReport1: TppReport;
    ppHeaderBand1: TppHeaderBand;
    ppLabel1: TppLabel;
    ppLabel3: TppLabel;
    ppLabel4: TppLabel;
    ppLabel5: TppLabel;
    ppLabel6: TppLabel;
    ppLabel7: TppLabel;
    ppLabel8: TppLabel;
    ppDBText7: TppDBText;
    ppDBText8: TppDBText;
    ppDBText9: TppDBText;
    ppDetailBand1: TppDetailBand;
    ppDBText1: TppDBText;
    ppDBText2: TppDBText;
    ppDBText3: TppDBText;
    ppDBText4: TppDBText;
    ppDBText5: TppDBText;
    ppDBText6: TppDBText;
    ppFooterBand1: TppFooterBand;
    ppGroup1: TppGroup;
    ppGroupHeaderBand1: TppGroupHeaderBand;
    ppGroupFooterBand1: TppGroupFooterBand;
    ppLabel9: TppLabel;
    ppDBCalc1: TppDBCalc;
    ppDBText10: TppDBText;
    ppDBPipeline2: TppDBPipeline;
    atblsalepara: TADOTable;
    DataSource9: TDataSource;
    ppLine1: TppLine;
    ppLabel2: TppLabel;
    ppLine2: TppLine;
    ppLabel11: TppLabel;
    ppVariable1: TppVariable;
    ppDBText12: TppDBText;
    ppDBText13: TppDBText;
    ADOTable1: TADOTable;
    ppDBPipeline3: TppDBPipeline;
    DataSource10: TDataSource;
    ppDBText14: TppDBText;
    ppDBText11: TppDBText;
    Panel2: TPanel;
    Label5: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    DBEditEh1: TDBEditEh;
    DBComboBoxEh1: TDBComboBoxEh;
    dbdatetimeediteh1: TDBDateTimeEditEh;
    DBEditEh2: TDBEditEh;
    Panel3: TPanel;
    Label1: TLabel;
    Label6: TLabel;
    Label8: TLabel;
    Label7: TLabel;
    DBEditEh3: TDBEditEh;
    StaticText2: TStaticText;
    DBEditEh4: TDBEditEh;
    FlatSpinEditFloat1: TFlatSpinEditFloat;
    FlatSpinEditFloat2: TFlatSpinEditFloat;
    FlatSpinEditFloat3: TFlatSpinEditFloat;
    FlatSpinEditInteger1: TFlatSpinEditInteger;
    SpeedButton4: TSpeedButton;
    Atblstempcname: TWideStringField;
    Atblstempbmh: TWideStringField;
    Atblstemprq: TDateTimeField;
    Atblstempsj: TDateTimeField;
    Atblstempjyh: TWideStringField;
    Atblstempyyyh: TWideStringField;
    Atblstempskyh: TWideStringField;
    Atblstempspbh: TWideStringField;
    Atblstempsl: TIntegerField;
    Atblstemplsj: TFloatField;
    Atblstempsjje: TFloatField;
    Atblstempzke: TFloatField;
    Atblstempclabel: TWideStringField;
    Atblstempzl: TFloatField;
    ppVariable2: TppVariable;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    atblextend: TADOTable;
    DataSource11: TDataSource;
    atblslday: TADOTable;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure MaskEdit2Exit(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure qrysum;
    procedure qryid;
    procedure AtblstempAfterDelete(DataSet: TDataSet);
    procedure AtblstempAfterPost(DataSet: TDataSet);
    procedure SpeedButton2Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure SpeedButton7Click(Sender: TObject);
    procedure MaskEdit9Exit(Sender: TObject);
    procedure MaskEdit1Exit(Sender: TObject);
    procedure ppVariable1Calc(Sender: TObject; var Value: Variant);
    procedure ppVariable2Calc(Sender: TObject; var Value: Variant);
    procedure DBEditEh3Exit(Sender: TObject);
    procedure DBEditEh4Exit(Sender: TObject);
    procedure FlatSpinEditFloat2Exit(Sender: TObject);
    procedure DBEditEh4KeyPress(Sender: TObject; var Key: Char);
    procedure DBNumberEditEh1KeyPress(Sender: TObject; var Key: Char);
    procedure DBNumberEditEh2KeyPress(Sender: TObject; var Key: Char);
    procedure DBEditEh1KeyPress(Sender: TObject; var Key: Char);
    procedure DBComboBoxEh1KeyPress(Sender: TObject; var Key: Char);
    procedure FlatSpinEditFloat2KeyPress(Sender: TObject; var Key: Char);
    procedure AtblstempBeforePost(DataSet: TDataSet);
    procedure DBEditEh3KeyPress(Sender: TObject; var Key: Char);
    procedure FlatSpinEditFloat2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure AtblstempBeforeDelete(DataSet: TDataSet);
    procedure DBEdit1Exit(Sender: TObject);
    procedure DBEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit2Exit(Sender: TObject);
    procedure DBEdit2KeyPress(Sender: TObject; var Key: Char);
    procedure DBEditEh4Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  dfmsale: Tdfmsale;
  vbmh,vlabel,vdate,vjyh,vyyyh,vzl:string;
  vkey:word;

implementation

uses dbmRainbowMis, chHeadUnit, dfm_total, dfm_reprint;

{$R *.dfm}

procedure Tdfmsale.FormCreate(Sender: TObject);
begin
  Atbldefault.Active := true;
  Atblstemp.Active :=true;
  atblman.Active :=true;
  atblsalepara.Active :=true;
  ADOTable1.Open;
  atblextend.Open;
  if TCustomADODataSet(Atblstemp).RecordCount>0 then
  begin
//    DBEditEh2.Text := Atblstemp['jyh'];
    qrysum;
  end
  else
  begin
    Atblstemp.Append;
    DBEditEh1.Text:=atblsalepara['bmh'];
    DBComboBoxEh1.Text:=Atbldefault['clabel'];
    DBDateTimeEditEh1.value:=date();
    dbedit2.Text := '1.00';
    qryid;
  end;
  vbmh:=atblsalepara['bmh'];
  vlabel:=Atbldefault['clabel'];
  vdate:=DBDateTimeEditEh1.value;
end;

procedure Tdfmsale.FormShow(Sender: TObject);
begin
{  MaskEdit2.SetFocus ; }
  DBEditEh3.SetFocus;  
  StatusBar1.Panels[0].Text :='现在用户:'+ g_uInfo.fuserid+'  '+g_uInfo.fusername;
end;

procedure Tdfmsale.SpeedButton3Click(Sender: TObject);
begin
  Atblstemp.Post;
  Label9.Caption:='小  计:';
  FlatSpinEditFloat2.Value :=0;
  FlatSpinEditFloat3.Value :=0;
end;

procedure Tdfmsale.FormKeyPress(Sender: TObject; var Key: Char);
begin
//  chHeadUnit.tabventer(dfmsale,Key);
end;

procedure Tdfmsale.MaskEdit2Exit(Sender: TObject);
begin
  if atblman.Locate('freno',trim(DBEditEh3.Text),[loPartialKey]) then
    StaticText2.caption :=atblman['fname']
  else
    StaticText2.caption :='无此员工号';
end;

procedure Tdfmsale.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if Atblstemp.RecordCount=0 then
  begin
    Atbldefault.Active := false;
    atblman.Active := false;
    Atblstemp.Active :=false;
    atblsalepara.Close;
    ADOTable1.Close;
    atblextend.Close;
  end
  else
  begin
    Application.MessageBox('还有未结帐的销售单,不能退出!','系统提示',MB_ICONERROR + MB_OK);
    abort;
  end;

{  if Application.MessageBox('你确信数据已保存,要退出系统吗?','系统提示',MB_ICONERROR + MB_OKCANCEL)
    = IDOK then
  begin
    Atbldefault.Active := false;
    atblman.Active := false;
    Atblstemp.Active :=false;
    atblsalepara.Close;
    ADOTable1.Close;
    atblextend.Close;
  end
  else
    abort;}
end;

procedure Tdfmsale.SpeedButton4Click(Sender: TObject);
begin
  if Atblstemp.RecordCount <> 0 then
  begin
    if trim(DBEditEh4.Text) = '' then
    begin
      Atblstemp.cancel;
      Atblstemp.last;
      dbedit1.Enabled:=true;
      dbedit1.SetFocus ;
    end
    else
    begin
      dbedit1.Enabled:=true;
      dbedit1.SetFocus ;
    end;
  end
  else
  begin
    dbedit1.Enabled:=true;
    dbedit1.SetFocus ;
  end;
end;

procedure Tdfmsale.SpeedButton1Click(Sender: TObject);
begin
  if Atblstemp.RecordCount <> 0 then
  begin
    Atblsaledet.Open;
    if Atblsaledet.Locate('jyh',trim(DBEditEh2.Text), [loPartialKey]) then
      application.MessageBox ('此凭证号已存在,请重新输入!','出错提示',0)
    else
    begin
      if trim(DBEditEh4.Text) = '' then
        Atblstemp.cancel;
//    Panel4.Visible := true;
      FlatSpinEditFloat2.Enabled :=true ;
      FlatSpinEditFloat2.SetFocus;
    end;
    Atblsaledet.Close;
  end;
end;

procedure Tdfmsale.qrysum;
begin
  Aqrysum.Close;
  Aqrysum.Open ;
  FlatSpinEditFloat1.value:=Aqrysum['sssje'];
  FlatSpinEditInteger1.value:=Aqrysum['ssl'];
end;

procedure Tdfmsale.AtblstempAfterDelete(DataSet: TDataSet);
begin
  if Atblstemp.RecordCount = 0 then
  begin
    DBEditEh1.Text:=atblsalepara['bmh'];
    DBComboBoxEh1.Text:=Atbldefault['clabel'];
    DBDateTimeEditEh1.value:=date();
    dbedit2.text:= '1.00';
    qryid;
  end
  else
    qrysum;
end;

procedure Tdfmsale.AtblstempAfterPost(DataSet: TDataSet);
begin
      vbmh:=DBEditEh1.Text ;
      vlabel:=DBComboBoxEh1.Text;
      vdate:=dbdatetimeediteh1.Value ;
      vjyh:= DBEditEh2.Text;
      vyyyh:= DBEditEh3.Text;
      vzl:=dbedit2.Text;
      Atblstemp.Append;
      DBEditEh1.Text:=vbmh ;
      DBComboBoxEh1.Text:=vlabel;
      dbdatetimeediteh1.Value:= vdate;
      DBEditEh2.Text:=vjyh;
      DBEditEh3.Text:=vyyyh;
//      dbedit2.Text :=vzl;
      dbedit2.Text :='1';
  qrysum;
end;

procedure Tdfmsale.qryid;
begin
    with aqryid do
    begin
      Close ;
       Parameters.ParamByName('vdate').Value := formatdatetime('yyyy,mm,dd',DBDateTimeEditEh1.value) ;
      open;
    end;
    if TCustomADODataSet(aqryid).RecordCount>0 then
    begin
      aqryid.last ;
       DBEditEh2.Text := formatdatetime('yyyymmdd',DBDateTimeEditEh1.value)+'-'+inttostr(strtoint(RightStr(aqryid['jyh'],4))+1);
    end
    else
       DBEditEh2.Text := formatdatetime('yyyymmdd',DBDateTimeEditEh1.value)+'-1000';
end;

procedure Tdfmsale.SpeedButton2Click(Sender: TObject);
begin
    If  Application.FindComponent('dfmtotal')=Nil Then

⌨️ 快捷键说明

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