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

📄 skdwh.~pas

📁 仓库管理信息系统
💻 ~PAS
字号:
unit skdwh;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, DBCtrls, ComCtrls, Grids, DBGridEh, StdCtrls, Mask,
  Menus, PrnDbgeh, StdActns, ActnList, ActnMan,DBGridEhImpExp,db,adodb,
  Buttons, DBCtrlsEh, DBLookupEh;

type
  Tfrm_skdwh = class(TForm)
    Panel1: TPanel;
    DBNavigator1: TDBNavigator;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    DBGridEh1: TDBGridEh;
    Label11: TLabel;
    Label12: TLabel;
    ActionManager1: TActionManager;
    EditCut1: TEditCut;
    EditCopy1: TEditCopy;
    EditPaste1: TEditPaste;
    EditDelete1: TEditDelete;
    FilePrintSetup1: TFilePrintSetup;
    FontEdit1: TFontEdit;
    ColorSelect1: TColorSelect;
    PrintDlg1: TPrintDlg;
    SaveDialog1: TSaveDialog;
    MYPDBGEh: TPrintDBGridEh;
    PopupMenu1: TPopupMenu;
    N6: TMenuItem;
    PrintSetup1: TMenuItem;
    N1: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    GroupBox1: TGroupBox;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    SpeedButton2: TSpeedButton;
    dtp1: TDateTimePicker;
    dtp2: TDateTimePicker;
    Edit1: TEdit;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    Label2: TLabel;
    Label3: TLabel;
    dblkcb_pjlx: TDBLookupComboBox;
    Label4: TLabel;
    dblkcb_jsfs: TDBLookupComboBox;
    Label5: TLabel;
    gyslk: TDBLookupComboBox;
    Label6: TLabel;
    DBEdit3: TDBEdit;
    Label7: TLabel;
    dblkcb_cqyh: TDBLookupComboBox;
    Label8: TLabel;
    dblkcb_hkjsr: TDBLookupComboBox;
    Label9: TLabel;
    DBEdit4: TDBEdit;
    DBDateTimeEditEh1: TDBDateTimeEditEh;
    SpeedButton1: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    dblk_dq: TDBLookupComboboxEh;
    Label10: TLabel;
    SpeedButton7: TSpeedButton;
    procedure FormCreate(Sender: TObject);
    procedure PrintSetup1Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure DBGridEh1DblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure dtp1Change(Sender: TObject);
    procedure dtp1Enter(Sender: TObject);
    procedure dtp2Change(Sender: TObject);
    procedure dtp2Enter(Sender: TObject);
    procedure gyslkCloseUp(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure dblk_dqChange(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frm_skdwh: Tfrm_skdwh;

implementation
uses data, gyscz, pjlxwh, hkjsrwh, jsfswh, cqyhwh, fkdwh, khzlcz;

{$R *.dfm}

procedure Tfrm_skdwh.FormCreate(Sender: TObject);
var year,month,day:Word;
begin
decodedate(now,year,month,day);
if day>26 then
begin
  dtp1.Date:=EncodeDate(Year,Month,26);
  dtp2.Date:=incmonth(EncodeDate(Year,Month,25),1);
end
else
begin
  if month=1 then
  begin
    dtp1.Date:=EncodeDate(Year-1,12,26);
    dtp2.Date:=EncodeDate(Year,1,25);
  end
  else
  begin
    dtp1.Date:=EncodeDate(Year,Month-1,26);
    dtp2.Date:=EncodeDate(Year,Month,25);
  end;
end;
dm.jzxxbads.Close;
dm.jzxxbads.Open;
dm.jzxxbads.Filter:='结转项目='+''''+'客户货款'+'''';
dm.jzxxbads.Filtered:=true;
dm.lastjznf:=dm.jzxxbads.fieldbyname('最后年份').Value;
dm.zlads_khzl.Open;
dm.ads_cqyhwh.Open;
dm.ads_pjlxwh.open;
dm.ads_jsfswh.Open;
dm.ads_hkjsrwh.Open;
dm.ads_djskd.Close;
dm.ads_djskd.Parameters.ParamByName('date1').Value:=dtp1.Date;
dm.ads_djskd.Parameters.ParamByName('date2').Value:=dtp2.Date;
dm.ads_djskd.Open;
dm.ads_djskd.Open;
dm.ads_djskd.Filtered:=true;
label16.Caption:='当前可处理年份:'+inttostr(dm.lastjznf);
end;

procedure Tfrm_skdwh.PrintSetup1Click(Sender: TObject);
var bt,tj:string;
begin
  bt:='收款明细表';
  if (ActiveControl is TDBGridEh) then
  begin
    MYPDBGEh.DBGridEh := TDBGridEh(ActiveControl);
    MYPDBGEh.SetSubstitutes(['%[Today]',DateToStr(Now),'%[bt]',bt,'%[tj]',tj]);
    MYPDBGEh.print;
  end;
end;

procedure Tfrm_skdwh.N1Click(Sender: TObject);
var bt,tj:string;
begin
  bt:='收款明细表';
  if (ActiveControl is TDBGridEh) then
  begin
    MYPDBGEh.DBGridEh := TDBGridEh(ActiveControl);
    MYPDBGEh.SetSubstitutes(['%[Today]',DateToStr(Now),'%[bt]',bt,'%[tj]',tj]);
    MYPDBGEh.Preview;
  end;
end;

procedure Tfrm_skdwh.N4Click(Sender: TObject);
var ExpClass:TDBGridEhExportClass;
    Ext:String;
begin
  SaveDialog1.FileName := '';
  if (ActiveControl is TDBGridEh) then
    if SaveDialog1.Execute then
    begin
      case SaveDialog1.FilterIndex of
        1: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
        2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
        3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
        4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
        5: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
      else
        ExpClass := nil; Ext := '';
      end;
      if ExpClass <> nil then
      begin
        if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <>
           UpperCase(Ext) then
          SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext;
        SaveDBGridEhToExportFile(ExpClass,TDBGridEh(ActiveControl),
             SaveDialog1.FileName,true);
      end;
    end;
end;

procedure Tfrm_skdwh.N8Click(Sender: TObject);
begin
TDBGridEh(ActiveControl).Columns
  [TDBGridEh(ActiveControl).SelectedIndex].Visible:=false;
if TDBGridEh(ActiveControl).SelectedIndex<
  TDBGridEh(ActiveControl).Columns.Count-1 then
TDBGridEh(ActiveControl).SelectedIndex:=
  TDBGridEh(ActiveControl).SelectedIndex+1;
end;

procedure Tfrm_skdwh.N9Click(Sender: TObject);
var i:integer;
begin
  for i:=1 to TDBGridEh(ActiveControl).Columns.Count-1 do
  begin
      begin
        TDBGridEh(ActiveControl).Columns[i].Visible:=true;
      end;
  end;
end;

procedure Tfrm_skdwh.DBGridEh1DblClick(Sender: TObject);
begin
frm_fkdwh.pagecontrol1.ActivePageIndex:=0;
dbedit1.SetFocus;
end;

procedure Tfrm_skdwh.FormShow(Sender: TObject);
begin
dbedit1.SetFocus;
end;

procedure Tfrm_skdwh.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if dm.ads_djskd.State in [dsinsert,dsedit] then
  if MessageDlg('记录未保存,要保存吗?', mtConfirmation,
    [mbYes, mbNo], 0) = mrYes then
    begin
    dm.ads_djskd.Post;
    end
  else
    dm.ads_djskd.Cancel;
action :=cafree;
frm_skdwh:=nil;
end;

procedure Tfrm_skdwh.dtp1Change(Sender: TObject);
begin
if dtp1.date>dtp2.Date then
begin
  showmessage('对不起!日期范围有误。');
  dtp1.Date:=dtp2.Date;
end;
dm.ads_djskd.Parameters.ParamByName('date1').Value:=dtp1.Date;
dm.ads_djskd.Prepared;
end;

procedure Tfrm_skdwh.dtp1Enter(Sender: TObject);
begin
if dm.ads_djskd.State in [dsedit,dsinsert] then
begin
  showmessage('对不起!当前单据编辑中...请先处理。');
  abort;
end;
end;

procedure Tfrm_skdwh.dtp2Change(Sender: TObject);
begin
if dtp1.date>dtp2.Date then
begin
  showmessage('对不起!日期范围有误。');
  dtp2.Date:=dtp1.Date;
end;
dm.ads_djskd.Parameters.ParamByName('date2').Value:=dtp2.Date;
dm.ads_djskd.Prepared;
end;

procedure Tfrm_skdwh.dtp2Enter(Sender: TObject);
begin
if dm.ads_djskd.State in [dsedit,dsinsert] then
begin
  showmessage('对不起!当前单据编辑中...请先处理。');
  abort;
end;
end;

procedure Tfrm_skdwh.gyslkCloseUp(Sender: TObject);
begin
if gyslk.KeyValue<>null then
dbedit3.Text:='收 '+trim(gyslk.Text)+' 货款' ;
end;

procedure Tfrm_skdwh.SpeedButton2Click(Sender: TObject);
begin
  if dm.ads_djskd.State in [dsedit,dsinsert] then
  begin
    showmessage('对不起!当前单据编辑中...请先处理。');
    abort;
  end;
  dblk_dq.KeyValue:=null;
  dm.ads_djskd.Filtered:=false;
  if not dm.ads_djskd.Locate('单号',edit1.Text,[]) then
  begin
    showmessage('没有你要查找的单号');
    edit1.SetFocus;
    abort;
  end;
end;

procedure Tfrm_skdwh.SpeedButton4Click(Sender: TObject);
begin
if not assigned(frm_hkjsrwh) then
  frm_hkjsrwh := tfrm_hkjsrwh.Create(Self);
  frm_hkjsrwh.ShowModal;
if (dm.ads_hkjsrwh.RecordCount>0) then
  if dm.ads_djskd.FieldByName('经手人id').Value <>
    dm.ads_hkjsrwh.FieldByName('经手人id').Value then
    begin
      dm.ads_djskd.Edit;
      dm.ads_djskd.FieldByName('经手人id').Value:=
       dm.ads_hkjsrwh.FieldByName('经手人id').Value;
    end;
end;

procedure Tfrm_skdwh.SpeedButton5Click(Sender: TObject);
begin
if not assigned(frm_jsfswh) then
  frm_jsfswh := tfrm_jsfswh.Create(Self);
  frm_jsfswh.ShowModal;
if (dm.ads_jsfswh.RecordCount>0) then
  if dm.ads_djskd.FieldByName('结算方式id').Value <>
    dm.ads_jsfswh.FieldByName('结算方式id').Value then
    begin
      dm.ads_djskd.Edit;
      dm.ads_djskd.FieldByName('结算方式id').Value:=
       dm.ads_jsfswh.FieldByName('结算方式id').Value;
    end;
end;

procedure Tfrm_skdwh.SpeedButton1Click(Sender: TObject);
begin
if not assigned(frm_khzlcz) then
   frm_khzlcz := tfrm_khzlcz.create(self);
if (frm_khzlcz.ShowModal = mrOk) and
  (dm.zlads_khzl.RecordCount>0) then
   if dm.ads_djskd.FieldByName('客户ID').Value <>
      dm.zlads_khzl.FieldByName('客户ID').Value then
      begin
        dm.ads_djskd.Edit;
        dm.ads_djskd.FieldByName('客户ID').Value :=
          dm.zlads_khzl.FieldByName('客户ID').Value;
        if gyslk.KeyValue<>null then
           dbedit3.Text:='收 '+trim(gyslk.Text)+' 货款' ;
      end;
end;

procedure Tfrm_skdwh.SpeedButton3Click(Sender: TObject);
begin
if not assigned(frm_pjlxwh) then
  frm_pjlxwh := tfrm_pjlxwh.Create(Self);
  frm_pjlxwh.ShowModal;
if (dm.ads_pjlxwh.RecordCount>0) then
  if dm.ads_djskd.FieldByName('票据类型id').Value <>
    dm.ads_pjlxwh.FieldByName('票据类型id').Value then
    begin
      dm.ads_djskd.Edit;
      dm.ads_djskd.FieldByName('票据类型id').Value:=
       dm.ads_pjlxwh.FieldByName('票据类型id').Value;
    end;
end;

procedure Tfrm_skdwh.SpeedButton6Click(Sender: TObject);
begin
if not assigned(frm_cqyhwh) then
  frm_cqyhwh := tfrm_cqyhwh.Create(Self);
  frm_cqyhwh.ShowModal;
if (dm.ads_cqyhwh.RecordCount>0) then
  if dm.ads_djskd.FieldByName('银行id').Value <>
    dm.ads_cqyhwh.FieldByName('银行id').Value then
    begin
      dm.ads_djskd.Edit;
      dm.ads_djskd.FieldByName('银行id').Value:=
       dm.ads_cqyhwh.FieldByName('银行id').Value;
    end;
end;

procedure Tfrm_skdwh.dblk_dqChange(Sender: TObject);
begin
dm.ads_djskd.Filtered:=false;
edit1.Text:='';
if dblk_dq.KeyValue <> null then
begin
dm.ads_djskd.Filter:='客户ID='+''''+dblk_dq.KeyValue+'''';
dm.ads_djskd.Filtered:=TRUE;
end;
end;

procedure Tfrm_skdwh.SpeedButton7Click(Sender: TObject);
begin
if not assigned(frm_khzlcz) then
   frm_khzlcz := tfrm_khzlcz.create(self);
if (frm_khzlcz.ShowModal = mrOk) and
  (dm.zlads_khzl.RecordCount>0) then
  dblk_dq.KeyValue:=
    dm.zlads_khzl.FieldByName('客户ID').Value;
end;


end.

⌨️ 快捷键说明

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