📄 usp.pas
字号:
unit usp;
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;
type
Tfrmsp = class(TfrmMDIbaseinfo)
Label5: TLabel;
wwDBEdit4: TwwDBEdit;
Label6: TLabel;
wwDBEdit5: TwwDBEdit;
Label9: TLabel;
wwDBEdit8: TwwDBEdit;
wwDBDateTimePicker2: TwwDBDateTimePicker;
Label8: TLabel;
Label7: TLabel;
wwDBLookupCombo1: TwwDBLookupCombo;
CDSmasterfid: TAutoIncField;
CDSmasterfresid: TIntegerField;
CDSmasterfrefno: TWideStringField;
CDSmasterfstoreno: TWideStringField;
CDSmasterfprovider: TWideStringField;
CDSmasterfpurer: TWideStringField;
CDSmasterfpurstore: TWideStringField;
CDSmasterfdelivdate: TDateTimeField;
CDSmasterfnote: TWideStringField;
CDSmasterfcreadate: TDateTimeField;
CDSmasterfcreauser: TWideStringField;
CDSsubfid: TAutoIncField;
CDSsubfresid: TIntegerField;
CDSsubfitemid: TIntegerField;
CDSsubfqty: TBCDField;
CDSsubfprice: TBCDField;
CDSsubfamount: TFloatField;
CDSstore: TClientDataSet;
CDSstoreField: TStringField;
Timer1: TTimer;
BitBtn1: TBitBtn;
PDJComEdit1: TPDJComEdit;
OpenDialog1: TOpenDialog;
CDSsubfnote: TStringField;
con1: TADOConnection;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
CDSmasterpno: TStringField;
wwDBEdit2: TwwDBEdit;
Label10: TLabel;
Label11: TLabel;
wwDBEdit3: TwwDBEdit;
CDSmasterfprice: TFloatField;
CDSsubcolor: TStringField;
CDSsubfcode: TStringField;
CDSsubfname: TStringField;
CDSsubfunit: TStringField;
CDSsubftype: TStringField;
CDSsubcolorno: TStringField;
CDSsubzs: TStringField;
CDSsubgno: TStringField;
CDSsubtotal: TBCDField;
CDSsuboldfqty: TFloatField;
CDSsubs1: TFloatField;
CDSsubs2: TFloatField;
CDSsubs3: TFloatField;
CDSsubs4: TFloatField;
CDSsubs5: TFloatField;
CDSsubs6: TFloatField;
CDSsubs7: TFloatField;
CDSsubs8: TFloatField;
CDSsubs9: TFloatField;
CDSsubs10: TFloatField;
CDSsubs11: TFloatField;
CDSsubs12: TFloatField;
CDSsubsw1: TFloatField;
CDSsubsw2: TFloatField;
CDSsubsw3: TFloatField;
CDSsubsw4: TFloatField;
CDSsubsw5: TFloatField;
CDSsubsw6: TFloatField;
CDSsubsw7: TFloatField;
CDSsubsw8: TFloatField;
CDSsubsw9: TFloatField;
CDSsubsw10: TFloatField;
CDSsubsw11: TFloatField;
CDSsubsw12: TFloatField;
wwDBEdit18: TwwDBEdit;
wwDBEdit17: TwwDBEdit;
wwDBEdit16: TwwDBEdit;
wwDBEdit15: TwwDBEdit;
wwDBEdit14: TwwDBEdit;
wwDBEdit13: TwwDBEdit;
wwDBEdit12: TwwDBEdit;
wwDBEdit11: TwwDBEdit;
wwDBEdit10: TwwDBEdit;
wwDBEdit9: TwwDBEdit;
wwDBEdit7: TwwDBEdit;
wwDBEdit6: TwwDBEdit;
Label12: TLabel;
CDSmasterss1: TWideStringField;
CDSmasters2: TWideStringField;
CDSmasters3: TWideStringField;
CDSmasters4: TWideStringField;
CDSmasters5: TWideStringField;
CDSmasters6: TWideStringField;
CDSmasters7: TWideStringField;
CDSmasters8: TWideStringField;
CDSmasters9: TWideStringField;
CDSmasters10: TWideStringField;
CDSmasters11: TWideStringField;
CDSmasters12: TWideStringField;
wwDBEdit19: TwwDBEdit;
Label13: TLabel;
Label16: TLabel;
wwDBEdit22: TwwDBEdit;
wwDBEdit21: TwwDBEdit;
Label15: TLabel;
CDSmasterfkh: TStringField;
CDSmasterfgx: TStringField;
CDSmasterfks: 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 GridColExit(Sender: TObject);
procedure wwDBEdit6Change(Sender: TObject);
procedure wwDBEdit7Change(Sender: TObject);
procedure wwDBEdit9Change(Sender: TObject);
procedure wwDBEdit10Change(Sender: TObject);
procedure wwDBEdit11Change(Sender: TObject);
procedure wwDBEdit12Change(Sender: TObject);
procedure wwDBEdit13Change(Sender: TObject);
procedure wwDBEdit14Change(Sender: TObject);
procedure wwDBEdit15Change(Sender: TObject);
procedure wwDBEdit16Change(Sender: TObject);
procedure wwDBEdit17Change(Sender: TObject);
procedure wwDBEdit18Change(Sender: TObject);
procedure CDSsubBeforePost(DataSet: TDataSet);
procedure GridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
procedure creastoredata;
{ Private declarations }
public
{ Public declarations }
end;
var
frmsp: Tfrmsp;
implementation
uses ustore_f, Global;
{$R *.dfm}
procedure Tfrmsp.CDSsubCalcFields(DataSet: TDataSet);
begin
inherited;
with CDSSub do
begin
Fieldbyname('famount').AsFloat:=fieldbyname('fqty').AsFloat*
fieldbyname('fprice').AsFloat;
end;
end;
procedure Tfrmsp.creastoredata;
begin
with CDSstore do
begin
close;
FieldDefs.Add('选项',ftString,20);
CreateDataSet;
AppendRecord(['公司内部仓库']);
open;
end;
end;
procedure Tfrmsp.GridColumns2EditButtonDown(Sender: TObject;
TopButton: Boolean; var AutoRepeat, Handled: Boolean);
begin
inherited;
Selectsub;
end;
procedure Tfrmsp.FormCreate(Sender: TObject);
begin
inherited;
titlecaption:='收片管理';
Maintable:='Tsp';
MainView:='Vsp';
SubTable:='Tspsub';
Subview:='Vspsub';
Searchfrm:=Tfrmstore_f;
frname:=gs_appPath+'\Prints\frsp.frf';
Keyfield:='fid';
iBillTypeid:=2;
// adoconnection1.ConnectionString:=gs_appPath+'kc.udl';
// adoconnection1.Connected:=true;
end;
procedure Tfrmsp.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;
end;
procedure Tfrmsp.acsaveExecute(Sender: TObject);
var
cmdStr:string;
begin
inherited;
cmdStr:='Insert into tptotal(fpid) values('+vartosql(inNumber)+')';
Execsql(cmdStr);
end;
procedure Tfrmsp.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 Tfrmsp.PDJComEdit1ClickButton(Sender: TObject);
var
s,str1,str2,str3,str4:string;
i, ii,jj:integer;
ini:textfile;
Searcht, usercode:string;
begin
inherited;
if cdsmaster.State in [dsedit,dsinsert] then
begin
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select a.fitemid,a.fqty,a.fprice,a.total,a.fnote,b.fpurno,b.fkh,b.fks,b.fgx,b.fprovider,b.fpurer,b.fpurstore,');
adoquery1.SQL.add(' b.frefno,b.fdelivdate,b.fnote as note2,b.fcreauser,b.pno,b.fprice as price2,');
adoquery1.SQL.add(' b.ss1,b.s2 ss2,b.s3 ss3,b.s4 ss4,b.s5 ss5 ,b.s6 ss6,b.s7 ss7,b.s8 ss8,b.s9 ss9,b.s10 ss10,b.s11 ss11,b.s12 ss12,');
adoquery1.SQL.add(' a.s1,a.s2,a.s3,a.s4,a.s5,a.s6,a.s7,a.s8,a.s9,a.s10,a.s11,a.s12,');
adoquery1.SQL.add(' a.sw1,a.sw2,a.sw3,a.sw4,a.sw5,a.sw6,a.sw7,a.sw8,a.sw9,a.sw10,a.sw11,a.sw12,');
adoquery1.SQL.add(' c.fid,c.fcode,c.fname,c.zs,c.funit,c.ftype,a.colorno,a.color,a.gno from Tfzsub a,Tfz b ,titem c');
adoquery1.SQL.add(' where a.fresid=b.fresid and c.fid=a.fitemid');
if billno.text<>'' then
begin
adoquery1.SQL.add(' and b.frefno =:frefno');
adoquery1.Parameters.ParamByName('frefno').Value:=billno.Text;
end;
if wwDBEdit2.Text<>'' then
begin
adoquery1.SQL.add(' and b.pno =:pno');
adoquery1.Parameters.ParamByName('pno').Value:=wwdbedit2.Text;
end;
if wwDBEdit5.Text<>'' then
begin
adoquery1.SQL.add(' and b.fprovider =:fprovider');
adoquery1.Parameters.ParamByName('fprovider').Value:=wwdbedit5.Text;
end;
adoquery1.Open;
{ if adoquery1.RecordCount>0 then
begin
if adoquery1.fieldbyname('ss1').Value<>NULL then
grid.Columns[13].Title.caption:=adoquery1.fieldbyname('ss1').Value;
if adoquery1.fieldbyname('ss2').Value<>NULL then
grid.Columns[15].Title.caption:=adoquery1.fieldbyname('ss2').Value;
if adoquery1.fieldbyname('ss3').Value<>NULL then
grid.Columns[17].Title.caption:=adoquery1.fieldbyname('ss3').Value;
if adoquery1.fieldbyname('ss4').Value<>NULL then
grid.Columns[19].Title.caption:=adoquery1.fieldbyname('ss4').Value;
if adoquery1.fieldbyname('ss5').Value<>NULL then
grid.Columns[21].Title.caption:=adoquery1.fieldbyname('ss5').Value;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -