📄 ukp.pas
字号:
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 + -