📄 pfm_inputspxx.pas
字号:
unit pfm_inputspxx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, Buttons, Db, ADODB, Mask, DBCtrls, ado_dm, DBTables,
Grids, DBGrids;
type
Tfm_inputspxx = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
GroupBox1: TGroupBox;
BBtnAddsblb: TBitBtn;
GroupBox2: TGroupBox;
DataSource1: TDataSource;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
DBEdit8: TDBEdit;
DBEdit16: TDBEdit;
DBEdit20: TDBEdit;
DBEdit21: TDBEdit;
DBEdit22: TDBEdit;
DBEdit23: TDBEdit;
DBEdit24: TDBEdit;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
DBEdit28: TDBEdit;
DBEdit30: TDBEdit;
DBEdit31: TDBEdit;
DBEdit32: TDBEdit;
DBEdit33: TDBEdit;
DBEdit34: TDBEdit;
DBEdit35: TDBEdit;
Query2: TQuery;
DataSource2: TDataSource;
Label1: TLabel;
CbBox1: TComboBox;
CbBox2: TComboBox;
Label2: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
BBtnAdd: TBitBtn;
Query1: TQuery;
TabSheet2: TTabSheet;
GroupBox3: TGroupBox;
DBGrid1: TDBGrid;
Query3: TQuery;
StProc1: TStoredProc;
Query2gysmc: TStringField;
Query2gysname: TStringField;
Label3: TLabel;
DBEdit1: TDBEdit;
Label4: TLabel;
DBEdit2: TDBEdit;
procedure BBtnAddsblbClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure CbBox1Change(Sender: TObject);
procedure DBEdit8Enter(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure BBtnAddClick(Sender: TObject);
procedure Query3BeforePost(DataSet: TDataSet);
private
{ Private declarations }
procedure GetDlSplb();
procedure GetxlSplb(dlbm:string);
public
{ Public declarations }
end;
var
fm_inputspxx: Tfm_inputspxx;
implementation
uses pfm_spbmlb;
{$R *.DFM}
var
dlspbmlist,xlspbmlist:Tstringlist;
sDbTable:String;
strFCnName:TStringList;
procedure Tfm_inputspxx.BBtnAddsblbClick(Sender: TObject);
begin
Application.CreateForm(Tfm_spbmlb, fm_spbmlb);
fm_spbmlb.showmodal;
fm_spbmlb.free;
end;
procedure Tfm_inputspxx.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
dlspbmlist.free;
xlspbmlist.free;
strFcnname.Free;
Action:=caFree;
end;
procedure Tfm_inputspxx.FormCreate(Sender: TObject);
var
i:integer;
begin
xlspbmlist:=Tstringlist.create;
dlspbmlist:=Tstringlist.create;
GetDlSplb();
if query3.active=false then query3.active:=true;
query3.insert;
sDbTable:='t_spxx';
strFCnName:=TStringlist.create;
strFCnname.Add('spbm=商品代码');
strFCnname.Add('sptxm=商品条形码');
strFCnname.Add('spmc=商品名称');
strFCnname.Add('ggxh=规格型号');
strFCnname.Add('dengji=等级');
strFCnname.Add('zhuangtai=商品状态');
strFCnname.Add('baozhuangdw=包装单位');
strFCnname.Add('baozhuangsl=包装数量');
strFCnname.Add('hh=货号');
strFCnname.Add('gysmc=供应商代码');
strFCnname.Add('cd=产地');
strFCnname.Add('wsjj=无税进价');
strFCnname.Add('jhsl=进价税率');
strFCnname.Add('wsdj=无税单价');
strFCnname.Add('xssl=销售税率');
strFCnname.Add('xsfs=销售方式');
strFCnname.Add('splb=商品类别');
strFCnname.Add('yhl=优惠率');
strFCnname.Add('shbz=审核标志');
strFCnname.Add('shrm=审核人');
strFCnname.Add('czym=操作员');
for i:=0 to dbgrid1.Columns.Count-1 do
dbgrid1.Columns.Items[i].Title.caption:=strFcnName.Values[dbgrid1.Columns.Items[i].FieldName];
end;
procedure Tfm_inputspxx.GetDlSplb();
var
miaoshu,bm:string;
begin
//获得大类商品编码
dlspbmlist.clear;
cbbox1.clear;
cbbox2.clear;
query1.active:=false;
query1.sql.clear;
query1.sql.Add('select * from t_spbmlb where lb=''大类''');
query1.active:=true;
while not query1.eof do
begin
miaoshu:=query1.fieldbyname('miaoshu').asstring;
bm:=query1.fieldbyname('dlbm').asstring;
cbbox1.items.add(miaoshu+'('+bm+')');
dlspbmlist.Add(bm);
query1.next;
end;
query1.active:=false;
if cbbox1.items.Count>0 then
begin
cbbox1.ItemIndex:=0;
end;
end;
procedure Tfm_inputspxx.GetXlSplb(dlbm:string);
var
miaoshu,bm:string;
begin
//获得小类商品编码
xlspbmlist.clear;
cbbox2.clear;
query1.active:=false;
query1.sql.clear;
query1.sql.Add('select * from t_spbmlb where lb=''小类'' and dlbm='''+dlbm+'''');
query1.active:=true;
while not query1.eof do
begin
miaoshu:=query1.fieldbyname('miaoshu').asstring;
bm:=query1.fieldbyname('xlbm').asstring;
cbbox2.items.add(miaoshu+'('+bm+')');
xlspbmlist.Add(bm);
query1.next;
end;
query1.active:=false;
if cbbox2.items.Count>0 then
begin
cbbox2.ItemIndex:=0;
end;
end;
procedure Tfm_inputspxx.CbBox1Change(Sender: TObject);
begin
if cbbox1.itemindex>=0 then
begin
GetXlSplb(dlspbmlist.Strings[cbbox1.itemindex]);
end;
end;
procedure Tfm_inputspxx.DBEdit8Enter(Sender: TObject);
begin
if length(dbedit8.text)<=3 then
begin
if (cbbox1.itemindex>=0) and (cbbox2.itemindex>=0) then
begin
dbedit8.text:=dlspbmlist.Strings[cbbox1.itemindex]+xlspbmlist.Strings[cbbox2.itemindex];
end;
end;
end;
procedure Tfm_inputspxx.PageControl1Change(Sender: TObject);
begin
//返回基本信息页面
if (pagecontrol1.ActivePageIndex=0) and ((query3.state<>dsedit) or (query3.state<>dsinsert)) then
begin
query3.insert;
exit;
end;
//列表信息页面
if query3.State=dsinsert then
begin
if application.MessageBox(pchar('先保存输入的商品信息吗?'),pchar('注意'),MB_YESNO)=IDYES then
begin
pagecontrol1.ActivePageIndex:=0;
exit;
end;
query3.Cancel;
end;
end;
procedure Tfm_inputspxx.BBtnAddClick(Sender: TObject);
begin
if query3.State=dsInsert then
begin
query3.post;
end;
end;
procedure Tfm_inputspxx.Query3BeforePost(DataSet: TDataSet);
begin
if length(query3.FieldByName('spbm').asstring)<>6 then
begin
application.MessageBox(pchar('商品的编码不足6位'),pchar('注意'),MB_okcancel);
abort;
end;
stproc1.ParamByName('@chSpbm').value:=query3.FieldByName('spbm').asstring;
stproc1.ExecProc;
if stproc1.ParamByName('@intExists').value=1 then
begin
showmessage('该商品编码已经存在,请使用其他编码');
abort;
end;
if query3.FieldByName('wsjj').asfloat=0 then
begin
application.MessageBox(pchar('商品的无税进价不能为0'),pchar('注意'),MB_okcancel);
abort;
end;
if query3.FieldByName('wsdj').asfloat=0 then
begin
application.MessageBox(pchar('商品的无税单价(销售价格)不能为0'),pchar('注意'),MB_okcancel);
abort;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -