📄 printinvoiceunit.pas
字号:
unit PrintInvoiceUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxExEdtr, RzPanel, ActnList, DB, ADODB, Menus, cxTextEdit,
cxMaskEdit, cxButtonEdit, cxDBEdit, Buttons, StdCtrls, RzLabel,
cxDBLabel, cxControls, cxContainer, cxEdit, cxLabel, dxDBTLCl, dxGrClms,
dxDBCtrl, dxDBGrid, dxTL, dxCntner, ExtCtrls, RzButton, RzLstBox,
cxCheckBox, RzTabs, RzEdit, DBCtrls, RzDBEdit, cxGraphics, cxRadioGroup,
cxDropDownEdit, cxMemo, cxListBox, RzSplit;
type
TfrmPrintInvoice = class(TForm)
RzPanel3: TRzPanel;
RzPanel1: TRzPanel;
RzPanel2: TRzPanel;
RzPanel5: TRzPanel;
RzLabel5: TRzLabel;
cxLabel7: TcxLabel;
cxLabel8: TcxLabel;
DLID: TcxDBButtonEdit;
cxDBLabel1: TcxDBLabel;
cxDBLabel3: TcxDBLabel;
DS_Invoice: TDataSource;
DataSet_Invoice: TADODataSet;
ActionList1: TActionList;
RzToolbar1: TRzToolbar;
BtnView: TRzToolButton;
BtnPrint: TRzToolButton;
BtnRefurbish: TRzToolButton;
RzSpacer1: TRzSpacer;
AdditiveTran: TAction;
PreviewTran: TAction;
PrintTran: TAction;
DataRefurbish: TAction;
QueryInvoice: TAction;
dxDBGrid1: TdxDBGrid;
dxDBGrid1Column1: TdxDBGridColumn;
dxDBGrid1Column2: TdxDBGridColumn;
dxDBGrid1Column3: TdxDBGridColumn;
dxDBGrid1Column4: TdxDBGridColumn;
dxDBGrid1Column5: TdxDBGridMaskColumn;
dxDBGrid1Column6: TdxDBGridCurrencyColumn;
dxDBGrid1Column7: TdxDBGridCurrencyColumn;
dxDBGrid1Column8: TdxDBGridColumn;
dxDBGrid1Column9: TdxDBGridColumn;
Memo: TADODataSet;
DS_Memo: TDataSource;
bReportTitel: TcxCheckBox;
bPrintTitel: TAction;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ChangMemo: TAction;
SaveMemo: TAction;
Transact: TAction;
BtnTran: TRzToolButton;
PopupMenu2: TPopupMenu;
N3: TMenuItem;
dxDBGrid1Column10: TdxDBGridColumn;
RzSizePanel2: TRzSizePanel;
RzGroupBox4: TRzGroupBox;
RzPageControl1: TRzPageControl;
TabSheet1: TRzTabSheet;
List_AddProdPrice: TRzEditListBox;
TabSheet2: TRzTabSheet;
List_ProdPrice: TRzEditListBox;
TabSheet3: TRzTabSheet;
cxMemo1: TcxMemo;
RzGroupBox1: TRzGroupBox;
RadioButton_TL: TcxRadioButton;
RadioButton_HJ: TcxRadioButton;
List_invoice: TcxListBox;
RzPanel4: TRzPanel;
Edit_11: TcxMaskEdit;
ComboBox_11: TcxComboBox;
ComboBox_10: TcxComboBox;
Edit_10: TcxMaskEdit;
Edit_09: TcxMaskEdit;
ComboBox_09: TcxComboBox;
ComboBox_08: TcxComboBox;
Edit_08: TcxMaskEdit;
Edit_07: TcxMaskEdit;
ComboBox_07: TcxComboBox;
ComboBox_06: TcxComboBox;
Edit_06: TcxMaskEdit;
Edit_05: TcxMaskEdit;
ComboBox_05: TcxComboBox;
ComboBox_04: TcxComboBox;
Edit_04: TcxMaskEdit;
Edit_03: TcxMaskEdit;
ComboBox_03: TcxComboBox;
ComboBox_02: TcxComboBox;
Edit_02: TcxMaskEdit;
Edit_01: TcxMaskEdit;
ComboBox_01: TcxComboBox;
procedure Additive ;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure QueryInvoices(dlid:string);
procedure DLIDPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure List_InvoiceDblClick(Sender: TObject);
procedure PreviewTranExecute(Sender: TObject);
procedure bPrintTitelExecute(Sender: TObject);
procedure PrintTranExecute(Sender: TObject);
procedure ChangMemoExecute(Sender: TObject);
procedure SaveMemoExecute(Sender: TObject);
procedure DataSet_InvoiceAfterClose(DataSet: TDataSet);
procedure DataSet_InvoiceAfterOpen(DataSet: TDataSet);
procedure TransactExecute(Sender: TObject);
procedure DataRefurbishExecute(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmPrintInvoice: TfrmPrintInvoice;
iSumMoney: Double;
iQty : integer;
implementation
uses
mainunit, dataunit,PublicUnit,PrintPageUnit;
{$R *.dfm}
procedure TfrmPrintInvoice.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmPrintInvoice.QueryInvoices(dlid:string);
var
sqltext:string;
begin
Try
with DataSet_Invoice do begin
close ;
commandText := 'execute _PM_V_Invoice_Query '''+dlid+'''';
open ;
List_ProdPrice.Items.Clear ;
Sqltext :='execute _PM_P_CustInvState_Query 1,2,''' + fieldByName('客户代码').AsString + ''',''''';
if GetList(Sqltext).Count > 0 then begin
List_ProdPrice.items.Add('公司需调回货品:');
List_ProdPrice.items.Add('------------------------------------------------------------------------');
List_ProdPrice.items.Add(' 截止日期 货品名称 ');
List_ProdPrice.items.Add('------------------------------------------------------------------------');
List_ProdPrice.items.AddStrings(GetList(Sqltext));
end;
Sqltext :='execute _PM_P_CustInvState_Query 1,3,''' + fieldByName('客户代码').AsString + ''',''''';
if GetList(Sqltext).Count > 0 then begin
List_ProdPrice.items.Add('');
List_ProdPrice.items.Add('近期调价货品:');
List_ProdPrice.items.Add('----------------------------------------------------------------');
List_ProdPrice.items.Add(' 原价-新价 升价日期 货品名称 ');
List_ProdPrice.items.Add('----------------------------------------------------------------');
List_ProdPrice.items.AddStrings(GetList(Sqltext));
end;
List_AddProdPrice.Items.Clear ;
Sqltext :='execute _PM_P_CustInvState_Query 1,4,'''','''+dlid+'''';
if GetList(Sqltext).Count > 0 then begin
List_AddProdPrice.items.Add('公司需调回货品:');
List_AddProdPrice.items.Add('------------------------------------------------------------------------');
List_AddProdPrice.items.Add(' 截止日期 货品名称 ');
List_AddProdPrice.items.Add('------------------------------------------------------------------------');
List_AddProdPrice.items.AddStrings(GetList(Sqltext));
end;
Sqltext :='execute _PM_P_CustInvState_Query 1,5,'''','''+dlid+'''';
if GetList(Sqltext).Count > 0 then begin
List_AddProdPrice.items.Add('');
List_AddProdPrice.items.Add('近期调价货品:');
List_AddProdPrice.items.Add('----------------------------------------------------------------');
List_AddProdPrice.items.Add(' 原价-新价 升价日期 货品名称 ');
List_AddProdPrice.items.Add('----------------------------------------------------------------');
List_AddProdPrice.items.AddStrings(GetList(Sqltext));
end;
end;
except
showmessage('查询失败,请重新查询!');
exit ;
end;
end;
procedure TfrmPrintInvoice.DLIDPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
var
dlid : string;
begin
dlid :=inputbox('查询发货单据','请输入单据编号:','');
if (dlid<>'') Then Begin
QueryInvoices(dlid);
end else Begin
showmessage('单据编号不能为空!');
Exit;
end;
end;
procedure TfrmPrintInvoice.List_InvoiceDblClick(Sender: TObject);
begin
QueryInvoices(Lefts(List_invoice.Items.Strings[List_invoice.ItemIndex]));
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -