From 04d5a60118a6e0f70b9e78116eba6fe322ebfcb3 Mon Sep 17 00:00:00 2001
From: funa <1559646174@qq.com>
Date: Fri, 22 May 2026 16:01:58 +0800
Subject: [PATCH] =?UTF-8?q?=E8=B4=A2=E5=8A=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
A09财务通用管理/Financial.dpr | 4 +-
A09财务通用管理/Financial.dproj | 8 +
A09财务通用管理/Financial.dproj.local | 58 +-
A09财务通用管理/U_CollectInput.dfm | 1 +
A09财务通用管理/U_CollectInput.pas | 2 +-
A09财务通用管理/U_CollectInput2.dfm | 386 ++++++++++++
A09财务通用管理/U_CollectInput2.pas | 449 ++++++++++++++
A09财务通用管理/U_CollectList.pas | 16 +-
A09财务通用管理/U_ExpenseInput.dfm | 2 +-
A09财务通用管理/U_ExpenseInput.pas | 6 +-
A09财务通用管理/U_ExpenseList.dfm | 2 +
A09财务通用管理/U_ExpenseList.pas | 66 +-
A09财务通用管理/U_InvoiceOutList.dfm | 29 +-
A09财务通用管理/U_InvoiceOutList.pas | 5 +-
A09财务通用管理/U_InvoiceOutSel.dfm | 411 +++++++++++++
A09财务通用管理/U_InvoiceOutSel.pas | 835 ++++++++++++++++++++++++++
A09财务通用管理/U_InvoiceSel.dfm | 16 +-
17 files changed, 2215 insertions(+), 81 deletions(-)
create mode 100644 A09财务通用管理/U_CollectInput2.dfm
create mode 100644 A09财务通用管理/U_CollectInput2.pas
create mode 100644 A09财务通用管理/U_InvoiceOutSel.dfm
create mode 100644 A09财务通用管理/U_InvoiceOutSel.pas
diff --git a/A09财务通用管理/Financial.dpr b/A09财务通用管理/Financial.dpr
index 56e07bc..c79cb74 100644
--- a/A09财务通用管理/Financial.dpr
+++ b/A09财务通用管理/Financial.dpr
@@ -48,7 +48,9 @@ uses
U_WindowFormdesign in '..\..\..\public10\design\U_WindowFormdesign.pas',
uSZHN_JSON in '..\..\..\public10\ThreeFun\Fun\uSZHN_JSON.pas',
U_GETableBatchInput in 'U_GETableBatchInput.pas' {frmGetableBatchInput},
- U_FinPurchasePlanSel in 'U_FinPurchasePlanSel.pas' {frmFinPurchasePlanSel};
+ U_FinPurchasePlanSel in 'U_FinPurchasePlanSel.pas' {frmFinPurchasePlanSel},
+ U_CollectInput2 in 'U_CollectInput2.pas' {frmCollectInput2},
+ U_InvoiceOutSel in 'U_InvoiceOutSel.pas' {frmInvoiceOutSel};
{$R *.res}
diff --git a/A09财务通用管理/Financial.dproj b/A09财务通用管理/Financial.dproj
index 4740156..d4682f6 100644
--- a/A09财务通用管理/Financial.dproj
+++ b/A09财务通用管理/Financial.dproj
@@ -225,6 +225,14 @@
dfm
+
+
+ dfm
+
+
+
+ dfm
+
Cfg_2
Base
diff --git a/A09财务通用管理/Financial.dproj.local b/A09财务通用管理/Financial.dproj.local
index 50dae36..070a9b6 100644
--- a/A09财务通用管理/Financial.dproj.local
+++ b/A09财务通用管理/Financial.dproj.local
@@ -8,14 +8,14 @@
1899/12/30 00:00:00.000.621,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutList.pas=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceInList.pas
1899/12/30 00:00:00.000.987,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_PayableInput.pas
1899/12/30 00:00:00.000.292,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_FinPurchasePlanSel.pas
- 1899/12/30 00:00:00.000.895,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_InvoiceOutList.pas
+ 1899/12/30 00:00:00.000.616,D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LablePrint.pas
1899/12/30 00:00:00.000.159,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_CustStatementWriteOff.pas
1899/12/30 00:00:00.000.123,=D:\Dp10Repo\public10\design\U_globalVar.pas
- 1899/12/30 00:00:00.000.734,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas
- 1899/12/30 00:00:00.000.616,D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LablePrint.pas
+ 1899/12/30 00:00:00.000.453,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_PayInput.pas
+ 1899/12/30 00:00:00.000.895,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_InvoiceOutList.pas
1899/12/30 00:00:00.000.422,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas
1899/12/30 00:00:00.000.630,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas
- 1899/12/30 00:00:00.000.728,=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutList.pas
+ 1899/12/30 00:00:00.000.734,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas
1899/12/30 00:00:00.000.939,=D:\Dp10Repo\public10\design\U_BaseInput.pas
1899/12/30 00:00:00.000.868,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\Financial.dproj=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\InformationBase.dproj
1899/12/30 00:00:00.000.135,D:\Dp10Repo\项目代码\睿特\新DLL初始化(CSH.dll)\U_ZDYHelp.pas=
@@ -23,42 +23,48 @@
1899/12/30 00:00:00.000.772,=D:\Dp10RepoV1\public10\design\U_FormLayOutDesign.pas
1899/12/30 00:00:00.000.103,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_BankSel.pas
1899/12/30 00:00:00.000.806,=D:\Dp10RepoV1\public10\design\U_BaseDataLink.pas
- 1899/12/30 00:00:00.000.052,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_CollectList.pas
+ 1899/12/30 00:00:00.000.446,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_BankFlowList.pas
1899/12/30 00:00:00.000.871,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutInPut.dfm=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceInInPut.dfm
1899/12/30 00:00:00.000.064,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LbaelMapSet.pas
- 1899/12/30 00:00:00.000.832,=D:\Dp10Repo\public10\design\U_BaseHelp.pas
- 1899/12/30 00:00:00.000.446,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_BankFlowList.pas
+ 1899/12/30 00:00:00.000.728,=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutList.pas
+ 1899/12/30 00:00:00.000.052,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_CollectList.pas
1899/12/30 00:00:00.000.048,=D:\Dp10Repo\public10\design\U_BaseList.pas
1899/12/30 00:00:00.000.616,D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.dfm=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LablePrint.dfm
- 1899/12/30 00:00:00.000.178,=D:\Dp10Repo\public10\design\U_WindowFormdesign.pas
- 1899/12/30 00:00:00.000.736,D:\Dp10Repo\项目代码\睿特\新DLL初始化(CSH.dll)\U_ModuleNote.pas=
- 1899/12/30 00:00:00.000.086,=D:\Dp10Repo\public10\design\U_cxGridCustomCss.pas
- 1899/12/30 00:00:00.000.381,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_ReceivableInput.pas
+ 1899/12/30 00:00:00.000.832,=D:\Dp10Repo\public10\design\U_BaseHelp.pas
+ 1899/12/30 00:00:00.000.975,=D:\Dp10Repo\public10\ThreeFun\Fun\U_CompressionFun.pas
1899/12/30 00:00:00.000.621,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutList.dfm=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceInList.dfm
1899/12/30 00:00:00.000.487,D:\Dp10Repo\项目代码\睿特\新DLL初始化(CSH.dll)\U_ZDYHelpSel.pas=
- 1899/12/30 00:00:00.000.307,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LabelPrint.pas
- 1899/12/30 00:00:00.000.874,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_PayableList.pas
- 1899/12/30 00:00:00.000.727,=D:\Dp10RepoV1\public10\ThreeFun\Fun\uSZHN_JSON.pas
- 1899/12/30 00:00:00.000.040,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LabelMapSet.pas
+ 1899/12/30 00:00:00.000.844,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_AttachmentUpload.pas
+ 1899/12/30 00:00:00.000.052,D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_PayableBatchInput.dfm=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_GETableBatchInput.dfm
1899/12/30 00:00:00.000.015,=D:\Dp10Repo\public10\ThreeFun\Fun\U_RTFun.pas
+ 1899/12/30 00:00:00.000.040,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LabelMapSet.pas
+ 1899/12/30 00:00:00.000.086,=D:\Dp10Repo\public10\design\U_cxGridCustomCss.pas
1899/12/30 00:00:00.000.765,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_BankFlowTotalList.pas
1899/12/30 00:00:00.000.659,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_CustStatement.pas
- 1899/12/30 00:00:00.000.052,D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_PayableBatchInput.dfm=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_GETableBatchInput.dfm
- 1899/12/30 00:00:00.000.975,=D:\Dp10Repo\public10\ThreeFun\Fun\U_CompressionFun.pas
- 1899/12/30 00:00:00.000.692,D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_ClothInfoSel.pas=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas
+ 1899/12/30 00:00:00.000.736,D:\Dp10Repo\项目代码\睿特\新DLL初始化(CSH.dll)\U_ModuleNote.pas=
+ 1899/12/30 00:00:00.000.307,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LabelPrint.pas
+ 1899/12/30 00:00:00.000.381,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_ReceivableInput.pas
+ 1899/12/30 00:00:00.000.178,=D:\Dp10Repo\public10\design\U_WindowFormdesign.pas
1899/12/30 00:00:00.000.345,=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_FtyStatement.pas
1899/12/30 00:00:00.000.508,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_ReceivableList.pas
- 1899/12/30 00:00:00.000.339,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_ClothInfoSel.pas
- 1899/12/30 00:00:00.000.453,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_PayInput.pas
+ 1899/12/30 00:00:00.000.149,=D:\Dp10Repo\public10\ThreeFun\Form\U_ZDYHelp.pas
+ 1899/12/30 00:00:00.000.692,D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_ClothInfoSel.pas=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas
1899/12/30 00:00:00.000.052,D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_PayableBatchInput.pas=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_GETableBatchInput.pas
1899/12/30 00:00:00.000.595,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_PayableBatchInput.pas
- 1899/12/30 00:00:00.000.871,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutInPut.pas=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceInInPut.pas
+ 1899/12/30 00:00:00.000.339,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_ClothInfoSel.pas
1899/12/30 00:00:00.000.692,D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_ClothInfoSel.dfm=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.dfm
- 1899/12/30 00:00:00.000.844,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_AttachmentUpload.pas
- 1899/12/30 00:00:00.000.076,=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutInPut.pas
- 1899/12/30 00:00:00.000.149,=D:\Dp10Repo\public10\ThreeFun\Form\U_ZDYHelp.pas
+ 1899/12/30 00:00:00.000.727,=D:\Dp10RepoV1\public10\ThreeFun\Fun\uSZHN_JSON.pas
+ 1899/12/30 00:00:00.000.874,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_PayableList.pas
+ 1899/12/30 00:00:00.000.871,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutInPut.pas=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceInInPut.pas
1899/12/30 00:00:00.000.912,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_PayList.pas
1899/12/30 00:00:00.000.493,=D:\Dp10Repo\项目代码\RTBasics\A00通用模板\Unit1.pas
+ 1899/12/30 00:00:00.000.076,=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutInPut.pas
+ 2026/05/22 14:41:58.210,=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_ExpenseInput.pas
+ 2026/05/22 14:42:09.263,D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_CollectInput2.dfm=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_ExpenseInput.dfm
+ 2026/05/22 14:42:09.263,D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_CollectInput2.pas=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_ExpenseInput.pas
+ 2026/05/22 15:10:32.542,=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_InvoiceSel.pas
+ 2026/05/22 15:10:56.683,D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_InvoiceOutSel.pas=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_InvoiceSel.pas
+ 2026/05/22 15:10:56.683,D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_InvoiceOutSel.dfm=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_InvoiceSel.dfm
@@ -143,5 +149,9 @@
+
+
+
+
diff --git a/A09财务通用管理/U_CollectInput.dfm b/A09财务通用管理/U_CollectInput.dfm
index ef97347..1c2b210 100644
--- a/A09财务通用管理/U_CollectInput.dfm
+++ b/A09财务通用管理/U_CollectInput.dfm
@@ -192,6 +192,7 @@ object frmCollectInput: TfrmCollectInput
OnBtnDnClick = PayMentBtnDnClick
end
object OurCoName: TBtnEditC
+ Tag = 2
Left = 110
Top = 14
Width = 150
diff --git a/A09财务通用管理/U_CollectInput.pas b/A09财务通用管理/U_CollectInput.pas
index aa2696d..f6b106f 100644
--- a/A09财务通用管理/U_CollectInput.pas
+++ b/A09财务通用管理/U_CollectInput.pas
@@ -15,7 +15,7 @@ uses
cxTextEdit, cxDropDownEdit, BtnEdit, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxDateRanges,
dxBarBuiltInMenu, U_BaseList, cxContainer, cxCurrencyEdit, dxSkinsCore,
- dxSkinsDefaultPainters;
+ dxSkinsDefaultPainters, dxSkinWXI;
type
TfrmCollectInput = class(TForm)
diff --git a/A09财务通用管理/U_CollectInput2.dfm b/A09财务通用管理/U_CollectInput2.dfm
new file mode 100644
index 0000000..df9d9a1
--- /dev/null
+++ b/A09财务通用管理/U_CollectInput2.dfm
@@ -0,0 +1,386 @@
+object frmCollectInput2: TfrmCollectInput2
+ Left = 261
+ Top = 149
+ Caption = #25910#27454#30331#35760
+ ClientHeight = 416
+ ClientWidth = 884
+ Color = clWhite
+ Font.Charset = GB2312_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = #24494#36719#38597#40657
+ Font.Style = []
+ OldCreateOrder = True
+ Position = poScreenCenter
+ OnClose = FormClose
+ OnDestroy = FormDestroy
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 21
+ object ToolBar1: TToolBar
+ Tag = 1
+ Left = 0
+ Top = 0
+ Width = 884
+ Height = 38
+ AutoSize = True
+ ButtonHeight = 38
+ ButtonWidth = 75
+ Caption = 'ToolBar1'
+ Color = clWhite
+ DisabledImages = DataLink_Financial.ImageList_new32
+ Images = DataLink_Financial.ImageList_new32
+ List = True
+ ParentColor = False
+ ShowCaptions = True
+ TabOrder = 0
+ ExplicitWidth = 1194
+ object ToolButton3: TToolButton
+ Left = 0
+ Top = 0
+ AutoSize = True
+ Caption = #20445#23384
+ ImageIndex = 16
+ OnClick = ToolButton3Click
+ end
+ object TBClose: TToolButton
+ Left = 79
+ Top = 0
+ AutoSize = True
+ Caption = #20851#38381
+ ImageIndex = 7
+ OnClick = TBCloseClick
+ end
+ end
+ object ScrollBox1: TScrollBox
+ Left = 0
+ Top = 38
+ Width = 884
+ Height = 378
+ Align = alClient
+ BevelInner = bvNone
+ BevelOuter = bvNone
+ BorderStyle = bsNone
+ Color = clWhite
+ Ctl3D = False
+ ParentColor = False
+ ParentCtl3D = False
+ TabOrder = 1
+ OnClick = ScrollBox1Click
+ ExplicitLeft = -8
+ ExplicitTop = -42
+ ExplicitHeight = 538
+ object Label7: TLabel
+ Left = 84
+ Top = 276
+ Width = 64
+ Height = 21
+ Caption = #20132#26131#38468#35328
+ end
+ object Label2: TLabel
+ Left = 84
+ Top = 86
+ Width = 64
+ Height = 21
+ Caption = #23545#26041#31246#21495
+ end
+ object Label3: TLabel
+ Left = 84
+ Top = 141
+ Width = 64
+ Height = 21
+ Caption = #25910#27454#38134#34892
+ end
+ object Label5: TLabel
+ Left = 439
+ Top = 141
+ Width = 64
+ Height = 21
+ Caption = #25910#27454#36134#21495
+ end
+ object Label6: TLabel
+ Left = 84
+ Top = 194
+ Width = 64
+ Height = 21
+ Caption = #25910#27454#37329#39069
+ end
+ object Label8: TLabel
+ Left = 440
+ Top = 86
+ Width = 64
+ Height = 21
+ Caption = #23545#26041#21333#20301
+ end
+ object Label13: TLabel
+ Left = 84
+ Top = 36
+ Width = 64
+ Height = 21
+ Caption = #25910#27454#26085#26399
+ end
+ object Label15: TLabel
+ Left = 440
+ Top = 36
+ Width = 48
+ Height = 21
+ Caption = #21457#31080#21495
+ end
+ object Note: TMemo
+ Tag = 2
+ Left = 200
+ Top = 252
+ Width = 561
+ Height = 85
+ ScrollBars = ssVertical
+ TabOrder = 0
+ end
+ object Currency: TcxComboBox
+ Tag = 2
+ Left = 437
+ Top = 189
+ Properties.Items.Strings = (
+ 'CNY'
+ 'USD'
+ 'VND')
+ TabOrder = 1
+ Text = 'CNY'
+ Width = 66
+ end
+ object oppShuiNo: TcxTextEdit
+ Tag = 2
+ Left = 200
+ Top = 81
+ Properties.OnChange = TaxNumberPropertiesChange
+ TabOrder = 2
+ Width = 200
+ end
+ object Amount: TcxTextEdit
+ Tag = 2
+ Left = 200
+ Top = 189
+ Properties.OnEditValueChanged = AmountPropertiesEditValueChanged
+ TabOrder = 3
+ Width = 200
+ end
+ object OurBankCardNo: TcxTextEdit
+ Tag = 2
+ Left = 541
+ Top = 136
+ TabOrder = 4
+ Width = 200
+ end
+ object OurBankName: TcxButtonEdit
+ Tag = 2
+ Left = 200
+ Top = 136
+ Hint = 'OurBankName/'#25910#27454#38134#34892
+ Properties.Buttons = <
+ item
+ Default = True
+ Kind = bkEllipsis
+ end>
+ Properties.OnButtonClick = OurBankNamePropertiesButtonClick
+ TabOrder = 5
+ Width = 200
+ end
+ object OppCoName: TcxButtonEdit
+ Tag = 2
+ Left = 541
+ Top = 81
+ Properties.Buttons = <
+ item
+ Default = True
+ Kind = bkEllipsis
+ end>
+ TabOrder = 6
+ Width = 200
+ end
+ object FFTime: TcxDateEdit
+ Tag = 2
+ Left = 200
+ Top = 31
+ TabOrder = 7
+ Width = 200
+ end
+ object Panel1: TPanel
+ Left = 760
+ Top = 64
+ Width = 113
+ Height = 129
+ TabOrder = 8
+ Visible = False
+ object cxGrid1: TcxGrid
+ Left = 1
+ Top = 1
+ Width = 111
+ Height = 127
+ Align = alClient
+ TabOrder = 0
+ ExplicitLeft = -7
+ ExplicitTop = -47
+ ExplicitWidth = 327
+ ExplicitHeight = 199
+ object Tv1: TcxGridDBTableView
+ OnDblClick = Tv1DblClick
+ Navigator.Buttons.CustomButtons = <>
+ ScrollbarAnnotations.CustomAnnotations = <>
+ DataController.DataSource = DS_1
+ DataController.Summary.DefaultGroupSummaryItems = <>
+ DataController.Summary.FooterSummaryItems = <>
+ DataController.Summary.SummaryGroups = <>
+ OptionsView.GroupByBox = False
+ object Tv1CoName: TcxGridDBColumn
+ Caption = #21333#20301#21517#31216
+ DataBinding.FieldName = 'CoName'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 98
+ end
+ object Tv1BankName: TcxGridDBColumn
+ Caption = #25910#27454#38134#34892#21517#31216
+ DataBinding.FieldName = 'BankName'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 130
+ end
+ object Tv1BankNo: TcxGridDBColumn
+ Caption = #25910#27454#38134#34892#36134#21495
+ DataBinding.FieldName = 'BankNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 127
+ end
+ object Tv1ShuiNo: TcxGridDBColumn
+ Caption = #31246#21495
+ DataBinding.FieldName = 'ShuiNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 77
+ end
+ end
+ object cxGrid1Level1: TcxGridLevel
+ GridView = Tv1
+ end
+ end
+ end
+ object IVNo: TcxButtonEdit
+ Tag = 2
+ Left = 541
+ Top = 31
+ Properties.Buttons = <
+ item
+ Default = True
+ Kind = bkEllipsis
+ end>
+ Properties.OnButtonClick = cxButtonEdit1PropertiesButtonClick
+ TabOrder = 9
+ Width = 200
+ end
+ object FFID: TEdit
+ Tag = 2
+ Left = 744
+ Top = 368
+ Width = 121
+ Height = 27
+ TabOrder = 10
+ Visible = False
+ end
+ object cxLabel1: TcxLabel
+ Left = 94
+ Top = 368
+ Caption = #25105#26041#21333#20301
+ Visible = False
+ end
+ object OurCoName: TcxButtonEdit
+ Tag = 2
+ Left = 200
+ Top = 365
+ Properties.Buttons = <
+ item
+ Default = True
+ Kind = bkEllipsis
+ end>
+ TabOrder = 12
+ Visible = False
+ Width = 200
+ end
+ object OppParentCoName: TcxButtonEdit
+ Tag = 2
+ Left = 541
+ Top = 365
+ Properties.Buttons = <
+ item
+ Default = True
+ Kind = bkEllipsis
+ end>
+ TabOrder = 13
+ Visible = False
+ Width = 197
+ end
+ object cxLabel2: TcxLabel
+ Left = 437
+ Top = 365
+ Caption = #19978#32423#21333#20301
+ Visible = False
+ end
+ end
+ object ADOQueryTemp: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ LockType = ltReadOnly
+ Parameters = <>
+ Left = 867
+ Top = 160
+ end
+ object ADOQueryCmd: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ Parameters = <>
+ Left = 926
+ Top = 80
+ end
+ object ADOQueryMain: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ LockType = ltReadOnly
+ Parameters = <>
+ Left = 853
+ Top = 49
+ end
+ object DS_1: TDataSource
+ DataSet = CDS_1
+ Left = 640
+ Top = 24
+ end
+ object CDS_1: TClientDataSet
+ Aggregates = <>
+ Params = <>
+ Left = 728
+ Top = 30
+ end
+ object PM_1: TPopupMenu
+ Left = 590
+ Top = 398
+ object N1: TMenuItem
+ Caption = #22797#21046
+ OnClick = N1Click
+ end
+ end
+ object GPM_1: TcxGridPopupMenu
+ Grid = cxGrid1
+ PopupMenus = <>
+ Left = 662
+ Top = 398
+ end
+ object cxLookAndFeelController1: TcxLookAndFeelController
+ Kind = lfFlat
+ NativeStyle = False
+ ScrollbarMode = sbmClassic
+ ScrollMode = scmSmooth
+ SkinName = 'WXI'
+ Left = 392
+ Top = 326
+ end
+end
diff --git a/A09财务通用管理/U_CollectInput2.pas b/A09财务通用管理/U_CollectInput2.pas
new file mode 100644
index 0000000..aa91727
--- /dev/null
+++ b/A09财务通用管理/U_CollectInput2.pas
@@ -0,0 +1,449 @@
+unit U_CollectInput2;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
+ cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
+ cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
+ cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
+ cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
+ cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
+ RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
+ IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
+ cxTextEdit, cxDropDownEdit, BtnEdit, cxLookAndFeels, cxLookAndFeelPainters,
+ cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList, cxContainer,
+ cxCurrencyEdit, dxSkinsCore, dxSkinsDefaultPainters, dxCore, cxDateUtils,
+ dxScrollbarAnnotations, Vcl.Menus, Clipbrd, dxCoreGraphics, dxSkinWXI, cxLabel;
+
+type
+ TfrmCollectInput2 = class(TForm)
+ ToolBar1: TToolBar;
+ TBClose: TToolButton;
+ ADOQueryTemp: TADOQuery;
+ ADOQueryCmd: TADOQuery;
+ ADOQueryMain: TADOQuery;
+ ToolButton3: TToolButton;
+ ScrollBox1: TScrollBox;
+ Label7: TLabel;
+ Note: TMemo;
+ Currency: TcxComboBox;
+ Label2: TLabel;
+ Label3: TLabel;
+ Label5: TLabel;
+ Amount: TcxTextEdit;
+ Label6: TLabel;
+ Label8: TLabel;
+ OurBankCardNo: TcxTextEdit;
+ OurBankName: TcxButtonEdit;
+ OppCoName: TcxButtonEdit;
+ FFTime: TcxDateEdit;
+ Label13: TLabel;
+ Panel1: TPanel;
+ Tv1: TcxGridDBTableView;
+ cxGrid1Level1: TcxGridLevel;
+ cxGrid1: TcxGrid;
+ DS_1: TDataSource;
+ CDS_1: TClientDataSet;
+ Tv1CoName: TcxGridDBColumn;
+ Tv1BankName: TcxGridDBColumn;
+ Tv1BankNo: TcxGridDBColumn;
+ Tv1ShuiNo: TcxGridDBColumn;
+ PM_1: TPopupMenu;
+ GPM_1: TcxGridPopupMenu;
+ N1: TMenuItem;
+ Label15: TLabel;
+ IVNo: TcxButtonEdit;
+ oppShuiNo: TcxTextEdit;
+ FFID: TEdit;
+ cxLookAndFeelController1: TcxLookAndFeelController;
+ cxLabel1: TcxLabel;
+ OurCoName: TcxButtonEdit;
+ OppParentCoName: TcxButtonEdit;
+ cxLabel2: TcxLabel;
+ procedure FormDestroy(Sender: TObject);
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure TBCloseClick(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure TBRafreshClick(Sender: TObject);
+ procedure ToolButton3Click(Sender: TObject);
+ procedure OppCoNameBtnUpClick(Sender: TObject);
+ procedure OurBankNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure AmountPropertiesEditValueChanged(Sender: TObject);
+ procedure TaxNumberPropertiesChange(Sender: TObject);
+ procedure Tv1DblClick(Sender: TObject);
+ procedure ScrollBox1Click(Sender: TObject);
+ procedure N1Click(Sender: TObject);
+ procedure cxButtonEdit1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ private
+ { Private declarations }
+ procedure InitGrid();
+ function SaveData(): Boolean;
+ procedure InitGrid2();
+ public
+ { Public declarations }
+ FFFID: string;
+ FoppShuiNoChange: string;
+ end;
+
+var
+ frmCollectInput2: TfrmCollectInput2;
+
+implementation
+
+uses
+ U_DataLink, U_RTFun, U_ZDYHelp, U_CompanySel, U_BankSel, U_FinTradePlanSel,
+ U_FinTradeSalesContractSel, U_ZDYBankSel, U_InvoiceOutSel;
+
+{$R *.dfm}
+
+procedure TfrmCollectInput2.InitGrid();
+var
+ nAmount: Double;
+begin
+ try
+
+ ADOQueryMain.DisableControls;
+ with ADOQueryMain do
+ begin
+ Filtered := False;
+ Close;
+ SQL.Clear;
+ sql.Add(' select * from Finance_Flow where FFID=''' + Trim(FFFID) + '''');
+ Open;
+ end;
+ if not ADOQueryMain.IsEmpty then
+ begin
+ SCSHData(ADOQueryMain, ScrollBox1, 2);
+ if ADOQueryMain.FieldByName('Amount').AsString <> '' then
+ begin
+ nAmount := ADOQueryMain.FieldByName('Amount').AsFloat;
+ Amount.Text := FormatFloat('#,##0.00', nAmount);
+ end;
+ end
+ else
+ begin
+ FFTime.Date := SGetServerDateTime(ADOQueryTemp);
+ end;
+
+ finally
+ ADOQueryMain.EnableControls;
+ end;
+end;
+
+procedure TfrmCollectInput2.InitGrid2();
+begin
+
+ try
+ ADOQueryCmd.DisableControls;
+ with ADOQueryCmd do
+ begin
+ Close;
+ sql.Clear;
+ sql.Add('select A.* from BS_Company A where 1=1 ');
+ sql.Add(' and A.CoType=''Ӧ'' ');
+ SQL.Add(' and ShuiNo like ''%' + oppShuiNo.Text + '%'' ');
+ Open;
+ end;
+
+ SCreateCDS(ADOQueryCmd, CDS_1);
+ SInitCDSData(ADOQueryCmd, CDS_1);
+ finally
+ ADOQueryCmd.EnableControls;
+ TV1.DataController.Filter.Clear;
+ end;
+end;
+
+procedure TfrmCollectInput2.N1Click(Sender: TObject);
+begin
+ Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
+end;
+
+procedure TfrmCollectInput2.OppCoNameBtnUpClick(Sender: TObject);
+begin
+
+ try
+ frmZDYHelp := TfrmZDYHelp.Create(Application);
+ with frmZDYHelp do
+ begin
+ flag := 'OppCoName';
+ flagname := 'Էλ';
+ if ShowModal = 1 then
+ begin
+ TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
+ end;
+ end;
+ finally
+ frmZDYHelp.Free;
+ end;
+end;
+
+procedure TfrmCollectInput2.OurBankNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+var
+ fsj: string;
+ FWZ: Integer;
+begin
+ fsj := Trim(TcxButtonEdit(Sender).Hint);
+ FWZ := Pos('/', fsj); //Ӣ
+ try
+ frmZDYBankSel := TfrmZDYBankSel.Create(Application);
+ with frmZDYBankSel do
+ begin
+ MainType := '';
+ flag := Copy(fsj, 1, FWZ - 1);
+ flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
+ if ShowModal = 1 then
+ begin
+ OurBankName.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
+ OurBankCardNo.Text := Trim(ClientDataSet1.fieldbyname('note').AsString);
+ end;
+ end;
+ finally
+ frmZDYBankSel.Free;
+ end;
+end;
+
+procedure TfrmCollectInput2.FormDestroy(Sender: TObject);
+begin
+ frmCollectInput2 := nil;
+end;
+
+procedure TfrmCollectInput2.AmountPropertiesEditValueChanged(Sender: TObject);
+var
+ n: Double;
+ CleanText: string;
+ DecimalPos: Integer;
+ DecimalDigits: Integer;
+ FormatStr: string;
+ CaretPos: Integer;
+ TextBeforeCaret: string;
+begin
+ CaretPos := Amount.SelStart;
+ TextBeforeCaret := Copy(Amount.Text, 1, CaretPos);
+
+ CleanText := StringReplace(Amount.Text, ',', '', [rfReplaceAll]);
+
+ if TryStrToFloat(CleanText, n) then
+ begin
+ Amount.Properties.OnEditValueChanged := nil;
+ try
+ DecimalPos := Pos('.', CleanText);
+ if DecimalPos > 0 then
+ DecimalDigits := Length(CleanText) - DecimalPos
+ else
+ DecimalDigits := 0;
+
+ if DecimalDigits = 0 then
+ FormatStr := '#,##0'
+ else
+ FormatStr := '#,##0.' + StringOfChar('0', DecimalDigits);
+
+ Amount.Text := FormatFloat(FormatStr, n);
+
+ if CaretPos > 0 then
+ begin
+ CaretPos := Length(TextBeforeCaret) + (StringReplace(Copy(Amount.Text, 1, Length(TextBeforeCaret)), ',', '', [rfReplaceAll]).Length - TextBeforeCaret.Length);
+ if CaretPos <= Length(Amount.Text) then
+ Amount.SelStart := CaretPos;
+ end;
+ finally
+ Amount.Properties.OnEditValueChanged := AmountPropertiesEditValueChanged;
+ end;
+ end;
+end;
+
+procedure TfrmCollectInput2.cxButtonEdit1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+var
+ CurrentAmount: Double;
+ TaxAmount: Double;
+begin
+ try
+ frmInvoiceOutSel := TfrmInvoiceOutSel.Create(Application);
+ with frmInvoiceOutSel do
+ begin
+ if ShowModal = 1 then
+ begin
+ FoppShuiNoChange := '0';
+ Self.IVNo.Text := '';
+
+ Self.IVNo.Properties.LookupItems.Text := '';
+ Self.Amount.Text := '0';
+
+ while CDS_Invoice.Locate('SSel', true, []) do
+ begin
+
+ with frmInvoiceOutSel.CDS_Invoice do
+ begin
+ CurrentAmount := StrToFloatDef(StringReplace(Self.Amount.Text, ',', '', [rfReplaceAll]), 0);
+ TaxAmount := FieldByName('TaxAmount').AsFloat;
+ if Self.IVNo.Text = '' then
+ begin
+ Self.IVNo.Text := frmInvoiceOutSel.CDS_Invoice.FieldByName('IVNo').AsString;
+ Self.IVNo.Properties.LookupItems.Text := frmInvoiceOutSel.CDS_Invoice.FieldByName('IVID').AsString;
+ Self.Amount.Text := FormatFloat('#,##0.00', TaxAmount);
+ end
+ else
+ begin
+ Self.IVNo.Text := Trim(Self.IVNo.Text) + ',' + Trim(frmInvoiceOutSel.CDS_Invoice.FieldByName('IVNo').AsString);
+ Self.IVNo.Properties.LookupItems.Text := trim(Self.IVNo.Properties.LookupItems.Text) + ',' + Trim(frmInvoiceOutSel.CDS_Invoice.FieldByName('IVID').AsString);
+ Self.Amount.Text := FormatFloat('#,##0.00', CurrentAmount + TaxAmount);
+ end;
+
+ Self.OppCoName.Text := frmInvoiceOutSel.CDS_Invoice.FieldByName('Supplier').AsString;
+ Self.OppCoName.Properties.LookupItems.Text := frmInvoiceOutSel.CDS_Invoice.FieldByName('CoCode').AsString;
+ Self.oppShuiNo.Text := trim(frmInvoiceOutSel.CDS_Invoice.FieldByName('SupplierShuiNo').AsString);
+
+ Self.Currency.Text := frmInvoiceOutSel.CDS_Invoice.FieldByName('Currency').AsString;
+
+ OurBankName.Text := Trim(frmInvoiceOutSel.CDS_Invoice.fieldbyname('BankDeposit').AsString);
+ OurBankCardNo.Text := Trim(frmInvoiceOutSel.CDS_Invoice.fieldbyname('BankCardNo').AsString);
+
+ end;
+ CDS_Invoice.Delete;
+ end;
+
+ FoppShuiNoChange := '1';
+ end;
+ end;
+ finally
+ frmInvoiceOutSel.Free;
+ end;
+end;
+
+procedure TfrmCollectInput2.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+
+ Action := caFree;
+end;
+
+procedure TfrmCollectInput2.TaxNumberPropertiesChange(Sender: TObject);
+begin
+ if FoppShuiNoChange <> '0' then
+ begin
+ InitGrid2();
+ Panel1.Visible := True;
+ end;
+
+end;
+
+procedure TfrmCollectInput2.TBCloseClick(Sender: TObject);
+begin
+
+ close;
+end;
+
+procedure TfrmCollectInput2.FormShow(Sender: TObject);
+begin
+ InitGrid();
+ Panel1.Visible := False;
+end;
+
+procedure TfrmCollectInput2.TBRafreshClick(Sender: TObject);
+begin
+ InitGrid();
+end;
+
+function TfrmCollectInput2.SaveData(): Boolean;
+var
+ MaxId, MaxSubId, FCoCode, FCCID: string;
+ CleanAmount: string;
+begin
+ try
+ ADOQueryCmd.Connection.BeginTrans;
+ if Trim(FFFID) = '' then
+ begin
+ if not GetLSNo(ADOQueryCmd, MaxId, 'SK', 'Finance_Flow', 4, 1) then
+ raise Exception.Create('ȡʧܣ');
+ end
+ else
+ begin
+ MaxId := Trim(FFFID);
+ end;
+
+ FFID.Text := MaxId;
+ CleanAmount := StringReplace(Amount.Text, ',', '', [rfReplaceAll]);
+
+ with ADOQueryCmd do
+ begin
+ Close;
+ SQL.Clear;
+ sql.Add('select * from Finance_Flow where FFID=''' + Trim(FFFID) + '''');
+ Open;
+ end;
+ with ADOQueryCmd do
+ begin
+ if Trim(FFFID) = '' then
+ begin
+ Append;
+ FieldByName('FillId').Value := Trim(DCode);
+ FieldByName('Filler').Value := Trim(DName);
+ FieldByName('Filltime').Value := SGetServerDateTime(ADOQueryTemp);
+ FieldByName('FFFlag').Value := 'Ӧ';
+ FieldByName('FFType').Value := 'տǼ';
+ FieldByName('status').Value := '0';
+ FieldByName('FFQtyFlag').Value := -1;
+ end
+ else
+ begin
+ Edit;
+ FieldByName('EditId').Value := Trim(DCode);
+ FieldByName('Editer').Value := Trim(DName);
+ FieldByName('Edittime').Value := SGetServerDateTime(ADOQueryTemp);
+ end;
+ FieldByName('OppCoNo').Value := trim(OppCoName.Properties.LookupItems.Text);
+ FieldByName('IVID').Value := trim(IVNO.Properties.LookupItems.Text);
+ if CleanAmount <> '' then
+ FieldByName('Amount').AsFloat := StrToFloatDef(CleanAmount, 0);
+
+ RTSetsavedata(ADOQueryCmd, 'Finance_Flow', ScrollBox1, 2);
+ Post;
+ end;
+
+ ADOQueryCmd.Connection.CommitTrans;
+ FCCID := Trim(MaxSubId);
+ Result := True;
+ except
+ Result := false;
+ ADOQueryCmd.Connection.RollbackTrans;
+ application.MessageBox(PChar(Exception(ExceptObject).Message), 'ʾϢ', 0);
+ end;
+end;
+
+procedure TfrmCollectInput2.ScrollBox1Click(Sender: TObject);
+begin
+ Panel1.Visible := False;
+end;
+
+procedure TfrmCollectInput2.ToolButton3Click(Sender: TObject);
+begin
+ ToolBar1.SetFocus;
+ if Trim(OppCoName.Text) = '' then
+ begin
+ Application.MessageBox('ԷλΪ!', 'ʾ', 0);
+ Exit;
+ end;
+
+ if Trim(Currency.Text) = '' then
+ begin
+ Application.MessageBox('ֲΪ!', 'ʾ', 0);
+ Exit;
+ end;
+ if SaveData() then
+ begin
+ Application.MessageBox('ɹ!', 'ʾ', 0);
+ ModalResult := 1;
+ end;
+end;
+
+procedure TfrmCollectInput2.Tv1DblClick(Sender: TObject);
+begin
+ OppCoName.Text := Trim(CDS_1.fieldbyname('CoName').AsString);
+ OppCoName.Properties.LookupItems.Text := Trim(CDS_1.fieldbyname('CoCode').AsString);
+ oppShuiNo.Text := Trim(CDS_1.fieldbyname('ShuiNo').AsString);
+
+ Panel1.Visible := false;
+end;
+
+end.
+
diff --git a/A09财务通用管理/U_CollectList.pas b/A09财务通用管理/U_CollectList.pas
index 5af7a1b..9772853 100644
--- a/A09财务通用管理/U_CollectList.pas
+++ b/A09财务通用管理/U_CollectList.pas
@@ -16,7 +16,7 @@ uses
cxNavigator, dxBarBuiltInMenu,
dxDateRanges, U_BaseList, Vcl.Menus, Vcl.Clipbrd, cxContainer, dxCore,
cxDateUtils, dxSkinsCore, dxSkinsDefaultPainters, dxScrollbarAnnotations,
- cxProgressBar;
+ cxProgressBar, dxSkinWXI;
type
TfrmCollectList = class(TfrmBaseList)
@@ -115,7 +115,7 @@ type
implementation
uses
- U_DataLink, U_RTFun, U_CollectInput, U_ZDYHelp, U_CollectWriteOff,
+ U_DataLink, U_RTFun, U_CollectInput2, U_CollectInput, U_ZDYHelp, U_CollectWriteOff,
U_CollectWriteOffList, U_AttachmentUpload, U_CollectImport;
{$R *.dfm}
@@ -467,8 +467,8 @@ procedure TfrmCollectList.btnAddClick(Sender: TObject);
begin
try
- frmCollectInput := TfrmCollectInput.Create(Application);
- with frmCollectInput do
+ frmCollectInput2 := TfrmCollectInput2.Create(Application);
+ with frmCollectInput2 do
begin
FFFID := '';
if ShowModal = 1 then
@@ -477,7 +477,7 @@ begin
end;
end;
finally
- frmCollectInput.Free;
+ frmCollectInput2.Free;
end;
end;
@@ -532,8 +532,8 @@ begin
end;
try
- frmCollectInput := TfrmCollectInput.Create(Application);
- with frmCollectInput do
+ frmCollectInput2 := TfrmCollectInput2.Create(Application);
+ with frmCollectInput2 do
begin
FFFID := Trim(SELF.CDS_1.fieldbyname('FFID').AsString);
if ShowModal = 1 then
@@ -542,7 +542,7 @@ begin
end;
end;
finally
- frmCollectInput.Free;
+ frmCollectInput2.Free;
end;
end;
diff --git a/A09财务通用管理/U_ExpenseInput.dfm b/A09财务通用管理/U_ExpenseInput.dfm
index f2d0ce4..d7c2691 100644
--- a/A09财务通用管理/U_ExpenseInput.dfm
+++ b/A09财务通用管理/U_ExpenseInput.dfm
@@ -267,7 +267,7 @@ object frmExpenseInput: TfrmExpenseInput
object FFID: TcxTextEdit
Tag = 2
Left = 200
- Top = 35
+ Top = 31
Properties.ReadOnly = True
TabOrder = 9
Width = 200
diff --git a/A09财务通用管理/U_ExpenseInput.pas b/A09财务通用管理/U_ExpenseInput.pas
index 234e244..18de694 100644
--- a/A09财务通用管理/U_ExpenseInput.pas
+++ b/A09财务通用管理/U_ExpenseInput.pas
@@ -133,7 +133,7 @@ begin
if ADOQueryMain.FieldByName('Amount').AsString <> '' then
begin
nAmount := ADOQueryMain.FieldByName('Amount').AsFloat;
- Amount.Text := FormatFloat('#,##0', nAmount);
+ Amount.Text := FormatFloat('#,##0.00', nAmount);
end;
end
else
@@ -449,14 +449,14 @@ begin
begin
Self.IVNo.Text := frmInvoiceSel.CDS_Invoice.FieldByName('IVNo').AsString;
Self.IVNo.Properties.LookupItems.Text := frmInvoiceSel.CDS_Invoice.FieldByName('IVID').AsString;
- Self.Amount.Text := FormatFloat('#,##0', TaxAmount);
+ Self.Amount.Text := FormatFloat('#,##0.00', TaxAmount);
// Self.Amount.Text := frmInvoiceSel.CDS_Invoice.FieldByName('TaxAmount').AsString;
end
else
begin
Self.IVNo.Text := Trim(Self.IVNo.Text) + ',' + Trim(frmInvoiceSel.CDS_Invoice.FieldByName('IVNo').AsString);
Self.IVNo.Properties.LookupItems.Text := trim(Self.IVNo.Properties.LookupItems.Text) + ',' + Trim(frmInvoiceSel.CDS_Invoice.FieldByName('IVID').AsString);
- Self.Amount.Text := FormatFloat('#,##0', CurrentAmount + TaxAmount);
+ Self.Amount.Text := FormatFloat('#,##0.00', CurrentAmount + TaxAmount);
// Self.Amount.Text := FloatToStr(strtofloatdef(Self.Amount.Text, 0) + frmInvoiceSel.CDS_Invoice.FieldByName('TaxAmount').asfloat);
end;
diff --git a/A09财务通用管理/U_ExpenseList.dfm b/A09财务通用管理/U_ExpenseList.dfm
index a06ca19..48ba35e 100644
--- a/A09财务通用管理/U_ExpenseList.dfm
+++ b/A09财务通用管理/U_ExpenseList.dfm
@@ -390,6 +390,8 @@ inherited frmExpenseList: TfrmExpenseList
Caption = #37329#39069
DataBinding.FieldName = 'Amount'
DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DisplayFormat = '#,##0.00'
HeaderAlignmentHorz = taCenter
Options.Editing = False
Width = 90
diff --git a/A09财务通用管理/U_ExpenseList.pas b/A09财务通用管理/U_ExpenseList.pas
index ee62104..e1522c9 100644
--- a/A09财务通用管理/U_ExpenseList.pas
+++ b/A09财务通用管理/U_ExpenseList.pas
@@ -15,7 +15,8 @@ uses
cxTextEdit, cxPC, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxBarBuiltInMenu, dxDateRanges, U_BaseList, Vcl.Menus,
Vcl.Clipbrd, cxContainer, dxCore, cxDateUtils, dxSkinsCore,
- dxSkinsDefaultPainters, dxScrollbarAnnotations, cxProgressBar, dxSkinWXI;
+ dxSkinsDefaultPainters, dxScrollbarAnnotations, cxProgressBar, dxSkinWXI,
+ cxCurrencyEdit;
type
TfrmExpenseList = class(TfrmBaseList)
@@ -120,6 +121,9 @@ type
procedure btnReChk2Click(Sender: TObject);
procedure TbFPClick(Sender: TObject);
private
+ FPayOurBankName: TcxButtonEdit;
+ FPayOurBankCardNo: TcxTextEdit;
+ procedure OurBankNameButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure InitGrid();
procedure SetStatus();
public
@@ -130,9 +134,29 @@ implementation
uses
U_DataLink, U_RTFun, U_ExpenseInput, U_ZDYHelp, U_AttachmentUpload,
- U_LabelPrint, U_InvoiceSel, U_FKandFPUpload;
+ U_LabelPrint, U_InvoiceSel, U_ZDYBankSel, U_FKandFPUpload;
{$R *.dfm}
+procedure TfrmExpenseList.OurBankNameButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmZDYBankSel := TfrmZDYBankSel.Create(Application);
+ with frmZDYBankSel do
+ begin
+ MainType := '';
+ flag := 'OurBankName';
+ flagname := '˺';
+ if ShowModal = 1 then
+ begin
+ FPayOurBankName.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
+ FPayOurBankCardNo.Text := Trim(ClientDataSet1.fieldbyname('note').AsString);
+ end;
+ end;
+ finally
+ frmZDYBankSel.Free;
+ end;
+end;
+
procedure TfrmExpenseList.SetStatus();
begin
@@ -406,8 +430,6 @@ var
btnOK, btnCancel: TButton;
lblDate, lblBankSlip: TLabel;
BankSlipCode: string;
-
- cxOurBankName, cxOurBankCardNo: TcxTextEdit;
lblOurBankName, lblOurBankCardNo: TLabel;
OurBankName, OurBankCardNo: string;
begin
@@ -474,12 +496,20 @@ begin
lblOurBankName.Left := 20;
lblOurBankName.Top := 63;
- cxOurBankName := TcxTextEdit.Create(DateForm);
- cxOurBankName.Parent := DateForm;
- cxOurBankName.Left := 120;
- cxOurBankName.Top := 58;
- cxOurBankName.Width := 200;
- cxOurBankName.Text := OurBankName;
+ lblOurBankName := TLabel.Create(DateForm);
+ lblOurBankName.Parent := DateForm;
+ lblOurBankName.Caption := '˺:';
+ lblOurBankName.Left := 20;
+ lblOurBankName.Top := 63;
+
+ FPayOurBankName := TcxButtonEdit.Create(DateForm); // ʹóԱ
+ FPayOurBankName.Parent := DateForm;
+ FPayOurBankName.Left := 120;
+ FPayOurBankName.Top := 58;
+ FPayOurBankName.Width := 200;
+ FPayOurBankName.Text := OurBankName;
+ FPayOurBankName.Properties.Buttons[0].Kind := bkEllipsis;
+ FPayOurBankName.Properties.OnButtonClick := OurBankNameButtonClick;
// ====== ======
// ====== ======
@@ -489,12 +519,12 @@ begin
lblOurBankCardNo.Left := 20;
lblOurBankCardNo.Top := 103;
- cxOurBankCardNo := TcxTextEdit.Create(DateForm);
- cxOurBankCardNo.Parent := DateForm;
- cxOurBankCardNo.Left := 120;
- cxOurBankCardNo.Top := 98;
- cxOurBankCardNo.Width := 200;
- cxOurBankCardNo.Text := OurBankCardNo;
+ FPayOurBankCardNo := TcxTextEdit.Create(DateForm); // ʹóԱ
+ FPayOurBankCardNo.Parent := DateForm;
+ FPayOurBankCardNo.Left := 120;
+ FPayOurBankCardNo.Top := 98;
+ FPayOurBankCardNo.Width := 200;
+ FPayOurBankCardNo.Text := OurBankCardNo;
// ˮǩ
lblBankSlip := TLabel.Create(DateForm);
@@ -538,8 +568,8 @@ begin
SelectedDate := Trunc(cxDateEdit.Date); // ȡڲ
BankSlipCode := Trim(cxTextEdit.Text);
- OurBankName := Trim(cxOurBankName.Text);
- OurBankCardNo := Trim(cxOurBankCardNo.Text);
+ OurBankName := Trim(FPayOurBankName.Text);
+ OurBankCardNo := Trim(FPayOurBankCardNo.Text);
// ֤
if BankSlipCode = '' then
diff --git a/A09财务通用管理/U_InvoiceOutList.dfm b/A09财务通用管理/U_InvoiceOutList.dfm
index a1f71be..ad0b48e 100644
--- a/A09财务通用管理/U_InvoiceOutList.dfm
+++ b/A09财务通用管理/U_InvoiceOutList.dfm
@@ -19,7 +19,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
Height = 30
AutoSize = True
ButtonHeight = 30
- ButtonWidth = 95
+ ButtonWidth = 115
Caption = 'ToolBar1'
Color = clWhite
DisabledImages = DataLink_Financial.cxImageList_bar
@@ -37,7 +37,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TBRafreshClick
end
object ToolButton2: TToolButton
- Left = 63
+ Left = 71
Top = 0
AutoSize = True
Caption = #36807#28388
@@ -45,7 +45,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = ToolButton2Click
end
object TADD: TToolButton
- Left = 126
+ Left = 142
Top = 0
AutoSize = True
Caption = #26032#22686
@@ -53,7 +53,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TADDClick
end
object TUPDATE: TToolButton
- Left = 189
+ Left = 213
Top = 0
AutoSize = True
Caption = #20462#25913
@@ -61,7 +61,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TUPDATEClick
end
object TBDEL: TToolButton
- Left = 252
+ Left = 284
Top = 0
AutoSize = True
Caption = #21024#38500
@@ -69,7 +69,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TBDELClick
end
object TSel: TToolButton
- Left = 315
+ Left = 355
Top = 0
AutoSize = True
Caption = #26597#30475
@@ -77,7 +77,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TSelClick
end
object TCHK: TToolButton
- Left = 378
+ Left = 426
Top = 0
AutoSize = True
Caption = #23457#26680
@@ -85,7 +85,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TCHKClick
end
object TNOCHK: TToolButton
- Left = 441
+ Left = 497
Top = 0
AutoSize = True
Caption = #25764#38144#23457#26680
@@ -93,7 +93,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TNOCHKClick
end
object ToolButton4: TToolButton
- Left = 528
+ Left = 600
Top = 0
AutoSize = True
Caption = #25171#21360
@@ -102,7 +102,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = ToolButton4Click
end
object ToolButton5: TToolButton
- Left = 591
+ Left = 671
Top = 0
AutoSize = True
Caption = #38468#20214
@@ -110,7 +110,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = ToolButton5Click
end
object ToolButton1: TToolButton
- Left = 654
+ Left = 742
Top = 0
AutoSize = True
Caption = #23548#20986
@@ -118,7 +118,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = ToolButton1Click
end
object ToolButton3: TToolButton
- Left = 717
+ Left = 813
Top = 0
AutoSize = True
Caption = #20445#23384#26684#24335
@@ -126,7 +126,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = ToolButton3Click
end
object ToolButton6: TToolButton
- Left = 804
+ Left = 916
Top = 0
AutoSize = True
Caption = #20851#32852#24212#25910#27454
@@ -134,7 +134,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = ToolButton6Click
end
object TBClose: TToolButton
- Left = 903
+ Left = 1035
Top = 0
AutoSize = True
Caption = #20851#38381
@@ -282,7 +282,6 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
Align = alClient
PopupMenu = PopupMenu1
TabOrder = 5
- ExplicitTop = 132
object Tv1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
diff --git a/A09财务通用管理/U_InvoiceOutList.pas b/A09财务通用管理/U_InvoiceOutList.pas
index fe0de22..dd82c58 100644
--- a/A09财务通用管理/U_InvoiceOutList.pas
+++ b/A09财务通用管理/U_InvoiceOutList.pas
@@ -15,7 +15,8 @@ uses
cxTextEdit, cxDropDownEdit, cxPC, RM_e_Xls, Menus, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxDateRanges, U_BaseList,
Vcl.Clipbrd, cxContainer, dxCore, cxDateUtils, dxSkinsCore,
- dxSkinsDefaultPainters, dxScrollbarAnnotations, cxProgressBar, cxCurrencyEdit;
+ dxSkinsDefaultPainters, dxScrollbarAnnotations, cxProgressBar, cxCurrencyEdit,
+ dxSkinWXI;
type
TfrmInvoiceOutList = class(TfrmBaseList)
@@ -191,7 +192,7 @@ begin
SQL.Clear;
sql.Add(' select A.* ');
sql.Add(',FJFlag=CAST((CASE WHEN (SELECT COUNT(X.FileName) FROM FJ_File X where X.TFType=''Ʊ'' and X.WBID=A.IVNo)>0 THEN 1 ELSE 0 END) AS BIT)');
-
+ sql.Add(',checkStatus=CASE WHEN isnull(A.Status,''0'')=''0'' THEN ''δ'' WHEN A.Status=''9'' THEN '''' ELSE '''' END');
sql.Add(' from Finance_Invoice A ');
sql.add(' where A.IVDate>=''' + formatdatetime('yyyy-MM-dd', begdate.Date) + ''' ');
sql.Add(' and A.IVDate<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
diff --git a/A09财务通用管理/U_InvoiceOutSel.dfm b/A09财务通用管理/U_InvoiceOutSel.dfm
new file mode 100644
index 0000000..ee1a5a0
--- /dev/null
+++ b/A09财务通用管理/U_InvoiceOutSel.dfm
@@ -0,0 +1,411 @@
+object frmInvoiceOutSel: TfrmInvoiceOutSel
+ Left = 484
+ Top = 189
+ Caption = #38144#39033#21457#31080#36873#25321
+ ClientHeight = 504
+ ClientWidth = 1530
+ Color = clWhite
+ Font.Charset = GB2312_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = #24494#36719#38597#40657
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ OnDestroy = FormDestroy
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 21
+ object ToolBar1: TToolBar
+ Tag = 1
+ Left = 0
+ Top = 0
+ Width = 1530
+ Height = 30
+ AutoSize = True
+ ButtonHeight = 30
+ ButtonWidth = 99
+ Caption = 'ToolBar1'
+ DisabledImages = DataLink_Financial.cxImageList_bar
+ Images = DataLink_Financial.cxImageList_bar
+ List = True
+ ShowCaptions = True
+ TabOrder = 0
+ object TSave: TToolButton
+ Left = 0
+ Top = 0
+ AutoSize = True
+ Caption = #20445#23384
+ ImageIndex = 16
+ Visible = False
+ OnClick = TSaveClick
+ end
+ object ToolButton6: TToolButton
+ Left = 71
+ Top = 0
+ AutoSize = True
+ Caption = #21047#26032
+ ImageIndex = 8
+ OnClick = ToolButton6Click
+ end
+ object ToolButton1: TToolButton
+ Left = 142
+ Top = 0
+ AutoSize = True
+ Caption = #22686#34892
+ ImageIndex = 2
+ Visible = False
+ OnClick = ToolButton1Click
+ end
+ object ToolButton5: TToolButton
+ Left = 213
+ Top = 0
+ AutoSize = True
+ Caption = #24212#20184#27454
+ ImageIndex = 2
+ Visible = False
+ OnClick = ToolButton5Click
+ end
+ object ToolButton2: TToolButton
+ Left = 300
+ Top = 0
+ AutoSize = True
+ Caption = #21024#34892
+ ImageIndex = 6
+ Visible = False
+ OnClick = ToolButton2Click
+ end
+ object ToolButton4: TToolButton
+ Left = 371
+ Top = 0
+ AutoSize = True
+ Caption = #23548#20837
+ ImageIndex = 18
+ Visible = False
+ OnClick = ToolButton4Click
+ end
+ object Tbssel: TToolButton
+ Left = 442
+ Top = 0
+ AutoSize = True
+ Caption = #36873#25321
+ ImageIndex = 12
+ OnClick = TbsselClick
+ end
+ object ToolButton3: TToolButton
+ Left = 513
+ Top = 0
+ AutoSize = True
+ Caption = #20445#23384#26684#24335
+ ImageIndex = 16
+ OnClick = ToolButton3Click
+ end
+ object TBClose: TToolButton
+ Left = 616
+ Top = 0
+ AutoSize = True
+ Caption = #20851#38381
+ ImageIndex = 7
+ OnClick = TBCloseClick
+ end
+ end
+ object cxGrid1: TcxGrid
+ Left = 0
+ Top = 124
+ Width = 1530
+ Height = 380
+ Align = alClient
+ TabOrder = 1
+ object Tv1: TcxGridDBTableView
+ OnDblClick = Tv1DblClick
+ Navigator.Buttons.CustomButtons = <>
+ Navigator.Buttons.Delete.Enabled = False
+ Navigator.Buttons.Delete.Visible = False
+ ScrollbarAnnotations.CustomAnnotations = <>
+ DataController.DataSource = DataSource1
+ DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
+ DataController.Summary.DefaultGroupSummaryItems = <>
+ DataController.Summary.FooterSummaryItems = <
+ item
+ Kind = skSum
+ end
+ item
+ Kind = skSum
+ Column = Tv1Amount
+ end
+ item
+ Kind = skSum
+ end
+ item
+ Kind = skSum
+ end
+ item
+ Kind = skSum
+ Column = Tv1TaxAmount
+ end>
+ DataController.Summary.SummaryGroups = <>
+ OptionsCustomize.ColumnFiltering = False
+ OptionsData.Deleting = False
+ OptionsData.DeletingConfirmation = False
+ OptionsView.Footer = True
+ OptionsView.GroupByBox = False
+ OptionsView.Indicator = True
+ object Tv1Column1: TcxGridDBColumn
+ Caption = #36873#25321
+ DataBinding.FieldName = 'ssel'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCheckBoxProperties'
+ Properties.ImmediatePost = True
+ Properties.NullStyle = nssUnchecked
+ HeaderAlignmentHorz = taCenter
+ Width = 67
+ end
+ object Tv1IVNo: TcxGridDBColumn
+ Caption = #21457#31080#21495#30721
+ DataBinding.FieldName = 'IVNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 77
+ end
+ object Tv1BGDNum: TcxGridDBColumn
+ Caption = #25253#20851#21333#21495#30721
+ DataBinding.FieldName = 'BGDNum'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 120
+ end
+ object Tv1IVDate: TcxGridDBColumn
+ Caption = #21457#31080#26085#26399
+ DataBinding.FieldName = 'IVDate'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxDateEditProperties'
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 77
+ end
+ object Tv1SupplierShuiNo: TcxGridDBColumn
+ Caption = #20379#24212#21830#31246#21495
+ DataBinding.FieldName = 'SupplierShuiNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 103
+ end
+ object Tv1Supplier: TcxGridDBColumn
+ Caption = #20379#24212#21830#21517#31216
+ DataBinding.FieldName = 'Supplier'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxButtonEditProperties'
+ Properties.Buttons = <
+ item
+ Default = True
+ Kind = bkEllipsis
+ end>
+ Properties.OnButtonClick = Tv1SupplierPropertiesButtonClick
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 109
+ end
+ object Tv1OurShuiNo: TcxGridDBColumn
+ Caption = #25105#26041#31246#21495
+ DataBinding.FieldName = 'OurShuiNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 114
+ end
+ object Tv1OurCoName: TcxGridDBColumn
+ Caption = #25105#26041#21333#20301
+ DataBinding.FieldName = 'OurCoName'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxButtonEditProperties'
+ Properties.Buttons = <
+ item
+ Default = True
+ Kind = bkEllipsis
+ end>
+ Properties.OnButtonClick = ButtonEdit
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 130
+ end
+ object Tv1Currency: TcxGridDBColumn
+ Caption = #24065#31181
+ DataBinding.FieldName = 'Currency'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxComboBoxProperties'
+ Properties.DropDownListStyle = lsFixedList
+ Properties.Items.Strings = (
+ 'CNY'
+ 'USD'
+ 'EUR')
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 85
+ end
+ object Tv1Price: TcxGridDBColumn
+ Caption = #21333#20215
+ DataBinding.FieldName = 'Price'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DecimalPlaces = 2
+ Properties.DisplayFormat = '#,##0.00'
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 93
+ end
+ object Tv1Amount: TcxGridDBColumn
+ Caption = #24635#37329#39069#26410#21547#31246
+ DataBinding.FieldName = 'Amount'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DecimalPlaces = 2
+ Properties.DisplayFormat = '#,##0.00'
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 111
+ end
+ object Tv1TaxFee: TcxGridDBColumn
+ Caption = #31246#37329
+ DataBinding.FieldName = 'TaxFee'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DecimalPlaces = 2
+ Properties.DisplayFormat = '#,##0.00'
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 65
+ end
+ object Tv1TaxAmount: TcxGridDBColumn
+ Caption = #24635#37329#39069#24050#21547#31246
+ DataBinding.FieldName = 'TaxAmount'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DecimalPlaces = 2
+ Properties.DisplayFormat = '#,##0.00'
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 114
+ end
+ object Tv1BillCycle: TcxGridDBColumn
+ Caption = #36134#26399
+ DataBinding.FieldName = 'BillCycle'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 80
+ end
+ object Tv1fromFlow: TcxGridDBColumn
+ Caption = #24212#20184#27454#20027#38190
+ DataBinding.FieldName = 'fromFlow'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 120
+ end
+ end
+ object cxGridLevel1: TcxGridLevel
+ GridView = Tv1
+ end
+ end
+ object cxTabControl1: TcxTabControl
+ Left = 0
+ Top = 95
+ Width = 1530
+ Height = 29
+ Align = alTop
+ TabOrder = 2
+ Properties.CustomButtons.Buttons = <>
+ Properties.Style = 11
+ Properties.TabIndex = 0
+ Properties.Tabs.Strings = (
+ ' '#26410#30003#35831' '
+ ' '#24050#30003#35831' '
+ ' '#20840#37096' ')
+ LookAndFeel.Kind = lfUltraFlat
+ OnChange = cxTabControl1Change
+ ClientRectRight = 0
+ ClientRectTop = 0
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 30
+ Width = 1530
+ Height = 65
+ Align = alTop
+ BevelInner = bvRaised
+ BevelOuter = bvLowered
+ Color = clWhite
+ ParentBackground = False
+ TabOrder = 3
+ object Label1: TLabel
+ Left = 67
+ Top = 37
+ Width = 16
+ Height = 21
+ Caption = #33267
+ end
+ object Label4: TLabel
+ Left = 17
+ Top = 6
+ Width = 64
+ Height = 21
+ Caption = #26597#35810#26085#26399
+ end
+ object begdate: TcxDateEdit
+ Left = 87
+ Top = 2
+ Properties.ShowTime = False
+ TabOrder = 0
+ Width = 120
+ end
+ object Enddate: TcxDateEdit
+ Left = 87
+ Top = 30
+ Properties.ShowTime = False
+ TabOrder = 1
+ Width = 120
+ end
+ end
+ object DataSource1: TDataSource
+ DataSet = CDS_Invoice
+ Left = 516
+ Top = 280
+ end
+ object CDS_Invoice: TClientDataSet
+ Aggregates = <>
+ Params = <>
+ Left = 384
+ Top = 268
+ end
+ object GPM_1: TcxGridPopupMenu
+ Grid = cxGrid1
+ PopupMenus = <>
+ Left = 280
+ Top = 112
+ end
+ object ADOQueryTmp: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ Parameters = <>
+ Left = 96
+ Top = 116
+ end
+ object ADOQueryCmd: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ Parameters = <>
+ Left = 180
+ Top = 116
+ end
+ object CDS_LM: TClientDataSet
+ Aggregates = <>
+ Params = <>
+ Left = 528
+ Top = 200
+ end
+ object OpenDialog1: TOpenDialog
+ Left = 370
+ Top = 162
+ end
+end
diff --git a/A09财务通用管理/U_InvoiceOutSel.pas b/A09财务通用管理/U_InvoiceOutSel.pas
new file mode 100644
index 0000000..9d82f22
--- /dev/null
+++ b/A09财务通用管理/U_InvoiceOutSel.pas
@@ -0,0 +1,835 @@
+unit U_InvoiceOutSel;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter,
+ cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxClasses,
+ cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
+ cxGridDBTableView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB,
+ DBClient, ExtCtrls, StdCtrls, BtnEdit, cxButtonEdit, cxTextEdit,
+ cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxCalendar,
+ dxDateRanges, dxBarBuiltInMenu, ComObj, dxSkinsCore, dxSkinsDefaultPainters,
+ dxScrollbarAnnotations, cxPC, cxContainer, dxCore, cxDateUtils, cxCheckBox,
+ cxMaskEdit, dxSkinWXI, cxCurrencyEdit;
+
+type
+ TfrmInvoiceOutSel = class(TForm)
+ DataSource1: TDataSource;
+ CDS_Invoice: TClientDataSet;
+ GPM_1: TcxGridPopupMenu;
+ ToolBar1: TToolBar;
+ TSave: TToolButton;
+ TBClose: TToolButton;
+ cxGrid1: TcxGrid;
+ Tv1: TcxGridDBTableView;
+ Tv1Price: TcxGridDBColumn;
+ cxGridLevel1: TcxGridLevel;
+ ADOQueryTmp: TADOQuery;
+ ADOQueryCmd: TADOQuery;
+ Tv1TaxAmount: TcxGridDBColumn;
+ Tv1TaxFee: TcxGridDBColumn;
+ Tv1IVNo: TcxGridDBColumn;
+ Tv1IVDate: TcxGridDBColumn;
+ ToolButton1: TToolButton;
+ ToolButton2: TToolButton;
+ ToolButton3: TToolButton;
+ Tv1Currency: TcxGridDBColumn;
+ ToolButton4: TToolButton;
+ CDS_LM: TClientDataSet;
+ OpenDialog1: TOpenDialog;
+ Tv1BGDNum: TcxGridDBColumn;
+ Tv1SupplierShuiNo: TcxGridDBColumn;
+ Tv1Supplier: TcxGridDBColumn;
+ Tv1OurShuiNo: TcxGridDBColumn;
+ Tv1OurCoName: TcxGridDBColumn;
+ Tv1BillCycle: TcxGridDBColumn;
+ ToolButton5: TToolButton;
+ Tv1fromFlow: TcxGridDBColumn;
+ Tbssel: TToolButton;
+ cxTabControl1: TcxTabControl;
+ Panel1: TPanel;
+ Label1: TLabel;
+ begdate: TcxDateEdit;
+ Enddate: TcxDateEdit;
+ ToolButton6: TToolButton;
+ Label4: TLabel;
+ Tv1Column1: TcxGridDBColumn;
+ procedure TBCloseClick(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure TSaveClick(Sender: TObject);
+ procedure v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure v1P_SpecPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure v1QtyUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure v1QtyPropertiesEditValueChanged(Sender: TObject);
+ procedure FormDestroy(Sender: TObject);
+ procedure Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure Tv1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure Tv1Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure ToolButton1Click(Sender: TObject);
+ procedure ToolButton2Click(Sender: TObject);
+ procedure ToolButton3Click(Sender: TObject);
+ procedure Tv1Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure ToolButton4Click(Sender: TObject);
+ procedure Tv1SupplierPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure ButtonEdit(Sender: TObject; AButtonIndex: Integer);
+ procedure Tv1AmountPropertiesEditValueChanged(Sender: TObject);
+ procedure ToolButton5Click(Sender: TObject);
+ procedure TbsselClick(Sender: TObject);
+ procedure Tv1DblClick(Sender: TObject);
+ procedure cxTabControl1Change(Sender: TObject);
+ procedure ToolButton6Click(Sender: TObject);
+ private
+ procedure initGrid();
+ procedure SaveDate();
+ procedure SaveFlowInvoice();
+ { Private declarations }
+ public
+ FIVID: string;
+ fInvoiceFlag: string;
+ { Public declarations }
+ end;
+
+var
+ frmInvoiceOutSel: TfrmInvoiceOutSel;
+
+implementation
+
+uses
+ U_RTFun, U_ZDYHelp, U_CompanySel, U_dataLink, U_PayableSel;
+{$R *.dfm}
+
+//procedure TfrmInvoiceInInPut.SaveFlowInvoice();
+//var
+// sl: TStringList;
+// i: Integer;
+//begin
+// with CDS_Invoice do
+// begin
+// first;
+// while not eof do
+// begin
+// if fieldbyname('IVID').AsString <> '' then
+// begin
+// with ADOQueryCmd do
+// begin
+// close;
+// sql.Clear;
+// sql.add('delete from Finance_FlowInvoice where IVID=' + quotedstr(Trim(CDS_Invoice.fieldbyname('IVID').AsString)));
+// ExecSQL;
+// end;
+//
+// with ADOQueryCmd do
+// begin
+// close;
+// sql.Clear;
+// sql.add('exec P_InsertFinanceFlowInvoice @IVID=' + quotedstr(Trim(CDS_Invoice.fieldbyname('IVID').AsString)));
+// sql.Add(' ,@fffIDs=' + quotedstr(Trim(CDS_Invoice.fieldbyname('fromFlow').AsString)) );
+// ExecSQL;
+// end;
+//
+//
+// end;
+// CDS_Invoice.Next;
+// end;
+// end;
+//end;
+
+procedure TfrmInvoiceOutSel.SaveFlowInvoice();
+begin
+ if CDS_Invoice.IsEmpty then
+ Exit;
+
+ // 开始事务(假设使用ADO事务)
+ ADOQueryCmd.Connection.BeginTrans;
+ try
+ CDS_Invoice.DisableControls;
+ CDS_Invoice.First;
+
+ while not CDS_Invoice.Eof do
+ begin
+ if Trim(CDS_Invoice.FieldByName('IVID').AsString) <> '' then
+ begin
+ // 使用参数化查询
+ with ADOQueryCmd do
+ begin
+ Close;
+ SQL.Text := 'delete from Finance_FlowInvoice where IVID = :IVID';
+ Parameters.ParamByName('IVID').Value := Trim(CDS_Invoice.FieldByName('IVID').AsString);
+ ExecSQL;
+
+ Close;
+ SQL.Text := 'exec P_InsertFinanceFlowInvoice @IVID = :IVID, @fffIDs = :fffIDs';
+ Parameters.ParamByName('IVID').Value := Trim(CDS_Invoice.FieldByName('IVID').AsString);
+ Parameters.ParamByName('fffIDs').Value := Trim(CDS_Invoice.FieldByName('fromFlow').AsString);
+// ShowMessage(sql.Text);
+ ExecSQL;
+ end;
+ end;
+
+ CDS_Invoice.Next; // 移动到下一条记录
+ end;
+
+ CDS_Invoice.EnableControls;
+ ADOQueryCmd.Connection.CommitTrans; // 提交事务
+// ShowMessage('保存成功!');
+ except
+ ADOQueryCmd.Connection.RollbackTrans; // 出错回滚
+ raise; // 重新抛出异常
+
+ end;
+end;
+
+procedure TfrmInvoiceOutSel.SaveDate();
+var
+ MaxNo: string;
+begin
+ ADOQueryCmd.Connection.BeginTrans;
+ try
+ with CDS_Invoice do
+ begin
+ first;
+ while not eof do
+ begin
+ if fieldbyname('IVID').AsString = '' then
+ begin
+ if GetLSNo(ADOQueryTmp, MaxNo, 'IJ', 'Finance_Invoice', 4, 1) = False then
+ raise Exception.Create('取最大号失败!');
+ end
+ else
+ MaxNo := CDS_Invoice.fieldbyname('IVID').AsString;
+
+ with ADOQueryCmd do
+ begin
+ close;
+ sql.Clear;
+ sql.add('select * from Finance_Invoice where IVID=' + quotedstr(Trim(MaxNo)));
+ open;
+ end;
+ if ADOQueryCmd.IsEmpty then
+ begin
+ ADOQueryCmd.append;
+ ADOQueryCmd.FieldByName('FillId').Value := Trim(DCode);
+ ADOQueryCmd.FieldByName('Filler').Value := Trim(DName);
+ ADOQueryCmd.FieldByName('status').Value := '0';
+ end
+ else
+ begin
+ ADOQueryCmd.edit;
+ ADOQueryCmd.FieldByName('EditId').Value := Trim(DCode);
+ ADOQueryCmd.FieldByName('Editer').Value := Trim(DName);
+ ADOQueryCmd.FieldByName('Edittime').Value := SGetServerDateTime(ADOQueryTmp);
+ end;
+ RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Invoice, 'Finance_Invoice', 0);
+ ADOQueryCmd.fieldbyname('IVID').Value := MaxNo;
+ ADOQueryCmd.fieldbyname('IVFlag').Value := '进项';
+// ADOQueryCmd.fieldbyname('OppCoNo').Value := trim(CDS_Invoice.FieldByName('OppCoNo').AsString);
+// ADOQueryCmd.fieldbyname('OppParentCoNo').Value := trim(CDS_Invoice.FieldByName('OppParentCoNo').AsString);
+ ADOQueryCmd.FieldByName('SupplierShuiNo').Value := Trim(CDS_Invoice.fieldbyname('SupplierShuiNo').AsString);
+ ADOQueryCmd.fieldbyname('OurCoNo').Value := trim(CDS_Invoice.FieldByName('OurCoNo').AsString);
+ ADOQueryCmd.fieldbyname('PayDate').Value := trim(CDS_Invoice.FieldByName('PayDate').AsString);
+
+ ADOQueryCmd.Post;
+ CDS_Invoice.Edit;
+ CDS_Invoice.FieldByName('IVId').Value := MaxNo;
+ CDS_Invoice.Post;
+ next;
+ end;
+ end;
+ ADOQueryCmd.Connection.CommitTrans;
+ application.MessageBox('保存成功!', '提示');
+
+ except
+ ADOQueryCmd.Connection.RollbackTrans;
+ application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0);
+ end;
+end;
+
+procedure TfrmInvoiceOutSel.initGrid();
+begin
+ with ADOQueryTmp do
+ begin
+ close;
+ sql.Clear;
+ sql.Add('select A.*,B.BankName,B.BankNo,B.CoCode,C.BankDeposit,C.BankCardNo from Finance_Invoice A ');
+
+ sql.add(' left join BS_Company B on A.SupplierNo = B.CoCode ');
+ SQL.Add(' LEFT JOIN (');
+ SQL.Add(' SELECT *, ROW_NUMBER() OVER (PARTITION BY GSTT ORDER BY (SELECT NULL)) AS rn');
+ SQL.Add(' FROM BS_Bank');
+ SQL.Add(' ) C ON A.OurCoName = C.GSTT AND C.rn = 1');
+
+ sql.add(' where isnull(A.Status,''0'')=''9'' ');
+
+ if cxTabControl1.TabIndex = 1 then
+ begin
+ sql.Add(' and A.ivdate>=''' + FormatDateTime('yyyy-MM-dd', begdate.Date) + ''' ');
+ sql.Add(' and A.ivdate<''' + FormatDateTime('yyyy-MM-dd', Enddate.Date + 1) + ''' ');
+ end;
+ if cxTabControl1.TabIndex = 0 then
+ begin
+ sql.add(' and not exists (select 1 from Finance_Flow X where X.IVID = A.IVID) ');
+ end;
+ if cxTabControl1.TabIndex = 1 then
+ begin
+ sql.add(' and exists (select 1 from Finance_Flow X where X.IVID = A.IVID) ');
+ end;
+
+ sql.Add(' and IVFlag=''销项'' ');
+
+ open;
+ end;
+
+ SCreateCDS(ADOQueryTmp, CDS_Invoice);
+ SInitCDSData(ADOQueryTmp, CDS_Invoice);
+end;
+
+procedure TfrmInvoiceOutSel.TBCloseClick(Sender: TObject);
+begin
+
+ Close;
+end;
+
+procedure TfrmInvoiceOutSel.TbsselClick(Sender: TObject);
+begin
+ if CDS_Invoice.IsEmpty then
+ begin
+ Exit;
+ end;
+ ModalResult := 1;
+end;
+
+procedure TfrmInvoiceOutSel.FormShow(Sender: TObject);
+begin
+ ReadCxGrid(Self.Caption + 'TV1', Tv1, '财务管理');
+ with CDS_LM do
+ begin
+ FieldDefs.Clear;
+ FieldDefs.Add('LXH', ftInteger, 0);
+ FieldDefs.Add('lCode', ftString, 40);
+ FieldDefs.Add('LName', ftString, 40);
+ close;
+ CreateDataSet;
+ end;
+ Enddate.Date := SGetServerDate(ADOQueryTmp);
+ begdate.Date := Enddate.Date - 30;
+ initGrid();
+end;
+
+procedure TfrmInvoiceOutSel.TSaveClick(Sender: TObject);
+begin
+
+ if CDS_Invoice.Locate('IVNo', null, []) then
+ begin
+ application.MessageBox('发票号不能为空', '提示');
+ exit;
+ end;
+ if CDS_Invoice.Locate('OurCoName', null, []) then
+ begin
+ application.MessageBox('我方单位不能为空', '提示');
+ exit;
+ end;
+ if not CDS_Invoice.FieldByName('IVDate').isnull then
+ begin
+ if CDS_Invoice.FieldByName('BillCycle').asstring <> '' then
+ begin
+ CDS_Invoice.Edit;
+ CDS_Invoice.FieldByName('PayDate').AsDateTime := CDS_Invoice.FieldByName('IVDate').AsDateTime + StrToIntDef(Trim(CDS_Invoice.FieldByName('BillCycle').AsString), 0);
+ CDS_Invoice.Post;
+ end
+ else
+ begin
+ CDS_Invoice.Edit;
+ CDS_Invoice.FieldByName('PayDate').Value := CDS_Invoice.FieldByName('IVDate').Value;
+ CDS_Invoice.Post;
+ end;
+ end;
+
+ SaveDate();
+ SaveFlowInvoice();
+ Modalresult := 1;
+end;
+
+procedure TfrmInvoiceOutSel.v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmZDYHelp := TfrmZDYHelp.Create(Application);
+ with frmZDYHelp do
+ begin
+ flag := 'MPRTCodeName';
+ flagname := '产品名称';
+ if ShowModal = 1 then
+ begin
+ Self.CDS_Invoice.Edit;
+ Self.CDS_Invoice.FieldByName('P_CodeName').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
+ Self.CDS_Invoice.FieldByName('P_Code').Value := Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
+ end;
+ end;
+ finally
+ frmZDYHelp.Free;
+ end;
+ //self.tv1.Controller.EditingController.ShowEdit();
+end;
+
+procedure TfrmInvoiceOutSel.v1P_SpecPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmZDYHelp := TfrmZDYHelp.Create(Application);
+ with frmZDYHelp do
+ begin
+ flag := 'P_Spec';
+ flagname := '成品规格';
+ if ShowModal = 1 then
+ begin
+ Self.CDS_Invoice.Edit;
+ Self.CDS_Invoice.FieldByName('P_Spec').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
+ end;
+ end;
+ finally
+ frmZDYHelp.Free;
+ end;
+end;
+
+procedure TfrmInvoiceOutSel.v1QtyUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmZDYHelp := TfrmZDYHelp.Create(Application);
+ with frmZDYHelp do
+ begin
+ flag := 'QtyUnit';
+ flagname := '数量单位';
+ if ShowModal = 1 then
+ begin
+ Self.CDS_Invoice.Edit;
+ Self.CDS_Invoice.FieldByName('QtyUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
+ end;
+ end;
+ finally
+ frmZDYHelp.Free;
+ end;
+end;
+
+procedure TfrmInvoiceOutSel.v1QtyPropertiesEditValueChanged(Sender: TObject);
+var
+ mvalue, FFieldName: string;
+ FQty, FPrice, FAmount, Ftax, FtaxAmount: double;
+begin
+// FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
+// mvalue := TcxTextEdit(Sender).EditingText;
+// if Trim(mvalue) = '' then
+// begin
+// mvalue := '0';
+// end;
+// with CDS_Invoice do
+// begin
+// Edit;
+// FieldByName(FFieldName).Value := Trim(mvalue);
+// Post;
+// FQty := FieldbyName('Qty').AsFloat;
+// FtaxAmount := FieldbyName('taxAmount').AsFloat;
+// Ftax := FieldbyName('tax').AsFloat;
+// end;
+// if FQty <> 0 then
+// begin
+// FAmount := strtofloat(format('%.2f', [FtaxAmount / (1 + Ftax / 100)]));
+// FPrice := strtofloat(format('%.2f', [FAmount / FQty]));
+// end
+// else
+// begin
+// FPrice := 0;
+// FAmount := strtofloat(format('%.2f', [FtaxAmount / (1 + Ftax / 100)]));
+// end;
+//
+// with CDS_Invoice do
+// begin
+// Edit;
+// FieldByName('Price').Value := FPrice;
+// FieldByName('Amount').Value := FAmount;
+// FieldByName('TaxFee').Value := FtaxAmount - FAmount;
+// Post;
+// end;
+// tv1.Controller.EditingController.ShowEdit();
+
+end;
+
+procedure TfrmInvoiceOutSel.cxTabControl1Change(Sender: TObject);
+begin
+ if cxTabControl1.TabIndex = 0 then
+ begin
+ Tbssel.visible := True;
+ end
+ else
+ begin
+ Tbssel.visible := false;
+ end;
+ initGrid();
+end;
+
+procedure TfrmInvoiceOutSel.FormDestroy(Sender: TObject);
+begin
+ frmInvoiceOutSel := nil;
+end;
+
+procedure TfrmInvoiceOutSel.Tv1AmountPropertiesEditValueChanged(Sender: TObject);
+var
+ mvalue, FFieldName: string;
+ mAmount, mTaxFee, mTaxAmount: Double;
+begin
+ mvalue := TcxTextEdit(Sender).EditingText;
+ if Trim(mvalue) = '' then
+ begin
+ mvalue := '0';
+ end;
+ FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
+
+ with CDS_Invoice do
+ begin
+ Edit;
+ FieldByName(FFieldName).Value := StrToFloat(Trim(mvalue));
+ Post;
+// ShowMessage(Fieldbyname('TaxRate').AsString);
+ if Fieldbyname('Amount').AsString <> '' then
+ begin
+ mAmount := Fieldbyname('Amount').AsFloat;
+ end
+ else
+ begin
+ mAmount := 0;
+ end;
+
+ if Fieldbyname('TaxFee').AsString <> '' then
+ begin
+ mTaxFee := Fieldbyname('TaxFee').AsFloat;
+ end
+ else
+ begin
+ mTaxFee := 0;
+ end;
+
+ end;
+
+ mTaxAmount := RoundFloat(mAmount + mTaxFee, 2);
+
+ with CDS_Invoice do
+ begin
+ Edit;
+ FieldByName('Amount').Value := mAmount;
+// FieldByName('ConPrice').Value := FConPrice;
+ FieldByName('TaxFee').Value := mTaxFee;
+ FieldByName('TaxAmount').Value := mTaxAmount;
+ Post;
+ end;
+ tv1.Controller.EditingController.ShowEdit();
+
+end;
+
+procedure TfrmInvoiceOutSel.Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmCompanySel := TfrmCompanySel.Create(Application);
+ with frmCompanySel do
+ begin
+ FCoType := '我司';
+ if ShowModal = 1 then
+ begin
+
+ Self.CDS_Invoice.Edit;
+ Self.CDS_Invoice.FieldByName('OurCoNo').Value := Trim(CDS_1.fieldbyname('CoCode').AsString);
+ Self.CDS_Invoice.FieldByName('OurCoName').Value := Trim(CDS_1.fieldbyname('CoAbbrName').AsString);
+
+ end;
+ end;
+ finally
+ frmCompanySel.Free;
+ end;
+end;
+
+procedure TfrmInvoiceOutSel.Tv1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmZDYHelp := TfrmZDYHelp.Create(Application);
+ with frmZDYHelp do
+ begin
+ flag := 'InvoiceType';
+ flagname := '发票类型';
+ if ShowModal = 1 then
+ begin
+ Self.CDS_Invoice.Edit;
+ Self.CDS_Invoice.FieldByName('IVType').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
+
+ end;
+ end;
+ finally
+ frmZDYHelp.Free;
+ end;
+end;
+
+procedure TfrmInvoiceOutSel.Tv1Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmCompanySel := TfrmCompanySel.Create(Application);
+ with frmCompanySel do
+ begin
+ FCoType := '供应商';
+ if ShowModal = 1 then
+ begin
+ Self.CDS_Invoice.Edit;
+ Self.CDS_Invoice.FieldByName('OppCoNo').Value := Trim(CDS_1.fieldbyname('CoCode').AsString);
+ Self.CDS_Invoice.FieldByName('OppCoName').Value := Trim(CDS_1.fieldbyname('CoAbbrName').AsString);
+ Self.CDS_Invoice.FieldByName('OppParentCoNo').Value := Trim(CDS_1.fieldbyname('CoCode').AsString);
+ Self.CDS_Invoice.FieldByName('OppParentCoName').Value := Trim(CDS_1.fieldbyname('CoAbbrName').AsString);
+ end;
+ end;
+ finally
+ frmCompanySel.Free;
+ end;
+end;
+
+procedure TfrmInvoiceOutSel.Tv1Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmCompanySel := TfrmCompanySel.Create(Application);
+ with frmCompanySel do
+ begin
+ FCoType := '供应商';
+ if ShowModal = 1 then
+ begin
+ Self.CDS_Invoice.Edit;
+ Self.CDS_Invoice.FieldByName('OppParentCoNo').Value := Trim(CDS_1.fieldbyname('CoCode').AsString);
+ Self.CDS_Invoice.FieldByName('OppParentCoName').Value := Trim(CDS_1.fieldbyname('CoAbbrName').AsString);
+ end;
+ end;
+ finally
+ frmCompanySel.Free;
+ end;
+end;
+
+procedure TfrmInvoiceOutSel.Tv1DblClick(Sender: TObject);
+begin
+ ModalResult := 1;
+end;
+
+procedure TfrmInvoiceOutSel.ButtonEdit(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmCompanySel := TfrmCompanySel.Create(Application);
+ with frmCompanySel do
+ begin
+ FCoType := '我司';
+ if ShowModal = 1 then
+ begin
+ CDS_Invoice.Edit;
+ CDS_Invoice.FieldByName('OurCoName').Value := Trim(CDS_1.fieldbyname('CoName').AsString);
+ CDS_Invoice.FieldByName('OurShuiNo').Value := Trim(CDS_1.fieldbyname('ShuiNo').AsString);
+ CDS_Invoice.FieldByName('OurCoNo').Value := Trim(CDS_1.fieldbyname('CoCode').AsString);
+ CDS_Invoice.Post;
+ end;
+ end;
+ finally
+ frmCompanySel.Free;
+ end;
+end;
+
+procedure TfrmInvoiceOutSel.Tv1SupplierPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmCompanySel := TfrmCompanySel.Create(Application);
+ with frmCompanySel do
+ begin
+ FCoType := '供应商';
+ if ShowModal = 1 then
+ begin
+ CDS_Invoice.Edit;
+ CDS_Invoice.FieldByName('Supplier').Value := Trim(CDS_1.fieldbyname('CoName').AsString);
+ CDS_Invoice.FieldByName('SupplierShuiNo').Value := Trim(CDS_1.fieldbyname('ShuiNo').AsString);
+ CDS_Invoice.FieldByName('SupplierNo').Value := Trim(CDS_1.fieldbyname('CoCode').AsString);
+
+ CDS_Invoice.FieldByName('BillCycle').Value := Trim(CDS_1.fieldbyname('BillCycle').AsString);
+ CDS_Invoice.Post;
+ end;
+ end;
+ finally
+ frmCompanySel.Free;
+ end;
+end;
+
+procedure TfrmInvoiceOutSel.ToolButton1Click(Sender: TObject);
+begin
+ CDS_Invoice.Append;
+ CDS_Invoice.FieldByName('IVDate').Value := now();
+ CDS_Invoice.FieldByName('IVType').Value := '进项发票';
+ CDS_Invoice.FieldByName('QtyUnit').Value := 'Kg';
+ CDS_Invoice.FieldByName('Amount').Value := 0;
+ CDS_Invoice.FieldByName('Qty').Value := 0;
+ CDS_Invoice.FieldByName('tax').Value := 0;
+ CDS_Invoice.FieldByName('TaxFee').Value := 0;
+ CDS_Invoice.FieldByName('taxAmount').Value := 0;
+ CDS_Invoice.FieldByName('Price').Value := 0;
+ CDS_Invoice.FieldByName('tax').Value := 13;
+ CDS_Invoice.FieldByName('Currency').Value := 'CNY';
+ CDS_Invoice.Post;
+
+end;
+
+procedure TfrmInvoiceOutSel.ToolButton2Click(Sender: TObject);
+begin
+ if CDS_Invoice.IsEmpty then
+ exit;
+ if application.MessageBox('确定要删除吗', '提示', 1) = 2 then
+ exit;
+ with ADOQueryTmp do
+ begin
+ close;
+ sql.clear;
+ sql.add('delete from Finance_Invoice where IvID=''' + trim(CDS_Invoice.fieldbyname('IvID').asstring) + ''' ');
+ execsql;
+ end;
+ CDS_Invoice.delete;
+end;
+
+procedure TfrmInvoiceOutSel.ToolButton3Click(Sender: TObject);
+begin
+ WriteCxGrid(Self.Caption + 'TV1', Tv1, '财务管理');
+end;
+
+procedure TfrmInvoiceOutSel.ToolButton4Click(Sender: TObject);
+var
+ excelApp, WorkBook: Variant;
+ i, j, k, LX, ExcelRowCount: integer;
+ maxId, FCPID, FCPName, t1, t2, t3, FFID: string;
+begin
+
+ try
+ excelApp := CreateOleObject('Excel.Application');
+ openDialog1.Filter := '*.CSV;*.xls';
+ if opendialog1.Execute then
+ begin
+ WorkBook := excelApp.WorkBooks.Open(OpenDialog1.FileName);
+ end
+ else
+ exit;
+ excelApp.Visible := false;
+ ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
+ except
+ application.MessageBox('加载EXCEL错误!', '错误信息', MB_ICONERROR);
+ exit;
+ end;
+
+ CDS_LM.EmptyDataSet;
+
+ for j := 0 to Tv1.ColumnCount - 1 do
+ begin
+ with CDS_LM do
+ begin
+ Append;
+ FieldByName('LCode').Value := trim(Tv1.Columns[j].DataBinding.FieldName);
+ FieldByName('LName').Value := trim(Tv1.Columns[j].Caption);
+ Post;
+ end;
+ end;
+
+ try
+ for i := 1 to 50 do
+ begin
+ if trim(WorkBook.WorkSheets[1].Cells[1, i].value) = '' then
+ continue;
+ if CDS_LM.Locate('LName', trim(WorkBook.WorkSheets[1].Cells[1, i].value), []) then
+ begin
+ with CDS_LM do
+ begin
+ Edit;
+ FieldByName('LXH').Value := i;
+ Post;
+ end;
+ end;
+ end;
+ except
+ application.MessageBox('加载数组错误!', '错误信息', MB_ICONERROR);
+ exit;
+ end;
+
+ try
+ for i := 2 to ExcelRowCount do
+ begin
+ with CDS_Invoice do
+ begin
+ Append;
+ CDS_LM.First;
+ while not CDS_LM.Eof do
+ begin
+ if CDS_LM.FieldByName('LXH').AsInteger > 0 then
+ CDS_Invoice.fieldbyname(CDS_LM.FieldByName('LCode').AsString).Value := WorkBook.WorkSheets[1].Cells[i, CDS_LM.FieldByName('LXH').AsInteger].Value;
+ CDS_LM.Next;
+ end;
+// CDS_Invoice.fieldbyname('OurCoNo').Value := '91330602MA2JTEXX4B';
+// CDS_Invoice.fieldbyname('OurCoName').Value := '圆中圆';
+// CDS_Invoice.FieldByName('Currency').Value := 'CNY';
+ Post;
+ end;
+ end;
+ WorkBook.Close;
+ excelApp.Quit;
+ excelApp := Unassigned;
+ WorkBook := Unassigned;
+ except
+ WorkBook.Close;
+ excelApp.Quit;
+ excelApp := Unassigned;
+ WorkBook := Unassigned;
+ exit;
+ end;
+
+end;
+
+procedure TfrmInvoiceOutSel.ToolButton5Click(Sender: TObject);
+begin
+ try
+ frmPayableSel := TfrmPayableSel.Create(Application);
+ with frmPayableSel do
+ begin
+ if ShowModal = 1 then
+ begin
+// frmPayableSel.CDS_1.first;
+ CDS_1.Locate('ssel', True, []);
+ with frmPayableSel.CDS_1 do
+ begin
+ self.CDS_Invoice.Append;
+
+ Self.CDS_Invoice.FieldByName('Supplier').value := frmPayableSel.CDS_1.FieldByName('OppCoName').AsString;
+ Self.CDS_Invoice.FieldByName('SupplierNo').value := frmPayableSel.CDS_1.FieldByName('OppCoNo').AsString;
+ Self.CDS_Invoice.FieldByName('SupplierShuiNo').value := frmPayableSel.CDS_1.FieldByName('oppShuiNo').AsString;
+ Self.CDS_Invoice.FieldByName('OurCoName').value := frmPayableSel.CDS_1.FieldByName('OurCoName').AsString;
+ Self.CDS_Invoice.FieldByName('OurCoNo').value := frmPayableSel.CDS_1.FieldByName('OurCoNo').AsString;
+ Self.CDS_Invoice.FieldByName('OurShuiNo').value := frmPayableSel.CDS_1.FieldByName('ourShuiNo').AsString;
+
+ Self.CDS_Invoice.FieldByName('Currency').value := frmPayableSel.CDS_1.FieldByName('Currency').AsString;
+ if frmPayableSel.CDS_1.FieldByName('NoTaxPrice').AsString <> '' then
+ begin
+ Self.CDS_Invoice.FieldByName('Price').value := frmPayableSel.CDS_1.FieldByName('NoTaxPrice').AsString;
+ end
+ else
+ begin
+ Self.CDS_Invoice.FieldByName('Price').value := 0;
+ end;
+
+ Self.CDS_Invoice.FieldByName('Amount').value := frmPayableSel.FNoTaxInclude;
+ Self.CDS_Invoice.FieldByName('TaxFee').value := frmPayableSel.FTax;
+ Self.CDS_Invoice.FieldByName('TaxAmount').value := frmPayableSel.FTaxInclude;
+ self.CDS_Invoice.FieldByName('fromFlow').Value := frmPayableSel.FFFIDs;
+ Self.CDS_Invoice.post;
+ end;
+ end;
+ end;
+ finally
+ frmPayableSel.Free;
+ end;
+end;
+
+procedure TfrmInvoiceOutSel.ToolButton6Click(Sender: TObject);
+begin
+ initGrid();
+end;
+
+end.
+
diff --git a/A09财务通用管理/U_InvoiceSel.dfm b/A09财务通用管理/U_InvoiceSel.dfm
index fb0216b..b736c7b 100644
--- a/A09财务通用管理/U_InvoiceSel.dfm
+++ b/A09财务通用管理/U_InvoiceSel.dfm
@@ -250,8 +250,8 @@ object frmInvoiceSel: TfrmInvoiceSel
DataBinding.FieldName = 'Price'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxCurrencyEditProperties'
- Properties.DecimalPlaces = 0
- Properties.DisplayFormat = '#,##0'
+ Properties.DecimalPlaces = 2
+ Properties.DisplayFormat = '#,##0.00'
HeaderAlignmentHorz = taCenter
Options.Editing = False
Width = 93
@@ -261,8 +261,8 @@ object frmInvoiceSel: TfrmInvoiceSel
DataBinding.FieldName = 'Amount'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxCurrencyEditProperties'
- Properties.DecimalPlaces = 0
- Properties.DisplayFormat = '#,##0'
+ Properties.DecimalPlaces = 2
+ Properties.DisplayFormat = '#,##0.00'
HeaderAlignmentHorz = taCenter
Options.Editing = False
Width = 111
@@ -272,8 +272,8 @@ object frmInvoiceSel: TfrmInvoiceSel
DataBinding.FieldName = 'TaxFee'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxCurrencyEditProperties'
- Properties.DecimalPlaces = 0
- Properties.DisplayFormat = '#,##0'
+ Properties.DecimalPlaces = 2
+ Properties.DisplayFormat = '#,##0.00'
HeaderAlignmentHorz = taCenter
Options.Editing = False
Width = 65
@@ -283,8 +283,8 @@ object frmInvoiceSel: TfrmInvoiceSel
DataBinding.FieldName = 'TaxAmount'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxCurrencyEditProperties'
- Properties.DecimalPlaces = 0
- Properties.DisplayFormat = '#,##0'
+ Properties.DecimalPlaces = 2
+ Properties.DisplayFormat = '#,##0.00'
HeaderAlignmentHorz = taCenter
Options.Editing = False
Width = 114