📄 upurchase.pas
字号:
unit upurchase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MDIbaseinfo, ImgList, ActnList, Grids, DBGridEh, Buttons,
StdCtrls, ExtCtrls, Mask, wwdbedit, wwdbdatetimepicker, DB, DBClient,
wwdblook, ComCtrls, Menus, FR_Class, FR_Desgn, FR_DSet, FR_DBSet,inifiles,
comobj, Excel2000,PDJComEdit,common, ADODB;
type
Tfrmpurchase = class(TfrmMDIbaseinfo)
Label5: TLabel;
wwDBEdit4: TwwDBEdit;
Label6: TLabel;
wwDBEdit5: TwwDBEdit;
Label7: TLabel;
Label8: TLabel;
wwDBEdit8: TwwDBEdit;
Label9: TLabel;
wwDBLookupCombo1: TwwDBLookupCombo;
wwDBDateTimePicker2: TwwDBDateTimePicker;
CDSstore: TClientDataSet;
CDSsubfqty: TBCDField;
CDSsubfprice: TBCDField;
CDSsubfamount: TFloatField;
CDSmasterfid: TAutoIncField;
CDSmasterfresid: TIntegerField;
CDSmasterfrefno: TWideStringField;
CDSmasterfpurno: TWideStringField;
CDSmasterfprovider: TWideStringField;
CDSmasterfpurer: TWideStringField;
CDSmasterfpurstore: TWideStringField;
CDSmasterfdelivdate: TDateTimeField;
CDSmasterfnote: TWideStringField;
CDSmasterfcreadate: TDateTimeField;
CDSmasterfcreauser: TWideStringField;
PDJComEdit1: TPDJComEdit;
OpenDialog1: TOpenDialog;
BitBtn1: TBitBtn;
CDSsubunitqty: TFloatField;
BitBtn2: TBitBtn;
con1: TADOConnection;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
CDSstoreField: TStringField;
CDSsubzs: TStringField;
CDSsubcolorno: TStringField;
CDSsubcolor: TStringField;
CDSsubgno: TStringField;
CDSsubcgyrqty: TFloatField;
CDSsubfid: TIntegerField;
CDSsubfresid: TIntegerField;
CDSsubfitemid: TIntegerField;
CDSmasterpno: TStringField;
CDSsubfnote: TStringField;
wwDBEdit3: TwwDBEdit;
Label11: TLabel;
CDSmasterfprice: TFloatField;
CDSsubjs: TFloatField;
CDSsubavgh: TFloatField;
CDSsubqtyunit: TFloatField;
CDSsubrs: TFloatField;
CDSsubdps: TFloatField;
CDSsubzz: TFloatField;
CDSsubfcode: TStringField;
CDSsubfname: TStringField;
CDSsubfunit: TStringField;
CDSsubftype: TStringField;
CDSsuboldfqty: TFloatField;
wwDBEdit2: TwwDBEdit;
wwDBEdit6: TwwDBEdit;
wwDBEdit7: TwwDBEdit;
CDSmasterfnote1: TWideStringField;
CDSmasterfnote2: TWideStringField;
CDSmasterfnote3: TWideStringField;
CDSmasterbb: TWideStringField;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CDSsubCalcFields(DataSet: TDataSet);
procedure GridColumns3EditButtonDown(Sender: TObject;
TopButton: Boolean; var AutoRepeat, Handled: Boolean);
procedure PDJComEdit1ClickButton(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure acsaveExecute(Sender: TObject);
procedure p05Execute(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure GridColExit(Sender: TObject);
procedure aclineaddExecute(Sender: TObject);
procedure acaddExecute(Sender: TObject);
procedure CDSsubBeforePost(DataSet: TDataSet);
procedure GridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure CDSsubAfterInsert(DataSet: TDataSet);
private
procedure creastoredata;
{ Private declarations }
public
{ Public declarations }
end;
var
frmpurchase: Tfrmpurchase;
implementation
uses Global, upurchase_f;
{$R *.dfm}
procedure Tfrmpurchase.creastoredata;
begin
with CDSstore do
begin
close;
FieldDefs.Add('选项',ftString,20);
CreateDataSet;
AppendRecord(['仓库1']);
AppendRecord(['仓库2']);
open;
end;
end;
procedure Tfrmpurchase.FormCreate(Sender: TObject);
begin
inherited;
titlecaption:='采购管理';
Maintable:='Tpurchase';
MainView:='Vpurchase';
SubTable:='Tpurchasesub';
Subview:='Vpurchasesub';
Searchfrm:=Tfrmpurchase_f;
frname:=gs_appPath+'\Prints\frpurchase.frf';
Keyfield:='fid';
iBillTypeid:=1;
end;
procedure Tfrmpurchase.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;
// spbtnprint.Click;
end;
procedure Tfrmpurchase.CDSsubCalcFields(DataSet: TDataSet);
begin
inherited;
with CDSsub do
begin
Fieldbyname('famount').AsFloat:=RoundFloat(fieldbyname('fqty').AsFloat*
fieldbyname('fprice').AsFloat,2);
end;
end;
procedure Tfrmpurchase.GridColumns3EditButtonDown(Sender: TObject;
TopButton: Boolean; var AutoRepeat, Handled: Boolean);
begin
inherited;
Selectsub;
end;
procedure Tfrmpurchase.PDJComEdit1ClickButton(Sender: TObject);
begin
inherited;
OpenDialog1.Execute;
pdjcomedit1.Text:=opendialog1.FileName;
bitbtn1.Click;
end;
procedure Tfrmpurchase.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['fname']:=CDSselectsub['fname'];
CDSsub['fcode']:=str1;
CDSsub['fqty'] := str2;
CDSsub['sdate']:=str3;
CDSsub['stime']:=str4;
// CDSsub['total'] :=strtofloat( str2)*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 Tfrmpurchase.acsaveExecute(Sender: TObject);
var
cmdStr:string;
begin
inherited;
cmdStr:='Insert into tptotal(fsid) values('+vartosql(inNumber)+')';
Execsql(cmdStr);
end;
procedure Tfrmpurchase.p05Execute(Sender: TObject);
var
excelid, mybook: variant;
row, col, i, j, colcount, frow: integer;
excelflg: boolean;
rpstr: string;
per_count, datasum, dsum1, dsum2: integer;
datas1, datas2, datas3: string;
begin
//inherited;
CDSsub.DisableControls;
try
excelid := createoleobject('excel.application');
mybook := createoleobject('excel.sheet');
mybook := excelid.workbooks.add;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -