📄 store.pas
字号:
unit store;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, edit, StdCtrls, Mask, DBCtrls, Buttons, ComCtrls, Grids, DBGrids,
DBCtrlsEh, DBLookupEh, DB;
type
TgoodsForm = class(TedtForm)
Label1: TLabel;
DEname: TDBEdit;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet3: TTabSheet;
Label3: TLabel;
Label4: TLabel;
chkCombine: TCheckBox;
Label5: TLabel;
Label6: TLabel;
Label13: TLabel;
DEbarcode: TDBEdit;
DEinprice: TDBEdit;
Label7: TLabel;
Label8: TLabel;
DESpePrice: TDBEdit;
lblSalePrice2: TLabel;
Label9: TLabel;
DESalePrice2: TDBEdit;
Label10: TLabel;
DESalePrice: TDBEdit;
DESpePrice2: TDBEdit;
Label11: TLabel;
DBGrid1: TDBGrid;
Label14: TLabel;
Label15: TLabel;
DEperqty: TDBEdit;
DEDownQty: TDBEdit;
DETopQty: TDBEdit;
lblSpePrice1: TLabel;
lblSalePrice1: TLabel;
lblSpePrice2: TLabel;
Label18: TLabel;
DBMemo1: TDBMemo;
lbl_inprice2: TLabel;
DBinprice2: TDBEdit;
lblinprice1: TLabel;
lblinprice2: TLabel;
edtGoodType: TDBEditEh;
cbbUnits: TDBComboBoxEh;
cbbUnit2: TDBComboBoxEh;
Label2: TLabel;
edtPArea: TDBEdit;
procedure BtnPriorClick(Sender: TObject);
procedure BtnNextClick(Sender: TObject);
procedure BtnSaveClick(Sender: TObject);
procedure BtnaddClick(Sender: TObject);
procedure BtnexitClick(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure DEbarcodeExit(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure DBEditEh1EditButtons0Click(Sender: TObject;
var Handled: Boolean);
procedure DEnoExit(Sender: TObject);
private
{ Private declarations }
sOldBarcode:string;
procedure SearchBarcode(sBarcode:string);
public
{ Public declarations }
end;
var
goodsForm: TgoodsForm;
implementation
uses datamodule1, TreeEditBase, TreeGoodsType;
{$R *.dfm}
procedure TgoodsForm.BtnPriorClick(Sender: TObject);
begin
inherited;
SetButtonPrior(DataE2.DSGoods);
end;
procedure TgoodsForm.BtnNextClick(Sender: TObject);
begin
inherited;
SetButtonNext(DataE2.dsGoods);
end;
procedure TgoodsForm.BtnSaveClick(Sender: TObject);
var
nTmp:Integer;
begin
inherited;
if (DEperqty.Text='') or (DEperqty.Text='0') then
begin
Application.MessageBox('规格不能为空!','错误',64);
DEperqty.SetFocus;
exit;
end;
if edtGoodType.Text='' then
begin
Application.MessageBox('类别不能为空!','错误',64);
edtGoodType.SetFocus;
exit;
end;
with dataE2.tblGoods do
begin
edit;
fieldbyname('isused').Asboolean :=chkStopUsed.checked;//nTmp;
fieldbyname('isCombine').asboolean:=chkComBine.checked;//false;//AsInteger :=nTmp;
end;
SetButtonSave(DataE2.dsGoods);
end;
procedure TgoodsForm.BtnaddClick(Sender: TObject);
begin
inherited;
SetButtonAdd(DataE2.dsGoods);
end;
procedure TgoodsForm.BtnexitClick(Sender: TObject);
begin
inherited;
SetButtonCancel(DataE2.dsGoods);
end;
procedure TgoodsForm.PageControl1Change(Sender: TObject);
begin
inherited;
if PageControl1.ActivePageIndex =1 then
with dataE2 do
begin
if QuerySum.active then QuerySum.close;
querySum.sql.clear;
QuerySum.sql.Add('select o.*,s.name from onhand o,store s where o.goodsid= :goodsid and o.storeid=s.storeid');
QuerySum.parameters[0].Value:=tblGoods.fieldbyname('goodsid').asinteger;
QuerySum.open;
end;
end;
procedure TgoodsForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
if dataE2.QuerySum.active then dataE2.QuerySum.close;
end;
procedure TgoodsForm.FormShow(Sender: TObject);
begin
inherited;
//条块码的初始值,只有当修改前后的值不同,才搜索GoodsBase表
sOldBarcode:=deBarcode.text;
BtnPrior.Enabled:=not (DataE2.tblGoods.State = dsInsert);
BtnNext.Enabled:=not (DataE2.tblGoods.State = dsInsert);
with datae2.qryGet do //加入单位
begin
Close;
SQL.Clear;
SQL.Add('select units,unit2 from unitType');
Open;
First;
cbbUnits.Items.Clear;
cbbUnit2.Items.Clear;
While Not Eof do
begin
cbbUnits.Items.Add(FieldByName('units').AsString);
cbbUnit2.Items.Add(FieldByName('unit2').AsString);
Next;
end;
end;
end;
procedure TgoodsForm.DEbarcodeExit(Sender: TObject);
begin
inherited;
if deBarcode.text<>sOldBarcode then
SearchBarcode(deBarcode.text);
end;
procedure TgoodsForm.SearchBarcode(sBarcode:string);
begin
with dataE2 do
begin
if adoquery1.active then adoquery1.Close;
adoQuery1.sql.clear;
adoQuery1.sql.Add('select * from GoodsBase where barcode= :barcode');
adoquery1.Parameters[0].value:=sbarcode;
adoquery1.Open;
if not adoquery1.Eof then
begin
tblGoods.edit;
tblGoods.fieldbyname('name').Asstring :=adoQuery1.fieldbyname('name').Asstring;
tblGoods.fieldbyname('typeCode').Asstring :=adoQuery1.fieldbyname('typecode').Asstring;
tblGoods.fieldbyname('Memcode').Asstring :=adoQuery1.fieldbyname('memcode').Asstring;
tblGoods.fieldbyname('units').Asstring :=adoQuery1.fieldbyname('units').Asstring;
tblGoods.fieldbyname('unit2').Asstring :=adoQuery1.fieldbyname('unit2').Asstring;
tblGoods.fieldbyname('perQty').AsFloat :=adoQuery1.fieldbyname('perQty').AsFloat;
tblGoods.fieldbyname('inPrice').AsCurrency :=adoQuery1.fieldbyname('inPrice').Ascurrency;
tblGoods.fieldbyname('SalePrice').AsCurrency :=adoQuery1.fieldbyname('SalePrice').Ascurrency;
end;
end; //with
end;
procedure TgoodsForm.FormActivate(Sender: TObject);
begin
inherited;
lblSalePrice1.Visible:=not (dataE2.HotelSpe>100);
lblSpePrice1.Visible:=not (dataE2.HotelSpe>100);
lblSalePrice2.Visible:=not (dataE2.HotelSpe>100);
lblSpePrice2.Visible:=not (dataE2.HotelSpe>100);
lbl_inprice2.Visible:=not (dataE2.HotelSpe>100);
DBinprice2.Visible:=not (dataE2.HotelSpe>100);
lblinprice2.Visible:=not (dataE2.HotelSpe>100);
lblinprice1.Visible:=not (dataE2.HotelSpe>100);
if dataE2.HotelSpe=102 then //102是又批发又用超市收银
begin
lblSalePrice2.Caption:='(会员价)';
lblSpePrice2.Caption:='(零售价)';
lblSalePrice2.Visible:=true;
lblSpePrice2.Visible:=true; end
else if dataE2.HotelSpe<100 then
begin
lblSalePrice2.Caption:='(支批发价)';
lblSpePrice2.Caption:='(支零售价)';
lblSalePrice2.Visible:=True;
lblSpePrice2.Visible:=true;
end;
if dataE2.HotelSpe>100 then
begin
lblSalePrice1.Caption:='(会员价)';
lblSpePrice1.Caption:='(零售价)';
lblSalePrice1.Visible:=(dataE2.HotelSpe>100);
lblSpePrice1.Visible:=(dataE2.HotelSpe>100);
end;
end;
procedure TgoodsForm.DBEditEh1EditButtons0Click(Sender: TObject;
var Handled: Boolean);
begin
inherited;
TreeGoodsTypeFrm.NewSQL1:='select * from goodsType order by Type';
TreeGoodsTypeFrm.NewCaption:='货品类别';
TreeGoodsTypeFrm.NewSQL2:='select * from goodstype1 where type=:Type order by Type,code1';
TreeGoodsTypeFrm.NewSQL3:='select * from goodstype2 where type=:Type and code1=:code1 order by Type,code1,code2';
if TreeGoodsTypeFrm.showmodal=mrok then
with dataE2 do
begin
tblGoods.Edit;
tblGoods.FieldByName('TypeCode').AsString :=TreeGoodsTypeFrm.xName;
end;
end;
procedure TgoodsForm.DEnoExit(Sender: TObject);
var
sCode:String;
begin
inherited;
with DataE2.QueryTmp do
begin
Close;
SQL.Clear;
SQL.Add('select * from goods where code=:code or barcode=:barcode');
Parameters[0].Value:=Trim(DEno.Text);
Parameters[1].Value:=Trim(DEno.Text);
Open;
if Not Eof then
with dataE2.tblGoods do
begin
sCode:=Trim(DEno.Text);
dataE2.tblGoods.Cancel;
if Length(sCode)<8 then
locate('code',sCode,[loPartialKey])
else
locate('barcode',sCode,[loPartialKey]);
dataE2.tblGoods.Edit;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -