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

📄 ustore.~pas

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

interface

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

type
  Tfrmstore = class(TfrmMDIbaseinfo)
    Label6: TLabel;
    wwDBDateTimePicker2: TwwDBDateTimePicker;
    Label8: TLabel;
    Label7: TLabel;
    wwDBLookupCombo1: TwwDBLookupCombo;
    CDSmasterfid: TAutoIncField;
    CDSmasterfresid: TIntegerField;
    CDSmasterfrefno: TWideStringField;
    CDSmasterfstoreno: TWideStringField;
    CDSmasterfprovider: TWideStringField;
    CDSmasterfpurer: TWideStringField;
    CDSmasterfdelivdate: TDateTimeField;
    CDSmasterfnote: TWideStringField;
    CDSmasterfcreadate: TDateTimeField;
    CDSmasterfcreauser: TWideStringField;
    CDSsubfid: TAutoIncField;
    CDSsubfresid: TIntegerField;
    CDSsubfitemid: TIntegerField;
    CDSsubfamount: TFloatField;
    CDSstore: TClientDataSet;
    CDSstoreField: TStringField;
    Timer1: TTimer;
    OpenDialog1: TOpenDialog;
    CDSsubfnote: TStringField;
    con1: TADOConnection;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    ADOQuery3: TADOQuery;
    CDSmasterpno: TStringField;
    CDSmasterfprice: TFloatField;
    CDSsubfunit: TStringField;
    CDSsubftype: TStringField;
    CDSsubfname: TStringField;
    CDSsubcolorno: TStringField;
    CDSsubgno: TStringField;
    CDSsubcolor: TStringField;
    CDSmasterfpurstore: TStringField;
    CDSsubfcode: TStringField;
    CDSsuboldfqty: TBCDField;
    Query1: TQuery;
    Query2: TQuery;
    CDSsubfqty: TFloatField;
    CDSsubfprice: TFloatField;
    CDSsubtotal: TFloatField;
    wwDBComboBox1: TwwDBComboBox;
    ListBox1: TListBox;
    wwDBEdit2: TwwDBEdit;
    CDSmasterbc: TStringField;
    CDSsubhname: TStringField;
    procedure CDSsubCalcFields(DataSet: TDataSet);
    procedure GridColumns2EditButtonDown(Sender: TObject;
      TopButton: Boolean; var AutoRepeat, Handled: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure acsaveExecute(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure PDJComEdit1ClickButton(Sender: TObject);
    procedure p05Execute(Sender: TObject);
    procedure acaddExecute(Sender: TObject);
    procedure acdeleteExecute(Sender: TObject);
    procedure GridColExit(Sender: TObject);
    procedure GridKeyPress(Sender: TObject; var Key: Char);
    procedure CDSsubBeforePost(DataSet: TDataSet);
    procedure GridKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure acmodifyExecute(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure acsearchExecute(Sender: TObject);
    procedure CDSmasterAfterOpen(DataSet: TDataSet);
  private
      procedure creastoredata;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmstore: Tfrmstore;

implementation

uses ustore_f, Global, data;

{$R *.dfm}

procedure Tfrmstore.CDSsubCalcFields(DataSet: TDataSet);
begin
  inherited;
 { with CDSSub do
    begin
      Fieldbyname('famount').AsFloat:=fieldbyname('fqty').AsFloat*
                    fieldbyname('fprice').AsFloat;
    end;  }
end;

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

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

procedure Tfrmstore.FormCreate(Sender: TObject);
begin
  inherited;
  titlecaption:='物料进仓';
  Maintable:='Tstore';
  MainView:='Vstore';
  SubTable:='Tstoresub';
  Subview:='Vstoresub';
  Searchfrm:=Tfrmstore_f;
  frname:=gs_appPath+'\Prints\frstore.frf';
  Keyfield:='fid';
  if gs_bc='1' then
  iBillTypeid:=2 else
  iBillTypeid:=6  ;

//  adoconnection1.ConnectionString:=gs_appPath+'kc.udl';
//  adoconnection1.Connected:=true;
end;

procedure Tfrmstore.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;
  with adoquery1 do
  begin
   sql.Clear;
   sql.Add('select fname from tunit');
   open;
  end;
   while not adoquery1.Eof do
   begin
     wwDBComboBox1.Items.Add(adoquery1.fieldbyname('fname').value);
     adoquery1.next;
   end;    
end;

procedure Tfrmstore.acsaveExecute(Sender: TObject);
var
  cmdStr:string;
  yy,mm,dd:word;
begin
listbox1.Clear;
  { decodedate(wwDBDateTimePicker2.Date,yy,mm,dd);
   cdssub.DisableControls;
   CDSsub.First;
   while not CDSsub.eof do
   begin
///////////////////////////以上采购已入量更新,,,,以下是库存更新
     with  query2 do
     begin
     SQL.Clear;
     SQL.Add('select ck from tpurreturnsub   where  ');
     sql.add('  fcode=:fcode and years=:years and months=:months'); //and color=:color
  //   ParamByName('colorno').asstring:=cdssub.fieldbyname('colorno').asstring;
   //  ParamByName('gno').asstring:=cdssub.fieldbyname('gno').asstring;
     ParamByName('fcode').asstring:=cdssub.fieldbyname('fcode').asstring;
  //   ParamByName('ck').asstring:=wwDBLookupCombo1.Text;
     ParamByName('years').asinteger:=yy;
     ParamByName('months').asinteger:=mm;
     Open;
     end;

     if  query2.RecordCount>0 then
     begin
     with  query1 do
     begin
      if editstate=1 then
      begin
      SQL.Clear;
      SQL.Add('update  tpurreturnsub set fjqty=fjqty+:qty where  ');
      sql.add('   fcode=:fcode    and years=:years and months=:months');
//      ParamByName('colorno').asstring:=cdssub.fieldbyname('colorno').asstring;
//      ParamByName('gno').asstring:=cdssub.fieldbyname('gno').asstring;
      ParamByName('fcode').asstring:=cdssub.fieldbyname('fcode').asstring;
      ParamByName('qty').asfloat:=cdssub.fieldbyname('fqty').asfloat;
//      ParamByName('ck').asstring:=wwDBLookupCombo1.Text;
      ParamByName('years').asinteger:=yy;
      ParamByName('months').asinteger:=mm;
      execsql;
      end;
      if editstate=2 then
      begin
      SQL.Clear;
      SQL.Add('update  tpurreturnsub set fjqty=fjqty+:qty where  ');
      sql.add('     fcode=:fcode  and years=:years and months=:months');
///      ParamByName('colorno').asstring:=cdssub.fieldbyname('colorno').asstring;
  //    ParamByName('gno').asstring:=cdssub.fieldbyname('gno').asstring;
      ParamByName('fcode').asstring:=cdssub.fieldbyname('fcode').asstring;
      ParamByName('qty').asfloat:=cdssub.fieldbyname('fqty').asfloat-cdssub.fieldbyname('oldfqty').asfloat;
//      ParamByName('ck').asstring:=wwDBLookupCombo1.Text;
      ParamByName('years').asinteger:=yy;
      ParamByName('months').asinteger:=mm;
      execsql;

      end;
     end;
     end else
     begin
     with   query1 do
     begin
      sql.clear;
      sql.Add('insert into tpurreturnsub(funit,ftype,fitemid,fresid,fcode,fname,fjqty,years,months ) values (:funit,:ftype,:fitemid,1,:fcode,:fname,:fjqty,:years,:months)');
      ParamByName('funit').asstring:=cdssub.fieldbyname('funit').asstring;
      ParamByName('ftype').asstring:=cdssub.fieldbyname('ftype').asstring;
      ParamByName('fjqty').asfloat:=cdssub.fieldbyname('fqty').asfloat;
      ParamByName('fcode').asstring:=cdssub.fieldbyname('fcode').asstring;
      ParamByName('fname').asstring:=cdssub.fieldbyname('fname').asstring;      
      ParamByName('fitemid').asstring:=cdssub.fieldbyname('fitemid').asstring;
      ParamByName('years').asinteger:=yy;
      ParamByName('months').asinteger:=mm;
      execsql;
     end;
     end;
     cdssub.next;
   end;
  cdssub.EnableControls;  }
    with query2 do
    begin
    SQL.Clear;
    SQL.Add('select * from tbilltype  where (fdate=:fd and fid=:fid1) or (fdate=:fd and fid=:fid2)');
    paramByName('fd').AsDate:=workdate;
    ParamByName('fid1').AsInteger:=2;
    ParamByName('fid2').AsInteger:=6;
    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:=workdate;
    ParamByName('fid1').AsInteger:=3;
    ParamByName('fid2').AsInteger:=7;
    ExecSQL;
    end;
    end; 
  inherited;
  cmdStr:='Insert into tptotal(fpid) values('+vartosql(inNumber)+')';
  Execsql(cmdStr);

end;

procedure Tfrmstore.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;

⌨️ 快捷键说明

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