📄 jm_yyypptp.pas
字号:
end;
procedure Tfrm_YYYPPTP.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = 13) then {回车键}
if not (ActiveControl is TDBGrid) then {if not is a TDBGrid}
begin
Key := 0; {eat enter key}
Perform(WM_NEXTDLGCTL, 0, 0); {move to next control}
end
else if (ActiveControl is TDBGrid) then {if it is a TDBGrid}
with TDBGrid(ActiveControl) do
// Key := VK_TAB;
if selectedindex < (fieldcount - 1) then
selectedindex := selectedindex + 1
else
begin Qry_tpdpp0.next;
selectedindex := 2;
end;
end;
procedure Tfrm_YYYPPTP.Qry_rkppJSJGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
inherited;
currGetText(Sender, Text, DisplayText);
end;
procedure Tfrm_YYYPPTP.Qry_rkppJSJSetText(Sender: TField;
const Text: string);
begin
inherited;
CurrSetText(sender, text);
end;
procedure Tfrm_YYYPPTP.Qry_rkppSJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
inherited;
CurrGetText(Sender, TExt, DisplayText);
end;
procedure Tfrm_YYYPPTP.Qry_rkppSJSetText(Sender: TField;
const Text: string);
begin
inherited;
CurrSetText(sender, Text);
end;
procedure Tfrm_YYYPPTP.Qry_rkppMZGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
inherited;
CurrGetText(sender, Text, Displaytext);
end;
procedure Tfrm_YYYPPTP.Qry_rkppMZSetText(Sender: TField;
const Text: string);
begin
inherited;
CurrSetText(Sender, Text);
end;
procedure Tfrm_YYYPPTP.open_sql(var FQuery: TQuery; var SQLTextStr: string);
begin
with FQuery do
begin
close;
SQL.Clear;
SQL.Text := SQLTextStr;
Open;
end;
end;
procedure Tfrm_YYYPPTP.exec_sql(var FQuery: TQuery; var SQLTextStr: string);
begin
with FQuery do
begin
Close;
SQL.Clear;
Sql.Text := SQLTextStr;
ExecSQL;
end;
end;
procedure Tfrm_YYYPPTP.Qry_tpdpp0JJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
inherited;
CurrGetText(Sender, Text, DisplayText);
end;
procedure Tfrm_YYYPPTP.Qry_tpdpp0JJSetText(Sender: TField; const Text: string);
begin
inherited;
CurrSetText(Sender, Text);
end;
procedure Tfrm_YYYPPTP.Qry_tpdpp0XJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
inherited;
CurrGetText(Sender, Text, DisplayText);
end;
procedure Tfrm_YYYPPTP.Qry_tpdpp0XJSetText(Sender: TField; const Text: string);
begin
inherited;
CurrSetText(Sender, Text);
end;
procedure Tfrm_YYYPPTP.Qry_tpdAfterScroll(DataSet: TDataSet);
var
StrSQL: string;
I: integer;
begin
for i := 0 to Combobox1.Items.Count - 1 do
begin
if Pygxm(Combobox1.items.Objects[i])^.ygdm = Qry_tpd.FieldbyName('tcz').AsString then
begin
ComboBox1.ItemIndex := i;
break;
end;
end;
for i := 0 to Combobox2.Items.Count - 1 do
begin
if Pygxm(Combobox2.items.Objects[i])^.ygdm = Qry_tpd.FieldbyName('trz').AsString then
begin
ComboBox2.ItemIndex := i;
break;
end;
end;
with Qry_lykc do
begin
Close;
ParamByName('ygdm').AsString := Qry_tpd.FieldbyName('tcz').AsString;
ParamByName('lb').AsString := lb_type;
Open;
end;
StrSQL := 'SELECT dh,a.ppdm,a.sl,a.lb,a.dj,a.jj,b.zh,b.ppmc FROM tm_tpdpp a,tm_yyykc b where b.ppdm=a.ppdm and b.lb=a.lb and b.jj=a.jj and a.dh=''' + Qry_tpd.fieldbyname('dh').AsString + ''' and b.ygdm=''' + Qry_tpd.fieldbyname('tcz').AsString + '''';
with Qry_tpdpp0 do
begin
Close;
SQL.Text := StrSQL;
Open;
end;
end;
procedure Tfrm_YYYPPTP.Qry_tpdpp0DJGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
inherited;
CurrGetText(Sender, Text, DisplayText);
end;
procedure Tfrm_YYYPPTP.Qry_tpdpp0DJSetText(Sender: TField;
const Text: string);
begin
inherited;
CurrSetText(Sender, Text);
end;
procedure Tfrm_YYYPPTP.Qry_tpdAfterOpen(DataSet: TDataSet);
var
StrSQL: string;
I: integer;
begin
for i := 0 to Combobox1.Items.Count - 1 do
begin
if Pygxm(Combobox1.items.Objects[i])^.ygdm = Qry_tpd.FieldbyName('tcz').AsString then
begin
ComboBox1.ItemIndex := i;
break;
end;
end;
for i := 0 to Combobox2.Items.Count - 1 do
begin
if Pygxm(Combobox2.items.Objects[i])^.ygdm = Qry_tpd.FieldbyName('trz').AsString then
begin
ComboBox2.ItemIndex := i;
break;
end;
end;
with Qry_lykc do
begin
Close;
ParamByName('ygdm').AsString := Qry_tpd.FieldbyName('tcz').AsString;
ParamByName('lb').AsString := lb_type;
Open;
end;
StrSQL := 'SELECT dh,a.ppdm,a.sl,a.lb,a.dj,a.jj,b.zh,b.ppmc FROM tm_tpdpp a,tm_yyykc b where a.ppdm=b.ppdm and a.lb=b.lb and a.jj=b.jj and a.dh=''' + Qry_tpd.fieldbyname('dh').AsString + ''' and b.ygdm =''' + Qry_tpd.fieldbyname('tcz').AsString + '''';
with Qry_tpdpp0 do
begin
Close;
SQL.Text := StrSQL;
Open;
end;
end;
function Tfrm_YYYPPTP.CheckKC: integer; //检测是否超出理论库存
var
FQuery1: TQuery;
StrSql: string;
begin
Result := 0;
Qry_tpdpp0.First;
if Qry_tpdpp0.IsEmpty then exit;
with Qry_tpdpp0 do
begin
while not Eof do
begin
FQuery1 := TQuery.Create(nil);
try
if FieldByName('dh').AsString <> '' then
begin
StrSql := 'select DH, PPDM, LB, JJ, SL, DJ from tm_tpdpp where dh=''' + FieldByName('dh').AsString + ''' and ppdm=''' + FieldByName('ppdm').AsString + ''' and lb=''' + FieldByName('lb').AsString + ''' and jj=' + FieldByName('jj').AsString;
with FQuery1 do
begin
Close;
DataBaseName := 'yzpp';
Sql.Clear;
Sql.Add(StrSql);
Open;
end;
if FieldByName('sl').AsInteger > FieldByName('lykc').AsInteger + FQuery1.FieldByName('sl').AsInteger then
begin
Result := 1;
CHQMsgBox('退缴票品数量大于库存数量,请重新设置!'#13'库存数量为:' + VarToStr(FieldByName('lykc').AsInteger + FQuery1.FieldByName('sl').AsInteger));
DBGrid3.SelectedIndex := 4;
DBGrid3.SetFocus;
Exit;
end;
end
else
begin
if FieldByName('sl').AsInteger > FieldByName('lykc').AsInteger then
begin
Result := 1;
CHQMsgBox('退缴票品数量大于库存数量,请重新设置!'#13'库存数量为:' + VarToStr(FieldByName('lykc').AsInteger));
DBGrid3.SelectedIndex := 4;
DBGrid3.SetFocus;
Exit;
end;
end;
finally
FQuery1.Free;
end;
Next;
end;
end;
end;
procedure Tfrm_YYYPPTP.Rgp_ppflClick(Sender: TObject);
begin
case Rgp_ppfl.ItemIndex of
0:
begin
L_type := io_jyp;
LB_type := '0';
end;
1:
begin
L_type := io_yp;
LB_type := '1';
end;
2:
begin
L_type := io_grp;
LB_type := '2';
end;
end;
StateChange;
end;
procedure Tfrm_YYYPPTP.StateChange;
var
strsql: string;
fhed: string;
begin
if Checkbox1.Checked then
fhed := ' and (tcfh is null or trfh is null) '
else
fhed := ' ';
with Qry_tpd do
begin
Close;
SQL.Clear;
strsql := 'select * from tm_tpdb where dh in (select distinct dh from tm_tpdpp where lb=''' + lb_type + ''')' + fhed + ' order by dh desc';
SQL.Add(strsql);
Open;
end;
DBGrid2.Refresh;
end;
procedure Tfrm_YYYPPTP.Qry_tpdpp0BeforeInsert(DataSet: TDataSet);
begin
Abort;
end;
procedure Tfrm_YYYPPTP.FormShow(Sender: TObject);
var
xygxm: Pygxm;
xrkxz: Prkxz;
begin
inherited;
SetState(dtBrowse);
Caption := Application.Title;
DWMC.Caption := ' 操作员:' + VG_UserName;
Qry_ryb.close;
Qry_ryb.sql.text := 'select ygdm,ygmc from tgs_ryb order by ygdm';
Qry_ryb.open;
with Qry_ryb do
begin
while not Eof do
begin
New(xygxm);
xygxm^.ygdm := fieldbyname('ygdm').asstring;
xygxm^.ygmc := fieldbyname('ygmc').asstring;
Combobox1.Items.AddObject(Fieldbyname('ygmc').asstring, TObject(xygxm));
Combobox2.Items.AddObject(Fieldbyname('ygmc').asstring, TObject(xygxm));
Next;
end;
end;
queding := false;
insertmode := false;
save1 := false;
Rgp_ppflClick(nil);
end;
procedure Tfrm_YYYPPTP.CheckBox1Click(Sender: TObject);
begin
StateChange;
end;
procedure Tfrm_YYYPPTP.DBGrid2DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if (Qry_tpd.FieldByName('tcfh').AsString = '') or (Qry_tpd.FieldByName('trfh').AsString = '') then
DBGrid2.Canvas.Font.Color := clblue
else
DBGrid2.Canvas.Font.Color := clRed;
if gdSelected in State then
begin
dbgrid2.Canvas.Brush.Color := clNavy;
dbgrid2.Canvas.Font.Color := clWhite;
end;
DBGrid2.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
procedure Tfrm_YYYPPTP.Qry_tpdpp0CalcFields(DataSet: TDataSet);
begin
inherited;
if Qry_lykc.Locate('ppdm;jj;lb', vararrayof([Qry_tpdpp0.fieldbyname('ppdm').AsString, Qry_tpdpp0.fieldbyname('jj').AsFloat, Qry_tpdpp0.fieldbyname('lb').AsString]), []) then
Qry_tpdpp0.FieldByName('lykc').AsFloat := Qry_lykc.fieldByname('sl').AsFloat;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -