📄 untlimitgoods.pas
字号:
unit Untlimitgoods;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, fm_Base, DB, StdCtrls, Buttons, Grids, DBGrids, ExtCtrls, Menus,
DBClient;
/////////////////////// 定义数据集合
type Tsendrequirement =record //需求
codes:string;
copy_date:string;
part:string;
storage:string;
shop:string;
Transactor:string;
Condense:string;
R_Remark:string;
end;
/////////////
////////////////////////////
type
Tfmlimitgoods = class(TfmBase)
Panel1: TPanel;
Label1: TLabel;
LblSort: TLabel;
ComboBox1: TComboBox;
edtTime: TEdit;
DBGrid1: TDBGrid;
Panel2: TPanel;
btnExit: TBitBtn;
btnpagedown: TBitBtn;
BtnSort: TBitBtn;
BitBtn1: TBitBtn;
ds_warn_limit: TDataSource;
edtRecNo: TEdit;
PopupMenu1: TPopupMenu;
Ngoods: TMenuItem;
Nbatch: TMenuItem;
btnauto: TBitBtn;
cdsmasterdata: TClientDataSet;
cdsdetaildata: TClientDataSet;
procedure btnExitClick(Sender: TObject);
procedure BtnSortClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure btnpagedownClick(Sender: TObject);
procedure btnautoMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure btnautoClick(Sender: TObject);
procedure NgoodsClick(Sender: TObject);
procedure NbatchClick(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
managerid:string;
senddata:tsendrequirement;
LocalCount:integer;
procedure readdata;
public
{ Public declarations }
tempsql,tables,tj:string;
btnmode:integer;
end;
var
fmlimitgoods: Tfmlimitgoods;
implementation
uses func, untdatadm,fm_SetColumn, Udlgstock, Data;
{$R *.dfm}
procedure Tfmlimitgoods.readdata;
var
t_sql:widestring;
quedata:olevariant;
begin
dmmain.cdsquery.Close;
dmmain.cdsquery.Data:=null;
quedata:=null;
screen.Cursor := crhourglass;
//关掉与DBGRID 的互动
dmmain.cdsquery.DisableControls;
tables:=' * from [Vwaning_limit]'; //表明
tempsql:= 'select top 20 ';
T_sql := tempsql+tables+tj;
try
if dmmain.cdsquery.Active then dmmain.cdsquery.Close;
dmmain.cdsquery.Data:=null;
quedata:=adisp.GetRecord(t_sql);
if not varisnull(quedata) then
begin
dmmain.cdsquery.Data:=quedata;
dmmain.cdsquery.Open;
quedata:=null;
///ydy add
dmmain.cdsquery.Last;
edtRecNo.Text := '当前已下载: '+inttostr(dmmain.cdsquery.recordcount)+'条';
//重新打开
dmmain.cdsquery.EnableControls;
dbgrid1.Refresh;
//得到此次查询的键值
LocalCount := GetKeyFieldValue('id',dmmain.cdsquery); //传入具体字段
end else
begin
//不再有数据
dmmain.cdsquery.EnableControls; //ydy 必须要
btnpagedown.Enabled := false;
screen.Cursor := crdefault;
exit;
end;
except
dmmain.cdsquery.EnableControls;
dbgrid1.Refresh;
end;
dbgrid1.Refresh;
screen.Cursor := crdefault;
end;
procedure Tfmlimitgoods.btnExitClick(Sender: TObject);
begin
inherited;
close;
end;
procedure Tfmlimitgoods.BtnSortClick(Sender: TObject);
begin
inherited;
if not DBGrid1.DataSource.DataSet.Active then exit;
with TfmSetColumn.Create(Self) do
try
showmodal;
finally
free;
end;
end;
procedure Tfmlimitgoods.FormShow(Sender: TObject);
var
sql:widestring;
begin
inherited;
dbgCur:=dbgrid1;
combobox1.ItemIndex:=0;
if btnmode=2 then
begin
sql:='select managerid from STOCK_Manager where storageid='+''''+trim(shopid)+'''';
dmmain.CDSexecsql.Close;
dmmain.CDSexecsql.Data:=null;
try
dmmain.CDSexecsql.Data:=adisp.execSql(sql);
dmmain.CDSexecsql.Open;
if not dmmain.CDSexecsql.IsEmpty then
begin
managerid:=trim(dmmain.CDSexecsql.fieldbyname('managerid').AsString );
nbatch.Enabled:=true; //配送单菜单为真
ngoods.Enabled:=false; // 商品需求为假
end;
except
end;
btnauto.Enabled:=true;
end;
readdata;
end;
procedure Tfmlimitgoods.BitBtn1Click(Sender: TObject);
begin
inherited;
dlgstock:=tdlgstock.Create(self);
dlgstock.showmode:=2;
dlgstock.ShowModal;
dlgstock.Free;
end;
procedure Tfmlimitgoods.btnpagedownClick(Sender: TObject);
var
i:Integer;
t_sql,str1,strend:wideString;
quedata:olevariant;
lStart, lEnd : Integer;
begin
inherited;
if not dmmain.cdsquery.Active then exit;
screen.Cursor := crhourglass;
dmmain.cdsquery.DisableControls;
if combobox1.Text = '全部' then
begin
tempsql:='select'
end else
begin
tempsql:='select top ' + trim(ComboBox1.Text);
end;
T_sql := tempsql+tables+tj;
str1 := ' and id > '+ inttostr(localcount);
strend := T_sql + str1;
try
quedata:=adisp.GetRecord(strend);
if not varisnull(quedata) then
begin
if dmmain.cdsquery.Active then dmmain.cdsquery.Close;
dmmain.cdsquery.Open;
dmmain.cdsquery.AppendData(quedata,true);
quedata:=null;
///ydy add
dmmain.cdsquery.Last;
dmmain.cdsquery.EnableControls;
//得到此次查询的键值
LocalCount := GetKeyFieldValue('id',dmmain.cdsquery); //传入具体字段
edtRecNo.Text := '当前共有'+inttostr(dmmain.cdsquery.recordcount) +'条';
end else
begin
//不再有数据
dmmain.cdsquery.EnableControls; //ydy 必须要
btnpagedown.Enabled := false;
screen.Cursor := crdefault;
exit;
end;
except
dmmain.cdsquery.EnableControls;
dbgrid1.Refresh;
end;
dbgrid1.Refresh;
screen.Cursor := crdefault;
end;
procedure Tfmlimitgoods.btnautoMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
p:Tpoint;
begin
inherited;
GetCursorPos(P);
PopupMenu1.Popup(p.x,p.y);
end;
procedure Tfmlimitgoods.btnautoClick(Sender: TObject);
var
p:Tpoint;
begin
inherited;
GetCursorPos(P);
btnautoMouseDown(sender,mbLeft,[ssLeft],p.x,p.Y);
end;
procedure Tfmlimitgoods.NgoodsClick(Sender: TObject);
var
x:integer;
BookmarkList: TBookmarkList;
TempBookmark: TBookmark;
temp,make:string;
begin
inherited;
///写商品需求表;
if dmmain.CDSquery.IsEmpty then
begin
Application.MessageBox('没有商品!',pchar(application.Title),mb_iconinformation);
exit;
end;
try
DBGrid1.Datasource.Dataset.DisableControls; //
temp:='select max(right(stock_no,4)) from goods_requirement where copy_date='+''''+formatdatetime('yyyy''-''mm''-''dd',date)+''''+' and part_no='+''''+trim(Handle_Part)+'''';
make:='SQ-'+trim(Handle_Part); //5-11 编码中用部门编号
senddata.codes:=setcode(temp,make);
senddata.copy_date:=formatdatetime('yyyy''-''mm''-''dd',date);
senddata.part:=trim(Handle_Part);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -