📄 uordergoods.pas
字号:
end;
if cbmstorage.Checked then
begin
str1:=' (';
i:=pos('仓库', trim(cmbmstorage.Text));
if i>0 then
begin
str1:=str1+''''+copy(trim(cmbmstorage.Text),i+4,length(trim(cmbmstorage.Text)))+''''+',';
end else
begin
str1:=str1+''''+trim(cmbmstorage.Text)+''''+',';
end;
zt:=true;
end ;
if cbstorages.Checked then
begin
if trim(cmbstorages.Text)<>'全部仓库' then
begin
if not zt then str1:=' (';
str1:=str1+''''+trim(cmbstorages.Text)+''''+',';
end else
begin
if not cbmstorage.Checked then str1:=' (';
for j:=0 to cmbstorages.Items.Count-2 do
begin
i:=pos('仓库', trim(cmbstorages.Items.Strings[j]));
if i>0 then
begin
str1:=str1+''''+copy(trim(cmbstorages.Items.Strings[j]),i+4,length(trim(cmbstorages.Items.Strings[j])))+''''+',';
end else
begin
str1:=str1+''''+trim(cmbstorages.Items.Strings[j])+''''+',';
end;
end;
end;
end;
if trim(str1)<>'' then
begin
str1:=copy(str1,1,length(str1)-1);
str1:=str1+')';
tj:=tj+'and storage_no in '+trim(str1);
end;
if ckbtype.Checked then tj:=tj+'and type='+''''+trim(cbtype.Text)+'''';
if ckbbrand.Checked then tj:=tj+'and brand='+''''+trim(cbbrand.Text)+'''';
if ckbbreed.Checked then tj:=tj+'and breed='+''''+trim(cbbreed.Text)+'''';
if cbamount.Checked then tj:=tj+'and goods_no='+''''+trim(edtamount.Text)+'''';
if cbball.Checked then tj:=tj+' and dball<='+trim(edtbbegin.Text)+' and dball>='+trim(edtbend.Text);
if cbpoll.Checked then tj:=tj+' and dpoll<='+trim(edtpbegin.Text)+' and dpoll>='+trim(edtpend.Text);
if cbnroms.Checked then tj:=tj+' and norms_type='+''''+trim(edtnorms.Text)+'''';
if ckbnewdate.Checked then Qdate:=' and copy_date>='+''''+trim(formatdatetime('yyyy-mm-dd',dtpbegin.Date))+''''+' and copy_date <='+''''+trim(formatdatetime('yyyy-mm-dd',dtpend.Date))+'''';
screen.Cursor := crHourGlass;
if trim(qdate)<> '' then
begin
tables:='a.id,a.barcode,a.stock_amount,a.Base_Unit,a.provider, a.goods_no,a.goods_name,a.type,a.brand,a.breed,b.orderamount,a.dball,a.dpoll,a.norms_type,a.storage_no,a.storage_name from vselectgoods as a inner join'+
'(select sum(a.goods_amount) as OrderAmount ,a.GOODS_NO from stock_contract_detail as a,stock_contract as b where a.contract_no=b.contract_no'+Qdate+' group by a.goods_no) as b on b.goods_no=a.goods_no';
end ;
temp:=tempsql+tables+tj;
try
datas:=adisp.GetRecord(temp);
except
application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
screen.Cursor := crdefault;
exit;
end;
////////////////////////////////
if not varisnull(datas) then
begin
cdssort.Data:=datas;
cdssort.Open;
datas:=null;
cdssort.Last;
LocalCount := GetKeyFieldValue('id',cdssort); //传入具体字段
btnpagedown.Enabled:=true;
with cdssort.IndexDefs.AddIndexDef do
begin
Fields := 'goods_no'; //
Options := [];
end;
cdssort.IndexDefs.Update;
cdssort.Open;
//if trim(str1)<>'' then tj:=tj+str1;
stringgrid1.Visible:=false;
dbgrid1.Visible:=true;
setdbgrid(dbgrid1,3);
end;
screen.Cursor := crdefault;
end;
procedure TfmOrderQuery.btnpagedownClick(Sender: TObject);
var
temp:widestring;
datas:oleVariant;
begin
inherited;
if not cdssort.Active then exit;
screen.Cursor := crhourglass;
cdssort.DisableControls;
try
temp:=tempsql+tables+tj+' and id>'+inttostr(localcount);
datas:=null;
try
datas:=adisp.GetRecord(temp);
except
application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
screen.Cursor := crdefault;
exit;
end;
if not varisnull(datas) then
begin
cdssort.Close;
cdssort.Open;
cdssort.AppendData(datas,true);
datas:=null;
cdssort.Last;
LocalCount := GetKeyFieldValue('id',cdssort); //传入具体字段
////////////////////////////////
with cdssort.IndexDefs.AddIndexDef do
begin
Fields := 'goods_no'; //
Options := [];
end;
cdssort.IndexDefs.Update;
cdssort.Open;
////////////////////////////////////// dmmain.cdsquery.Last;
//重新打开
cdssort.EnableControls;
setdbgrid(dbgrid1,3);
end else
begin
//不再有数据
cdssort.EnableControls; //ydy 必须要
btnpagedown.Enabled := false;
screen.Cursor := crdefault;
exit;
end;
except
end;
if stringgrid1.Visible then
begin
stringgrid1.RowCount:=2;
redata;
end;
screen.Cursor := crdefault;
btnpagedown.Enabled:=true;
end;
procedure TfmOrderQuery.BitBtn3MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
p:Tpoint;
begin
inherited;
GetCursorPos(P);
PopupMenu2.Popup(P.x,P.y);
end;
procedure TfmOrderQuery.BitBtn3Click(Sender: TObject);
var
p:Tpoint;
begin
inherited;
GetCursorPos(P);
BitBtn3MouseDown(sender,mbLeft,[ssLeft],p.X,p.Y);
end;
procedure TfmOrderQuery.N3Click(Sender: TObject);
begin
inherited;
dbgrid1.Visible:=true;
stringgrid1.Visible:=false;
end;
procedure TfmOrderQuery.N4Click(Sender: TObject);
begin
inherited;
if not cdssort.Active then
begin
application.MessageBox('请先查询数据!',pchar(application.Title),mb_iconinformation);
bitbtn1.SetFocus;
exit;
end;
dbgrid1.Visible:=false;
stringgrid1.Visible:=true;
inistringgrid(true);
end;
procedure TfmOrderQuery.BitBtn7Click(Sender: TObject);
begin
inherited;
close;
end;
procedure TfmOrderQuery.StringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
s:string;
r:TRect;
begin
inherited ;
with Sender as Tstringgrid do
begin
if gdSelected in State then
Canvas.Brush.Color:= clTeal; //clyellow;//clRed;
Canvas.TextRect(Rect,Rect.Left,Rect.Top,' '+Cells[ACol,ARow]);
if gdFocused in State then
Canvas.DrawFocusRect(Rect);
end;
with Sender as Tstringgrid do
begin
Canvas.FillRect(Rect);
s:=Cells[ACol,ARow];
r:=Rect;
DrawText(Canvas.Handle,PChar(s),Length(s),r,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
end;
with sender as tstringgrid do
begin
FixedCols:=1;
end;
end;
procedure TfmOrderQuery.cmbmstorageChange(Sender: TObject);
var
t_sql:string;
begin
inherited;
t_sql:='select storageid from stock_manager where managerid='+''''+trim(copy(trim(cmbmstorage.Text),pos('仓库',trim(cmbmstorage.Text))+4,length(trim(cmbmstorage.Text))))+'''';
GetDataToComBoX(cmbstorages,t_sql,'storageid');
cmbstorages.Items.Add('全部仓库');
cmbstorages.ItemIndex:=-1;
end;
procedure TfmOrderQuery.CBTypeChange(Sender: TObject);
var
t_sql:string;
begin
inherited;
//if dmmain.cDSquery.Active then dmmain.cDSquery.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 TfmOrderQuery.cbBrandChange(Sender: TObject);
var
t_sql:string;
begin
inherited;
//调品种
//if dmmain.cDSquery.Active then dmmain.cDSquery.Close;
if cbtype.Text = '' then exit;
t_sql:='select distinct breed from [goods_code] where brand ='+''''+trim(cbbrand.text)+'''' +' and type =' +''''+trim(cbtype.text)+'''';
GetDataToComBoX(cbBreed,t_sql,'breed');
cbBreed.ItemIndex := -1;
end;
procedure TfmOrderQuery.ckbtypeClick(Sender: TObject);
begin
inherited;
ckbcmb(ckbtype,cbtype);
CBTypeChange(cbtype);
end;
procedure TfmOrderQuery.ckbbrandClick(Sender: TObject);
begin
inherited;
ckbcmb(ckbbrand,cbbrand);
cbbrandchange(cbbrand);
end;
procedure TfmOrderQuery.ckbbreedClick(Sender: TObject);
begin
inherited;
ckbcmb(ckbbreed,cbbreed);
end;
procedure TfmOrderQuery.CbmstorageClick(Sender: TObject);
begin
inherited;
ckbcmb(cbmstorage,cmbmstorage);
end;
procedure TfmOrderQuery.cbstoragesClick(Sender: TObject);
begin
inherited;
ckbcmb(cbstorages,cmbstorages);
end;
procedure TfmOrderQuery.cbballClick(Sender: TObject);
begin
inherited;
ckbedits(cbball,EDTBBEGIN,edtbend);
end;
procedure TfmOrderQuery.cbamountClick(Sender: TObject);
begin
inherited;
ckbedit(cbamount,edtamount);
end;
procedure TfmOrderQuery.cbpollClick(Sender: TObject);
begin
inherited;
ckbedits(cbpoll,EDTpBEGIN,edtpend);
end;
procedure TfmOrderQuery.cbnromsClick(Sender: TObject);
begin
inherited;
ckbedit(cbnroms,edtnorms);
end;
procedure TfmOrderQuery.ckbnewDateClick(Sender: TObject);
begin
inherited;
ckbDtps(ckbnewdate,dtpbegin,dtpend);
end;
procedure TfmOrderQuery.btnprintClick(Sender: TObject);
begin
inherited;
if trim(stringgrid1.Cells[1,stringgrid1.RowCount-1])<>'' then
begin
fastrepxf:=tfastrepxf.Create(self);
fastrepxf.filenames:='OrderGoods.ini';
GetCopyGrid(fastrepxf.SGridData,stringgrid1);
fastrepxf.SGridData.Enabled:=true;
fastrepxf.ShowModal;
fastrepxf.Free;
end;
end;
procedure TfmOrderQuery.DBGrid1TitleClick(Column: TColumn);
begin
inherited;
if (not dbgrid1.DataSource.DataSet.Active ) then exit;
if trim(column.Field.AsString)='' then exit;
sortgrid(column.Field.FieldName,cdssort,dbgrid1,column);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -