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

📄 ukp.pas

📁 安徽省货物销售统一发票管理系统 操作说明 1、开票 F7或双击可 查询
💻 PAS
📖 第 1 页 / 共 3 页
字号:
begin
  panel4.Visible:=false;
  panel3.Visible:=true;
  Panel5.Visible:=True;
  Panel5.Enabled:=True;
  Clientheight:=454;
end;

procedure Tfrm_kp.edt_proEnter(Sender: TObject);
begin
//  showmessage('onEnter');
end;

procedure Tfrm_kp.PT_FPRefresh(Sender: TObject);
begin
  lbl_zf.Visible:=pt_fp.Cancel;
  lbl_khmc.Caption:=pt_fp.KHmc;
  kpdate.DateTime:=pt_fp.KPDate;
  lbl_fpcode.Caption:=pt_fp.FPCode;
  lbl_fpNum.Caption:=pt_fp.FPNum;
  lbl_cp1.Caption:=pt_fp.CP1;
  lbl_cp2.Caption:=pt_fp.CP2;
  lbl_cp3.Caption:=pt_fp.CP3;
  lbl_gg1.Caption:=pt_fp.GG1;
  lbl_gg2.Caption:=pt_fp.GG2;
  lbl_gg3.Caption:=pt_fp.GG3;
  lbl_dw1.Caption:=pt_fp.DW1;
  lbl_dw2.Caption:=pt_fp.DW2;
  lbl_dw3.Caption:=pt_fp.DW3;
  lbl_sl1.Caption:=pt_fp.DispSL1;
  lbl_sl2.Caption:=pt_fp.DispSL2;
  lbl_sl3.Caption:=pt_fp.DispSL3;
  lbl_dj1.Caption:=pt_fp.DispDJ1;
  lbl_dj2.Caption:=pt_fp.DispDJ2;
  lbl_dj3.Caption:=pt_fp.DispDJ3;
  lbl_je1.Caption:=pt_fp.DispJe1;
  lbl_je2.Caption:=pt_fp.DispJe2;
  lbl_je3.Caption:=pt_fp.DispJe3;
  lbl_hjje.Caption:=pt_fp.DispHJJe+' ';
  lbl_hjdx.Caption:=pt_fp.DispHJJEDX;
  lbl_taxno.Caption:=pt_fp.TaxNo;
  lbl_bankMN.Caption:=pt_fp.BankMN;
  lbl_dwmc.Caption:=pt_fp.Dwmc;
  lbl_telno.Caption:=pt_fp.TelNo;
  lbl_address.Caption:=pt_fp.Address;
  lbl_skr.Caption:=pt_fp.RenSK;
  lbl_kpr.Caption:=pt_fp.RenKp;
  if pt_fp.Saved then
    statusbar1.Panels[1].Text:='已保存'
  else
    statusbar1.Panels[1].Text:='未保存';
  toolbutton1.Enabled:=pt_fp.Saved and (statusbar1.Panels[0].text='新增');
  toolbutton2.Enabled:=not pt_fp.Saved;
  toolbutton3.Enabled:=pt_fp.Saved;
  toolbutton4.Enabled:=pt_fp.Saved;
  toolbutton6.Enabled:=statusbar1.Panels[0].Text='查询';
  toolbutton7.Enabled:=toolbutton6.Enabled;
  toolbutton8.Enabled:=toolbutton6.Enabled;
  toolbutton9.Enabled:=toolbutton6.Enabled;
  toolbutton11.Enabled:=pt_fp.Saved and (not pt_fp.Cancel) and (statusbar1.Panels[0].Text='作废');
  toolbutton13.Enabled:=(not pt_fp.Saved) and (statusbar1.Panels[0].Text='新增');
  panel1.Enabled:=not pt_fp.Saved ;
end;

procedure Tfrm_kp.ToolButton1Click(Sender: TObject);
begin
  if not newfp then
  begin
    Application.MessageBox(PChar('本单位发票已经全部用完了!' + #13#10 +
      '请重新购买发票后,并在发票管理中增加发票!'), PChar('提示'), MB_OK +
      MB_ICONINFORMATION + MB_TOPMOST);
    close;
  end;
end;

procedure Tfrm_kp.FormCreate(Sender: TObject);
begin
  combobox1.Items.Assign(printer.Printers);
  kpdate.DateTime:=now;
end;

procedure Tfrm_kp.ToolButton15Click(Sender: TObject);
begin
  close;
end;

procedure Tfrm_kp.SpinEdit1Change(Sender: TObject);
begin
  kpxx.sl_dec:=spinedit1.Value;
  kpxx.sl_fjh:=checkbox1.Checked;
  pt_fp.FormatSl:=pt_fp.getNumDispFormat(kpxx.sl_dec,kpxx.sl_fjh);
end;

procedure Tfrm_kp.SpinEdit2Change(Sender: TObject);
begin
  kpxx.dj_dec:=spinedit2.Value;
  kpxx.dj_fjh:=checkbox2.Checked;
  pt_fp.FormatDJ:=pt_fp.getNumDispFormat(kpxx.dj_dec,kpxx.dj_fjh);
end;

procedure Tfrm_kp.SpinEdit3Change(Sender: TObject);
begin
  kpxx.je_fjh:=checkbox3.Checked;
  pt_fp.FormatJE:=pt_fp.getNumDispFormat(kpxx.je_dec,kpxx.je_fjh);

end;

procedure Tfrm_kp.ComboBox1Change(Sender: TObject);
begin
  kpxx.printer_name:=combobox1.Text;
end;

procedure Tfrm_kp.SpinEdit4Change(Sender: TObject);
begin
  kpxx.print_x:=spinedit4.Value;
end;

procedure Tfrm_kp.SpinEdit5Change(Sender: TObject);
begin
  kpxx.print_y:=spinedit5.Value;
end;

procedure Tfrm_kp.FormActivate(Sender: TObject);
begin
  if tag>0 then exit;
  tag:=1;
  spinedit1.Value:=kpxx.sl_dec;
  checkbox1.Checked:=kpxx.sl_fjh;
  spinedit2.Value:=kpxx.dj_dec;
  checkbox2.Checked:=kpxx.dj_fjh;
  checkbox3.Checked:=kpxx.je_fjh;
  spinedit3.Value:=kpxx.je_dec;
  spinedit4.Value:=kpxx.print_x;
  spinedit5.Value:=kpxx.print_y;
  combobox1.ItemIndex:=combobox1.Items.IndexOf(kpxx.printer_name);
end;

procedure Tfrm_kp.ToolButton11Click(Sender: TObject);
begin
  if datam.kpkSetFPno.AsString=pt_fp.FPNum then
  begin
    datam.kpkSet.Edit;
    datam.kpkSetCancel.AsBoolean:=True;
    datam.kpkSet.Post;
    pt_fp.Cancel:=true;
  end;
end;

procedure Tfrm_kp.SpeedButton2Click(Sender: TObject);
begin
  pt_fp.RenSK:=frm_main.GetRen(pt_fp.RenSK);
  if edt_pro.Tag=2 then edt_pro.Text:=pt_fp.RenSK;
end;

procedure Tfrm_kp.SpeedButton3Click(Sender: TObject);
begin
  pt_fp.RenKP:=frm_main.GetRen(pt_fp.RenKP);
  if edt_pro.Tag=3 then edt_pro.Text:=pt_fp.RenKP;
end;

procedure Tfrm_kp.edt_proDblClick(Sender: TObject);
begin
  case edt_pro.Tag of
    1: speedbutton1.Click;
    2: speedbutton2.Click;
    3: speedbutton3.Click;
    11,12,13: getcpxx(edt_pro.Tag mod 10);
    31,32,33: edt_pro.Text:=frm_main.getjldw(edt_pro.Text);
  end;
end;

procedure Tfrm_kp.ToolButton2Click(Sender: TObject);
var afs,Asy,Adm,sl    : integer;
    ACurDM,kind : string;
begin
  showeditpro(edt_pro.Tag);
  if pt_fp.DispHJJe='' then
  begin
    Application.MessageBox(PChar('发票金额为0,不能保存!'), PChar('提示'),
      MB_OK + MB_ICONINFORMATION + MB_TOPMOST);
    exit;
  end;
  if pt_fp.KHmc='' then
  begin
    Application.MessageBox(PChar('客户名为空,不能保存!'), PChar('提示'),
      MB_OK + MB_ICONINFORMATION + MB_TOPMOST);
    exit;
  end;
  if (pt_fp.DispJe1<>'') and (pt_fp.CP1='') then
  begin
    Application.MessageBox(PChar('发票第一行无品名,不能保存!'),
      PChar('提示'), MB_OK + MB_ICONINFORMATION + MB_TOPMOST);
    exit;
  end;
  if (pt_fp.DispJe2<>'') and (pt_fp.CP2='') then
  begin
    Application.MessageBox(PChar('发票第二行无品名,不能保存!'),
      PChar('提示'), MB_OK + MB_ICONINFORMATION + MB_TOPMOST);
    exit;
  end;
  if (pt_fp.DispJe3<>'') and (pt_fp.CP3='') then
  begin
    Application.MessageBox(PChar('发票第三行无品名,不能保存!'),
      PChar('提示'), MB_OK + MB_ICONINFORMATION + MB_TOPMOST);
    exit;
  end;
  //数据整理
  if pt_fp.DispJe1='' then
  begin
    pt_fp.move2to1;
    pt_fp.move3to2;
  end;
  if pt_fp.DispJe1='' then
  begin
    pt_fp.move2to1;
  end;
  if (pt_fp.DispJe2='') and (pt_fp.DispJe3<>'') then
  begin
    pt_fp.move3to2;
  end;

  //开始保存
  datam.setcurMiss;
  datam.fpkset.Locate('Active',true,[]);
  if datam.fpksetCurNo.AsString<>pt_fp.FPNum then
  begin
    Application.MessageBox(PChar('数据库出现异常,不能保存!'), PChar('提示'),
      MB_OK + MB_ICONINFORMATION + MB_TOPMOST);
    exit;
  end;
  sl:=17;
  kind:='主营业务收入';
  if kpxx.b01 then
  begin
    frm_kind.ShowModal;
    sl:=frm_kind.SpinEdit1.Value;
    kind:=frm_kind.ComboBox1.Text;
  end;
  datam.ADOConnection1.BeginTrans;
  try
    Afs:=datam.fpksetykfs.AsInteger;
    Asy:=datam.fpksetsyfs.AsInteger;
    ACurDm:=datam.fpksetCurNo.AsString;
    ADm:=strtoint(ACurDm);
    ACurDm:=inttostr(ADm+1);
    ACurDm:=copy('00000000',1,8-length(ACurDm))+ACurdm;
    datam.fpkset.Edit;
    datam.fpksetykfs.AsInteger:=Afs+1;
    datam.fpksetsyfs.AsInteger:=Asy-1;
    datam.fpksetCurNo.AsString:=ACurDm;
    datam.fpkset.Post;

    datam.kpkSet.First;
    datam.kpkSet.Append;

    datam.kpkSetCancel.AsBoolean:=pt_fp.Cancel;
    datam.kpkSettaxNo.AsString:=pt_fp.TaxNo;
    datam.kpkSetFPcode.AsString:=pt_fp.FPCode;
    datam.kpkSetFPno.AsString:=pt_fp.FPNum;
    datam.kpkSetkhmc.AsString:=pt_fp.KHmc;
    datam.kpkSethjje.AsFloat:=pt_fp.HJJe;
    datam.kpkSetbankMNo.AsString:=pt_fp.BankMN;
    datam.kpkSetaddress.AsString:=pt_fp.Address;
    datam.kpkSetphotono.AsString:=pt_fp.TelNo;
    datam.kpkSetskRen.AsString:=pt_fp.RenSK;
    datam.kpkSetkpRen.AsString:=pt_fp.RenKp;
    datam.kpkSetkpDate.AsDateTime:=pt_fp.KPDate;
    datam.kpkSetinputno.AsString:=datam.fpksetinputno.AsString;
    datam.kpkSetrate.AsInteger:=sl;
//    datam.kpkSetse.AsFloat:=
    datam.kpkSetkind.AsString:=kind;
    datam.kpkSet.Post;
    Asy:=datam.kpkSetfp_id.AsInteger;
    if pt_fp.DispJe1<>'' then
    begin
      datam.kpmxkset.Append;
      datam.kpmxksetfp_id.AsInteger:=Asy;
      datam.kpmxksetXMMC.AsString:=pt_fp.CP1;
      datam.kpmxksetXMGG.AsString:=pt_fp.GG1;
      datam.kpmxksetXMDW.AsString:=pt_fp.DW1;
      datam.kpmxksetXMSL.AsFloat:=pt_fp.SL1;
      datam.kpmxksetXMDJ.AsFloat:=pt_fp.DJ1;
      datam.kpmxksetXMJE.AsFloat:=pt_fp.JE1;
      datam.kpmxkset.Post;
    end;
    if pt_fp.DispJe2<>'' then
    begin
      datam.kpmxkset.Append;
      datam.kpmxksetfp_id.AsInteger:=Asy;
      datam.kpmxksetXMMC.AsString:=pt_fp.CP2;
      datam.kpmxksetXMGG.AsString:=pt_fp.GG2;
      datam.kpmxksetXMDW.AsString:=pt_fp.DW2;
      datam.kpmxksetXMSL.AsFloat:=pt_fp.SL2;
      datam.kpmxksetXMDJ.AsFloat:=pt_fp.DJ2;
      datam.kpmxksetXMJE.AsFloat:=pt_fp.JE2;
      datam.kpmxkset.Post;
    end;
    if pt_fp.DispJe3<>'' then
    begin
      datam.kpmxkset.Append;
      datam.kpmxksetfp_id.AsInteger:=Asy;
      datam.kpmxksetXMMC.AsString:=pt_fp.CP3;
      datam.kpmxksetXMGG.AsString:=pt_fp.GG3;
      datam.kpmxksetXMDW.AsString:=pt_fp.DW3;
      datam.kpmxksetXMSL.AsFloat:=pt_fp.SL3;
      datam.kpmxksetXMDJ.AsFloat:=pt_fp.DJ3;
      datam.kpmxksetXMJE.AsFloat:=pt_fp.JE3;
      datam.kpmxkset.Post;
    end;
    pt_fp.Saved:=true;
    datam.ADOConnection1.CommitTrans;
  except
    datam.ADOConnection1.RollbackTrans;
  end;

  
end;

procedure Tfrm_kp.edt_proKeyPress(Sender: TObject; var Key: Char);
begin
  if edt_pro.Tag>=41 then
  begin

    if not (key in ['0'..'9','.','-',#8]) then
      key:=#0;
  end;
end;

procedure Tfrm_kp.KPDateChange(Sender: TObject);
begin
  pt_fp.KPDate:=kpdate.DateTime;
end;

procedure Tfrm_kp.ToolButton6Click(Sender: TObject);
begin
  datam.kpkSet.First;
  if not datam.kpkSet.Eof then
    loadfp;
end;

procedure Tfrm_kp.ToolButton7Click(Sender: TObject);
begin
  datam.kpkSet.Prior;
  if datam.kpkSet.Eof and datam.kpkSet.Bof then
    exit;
  loadfp;
end;

procedure Tfrm_kp.ToolButton8Click(Sender: TObject);
begin
  if not datam.kpkSet.Eof then
    datam.kpkSet.Next;
  if datam.kpkSet.Eof and datam.kpkSet.Bof then
    exit;
  loadfp;
end;

procedure Tfrm_kp.ToolButton9Click(Sender: TObject);
begin
  datam.kpkSet.Last;
  if datam.kpkSet.Eof and datam.kpkSet.Bof then
    exit;
  loadfp;
end;

procedure Tfrm_kp.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  showeditpro(0);
  if (not pt_fp.Saved) and (pt_fp.DispHJJe<>'') then
  begin
    if Application.MessageBox(PChar('发票没有保存!真的要返回吗?'), 
      PChar('询问'), MB_OKCANCEL + MB_ICONQUESTION + MB_DEFBUTTON2 +
      MB_TOPMOST) = IDOK then
      CanClose:=true
    else
      CanClose:=False;
  end else
    CanClose:=true;
end;

procedure Tfrm_kp.ToolButton13Click(Sender: TObject);
begin
  if frm_copy.ShowModal<>mrOk then exit;
  if frm_copy.CheckBox1.Checked then
    datam.kpkSet.Last
  else
    if  not datam.kpkSet.Locate('fpno',frm_copy.Edit1.Text,[]) then
    begin
      Application.MessageBox(PChar('没有找到该发票,无法复制!'),
        PChar('提示'), MB_OK + MB_ICONINFORMATION + MB_TOPMOST);
      exit;
    end;
  if datam.kpkSet.Eof and datam.kpkSet.Bof then
  begin
    Application.MessageBox(PChar('没有找到发票,无法复制!'), PChar('提示'), 
      MB_OK + MB_ICONINFORMATION + MB_TOPMOST);
    exit;
  end;
  //开始复制
  showeditpro(0);
  update;
  pt_fp.AutoRefresh:=False;
  pt_fp.KHmc:=datam.kpkSetkhmc.AsString;
  datam.kpmxkset.First;
  pt_fp.CP1:=datam.kpmxksetXMMC.AsString;
  pt_fp.GG1:=datam.kpmxksetXMGG.AsString;
  pt_fp.DW1:=datam.kpmxksetXMDW.AsString;
  pt_fp.SL1:=datam.kpmxksetXMSL.AsFloat;
  pt_fp.DJ1:=datam.kpmxksetXMDJ.AsFloat;
  pt_fp.JE1:=datam.kpmxksetXMJE.AsCurrency;
  datam.kpmxkset.Next;
  if not datam.kpmxkset.Eof then
  begin
    pt_fp.CP2:=datam.kpmxksetXMMC.AsString;
    pt_fp.GG2:=datam.kpmxksetXMGG.AsString;
    pt_fp.DW2:=datam.kpmxksetXMDW.AsString;
    pt_fp.SL2:=datam.kpmxksetXMSL.AsFloat;
    pt_fp.DJ2:=datam.kpmxksetXMDJ.AsFloat;
    pt_fp.JE2:=datam.kpmxksetXMJE.AsCurrency;
    datam.kpmxkset.Next;
    if not datam.kpmxkset.Eof then
    begin
      pt_fp.CP3:=datam.kpmxksetXMMC.AsString;
      pt_fp.GG3:=datam.kpmxksetXMGG.AsString;
      pt_fp.DW3:=datam.kpmxksetXMDW.AsString;
      pt_fp.SL3:=datam.kpmxksetXMSL.AsFloat;
      pt_fp.DJ3:=datam.kpmxksetXMDJ.AsFloat;
      pt_fp.JE3:=datam.kpmxksetXMJE.AsCurrency;
    end;
  end;
  pt_fp.AutoRefresh:=true;
end;

procedure Tfrm_kp.ToolButton3Click(Sender: TObject);
begin
  frm_fppreview.ShowModal;
end;

procedure Tfrm_kp.ToolButton4Click(Sender: TObject);
var prtIndex:integer;
    myRect:TGridRect;
    p_left,p_top:integer;
begin
  p_left:=spinedit4.Value;
  p_top:=spinedit5.Value;
  prtindex:=printer.PrinterIndex;
  if combobox1.ItemIndex>=0 then
    printer.PrinterIndex:=combobox1.ItemIndex;
  SetPaperSize(2100,930);
//  printer.NewPage;
  printer.Title:='打印发票'+pt_fp.FPNum;
  printer.BeginDoc;
  if checkbox4.Checked then
  begin
    myrect.left:=1260+p_left;
    myrect.top:=120+p_top;
    myrect.width:=200;
    myrect.height:=55;
    myrect.text:=pt_fp.FPNum;
    myrect.fx:='<';
    MMtextout(myrect);
  end;
//客户名称
  myrect.left:=350+p_left;
  myrect.top:=260+p_top;
  myrect.width:=850;
  myrect.height:=55;
  myrect.text:=pt_fp.KHmc;
  myrect.fx:='<';
  MMtextout(myrect);
//打印第一行
  if pt_fp.DispJe1<>'' then
  begin
    if trim(pt_fp.CP1)<>'' then
    begin
      myrect.left:=190+p_left;
      myrect.top:=390+p_top;
      myrect.width:=370;
      myrect.height:=70;
      myrect.text:=trim(pt_fp.CP1);
      if length(myrect.text)>30 then myrect.text:=copy(myrect.text,1,30);
      myrect.fx:='<';
      MMtextout(myrect);
    end;
    if trim(pt_fp.GG1)<>'' then
    begin
      myrect.left:=560+p_left;
      myrect.top:=390+p_top;
      myrect.width:=200;
      myrect.height:=70;
      myrect.text:=trim(pt_fp.GG1);
      if length(myrect.text)>20 then myrect.text:=copy(myrect.text,1,20);
      myrect.fx:='|';
      MMtextout(myrect);
    end;
    if trim(pt_fp.DW1)<>'' then
    begin
      myrect.left:=760+p_left;
      myrect.top:=390+p_top;
      myrect.width:=100;
      myrect.height:=70;
      myrect.text:=trim(pt_fp.DW1);
      if length(myrect.text)>8 then myrect.text:=copy(myrect.text,1,8);
      myrect.fx:='|';
      MMtextout(myrect);
    end;
    if pt_fp.DispSL1<>'' then
    begin
      myrect.left:=860+p_left;
      myrect.top:=390+p_top;
      myrect.width:=180;
      myrect.height:=70;
      myrect.text:=trim(pt_fp.DispSL1);
      myrect.fx:='|';
      MMtextout(myrect);
    end;
    if pt_fp.DispdJ1<>'' then
    begin
      myrect.left:=1040+p_left;
      myrect.top:=390+p_top;
      myrect.width:=140;
      myrect.height:=70;
      myrect.text:=trim(pt_fp.DispDJ1);
      myrect.fx:='>';
      MMtextout(myrect);
    end;
    if pt_fp.DispJE1<>'' then
    begin
      myrect.left:=1180+p_left;
      myrect.top:=390+p_top;
      myrect.width:=230;
      myrect.height:=70;
      myrect.text:=trim(pt_fp.DispJE1);
      myrect.fx:='>';
      MMtextout(myrect);
    end;
  end;

⌨️ 快捷键说明

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