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

📄 usale.pas

📁 在打沙场用的最简单
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit usale;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, MDIbaseinfo, Menus, FR_Class, FR_DSet, FR_DBSet, DB, DBClient,inifileS,
  ImgList, ActnList, Grids, DBGridEh, wwdbdatetimepicker, StdCtrls, Mask,
  wwdbedit, Buttons, ExtCtrls, wwdblook, PDJComEdit,common, ADODB, DBTables,
  Wwdotdot, Wwdbcomb, ComCtrls;

type
  Tfrmsale = class(TfrmMDIbaseinfo)
    Label7: TLabel;
    Label8: TLabel;
    Label6: TLabel;
    CDSstore: TClientDataSet;
    CDSstoreField: TStringField;
    CDSmasterfid: TAutoIncField;
    CDSmasterfresid: TIntegerField;
    CDSmasterfrefno: TWideStringField;
    CDSmasterfprovider: TWideStringField;
    CDSmasterfsaleer: TWideStringField;
    CDSmasterfdelivdate: TDateTimeField;
    CDSmasterfnote: TWideStringField;
    CDSmasterfcreadate: TDateTimeField;
    CDSmasterfcreauser: TWideStringField;
    CDSsubfid: TAutoIncField;
    CDSsubfresid: TIntegerField;
    CDSsubfitemid: TIntegerField;
    CDSsubfamount: TFloatField;
    OpenDialog1: TOpenDialog;
    CDSsubcolorno: TStringField;
    CDSsubgno: TStringField;
    CDSsubfnote: TStringField;
    CDSsubfcode: TStringField;
    CDSsubfname: TStringField;
    CDSsubfunit: TStringField;
    CDSsubftype: TStringField;
    CDSsubcolor: TStringField;
    CDSsubzs: TStringField;
    con1: TADOConnection;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    ADOQuery3: TADOQuery;
    CDSsuboldfqty: TBCDField;
    Query1: TQuery;
    Query2: TQuery;
    CDSsubfamt: TWideStringField;
    CDSsubbt: TStringField;
    frDBDataSet1: TfrDBDataSet;
    CDSsubkhcode: TStringField;
    CDSsubfqty: TFloatField;
    CDSsubfprice: TFloatField;
    CDSsubtotal: TFloatField;
    CDSmasterfk: TStringField;
    CDSmasterpz: TStringField;
    CDSmasterbz: TStringField;
    CDSmasterfsaleno: TWideStringField;
    CDSsubchcode: TStringField;
    CDSsubchname: TStringField;
    wwDBDateTimePicker2: TwwDBDateTimePicker;
    wwDBEdit6: TwwDBEdit;
    ListBox1: TListBox;
    CDSmasterfsalestore: TStringField;
    Label5: TLabel;
    Edit1: TEdit;
    Label9: TLabel;
    DateTimePicker1: TDateTimePicker;
    Label10: TLabel;
    wwDBEdit2: TwwDBEdit;
    CDSmasterbc: TStringField;
    Label11: TLabel;
    Label12: TLabel;
    wwDBEdit3: TwwDBEdit;
    wwDBEdit4: TwwDBEdit;
    wwDBEdit5: TwwDBEdit;
    wwDBEdit7: TwwDBEdit;
    wwDBEdit8: TwwDBEdit;
    wwDBEdit9: TwwDBEdit;
    Label13: TLabel;
    Label14: TLabel;
    CDSmasterhcode: TStringField;
    CDSmasterchcode: TStringField;
    CDSmasterchname: TStringField;
    CDSmastertamt: TFloatField;
    CDSmastertqty: TFloatField;
    CDSmasterhname: TStringField;
    N10: TMenuItem;
    SpeedButton5: TSpeedButton;
    wwDBEdit10: TwwDBEdit;
    Label15: TLabel;
    Query3: TQuery;
    frDBDataSet2: TfrDBDataSet;
    procedure CDSsubCalcFields(DataSet: TDataSet);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure GridColumns3EditButtonDown(Sender: TObject;
      TopButton: Boolean; var AutoRepeat, Handled: Boolean);
    procedure acsaveExecute(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure acaddExecute(Sender: TObject);
    procedure billnoExit(Sender: TObject);
    procedure GridColExit(Sender: TObject);
    procedure GridKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure p01Execute(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure acmodifyExecute(Sender: TObject);
    procedure bbEnter(Sender: TObject);
    procedure bbChange(Sender: TObject);
    procedure GridEnter(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure GridColEnter(Sender: TObject);
    procedure acsearchExecute(Sender: TObject);
    procedure aclineaddExecute(Sender: TObject);
    procedure acdeleteExecute(Sender: TObject);
    procedure accancelExecute(Sender: TObject);
    procedure GridKeyPress(Sender: TObject; var Key: Char);
    procedure acpriorExecute(Sender: TObject);
    procedure bbKeyPress(Sender: TObject; var Key: Char);
    procedure wwDBEdit3KeyPress(Sender: TObject; var Key: Char);
    procedure wwDBEdit5KeyPress(Sender: TObject; var Key: Char);
    procedure wwDBEdit8KeyPress(Sender: TObject; var Key: Char);
    procedure wwDBEdit9KeyPress(Sender: TObject; var Key: Char);
    procedure wwDBEdit3Enter(Sender: TObject);
    procedure wwDBEdit3Change(Sender: TObject);
    procedure wwDBEdit5Change(Sender: TObject);
    procedure wwDBEdit5Enter(Sender: TObject);
    procedure refnoEnter(Sender: TObject);
    procedure wwDBEdit8Enter(Sender: TObject);
    procedure wwDBEdit9Enter(Sender: TObject);
    procedure refnoKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure p03Execute(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure CDSmasterAfterOpen(DataSet: TDataSet);
    procedure wwDBEdit3Exit(Sender: TObject);
    procedure bbExit(Sender: TObject);


  private
    procedure creastoredata;  
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmsale: Tfrmsale;

implementation

uses usale_f, Global, data;

{$R *.dfm}

procedure Tfrmsale.CDSsubCalcFields(DataSet: TDataSet);
begin
  inherited;
  With CDSSub do
    begin
      fieldbyname('famount').AsFloat:=fieldbyname('fqty').AsFloat*
                              fieldbyname('fprice').AsFloat;
    end;
end;

procedure Tfrmsale.creastoredata;
begin
  with CDSstore do
    begin
      close;
      FieldDefs.Add('选项',ftString,20);
      CreateDataSet;
      AppendRecord(['仓库1']);
      AppendRecord(['仓库2']);
      open;
    end;
end;

procedure Tfrmsale.FormCreate(Sender: TObject);
begin
  inherited;
  titlecaption:='出货管理';
  Maintable:='Tsale';
  MainView:='Vsale';
  SubTable:='Tsalesub';
  Subview:='Vsalesub';
  Searchfrm:=Tfrmsale_f;
  frname:=gs_appPath+'\Prints\frsale.frf';
  Keyfield:='fid';
  if gs_bc='1' then
  iBillTypeid:=3 else
  iBillTypeid:=7;
end;

procedure Tfrmsale.FormShow(Sender: TObject);
var
  s:string;
 ini:Tinifile;
  usercode:string;
  serverIP:string;
begin
  inherited;
  creastoredata;
  s:=Extractfilepath(application.ExeName);
  if s[length(s)]<>'\' then
    s:=s+'\'+'Default.ini'
    else
    s:=s+'Default.ini';
  try
    ini:=Tinifile.Create(s);
    serverIP:=ini.ReadString('ADO','FILE NAME','');
  finally
    ini.Free;
  end;

  if Serverip<>'' then
    con1.ConnectionString:='FILE NAME='+serverip
    else
    con1.ConnectionString:='FILE NAME=\kc.udl';
    con1.Connected:=true;
datetimepicker1.Date:=date;

end;

procedure Tfrmsale.GridColumns3EditButtonDown(Sender: TObject;
  TopButton: Boolean; var AutoRepeat, Handled: Boolean);
begin
  inherited;
  Selectsub;
end;

procedure Tfrmsale.acsaveExecute(Sender: TObject);
var
ini:textfile;
s,  cmdStr:string;
y1,m1,d1,yy,mm,dd:word;
begin

 decodedate(gs_date,y1,m1,d1);
 if    cdsmaster['bz']='1' then
 cdsmaster['tqty']:=0 else
 cdsmaster['tamt']:=0;
 with adoquery1 do
  begin
   sql.Clear;
   sql.Add('select fname from titemtype where fcode=:fcode');
   Parameters.ParamByName('fcode').Value:=wwdbedit5.text;
   open;
   if recordcount<=0 then
    begin
     application.MessageBox('无此车型资料,请检查!','系统提示',mb_ok);
     exit;
   end;
  end;
////////////////////////
 with adoquery1 do
  begin
   sql.Clear;
   sql.Add('select fname from titem where fcode=:fcode');
   Parameters.ParamByName('fcode').Value:=wwdbedit3.text;
   open;
   if recordcount<=0 then
    begin
     application.MessageBox('无此货品资料,请检查!','系统提示',mb_ok);
     exit;
   end;
  end;
///////////////////////
 with adoquery1 do
  begin
   sql.Clear;
   sql.Add('select fname from tunit where fcode=:fcode');
   Parameters.ParamByName('fcode').Value:=bb.text;
   open;
   if recordcount<=0 then
    begin
     application.MessageBox('无此客户资料,请检查!','系统提示',mb_ok);
     exit;
   end;
  end;

    with query2 do
    begin
    SQL.Clear;
    SQL.Add('select * from tbilltype  where (year(fdate)=:y1 and month(fdate)=:m1 and day(fdate)=:d1 and fid=:fid1) or (year(fdate)=:y2 and month(fdate)=:m2 and day(fdate)=:d2 and fid=:fid2)');
    paramByName('y1').Asinteger:=y1;
    paramByName('y2').Asinteger:=y1;
    paramByName('m1').Asinteger:=m1;
    paramByName('m2').Asinteger:=m1;
    paramByName('d1').Asinteger:=d1;
    paramByName('d2').Asinteger:=d1;
    //gs_date;
    ParamByName('fid1').AsInteger:=3;
    ParamByName('fid2').AsInteger:=7;
    open;
    if recordcount<=0 then
    begin
    sql.clear;
    SQL.Add('update tbilltype  set finnumber=0,fdate=:fd,foutnumber=0 where fid=:fid1 or fid=:fid2');
    paramByName('fd').Asdate:=gs_date;
    ParamByName('fid1').AsInteger:=3;
    ParamByName('fid2').AsInteger:=7;
    ExecSQL;
    end ;
    end;

{  query2.SQL.Clear;
  query2.SQL.Add('update tbilltype  set fdate=:fd where fid=:fid');
  query2.ParamByName('fd').AsDate:=workdate;
  query2.ParamByName('fid').AsInteger:= iBillTypeid;
  query2.ExecSQL;}
  inherited;
  cmdStr:='Insert into tptotal(fsid) values('+vartosql(inNumber)+')';
  Execsql(cmdStr);
  with query2 do
    begin
    sql.clear;
    SQL.Add('update tbilltype  set  folddate=:fd where fid=:fid1 or  fid=:fid2');

    paramByName('fd').Asdate:=gs_date;
    ParamByName('fid1').AsInteger:=3;
    ParamByName('fid2').AsInteger:=7;
    ExecSQL;
    end ;
  Getsqldata(CDSSub,Subview,keyField,'fResid = '+vartosql(cdsmaster.fieldbyname('fresid').Value),10000);
  listbox1.Clear;
  edit1.Enabled:=true;
  datetimepicker1.Enabled:=true;
  bb.Enabled:=false;
  wwdbedit3.Enabled:=false;
  wwdbedit5.Enabled:=false;
  wwdbedit8.Enabled:=false;
  wwdbedit9.Enabled:=false;
end;

procedure Tfrmsale.BitBtn1Click(Sender: TObject);
var
  s,str1,str2,str3,str4:string;
i,  ii,jj:integer;
  ini:textfile;
 Searcht, usercode:string;
begin
  inherited;
    s:=OpenDialog1.FileName;
    if not FileExists(s) then    //判断此文件是否存在
    showmessage('该文件不存在')
    else
    begin
    AssignFile(ini,s);
    reset(ini);
    CDSmaster.Append;
   // i:=1;
    while not eof(ini) do
    begin
    Readln(ini,usercode);
    ii:=length(usercode);
    jj:=Pos(',',usercode);
    str1:=copy(usercode,1,jj-1);
    ///////////////////   str1
    usercode:= copy(usercode,jj+1,ii-jj);
    ii:=length(usercode);
    jj:=Pos(',',usercode) ;
    str2:=copy(usercode,1,jj-1);
    //////////////////////    str2

    usercode:= copy(usercode,jj+1,ii-jj);
    ii:=length(usercode);
    jj:=Pos(',',usercode) ;
    str3:=copy(usercode,1,jj-1);
    /////////////////////////////str3
    str4:= copy(usercode,jj+1,ii-jj);
    ///////////////////////////////////str4
    spbtnadd.Click;
    CdsSub.Append;
    GetsqlData(CDSselectsub,'Vitem','fid','fcode='+vartosql(str1),1);
    if CDSselectsub.RecordCount > 0 then
     begin
     //  CDSsub['fid']:=i;
       CDSsub['fitemid']:=CDSselectsub['fid'] ;
       CDSsub['fcode']:=CDSselectsub['fcode'];
       CDSsub['fname']:=CDSselectsub['fname'];
       CDSsub['funit']:=CDSselectsub['funit'];
       CDSsub['unitqty']:=CDSselectsub['unitqty'];
       CDSsub['fqty'] :=strtofloat( str2);
       CDSsub['total'] :=CDSselectsub['unitqty']*CDSsub['fqty'];
     end;
       Grid.SelectedIndex:=7;
     //i:=i+1;
 // CdsSub.FieldByName('fcode').AsString:=str1;
//  CdsSub.FieldByName('fqty').AsString:=str2;
 end;
     CloseFile(ini);
end;

end; 
procedure Tfrmsale.acaddExecute(Sender: TObject);
var
i:integer;
begin
  inherited;

  bb.Enabled:=true;
  wwdbedit3.Enabled:=true;
  wwdbedit5.Enabled:=true;
  wwdbedit8.Enabled:=true;
  wwdbedit9.Enabled:=true;
  query1.SQL.clear;
  query1.SQL.Add('select FNAME from TFULI');
  query1.Open;

  edit1.Enabled:=false;
  datetimepicker1.Enabled:=false;
  listbox1.Clear;
  wwDBDateTimePicker2.Date:=global.gs_date;
  wwDBDateTimePicker2.Time:=now;
  wwDBDateTimePicker1.Date:=date;
  wwDBDateTimePicker1.Time:=now;
  cdsmaster['bc']:=Global.gs_bc;

  cdsmaster['fcreauser']:=Global.gs_username;
  cdsmaster['fcreadate']:=wwDBDateTimePicker1.DateTime;
  cdsmaster['fdelivdate']:=wwDBDateTimePicker2.DateTime;
  CDSmaster['fsalestore']:=query1.fieldbyname('FNAME').AsString;

  listbox1.Clear;
 with adoquery1 do
  begin

   sql.Clear;
   sql.Add('select fname from tunit');
   open;
  end;
  i:=1;
   while not adoquery1.Eof do
   begin
    listbox1.Items.Add(inttostr(i)+'.'+adoquery1.fieldbyname('fname').value);
    adoquery1.next;
    i:=i+1;
   end;
   bb.SetFocus;
  // wwDBLookupCombo1.Text:='亿溢';
end;

⌨️ 快捷键说明

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