⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ckjh_jjw_addpp2.pas

📁 省级集邮品管理ERP
💻 PAS
字号:
{*******************************************************}
{                                                       }
{                省级单去向多品种分配                   }
{                                                       }
{            中软金马公司版权所有。2002.12              }
{                                                       }
{                    编制:杨俊                         }
{                                                       }
{                                                       }
{*******************************************************}
(*
   省级集邮管理

   思路步骤:

   选择该单没有选择的票品
*)

unit CKJH_JJW_AddPP2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, StdCtrls, Buttons, RXCtrls, Spin, Db, DBTables;

type
  TFrm_CKJH_JJW_AddPP2 = class(TForm)
    sp_ND: TSpinEdit;
    Label1: TLabel;
    bbtn_OK: TBitBtn;
    bbtn_Cancel: TBitBtn;
    dbg_PP: TDBGrid;
    qry_SelPP: TQuery;
    DataSource1: TDataSource;
    qry_SelPPKFDM: TStringField;
    qry_SelPPKFMC: TStringField;
    qry_SelPPPPDM: TStringField;
    qry_SelPPPPMC: TStringField;
    qry_SelPPZH: TStringField;
    qry_SelPPMZ: TFloatField;
    qry_SelPPSJ: TFloatField;
    qry_SelPPKWH: TStringField;
    qry_SelPPPPLB: TStringField;
    qry_SelPPJJ: TFloatField;
    qry_SelPPXJ: TFloatField;
    qry_SelPPJSJ: TFloatField;
    qry_SelPPZK: TFloatField;
    qry_SelPPSL: TFloatField;
    procedure sp_NDChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure qry_SelPPJJGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure bbtn_OKClick(Sender: TObject);
    procedure qry_SelPPSLGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure Set_TJ(a_TJ: TStrings);                       {已经被选择的票品的票品代码}
  end;

var
  Frm_CKJH_JJW_AddPP2: TFrm_CKJH_JJW_AddPP2;

implementation

uses
  Datas, pub;

{$R *.DFM}

var
  VL_KFPP: String;

  { TFrm_CKJH_JJW_AddPP2 }

{-------------------------------------------------------------------------------}
{默认为当前的年度}
procedure TFrm_CKJH_JJW_AddPP2.FormShow(Sender: TObject);
begin
  sp_ND.Text := FormatDateTime('YYYY', GetSysDate);
end;

{-------------------------------------------------------------------------------}
{传入已经选择的票品}
procedure TFrm_CKJH_JJW_AddPP2.Set_TJ(a_TJ: TStrings);
var
  i: Integer;
  l_HaveSel: String;
begin
  VL_KFPP := 'Select KFDM, PPDM, JJ, KWH, YJ, XJ, JSJ, ZK, TS, BZ from TYS_JYPPKC ';
  l_HaveSel := 'Select KFDM, PPDM, JJ, KWH, YJ, XJ, JSJ, ZK, TS, BZ from TYS_JYPPKC where 1>2';
  for i := 0 to a_TJ.Count - 1 do
    l_HaveSel := l_HaveSel + ' or (' + a_TJ[i] + ' ) ';
  VL_KFPP := VL_KFPP + ' minus ' + l_HaveSel;
end;

{-------------------------------------------------------------------------------}
{根据年度的改变,选择票品}
procedure TFrm_CKJH_JJW_AddPP2.sp_NDChange(Sender: TObject);
var
  l_SQL: String;
begin
  l_sql :=
    'Select a.KFDM, d.KFMC, a.PPDM , b.TMC PPMC, b.ZH, b.TPMZ MZ, b.TPSJ SJ, a.KWH, b.PPLB,a.JJ, a.XJ, a.JSJ, a.ZK, a.TS SL '#13#10 +
    ' from ('+VL_KFPP+') a, TB_YZPPTXXB b, TGS_KFRYDZB c, TGS_KFB d '#13#10 +
    ' where a.PPDM = b.TDM  and d.KFDM = a.KFDM  and c.KFDM = d.KFDM '#13#10 +
    ' and a.TS>0 and c.YGDM =' + QuotedStr(VG_UserID) + ' and b.ND = ' + QuotedStr(sp_ND.Text);
  with qry_SelPP do
  begin
    Close;
    SQL.Text := l_SQL;
    Open;
  end;
end;


procedure TFrm_CKJH_JJW_AddPP2.qry_SelPPJJGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  if Trim(Sender.AsString) = '' then
    Exit;

  try
    if Sender.AsInteger <> 0 then
      Text := FormatFloat('¥#,##0.000', Sender.AsFloat / 100);
  except

  end;

end;

procedure TFrm_CKJH_JJW_AddPP2.bbtn_OKClick(Sender: TObject);
begin
  if dbg_PP.SelectedRows.Count = 0 then
    dbg_PP.SelectedRows.CurrentRowSelected := True;
end;

procedure TFrm_CKJH_JJW_AddPP2.qry_SelPPSLGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  if Trim(Sender.AsString) = '' then
    Exit;

  try
    if Sender.AsInteger <> 0 then
      Text := FormatFloat('#,##0', Sender.AsFloat);
  except

  end;

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -