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 @@
frmFinPurchasePlanSel
dfm + +
frmCollectInput2
+ dfm +
+ +
frmInvoiceOutSel
+ 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