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

📄 jcdwh.pas

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

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGridEh, ExtCtrls, DBCtrlsEh, DBCtrls, Mask,
  FR_Class, Buttons,FR_View, FR_DSet, FR_DBSet, ComCtrls,db;

type
  Tjcdwhfrm = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Panel1: TPanel;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    Label4: TLabel;
    DBLookupComboBox1: TDBLookupComboBox;
    Label5: TLabel;
    gyslc: TDBLookupComboBox;
    DBDateTimeEditEh1: TDBDateTimeEditEh;
    Label6: TLabel;
    DBLookupComboBox3: TDBLookupComboBox;
    GroupBox3: TGroupBox;
    Panel3: TPanel;
    DBNavigator1: TDBNavigator;
    Label7: TLabel;
    DBEdit3: TDBEdit;
    frReport1: TfrReport;
    frDBDataSet1: TfrDBDataSet;
    frDBDataSet2: TfrDBDataSet;
    DBGridEh1: TDBGridEh;
    dtp1: TDateTimePicker;
    Label8: TLabel;
    dtp2: TDateTimePicker;
    Label9: TLabel;
    Edit1: TEdit;
    Label10: TLabel;
    Edit2: TEdit;
    Label19: TLabel;
    SpeedButton2: TSpeedButton;
    SpeedButton1: TSpeedButton;
    Panel2: TPanel;
    DBNavigator2: TDBNavigator;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    BitBtn1: TBitBtn;
    Label11: TLabel;
    sbt: TSpeedButton;
    Label1: TLabel;
    ysd_ckb: TCheckBox;
    rb1: TRadioButton;
    rb2: TRadioButton;
    Label12: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure gyslcCloseUp(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBDateTimeEditEh1Change(Sender: TObject);
    procedure dtp1Change(Sender: TObject);
    procedure dtp1Enter(Sender: TObject);
    procedure dtp2Change(Sender: TObject);
    procedure dtp2Enter(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure DBGridEh1DblClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure sbtClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  jcdwhfrm: Tjcdwhfrm;

implementation
uses data, main, cl_SrchDlg, khzlcz, gyscz, jclxwh, ysrwh;
{$R *.dfm}

procedure Tjcdwhfrm.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.whgysdmads.Open;
dm.whjclxdmads.Open;
dm.whysrads.Open;
dm.whclbmads.Close;
dm.whclbmads.Open;
dm.whjcdads.Close;
dm.whjcdads.Parameters.ParamByName('date1').Value:=dtp1.Date;
dm.whjcdads.Parameters.ParamByName('date2').Value:=dtp2.Date;
dm.whjcdads.Open;
Label12.Caption:='共有单据:'+
inttostr(dm.whjcdads.RecordCount)+'笔';
dm.whjcmxads.Open;
dm.whclbmads.Filtered:=true;
label11.Caption:='当前可处理年份:'+inttostr(dm.lastjznf);
dm.whjcdads.Filtered:=true;
end;

procedure Tjcdwhfrm.BitBtn1Click(Sender: TObject);
begin
if dm.whjcdads.Modified then
  dm.whjcdads.Post;
if dm.whjcmxads.Modified then
  dm.whjcmxads.Post;
if dm.whjcdads.RecordCount=0 then
abort;
if rb1.Checked then
begin
  dm.whjcdads.Filter:='进仓单号='+''''+
    dm.whjcdads.fieldbyname('进仓单号').Value+'''';
  dm.whjcdads.Filtered:=true;
end;
if rb2.Checked then
    dm.whjcdads.Filtered:=false;
frreport1.LoadFromFile(ExtractFileDir(application.ExeName)+'\djprint\jcddygs.frf');
  if ysd_ckb.Checked then
    frreport1.ShowReport
  else
  begin
    frreport1.PrepareReport;
    frReport1.PrintPreparedReport('', 1, True, frAll);
//    frreport1.PrintPreparedReportDlg;
  end;
end;

procedure Tjcdwhfrm.Edit2Change(Sender: TObject);
begin
dm.whgysdmads.Filtered:=false;
if edit2.Text<>'' then
begin
  dm.whgysdmads.Filter:='供应商ID like %'+trim(edit2.Text)+'%';
  dm.whgysdmads.Filtered:=true;
end;  
end;

procedure Tjcdwhfrm.gyslcCloseUp(Sender: TObject);
begin
if gyslc.KeyValue<>null then
  edit2.Text:=gyslc.KeyValue; 
end;

procedure Tjcdwhfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if dm.whjcdads.State in [dsinsert,dsedit] then
  if MessageDlg('单据未保存,要保存吗?', mtConfirmation,
    [mbYes, mbNo], 0) = mrYes then
    begin
    dm.whjcdads.Post;
    end
  else
    dm.whjcdads.Cancel;
dm.whjcdads.Close;
dm.whjcmxads.Close;
dm.whclbmads.Filtered:=false;
action:=cafree;
jcdwhfrm:=nil;
end;

procedure Tjcdwhfrm.DBDateTimeEditEh1Change(Sender: TObject);
begin
if (DBDateTimeEditEh1.Value<dtp1.Date) or
   (DBDateTimeEditEh1.Value>dtp2.Date) then
   begin
   abort;
   end;

end;

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

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

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

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

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

procedure Tjcdwhfrm.DBGridEh1DblClick(Sender: TObject);
begin
  if dbgrideh1.SelectedField.FieldName = '材料编码' then
  begin
    if not assigned(cl_SearchDlg) then
      cl_SearchDlg := tcl_SearchDlg.create(self);
    if (cl_SearchDlg.ShowModal = mrOk) and (
      dm.whclbmads.RecordCount>0) then
      if dm.whjcmxads.FieldByName('材料编码').Value <>
        dm.whclbmads.FieldByName('材料编码').Value then
      begin
        dm.whjcmxads.Edit;
        dm.whjcmxads.FieldByName('材料编码').Value :=
          dm.whclbmads.FieldByName('材料编码').Value;
      end;
  end;
end;

procedure Tjcdwhfrm.SpeedButton1Click(Sender: TObject);
begin
    if not assigned(cxgysfrm) then
      cxgysfrm := tcxgysfrm.create(self);
    if (cxgysfrm.ShowModal = mrOk) and (
      dm.whgysdmads.RecordCount>0) then
      if dm.whjcdads.FieldByName('供应商ID').Value <>
        dm.whgysdmads.FieldByName('供应商ID').Value then
      begin
        dm.whjcdads.Edit;
        dm.whjcdads.FieldByName('供应商ID').Value :=
          dm.whgysdmads.FieldByName('供应商ID').Value;
      end;
end;

procedure Tjcdwhfrm.SpeedButton3Click(Sender: TObject);
begin
if not Assigned(jclxWHFRM) then
  jclxWHFRM := tjclxWHFRM.Create(Self);
  jclxWHFRM.ShowModal;
if (dm.whjclxdmads.RecordCount>0) then
    if dm.whjcdads.FieldByName('进仓类型ID').Value <>
       dm.whjclxdmads.FieldByName('进仓类型ID').Value then
       begin
         dm.whjcdads.Edit;
         dm.whjcdads.FieldByName('进仓类型ID').Value :=
           dm.whjclxdmads.FieldByName('进仓类型ID').Value;
      end;
end;

procedure Tjcdwhfrm.SpeedButton4Click(Sender: TObject);
begin
if not Assigned(ysrwhfrm) then
  ysrwhfrm := tysrwhfrm.Create(Self);
  ysrwhfrm.ShowModal;
if (dm.whysrads.RecordCount>0) then
    if dm.whjcdads.FieldByName('验收人ID').Value <>
       dm.whysrads.FieldByName('验收人ID').Value then
       begin
         dm.whjcdads.Edit;
         dm.whjcdads.FieldByName('验收人ID').Value :=
           dm.whysrads.FieldByName('验收人ID').Value;
       end;
end;

procedure Tjcdwhfrm.sbtClick(Sender: TObject);
begin
groupbox1.Visible:=not groupbox1.Visible;
if groupbox1.Visible then
begin
  sbt.Caption:='▼';
  sbt.hint:='隐藏条件框';
end
else
begin
  sbt.Caption:='▲';
  sbt.hint:='展开条件框';
end;
end;

end.

⌨️ 快捷键说明

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