📄 sj_ywkccx.pas
字号:
{*******************************************************}
{ }
{ 库存查询 }
{ }
{ 中软金马公司版权所有。2002.12前 }
{ }
{ 编制:中软金马邮资票品项目开发组 }
{ }
{ }
{*******************************************************}
(*
省级集邮品,省级集邮票,省级零枚票,省级市场购入票
地市集邮品,地市集邮票,地市市场购入票.省级综合查询
*)
(*
修改记录:
1、在界面上增加年度、票品类别(大类)、小类、特征的查询条件
2、最下面增加一个合计行,志号处显示合计、票品名称处显示:记录数:XX
3、查询结果锁定:志号、票品名称、库房名称、进价
4、查询结果顺序:志号、票品名称、库房名称(无合计)、进价(无合计)、数量、面值(无合计)、
库存核算价(无合计)、销价(无合计)、进价金额、面值金额、库存核算价金额、销价金额、折扣(无合计)、
结算价(无合计)、库位(无合计)
霍铁明 2002年12月9日
*)
unit SJ_YWKCCX;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, Buttons, ExtCtrls, StdCtrls, ActnList, Db, DBTables,
ComCtrls, ImgList, Spin, RXCtrls, SqlStrings, RxQuery, DBGridExport,
Menus, FieldComboBox, Mask, ToolEdit, CurrEdit, EHGrids,
DBGridEh;
type
TFrm_YWKCCX = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
ActionList1: TActionList;
Act_sel: TAction;
Act_rtn: TAction;
DS_kc: TDataSource;
Panel2: TPanel;
rxLbl_Title: TRxLabel;
DWMC: TLabel;
RxQry_KC: TRxQuery;
RxQry_Tmp: TRxQuery;
RxQry_KCPPDM: TStringField;
RxQry_KCKWH: TStringField;
RxQry_KCTS: TFloatField;
RxQry_KCKFMC: TStringField;
RxQry_KCTMC: TStringField;
RxQry_KCZH: TStringField;
RxQry_KCJJ: TFloatField;
RxQry_KCXJ: TFloatField;
RxQry_KCZK: TFloatField;
RxQry_KCJSJ: TFloatField;
rg_ZHMC: TRadioGroup;
chk_MHCX: TCheckBox;
edt_ZHMC: TEdit;
Label3: TLabel;
fcb_PPLB: TFieldComboBox;
bbtn_Quit: TBitBtn;
bbtn_Find: TBitBtn;
L_MC: TLabel;
cb_XJ: TComboBox;
fcb_KFMC: TFieldComboBox;
fcb_PPMC: TFieldComboBox;
RG_KC: TRadioGroup;
chk_BHKC: TCheckBox;
bbtn_Print: TBitBtn;
se_ND: TSpinEdit;
Label5: TLabel;
fcb_DL: TFieldComboBox;
Label6: TLabel;
fcb_TZ: TFieldComboBox;
chk_ND: TCheckBox;
RxQry_KCMZ: TFloatField;
RxQry_KCKCHSJ: TFloatField;
RxQry_KCJJJE: TFloatField;
RxQry_KCMZJE: TFloatField;
RxQry_KCKCHSJJE: TFloatField;
RxQry_KCSJJE: TFloatField;
dbgEh_KC: TDBGridEh;
procedure Act_selExecute(Sender: TObject);
procedure Act_rtnExecute(Sender: TObject);
procedure RxQry_KCAfterOpen(DataSet: TDataSet);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RxQry_KCJJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure fcb_PPLBChange(Sender: TObject);
procedure fcb_KFMCChange(Sender: TObject);
procedure bbtn_PrintClick(Sender: TObject);
procedure fcb_DLChange(Sender: TObject);
procedure se_NDChange(Sender: TObject);
procedure chk_NDClick(Sender: TObject);
procedure RxQry_KCMZGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure RxQry_KCKCHSJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure RxQry_KCJJJEGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure RxQry_KCMZJEGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure RxQry_KCKCHSJJEGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure RxQry_KCSJJEGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure dbgEh_KCGetFooterParams(Sender: TObject; DataCol,
Row: Integer; Column: TColumnEh; AFont: TFont;
var Background: TColor; var Alignment: TAlignment;
State: TGridDrawState; var Text: string);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
function Show_YWKCCX(io_typ: TIO_TYPE): boolean;
var
Frm_YWKCCX: TFrm_YWKCCX;
implementation
uses
datas,pub;
var
vl_Io_Type: TIO_TYPE;
{$R *.DFM}
{-------------------------------------------------------------------------------}
{从INI文件文件读取并设置DbGrid列宽}
procedure TFrm_YWKCCX.FormCreate(Sender: TObject);
begin
GetAllColWidth(Self);
se_ND.Text:= FormatDateTime('yyyy', GetSysDate);
end;
{-------------------------------------------------------------------------------}
{库存查询公共模块}
function Show_YWKCCX(io_typ: TIO_TYPE): boolean;
begin
Result:= false;
with TFrm_YWKCCX.Create(Application) do
begin
vl_Io_Type:= io_typ;
Caption:= '邮资票品管理信息系统';
rxLbl_Title.Caption:= pCaption[integer(vl_Io_Type)] + '库存查询';
DWMC.Caption:= '使用单位:' + VG_UnitName;
try
{刷新库房名称}
fcb_KFMC.ClearAll;
with RxQry_Tmp do
begin
Close;
case vl_Io_Type of
io_jyp:
begin
SQL.Text:= ' select DISTINCT b.KFMC, b.KFDM from TYS_JYPPKC a, TGS_KFB b, TGS_KFRYDZB c'#10#13
+ ' where a.KFDM=b.KFDM and a.KFDM=c.KFDM and c.YGDM= ' + QuotedStr(VG_USERID) + ' order by b.KFDM';
end;
io_txp:
begin
SQL.Text:= ' select DISTINCT b.KFMC, b.KFDM from TYS_TXPPKC a, TGS_KFB b, TGS_KFRYDZB c'#10#13
+ ' where a.KFDM=b.KFDM and a.KFDM=c.KFDM and c.YGDM= ' + QuotedStr(VG_USERID) + ' order by b.KFDM';
end;
io_yp:
begin
SQL.Text:= ' select DISTINCT b.KFMC, b.KFDM from TYS_YPPKC a, TGS_KFB b, TGS_KFRYDZB c '#10#13
+ ' where a.KFDM=b.KFDM and a.KFDM=c.KFDM and c.YGDM= ' + QuotedStr(VG_USERID) + ' order by b.KFDM';
end;
io_grp:
begin
SQL.Text:= ' select DISTINCT b.KFMC, b.KFDM from TYS_GRPPKC a, TGS_KFB b, TGS_KFRYDZB c '#10#13
+ ' where a.KFDM=b.KFDM and a.KFDM=c.KFDM and c.YGDM= ' + QuotedStr(VG_USERID) + ' order by b.KFDM';
end;
end;
Open;
while not Eof do
begin
fcb_KFMC.Items.Add(Fields[0].AsString);
fcb_KFMC.FieldItems.Add(Fields[1].AsString);
Next;
end;
fcb_KFMC.ItemIndex:= 0;
fcb_KFMCChange(nil);
end;
{刷新票品价格}
cb_XJ.Items.Clear;
with RxQry_Tmp do
begin
Close;
case vl_Io_Type of
io_jyp:
begin
SQL.Text:= ' select DISTINCT a.XJ from TYS_JYPPKC a, TGS_KFB b, TGS_KFRYDZB c'#10#13
+ ' where a.KFDM=b.KFDM and a.KFDM=c.KFDM and c.YGDM= ' + QuotedStr(VG_USERID) + ' order by a.XJ';
end;
io_txp:
begin
SQL.Text:= ' select DISTINCT a.XJ from TYS_TXPPKC a, TGS_KFB b, TGS_KFRYDZB c'#10#13
+ ' where a.KFDM=b.KFDM and a.KFDM=c.KFDM and c.YGDM= ' + QuotedStr(VG_USERID) + ' order by a.XJ';
end;
io_yp:
begin
SQL.Text:= ' select DISTINCT a.XJ from TYS_YPPKC a, TGS_KFB b, TGS_KFRYDZB c '#10#13
+ ' where a.KFDM=b.KFDM and a.KFDM=c.KFDM and c.YGDM= ' + QuotedStr(VG_USERID) + ' order by a.XJ';
end;
io_grp:
begin
SQL.Text:= 'select DISTINCT a.XJ from TYS_GRPPKC a, TGS_KFB b, TGS_KFRYDZB c '#10#13
+ ' where a.KFDM=b.KFDM and a.KFDM=c.KFDM and c.YGDM= ' + QuotedStr(VG_USERID) + ' order by a.XJ';
end;
end;
Open;
while not Eof do
begin
cb_XJ.Items.Add(Fields[0].AsString);
Next;
end;
end;
Act_selExecute(nil);
except
Application.MessageBox('不能打开 <库存信息表>', '提示', MB_OK + 48);
Exit;
end;
result:= ShowModal = MB_OK;
free;
end;
end;
{-------------------------------------------------------------------------------}
{如果为集邮品,DbGridEh中面值、库存核算价、面值金额、库存核算价金额字段不显示}
procedure TFrm_YWKCCX.FormShow(Sender: TObject);
var
i: Integer;
begin
if vl_Io_Type = io_yp then
for i:= 0 to dbgEh_KC.Columns.Count - 1 do
if (dbgEh_KC.Columns[i].FieldName = 'MZ') or (dbgEh_KC.Columns[i].FieldName = 'KCHSJ')
or (dbgEh_KC.Columns[i].FieldName = 'MZJE') or (dbgEh_KC.Columns[i].FieldName = 'KCHSJJE') then
dbgEh_KC.Columns[i].Visible:= False;
end;
{-------------------------------------------------------------------------------}
{年度复选框单击}
procedure TFrm_YWKCCX.chk_NDClick(Sender: TObject);
begin
fcb_KFMCChange(nil);
end;
{-------------------------------------------------------------------------------}
{年度改变}
procedure TFrm_YWKCCX.se_NDChange(Sender: TObject);
begin
fcb_KFMCChange(nil);
end;
{-------------------------------------------------------------------------------}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -