?? jm_fhdsc_getpp.pas
字號:
while not eof do
begin
if FieldByName('PPDM').AsString = rxQry_kxpp.FieldByName('PPDM').AsString then
begin
Result := true;
Exit;
end;
Next;
end;
EnableConstraints;
end;
end;
begin
if (rg_fplb.ItemIndex = 1) and (DCBo_yyy.KeyValue = null) then
begin
CHQMsgBox('請先選擇營業(yè)員,再選票品!');
exit;
end;
if DBG_ckpp.Columns[0].Title.caption = '發(fā)貨單號' then
bbt_nextClick(nil);
Before_Insert := rxQry_ckpp.BeforeInsert;
rxQry_ckpp.BeforeInsert := nil;
try
if not rxQry_ckpp.Active then
begin
rxQry_ckpp.Close;
rxQry_ckpp.Open;
end;
SetFHDHDisplay('營業(yè)員');
rxQry_ckpp.Edit;
case rg_fplb.ItemIndex of
0: //單——多去向
begin
if not CheckExisted then
begin
qry_yyy.First;
while not qry_yyy.Eof do
begin
Addckpp;
qry_yyy.Next;
end;
end;
end;
1: //多——單去向
if not CheckExisted then
Addckpp;
end;
rg_fplb.Enabled := false;
except
end;
rxQry_ckpp.BeforeInsert := Before_Insert;
end;
procedure Tfrm_FHDSC_GETPP.BBt_okClick(Sender: TObject);
begin
if rxQry_ckpp.IsEmpty then
exit;
rxQry_ckpp.first;
while not rxQry_ckpp.Eof do
begin
if rxQry_ckpp.FieldByName('SL').AsFloat = 0 then
rxQry_ckpp.Delete
else
rxQry_ckpp.next;
end;
if CheckKC = 1 then
Exit;
GenerateFHD;
rg_fplb.Enabled := true;
InitData(1);
end;
procedure Tfrm_FHDSC_GETPP.BBt_nextClick(Sender: TObject);
begin
if not rxQry_ckpp.IsEmpty then
rxQry_ckpp.CancelUpdates;
if not qry_fhd.IsEmpty then
qry_fhd.CancelUpdates;
rg_fplb.Enabled := true;
end;
procedure Tfrm_FHDSC_GETPP.rxQry_kxppDJGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure Tfrm_FHDSC_GETPP.rxQry_kxppDJSetText(Sender: TField;
const Text: string);
begin
CurrSetText(Sender, Text);
end;
procedure Tfrm_FHDSC_GETPP.InitData(init: integer);
var
fkfxx: Pkfxx;
begin
Cmb_kfdm.Items.Clear;
with Qry_kfdm do
begin
Close;
SQL.Clear;
SQL.Add('select a.kfdm,a.kfmc from tgs_kfb a,tgs_kfrydzb b where b.kfdm=a.kfdm and b.ygdm=''' + VG_USERID + '''');
Open;
First;
while not eof do
begin
new(fkfxx);
fkfxx^.kfdm := FieldByName('kfdm').AsString;
fkfxx^.kfmc := FieldByName('kfmc').AsString;
Cmb_kfdm.Items.AddObject(FieldByName('kfmc').AsString, TObject(fkfxx));
next;
end;
end;
if init = 0 then
begin
if Cmb_kfdm.Items.Count > 0 then
begin
Cmb_kfdm.ItemIndex := 0;
rxQry_kxpp.Close;
case L_type of
io_jyp: rxQry_kxpp.SQL := SqlStrings1.jyp_Sql;
io_yp: rxQry_kxpp.SQL := SqlStrings1.yp_Sql;
io_grp: rxQry_kxpp.SQL := SqlStrings1.grp_Sql;
end;
rxQry_kxpp.Params[0].Value := Pkfxx(Cmb_kfdm.Items.Objects[0])^.kfdm;
rxQry_kxpp.Open;
end;
end
else
begin
if Cmb_kfdm.Items.Count > 0 then
begin
Cmb_kfdm.ItemIndex := Cmb_kfdm.Items.IndexOf(Cmb_kfdm.text);
rxQry_kxpp.Close;
case L_type of
io_jyp: rxQry_kxpp.SQL := SqlStrings1.jyp_Sql;
io_yp: rxQry_kxpp.SQL := SqlStrings1.yp_Sql;
io_grp: rxQry_kxpp.SQL := SqlStrings1.grp_Sql;
end;
rxQry_kxpp.Params[0].Value := Pkfxx(Cmb_kfdm.Items.Objects[Cmb_kfdm.Items.IndexOf(Cmb_kfdm.text)])^.kfdm;
rxQry_kxpp.Open;
end;
end;
end;
procedure Tfrm_FHDSC_GETPP.rg_fplbClick(Sender: TObject);
begin
case rg_fplb.ItemIndex of
0: dcbo_yyy.Enabled := False;
1: dcbo_yyy.Enabled := True;
end;
end;
procedure Tfrm_FHDSC_GETPP.rxQry_kxppJJGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure Tfrm_FHDSC_GETPP.rxQry_kxppJJSetText(Sender: TField;
const Text: string);
begin
CurrSetText(Sender, Text);
end;
procedure Tfrm_FHDSC_GETPP.rxQry_kxppYJGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure Tfrm_FHDSC_GETPP.rxQry_kxppYJSetText(Sender: TField;
const Text: string);
begin
CurrSetText(Sender, Text);
end;
procedure Tfrm_FHDSC_GETPP.rxQry_kxppXJGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure Tfrm_FHDSC_GETPP.rxQry_kxppXJSetText(Sender: TField;
const Text: string);
begin
CurrSetText(Sender, Text);
end;
procedure Tfrm_FHDSC_GETPP.rxQry_kxppJSJGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure Tfrm_FHDSC_GETPP.rxQry_kxppJSJSetText(Sender: TField;
const Text: string);
begin
CurrSettext(SEnder, Text);
end;
procedure Tfrm_FHDSC_GETPP.Cmb_kfdmChange(Sender: TObject);
begin
InitData(1);
end;
procedure Tfrm_FHDSC_GETPP.rxQry_ckppBeforeInsert(DataSet: TDataSet);
begin
Abort;
end;
procedure Tfrm_FHDSC_GETPP.SetFHDHDisplay(DisplayLabel: string);
begin
DBG_ckpp.Columns[0].Title.Caption := DisplayLabel;
if DisplayLabel = '發(fā)貨單號' then
begin
DBG_ckpp.Columns[1].ReadOnly := True;
BBt_ok.Enabled := False;
end
else
begin
DBG_ckpp.Columns[1].ReadOnly := False;
bbt_ok.Enabled := True;
end;
end;
function Tfrm_FHDSC_GETPP.CheckKC: Integer;
var
StrSql, old_ppdm, old_jj, old_kfdm: string;
FPSL: Integer;
BK: TBookMark;
begin
Result := 0;
if rxQry_ckpp.IsEmpty then exit;
rxQry_ckpp.First;
with rxQry_ckpp do
begin
while not eof do
begin
Fpsl := 0;
old_ppdm := FieldbyName('ppdm').AsString;
old_jj := Fieldbyname('jj').AsString;
old_kfdm := Fieldbyname('kfdm').AsString;
BK := GetBookmark;
with rxQry_ckpp do
begin
First;
while not eof do
begin
if (FieldbyName('ppdm').AsString = old_ppdm) and (FieldbyName('jj').asString = old_jj) and (FieldbyName('kfdm').AsString = old_kfdm) then
fpsl := fpsl + FieldbyName('sl').AsInteger;
Next;
end;
end;
GotoBookmark(bk);
if rxQry_kxpp.Locate('ppdm;jj;kfdm', vararrayof([old_ppdm, old_jj, old_kfdm]), []) then
if fpsl > rxQry_kxpp.FieldByName('ts').AsInteger then
begin
Result := 1;
MessageBox(application.handle, '分配票品的數(shù)量超出庫存數(shù)量,請重新設(shè)置!', '提示', mb_ok + mb_iconinformation);
Exit;
end;
next;
end;
end;
end;
procedure Tfrm_FHDSC_GETPP.SpeedButton1Click(Sender: TObject);
begin
if (trim(Edt_loc.Text) = '') then
exit;
if (trim(Edt_loc.Text) <> V_S_loc) then
begin
V_S_loc := trim(Edt_loc.Text);
rxQry_kxpp.First;
rxQry_kxpp.Filter := 'PPDM<>''''';
rxQry_kxpp.FindFirst;
end
else
rxQry_kxpp.FindNext;
end;
procedure Tfrm_FHDSC_GETPP.rxQry_kxppFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
accept := false;
if (V_S_loc <> '') then
if Rbtn_zh.Checked then
begin
if (pos(V_S_loc, DataSet.fieldbyname('ZH').asstring) <> 0) then
accept := true;
end
else if (pos(V_S_loc, DataSet.fieldbyname('PPMC').asstring) <> 0) then
accept := true;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -