📄 printticket.~pa
字号:
tblTicketDetail.Append;
tblTicketDetailPawnTicketCode.Value:=TicketCode;
tblTicketDetailPawnName.Value:='';
tblTicketDetailPawnSpec.Value:='';
tblTicketDetailPawnNumber.Value:='';
tblTicketDetailMonthRate.Value:='';
tblTicketDetailFeeRate.Value:='';
tblTicketDetailAppriseValue.Value:='';
tblTicketDetailDiscountRate.Value:='';
tblTicketDetailPawnMoney.Value:='';
tblTicketDetail.Post;
end;
end;
2: //添加1条空记录
begin
tblTicketDetail.Append;
tblTicketDetailPawnTicketCode.Value:=TicketCode;
tblTicketDetailPawnName.Value:='';
tblTicketDetailPawnSpec.Value:='';
tblTicketDetailPawnNumber.Value:='';
tblTicketDetailMonthRate.Value:='';
tblTicketDetailFeeRate.Value:='';
tblTicketDetailAppriseValue.Value:='';
tblTicketDetailDiscountRate.Value:='';
tblTicketDetailPawnMoney.Value:='';
tblTicketDetail.Post;
end;
end;
end;
end;
end
else //此当票不存在
begin
dqHeadUn.Close;
messagedlg(Msg.MsgPawnNoExist,mtInformation,[mbYes],0);
exit;
end;
end;
end;
//打印发票
procedure TfrmPrint.PrintFP(TicketCode:String);
var
Sql:string;
TotalMoneyBig:string;
Year,Month,Day:word;
MonthRate,SysFee,TotalMoney,TotalPawnMoney:Double;
DBeginDate,DEndDate:TDateTime;
XBeginDate,XEndDate:TDateTime;
i:integer;
begin
//取出当前系统时间作为发票产生时间
DecodeDate(Date,Year,Month,Day);
if FpStatus='新当'then
begin
Sql:='select h.PawnerName,h.SynthesizeFee,h.PawnBeginDate,';
Sql:=Sql +'h.PawnEndDate,h.TotalPawnMoney from PawnHead_Tbl as h ';
Sql:=Sql+'where h.PawnTicketCode=:PawnCode ';
with dmPawnFrm do
begin
dqHeadUn.Close;
dqHeadUn.SQL.Clear;
dqHeadUn.SQL.Add(Sql);
dqHeadUn.ParamByName('PawnCode').Asstring:=TicketCode;
dqHeadUn.Open;
if dqHeadUn.IsEmpty=False then
begin
//MonthRate:=dqHeadUn.FieldByName('MonthRateFee').asfloat;
SysFee:=dqHeadUn.FieldByName('SynthesizeFee').asfloat;
TotalPawnMoney:=dqHeadUn.FieldByName('TotalPawnMoney').asfloat;
TotalMoney:=SysFee;
TotalMoneyBig:=ConverBig(TotalMoney);
DBeginDate:=dqHeadUn.FieldByName('PawnBeginDate').AsDateTime;
DEndDate:=dqHeadUn.FieldByName('PawnEndDate').AsDateTime;
//写发票头
tblFpHead.Close;
tblFpHead.EmptyTable;
tblFpHead.Open;
tblFpHead.Append;
tblFpHeadPawnTicketCode.Value:=TicketCode;
tblFpHeadName.Value:=dqHeadUn.FieldByName('PawnerName').asstring;
tblFpHeadYear.Value:=inttostr(Year);
tblFpHeadMonth.Value:=inttostr(Month);
tblFpHeadDay.Value:=inttostr(Day);
tblFpHeadTotalMText.Value:=TotalMoneyBig;
tblFpHeadTotalMoney.Value:=format('%8d',[Trunc(TotalMoney*100)]);
tblFpHead.Post;
//写发票细
tblFpDetail.Close;
tblFpDetail.EmptyTable;
tblFpDetail.Open;
tblFpDetail.Append;
tblFpDetailPawnTicketCode.Value:=TicketCode;
tblFpDetailItem.Value:=TicketCode;
tblFpDetailItemConent.Value:='综合费用('+DateToStr(DBeginDate)+'--'+DateToStr(DEndDate)+')';
tblFpDetailMoney.Value:=format('%8d',[Trunc(SysFee*100)]);
tblFpDetail.Post;
tblFpDetail.Append;
tblFpDetailPawnTicketCode.Value:=TicketCode;
tblFpDetailItem.Value:='本金 '+format('%8.2f',[TotalPawnMoney]);
tblFpDetailItemConent.Value:='';//'综合费用('+DateToStr(XBeginDate)+'--'+DateToStr(XEndDate)+')';
tblFpDetailMoney.Value:='';//format('%8d',[SysFee*100]);
tblFpDetail.Post;
//再写两行空记录
for i:=1 to 2 do
begin
tblFpDetail.Append;
tblFpDetailPawnTicketCode.Value:=TicketCode;
tblFpDetailItem.Value:='';
tblFpDetailItemConent.Value:='';//'('+DateToStr(DBeginDate)+'--'+DateToStr(DEndDate)+')';
tblFpDetailMoney.Value:='';//format('%8d',[Trunc(MonthRate*100)]);
tblFpDetail.Post;
end;
end;
end;
//exit;
end;
if FpStatus='续当'then
begin
Sql:='select h.PawnerName,h.MonthRateFee,h.SynthesizeFee,h.PawnBeginDate,';
Sql:=Sql +'h.PawnEndDate,h.TotalPawnMoney from PawnHead_Tbl as h ';
Sql:=Sql+'where h.PawnTicketCode=:PawnCode ';
with dmPawnFrm do
begin
dqHeadUn.Close;
dqHeadUn.SQL.Clear;
dqHeadUn.SQL.Add(Sql);
dqHeadUn.ParamByName('PawnCode').Asstring:=TicketCode;
dqHeadUn.Open;
if dqHeadUn.IsEmpty=False then
begin
MonthRate:=dqHeadUn.FieldByName('MonthRateFee').asfloat;
SysFee:=dqHeadUn.FieldByName('SynthesizeFee').asfloat;
TotalPawnMoney:=dqHeadUn.FieldByName('TotalPawnMoney').asfloat;
TotalMoney:=MonthRate+SysFee;
TotalMoneyBig:=ConverBig(TotalMoney);
XBeginDate:=dqHeadUn.FieldByName('PawnBeginDate').AsDateTime;
XEndDate:=dqHeadUn.FieldByName('PawnEndDate').AsDateTime;
//写发票头
tblFpHead.Close;
tblFpHead.EmptyTable;
tblFpHead.Open;
tblFpHead.Append;
tblFpHeadPawnTicketCode.Value:=TicketCode;
tblFpHeadName.Value:=dqHeadUn.FieldByName('PawnerName').asstring;
tblFpHeadYear.Value:=inttostr(Year);
tblFpHeadMonth.Value:=inttostr(Month);
tblFpHeadDay.Value:=inttostr(Day);
tblFpHeadTotalMText.Value:=TotalMoneyBig;
tblFpHeadTotalMoney.Value:=format('%8d',[Trunc(TotalMoney*100)]);
tblFpHead.Post;
//从历史头表中取出原当的典当日期
Sql:='select PawnBeginDate,PawnEndDate from PHHistory_Tbl ';
Sql:=Sql+'where PawnTicketCode=:PawnCode and Status=''未赎'' ';
dqHeadUn.Close;
dqHeadUn.SQL.Clear;
dqHeadUn.SQL.Add(Sql);
dqHeadUn.ParamByName('PawnCode').Asstring:=TicketCode;
dqHeadUn.Open;
if dqHeadUn.IsEmpty=False then
begin
DBeginDate:=dqHeadUn.FieldByName('PawnBeginDate').AsDateTime;
DEndDate:=dqHeadUn.FieldByName('PawnEndDate').AsDateTime;
end;
//写发票细
tblFpDetail.Close;
tblFpDetail.EmptyTable;
tblFpDetail.Open;
tblFpDetail.Append;
tblFpDetailPawnTicketCode.Value:=TicketCode;
tblFpDetailItem.Value:=TicketCode;
tblFpDetailItemConent.Value:='月息('+DateToStr(DBeginDate)+'--'+DateToStr(DEndDate)+')';
tblFpDetailMoney.Value:=format('%8d',[Trunc(MonthRate*100)]);
tblFpDetail.Post;
tblFpDetail.Append;
tblFpDetailPawnTicketCode.Value:=TicketCode;
tblFpDetailItem.Value:='本金'+format('%8.2f',[TotalPawnMoney]);
tblFpDetailItemConent.Value:='综合费用('+DateToStr(XBeginDate)+'--'+DateToStr(XEndDate)+')';
tblFpDetailMoney.Value:=format('%8d',[Trunc(SysFee*100)]);
tblFpDetail.Post;
//再写两行空记录
for i:=1 to 2 do
begin
tblFpDetail.Append;
tblFpDetailPawnTicketCode.Value:=TicketCode;
tblFpDetailItem.Value:='';
tblFpDetailItemConent.Value:='';//'('+DateToStr(DBeginDate)+'--'+DateToStr(DEndDate)+')';
tblFpDetailMoney.Value:='';//format('%8d',[Trunc(MonthRate*100)]);
tblFpDetail.Post;
end;
end;
end;
//exit;
end;
if FpStatus='赎回'then
begin
Sql:='select h.PawnerName,h.TotalPawnMoney,h.MonthRateFee,h.PawnBeginDate,h.PawnEndDate ';
Sql:=Sql+'from PawnHead_Tbl as h where h.PawnTicketCode=:PawnCode ';
Sql:=Sql+'and h.Status=''赎回'' ';
with dmPawnFrm do
begin
dqHeadUn.Close;
dqHeadUn.SQL.Clear;
dqHeadUn.SQL.Add(Sql);
dqHeadUn.ParamByName('PawnCode').Asstring:=TicketCode;
dqHeadUn.Open;
if dqHeadUn.IsEmpty=False then
begin
MonthRate:=dqHeadUn.FieldByName('MonthRateFee').asfloat;
//SysFee:=dqHeadUn.FieldByName('SynthesizeFee').asfloat;
TotalPawnMoney:=dqHeadUn.FieldByName('TotalPawnMoney').asfloat;
TotalMoney:=MonthRate+TotalPawnMoney;
TotalMoneyBig:=ConverBig(TotalMoney);
DBeginDate:=dqHeadUn.FieldByName('PawnBeginDate').AsDateTime;
DEndDate:=dqHeadUn.FieldByName('PawnEndDate').AsDateTime;
//写发票头
tblFpHead.Close;
tblFpHead.EmptyTable;
tblFpHead.Open;
tblFpHead.Append;
tblFpHeadPawnTicketCode.Value:=TicketCode;
tblFpHeadName.Value:=dqHeadUn.FieldByName('PawnerName').asstring;
tblFpHeadYear.Value:=inttostr(Year);
tblFpHeadMonth.Value:=inttostr(Month);
tblFpHeadDay.Value:=inttostr(Day);
tblFpHeadTotalMText.Value:=TotalMoneyBig;
tblFpHeadTotalMoney.Value:=format('%8d',[Trunc(TotalMoney*100)]);
tblFpHead.Post;
//写发票细
tblFpDetail.Close;
tblFpDetail.EmptyTable;
tblFpDetail.Open;
tblFpDetail.Append;
tblFpDetailPawnTicketCode.Value:=TicketCode;
tblFpDetailItem.Value:=TicketCode;
tblFpDetailItemConent.Value:='归还';//('+DateToStr(DBeginDate)+'--'+DateToStr(DEndDate)+')';
tblFpDetailMoney.Value:=format('%8d',[Trunc(TotalPawnMoney*100)]);
tblFpDetail.Post;
tblFpDetail.Append;
tblFpDetailPawnTicketCode.Value:=TicketCode;
tblFpDetailItem.Value:='月利息';
tblFpDetailItemConent.Value:='('+DateToStr(DBeginDate)+'--'+DateToStr(DEndDate)+')';
tblFpDetailMoney.Value:=format('%8d',[Trunc(MonthRate*100)]);
tblFpDetail.Post;
//再写两行空记录
for i:=1 to 2 do
begin
tblFpDetail.Append;
tblFpDetailPawnTicketCode.Value:=TicketCode;
tblFpDetailItem.Value:='';
tblFpDetailItemConent.Value:='';//'('+DateToStr(DBeginDate)+'--'+DateToStr(DEndDate)+')';
tblFpDetailMoney.Value:='';//format('%8d',[Trunc(MonthRate*100)]);
tblFpDetail.Post;
end;
end;
end;
//exit;
end;
end;
procedure TfrmPrint.cmdExitClick(Sender: TObject);
begin
close;
end;
procedure TfrmPrint.cmdVTicketClick(Sender: TObject);
begin
if txtPawnTicket.Text='' then
begin
messagedlg(Msg.MsgPawnCodeInput,mtInformation,[mbYes],0);
exit;
end;
PrintTicket(txtPawnTicket.Text);
//frmPrint.staPrintTicket.SimpleText:='正在处理预览,请稍候...';
frptTicket.Preview;
//frmPrint.staPrintTicket.SimpleText:='预览结束,请继续使用!';
end;
procedure TfrmPrint.cmdPTicketClick(Sender: TObject);
begin
if txtPawnTicket.Text='' then
begin
messagedlg(Msg.MsgPawnCodeInput,mtInformation,[mbYes],0);
exit;
end;
PrintTicket(txtPawnTicket.Text);
frptTicket.Print;
end;
procedure TfrmPrint.cmdVFpClick(Sender: TObject);
begin
if txtTicketCode.Text='' then
begin
messagedlg(Msg.MsgPawnCodeInput,mtInformation,[mbYes],0);
exit;
end;
PrintFP(txtTicketCode.Text);
frptFp.Preview;
end;
procedure TfrmPrint.cmdPFpClick(Sender: TObject);
begin
If txtTicketCode.Text='' then
begin
messagedlg(Msg.MsgPawnCodeInput,mtInformation,[mbYes],0);
exit;
end;
PrintFP(txtTicketCode.Text);
frptFp.Print;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -