📄 untgoodcodeselpei.pas
字号:
unit UntgoodCodeSelPei;
///2004-2-19 根据基础窗口fm_basequery 来写的 ydy
//2004-3-23ydy 根据新的商品编码来写
////2004-4-13 ydy create 用于选择商品编码和条码等信息 专门用于对avgrid的赋值
////不弹出条件来选择 支持多次取数据
///2004-4-26 专门增加为用来用于配送的商品选择
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, Buttons,DB, fm_BaseQueryStr;
type
TfmgoodCodeSelPei = class(TfmBaseQueryStr)
Panel3: TPanel;
Label2: TLabel;
CBType: TComboBox;
Label4: TLabel;
cbBrand: TComboBox;
Label3: TLabel;
CbBreed: TComboBox;
DataSource1: TDataSource;
procedure btnpagedownClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CBTypeChange(Sender: TObject);
procedure cbBrandChange(Sender: TObject);
procedure CbBreedChange(Sender: TObject);
procedure btnQueryClick(Sender: TObject);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1TitleClick(Column: TColumn);
procedure DBGrid1DblClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
show_mode:string;
count1,count2:integer;
end;
var
fmgoodCodeSelPei: TfmgoodCodeSelPei;
implementation
uses UntPosQuestBillStr, UntAskGoodsPlan,
UntPosAskBackBill, UntPosSendBill, untdatadm, func;
var
LocalCount:integer; //直接根据本地的值上传查询
Sqlstr:wideString;
{$R *.dfm}
////不要此处 因为双击只能选取一条数据
procedure TfmgoodCodeSelPei.FormActivate(Sender: TObject);
begin
inherited;
end;
///
procedure TfmgoodCodeSelPei.btnpagedownClick(Sender: TObject);
var
i:Integer;
t_sql,str1,strend:wideString;
quedata:olevariant;
lStart, lEnd : Integer;
begin
inherited;
// lStart := GetTickCount;
if not dmmain.DSquery.Active then exit;
screen.Cursor := crhourglass;
//关掉与DBGRID 的互动
dmmain.dsquery.DisableControls;
if combobox1.Text = '全部' then
begin
if (show_mode='配送收货单') or (show_mode='门店退货出库单') or (show_mode='门店配送退货申请单') then
begin
t_sql:='select * from [vSelectGoods] where type ='+''''+trim(cbtype.text)+'''' +' and brand =' +''''+trim(cbbrand.text)+'''';
T_sql := t_sql + ' and breed = ' + ''''+trim(cbbreed.text)+''''+' and storage_no='+''''+trim(shopid)+''''; //根据库存配送;
end else
begin
t_sql:='select * from [Vgoodscodeprice] where type ='+''''+trim(cbtype.text)+'''' +' and brand =' +''''+trim(cbbrand.text)+'''';
T_sql := t_sql + ' and breed = ' + ''''+trim(cbbreed.text)+''''; //选择商品
end;
end else
begin
if (show_mode='配送收货单') or (show_mode='门店退货出库单') or (show_mode='门店配送退货申请单') then
begin
t_sql:='select top ' + trim(ComboBox1.Text) +' * from [vSelectGoods] where type ='+''''+trim(cbtype.text)+'''' +' and brand =' +''''+trim(cbbrand.text)+'''';
T_sql := t_sql + ' and breed = ' + ''''+trim(cbbreed.text)+''''+' and storage_no='+''''+trim(shopid)+''''; //根据库存配送;
end else
begin
t_sql:='select top ' + trim(ComboBox1.Text) +' * from [Vgoodscodeprice] where type ='+''''+trim(cbtype.text)+'''' +' and brand =' +''''+trim(cbbrand.text)+'''';
T_sql := t_sql + ' and breed = ' + ''''+trim(cbbreed.text)+''''; //选择商品
end;
end;
str1 := ' and id > '+ inttostr(localcount);
strend := T_sql + str1;
///getmore 必须判断LOCALCOUNT是否大于RECORDCOUNT,如果大于则不执行。 条件更改以后必须重新为0
try
ipubtemp.ty_query(strend,quedata);
if not varisnull(quedata) then
begin
if dmmain.dsquery.Active then dmmain.dsquery.Close;
dmmain.dsquery.Open;
dmmain.dsquery.AppendData(quedata,true);
dmmain.dsquery.Last;
dmmain.dsquery.EnableControls;
//得到此次查询的键值
LocalCount := GetKeyFieldValue('id'); //传入具体字段
edtRecNo.Text := '当前共有'+inttostr(dmmain.dsquery.recordcount) +'条';
end else
begin
//不再有数据
dmmain.dsquery.EnableControls; //ydy 必须要
btnpagedown.Enabled := false;
screen.Cursor := crdefault;
exit;
end;
except
dmmain.dsquery.EnableControls;
dbgrid1.Refresh;
end;
dbgrid1.Refresh;
screen.Cursor := crdefault;
end;
procedure TfmgoodCodeSelPei.FormShow(Sender: TObject);
var
t_sql:string;
begin
inherited;
///////调类别
t_sql:='select * from [goods_type]';
// t_sql:='select distinct type from [goods_code]';
GetDataToComBoX(cbtype,t_sql,'type');
cbtype.ItemIndex := -1;
count1:=0;count2:=0;
end;
procedure TfmgoodCodeSelPei.CBTypeChange(Sender: TObject);
var
t_sql:string;
begin
inherited;
if dmmain.DSquery.Active then dmmain.DSquery.Close;
t_sql:='select distinct brand from [goods_code] where type ='+''''+trim(cbtype.text)+'''';
GetDataToComBoX(cbBrand,t_sql,'brand');
cbBrand.ItemIndex := -1;
cbbreed.Clear;
end;
procedure TfmgoodCodeSelPei.cbBrandChange(Sender: TObject);
var
t_sql:string;
begin
inherited;
if dmmain.DSquery.Active then dmmain.DSquery.Close;
if cbtype.Text = '' then exit;
t_sql:='select distinct breed from [goods_code] where type ='+''''+trim(cbtype.text)+'''' +' and brand =' +''''+trim(cbbrand.text)+'''';
GetDataToComBoX(cbBreed,t_sql,'breed');
cbBreed.ItemIndex := -1;
end;
procedure TfmgoodCodeSelPei.CbBreedChange(Sender: TObject);
var
t_sql:string;
quedata:olevariant;
//TempInterface: IromecheckDisp; //ydy modify
begin
inherited;
////////////查询数据
if cbbrand.Text = '' then exit;
screen.Cursor := crhourglass;
//关掉与DBGRID 的互动
dmmain.dsquery.DisableControls;
if (show_mode='配送收货单') or (show_mode='门店退货出库单') or (show_mode='门店配送退货申请单') then
begin
t_sql:='select top 20 * from [vSelectGoods] where type ='+''''+trim(cbtype.text)+'''' +' and brand =' +''''+trim(cbbrand.text)+'''';
T_sql := t_sql + ' and breed = ' + ''''+trim(cbbreed.text)+''''+' and storage_no='+''''+trim(shopid)+''''; //根据库存配送;
end else
begin //配送申请
t_sql:='select top 20 * from [Vgoodscodeprice] where type ='+''''+trim(cbtype.text)+'''' +' and brand =' +''''+trim(cbbrand.text)+'''';
T_sql := t_sql + ' and breed = ' + ''''+trim(cbbreed.text)+''''; //选择商品
end;
try
ipubtemp.ty_query(t_sql,quedata);
if not varisnull(quedata) then
begin
if dmmain.DSquery.Active then dmmain.dsquery.Close;
dmmain.dsquery.Open;
dmmain.dsquery.Data:=quedata;
///ydy add
dmmain.dsquery.Last;
edtRecNo.Text := '当前已下载: '+inttostr(dmmain.dsquery.recordcount)+'条';
//重新打开
dmmain.dsquery.EnableControls;
dbgrid1.Refresh;
//得到此次查询的键值
LocalCount := GetKeyFieldValue('id'); //传入具体字段
end else
begin
//不再有数据
dmmain.dsquery.EnableControls; //ydy 必须要
btnpagedown.Enabled := false;
screen.Cursor := crdefault;
exit;
end;
except
dmmain.dsquery.EnableControls;
dbgrid1.Refresh;
end;
dbgrid1.Refresh; //ydy add 2004-4-13
//释放接口
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -