📄 printinvoiceunit.pas
字号:
procedure TfrmPrintInvoice.PreviewTranExecute(Sender: TObject);
var
sqltext : string;
begin
// showmessage('权限判定');
if Not dm.tbPower.FieldValues['M401_3'] then begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
// showmessage('汇总金额');
sqltext:= 'Select SUM(iNatSum) from DispatchLists AS a INNER JOIN DispatchList AS b ON a.DLID = b.DLID where cDLCode = '''+dlid.Text+'''';
Printpage.QRLabel12.Caption:= getlist(sqltext).Strings[0];
// showmessage('权限是否附加表头');
if bReportTitel.Checked then Additive Else Printpage.RichText_List01.Lines.Clear ;
// showmessage('表单隐藏');
Printpage.Hide ;
// showmessage('单据预览开始');
Printpage.SaleList.Preview ;
// showmessage('单据预览成功');
end;
procedure TfrmPrintInvoice.bPrintTitelExecute(Sender: TObject);
begin
if Not dm.tbPower.FieldValues['M401_2'] then begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
if bReportTitel.Checked then begin
if MessageDlg('是否将未通知的调货明细及调价明细打印在此单据上 ?',mtInformation,[mbOK,mbCancel],0) = mrOk then begin
with dm.sql do begin
commandtext := 'execute _PM_P_CustInvState_Query 1,7,''' + cxDBlabel1.Caption + ''',''' + dlid.Text + '''';
execute ;
commandtext := 'execute _PM_P_CustInvState_Query 1,8,''' + cxDBlabel1.Caption + ''',''' + dlid.Text + '''';
execute ;
end;
QueryInvoices(dlid.Text);
end;
end;
end;
procedure TfrmPrintInvoice.AddItive ;
begin
with Printpage.RichText_List01.Lines do begin
clear ;
Add(' 项目 金额');
Add('-----------------------------------------------');
Add('本单金额: ' + Printpage.QRLabel12.Caption);
if ((Edit_01.Text <> '') AND (ComboBox_01.Text <> '')) Then Add(ComboBox_01.Text +': '+ Edit_01.Text);
IF ((Edit_02.Text <> '') AND (ComboBox_02.Text <> '')) Then Add(ComboBox_02.Text +': '+ Edit_02.Text);
IF ((Edit_03.Text <> '') AND (ComboBox_03.Text <> '')) Then Add(ComboBox_03.Text +': '+ Edit_03.Text);
IF ((Edit_04.Text <> '') AND (ComboBox_04.Text <> '')) Then Add(ComboBox_04.Text +': '+ Edit_04.Text);
IF ((Edit_05.Text <> '') AND (ComboBox_05.Text <> '')) Then Add(ComboBox_05.Text +': '+ Edit_05.Text);
IF ((Edit_06.Text <> '') AND (ComboBox_06.Text <> '')) Then Add(ComboBox_06.Text +': '+ Edit_06.Text);
IF ((Edit_07.Text <> '') AND (ComboBox_07.Text <> '')) Then Add(ComboBox_07.Text +': '+ Edit_07.Text);
IF ((Edit_08.Text <> '') AND (ComboBox_08.Text <> '')) Then Add(ComboBox_08.Text +': '+ Edit_08.Text);
IF ((Edit_09.Text <> '') AND (ComboBox_09.Text <> '')) Then Add(ComboBox_09.Text +': '+ Edit_09.Text);
IF ((Edit_10.Text <> '') AND (ComboBox_10.Text <> '')) Then Add(ComboBox_10.Text +': '+ Edit_10.Text);
IF ((Edit_11.Text <> '') AND (ComboBox_11.Text <> '')) Then Add(ComboBox_11.Text +': '+ Edit_11.Text);
Add('');
Add('本次付款: ');
Add(' --------------------------------');
Add('本次退货: ');
Add(' --------------------------------');
Add('客户签收: ');
Add(' --------------------------------');
Add('签收时间: ');
Add(' --------------------------------');
if List_AddProdPrice.Items.Count >0 then begin
Add('');
AddStrings(List_AddProdPrice.Items);
end;
if cxMemo1.Lines.Count >0 then begin
Add('');
Printpage.RichText_List01.Lines.AddStrings(cxMemo1.Lines);
end;
Printpage.RichText_List01.Height := Count * 21 + 3;
end;
end;
procedure TfrmPrintInvoice.PrintTranExecute(Sender: TObject);
var
sqltext : string;
begin
if Not dm.tbPower.FieldValues['M401_3'] then begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
sqltext:= 'Select SUM(iNatSum) from DispatchLists AS a INNER JOIN DispatchList AS b ON a.DLID = b.DLID where cDLCode = '''+dlid.Text+'''';
Printpage.QRLabel12.Caption:= getlist(sqltext).Strings[0];
if bReportTitel.Checked then begin
Additive;
end Else Printpage.RichText_List01.Lines.Clear ;
Printpage.Hide ;
Printpage.SaleList.Print ;
end;
procedure TfrmPrintInvoice.ChangMemoExecute(Sender: TObject);
begin
cxMemo1.Properties.ReadOnly:= False;
end;
procedure TfrmPrintInvoice.SaveMemoExecute(Sender: TObject);
var
sqltext :string;
begin
cxMemo1.Properties.ReadOnly := True ;
if cxMemo1.Lines.Text <> getlist('SELECT TOP 1 PrintSaleOrderMemo FROM _PM_T_INIFile ').Text then begin
try
with dm.sql do begin
commandtext := 'update _PM_T_INIFile set PrintSaleOrderMemo = ''' + cxMemo1.Lines.Text + '''' ;
execute;
showmessage('保存成功!');
end;
except
showmessage('保存失败!');
cxMemo1.Properties.ReadOnly := True ;
exit;
end;
end;
sqltext := 'SELECT TOP 1 PrintSaleOrderMemo FROM _PM_T_INIFile ';
cxMemo1.Lines.AddStrings(getlist(sqltext));
end;
procedure TfrmPrintInvoice.DataSet_InvoiceAfterClose(DataSet: TDataSet);
begin
List_ProdPrice.Items.Clear ;
List_AddProdPrice.Items.Clear ;
end;
procedure TfrmPrintInvoice.DataSet_InvoiceAfterOpen(DataSet: TDataSet);
begin
if dlid.text <> '' then BtnRefurbish.Enabled := True ;
with DataSet_Invoice do begin
if fieldByName('审核').AsString = '' then begin
btnView.Enabled := False ;
btnPrint.Enabled := False ;
bReportTitel.Enabled := False ;
btnTran.Enabled := False ;
btnRefurbish.Enabled := False ;
end else begin
if fieldByName('是否结算').AsInteger <> 1 then begin
if fieldByName('审核类别').AsInteger <>1
then btnTran.Enabled := False
else btnTran.Enabled := True ;
btnRefurbish.Enabled := True ;
btnView.Enabled := False ;
btnPrint.Enabled := False ;
bReportTitel.Enabled := False ;
end else begin
btnRefurbish.Enabled := True ;
btnView.Enabled := True ;
btnPrint.Enabled := True ;
btnTran.Enabled := False ;
bReportTitel.Enabled := True ;
end;
end;
end;
end;
procedure TfrmPrintInvoice.TransactExecute(Sender: TObject);
begin
if Not dm.tbPower.FieldValues['M401_1'] then begin
showmessage('无权执行,请咨询系统管理员!');
exit;
end;
try
with dm.sql do begin
commandtext := 'execute _PM_P_Invoice_Transact ''' + dlid.Text + '''' ;
execute;
QueryInvoices(dlid.Text);
showmessage('结算成功!');
end;
except
showmessage('结算失败!');
exit;
end;
end;
procedure TfrmPrintInvoice.DataRefurbishExecute(Sender: TObject);
begin
try
QueryInvoices(dlid.Text);
except
showmessage('刷新失败!');
exit;
end;
end;
procedure TfrmPrintInvoice.N3Click(Sender: TObject);
begin
List_Invoice.Items := GetList('execute _PM_P_LoadItem '''',11');
end;
procedure TfrmPrintInvoice.FormShow(Sender: TObject);
begin
List_Invoice.Items := GetList('execute _PM_P_LoadItem '''',11');
Printpage:=TPrintpage.Create(self);
sqltext := 'SELECT TOP 1 PrintSaleOrderMemo FROM _PM_T_INIFile ';
cxMemo1.Lines.AddStrings(getlist(sqltext));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -