diff --git a/A09财务通用管理/Financial.dpr b/A09财务通用管理/Financial.dpr
index 39bea9c..56e07bc 100644
--- a/A09财务通用管理/Financial.dpr
+++ b/A09财务通用管理/Financial.dpr
@@ -47,7 +47,7 @@ uses
U_globalVar in '..\..\..\public10\design\U_globalVar.pas',
U_WindowFormdesign in '..\..\..\public10\design\U_WindowFormdesign.pas',
uSZHN_JSON in '..\..\..\public10\ThreeFun\Fun\uSZHN_JSON.pas',
- U_PayableBatchInput in 'U_PayableBatchInput.pas' {frmPayableBatchInput},
+ U_GETableBatchInput in 'U_GETableBatchInput.pas' {frmGetableBatchInput},
U_FinPurchasePlanSel in 'U_FinPurchasePlanSel.pas' {frmFinPurchasePlanSel};
{$R *.res}
diff --git a/A09财务通用管理/Financial.dproj b/A09财务通用管理/Financial.dproj
index 478fac8..70661b4 100644
--- a/A09财务通用管理/Financial.dproj
+++ b/A09财务通用管理/Financial.dproj
@@ -217,8 +217,8 @@
-
-
+
+
dfm
diff --git a/A09财务通用管理/Financial.dproj.local b/A09财务通用管理/Financial.dproj.local
index 8054781..b20887a 100644
--- a/A09财务通用管理/Financial.dproj.local
+++ b/A09财务通用管理/Financial.dproj.local
@@ -1,62 +1,64 @@
- 1899-12-30 00:00:00.000.716,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_ProcessSel.pas
- 1899-12-30 00:00:00.000.979,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_InvoiceOutInPut.pas
+ 1899-12-30 00:00:00.000.742,=D:\Dp10RepoV1\public10\design\U_cxGridCustomSet.pas
+ 1899-12-30 00:00:00.000.159,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_CustStatementWriteOff.pas
+ 1899-12-30 00:00:00.000.692,D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_ClothInfoSel.pas
1899-12-30 00:00:00.000.092,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_EmployeeSel.pas
1899-12-30 00:00:00.000.292,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_FinPurchasePlanSel.pas
- 1899-12-30 00:00:00.000.728,=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutList.pas
- 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.422,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas
+ 1899-12-30 00:00:00.000.716,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_ProcessSel.pas
+ 1899-12-30 00:00:00.000.979,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_InvoiceOutInPut.pas
+ 1899-12-30 00:00:00.000.871,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceInInPut.dfm=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutInPut.dfm
+ 1899-12-30 00:00:00.000.868,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\InformationBase.dproj=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\Financial.dproj
+ 1899-12-30 00:00:00.000.621,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceInList.dfm=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutList.dfm
1899-12-30 00:00:00.000.895,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_InvoiceOutList.pas
- 1899-12-30 00:00:00.000.159,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_CustStatementWriteOff.pas
- 1899-12-30 00:00:00.000.630,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas
- 1899-12-30 00:00:00.000.742,=D:\Dp10RepoV1\public10\design\U_cxGridCustomSet.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.734,=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.422,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas
+ 1899-12-30 00:00:00.000.987,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_PayableInput.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=
+ 1899-12-30 00:00:00.000.621,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceInList.pas=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutList.pas
1899-12-30 00:00:00.000.885,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_ExpenseList.pas
- 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.772,=D:\Dp10RepoV1\public10\design\U_FormLayOutDesign.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.871,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutInPut.dfm=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceInInPut.dfm
+ 1899-12-30 00:00:00.000.692,D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.dfm=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_ClothInfoSel.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.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.446,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_BankFlowList.pas
+ 1899-12-30 00:00:00.000.832,=D:\Dp10Repo\public10\design\U_BaseHelp.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.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.040,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LabelMapSet.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.015,=D:\Dp10Repo\public10\ThreeFun\Fun\U_RTFun.pas
- 1899-12-30 00:00:00.000.086,=D:\Dp10Repo\public10\design\U_cxGridCustomCss.pas
+ 1899-12-30 00:00:00.000.178,=D:\Dp10Repo\public10\design\U_WindowFormdesign.pas
1899-12-30 00:00:00.000.765,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_BankFlowTotalList.pas
+ 1899-12-30 00:00:00.000.381,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_ReceivableInput.pas
+ 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.616,D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LablePrint.pas=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas
+ 1899-12-30 00:00:00.000.727,=D:\Dp10RepoV1\public10\ThreeFun\Fun\uSZHN_JSON.pas
+ 1899-12-30 00:00:00.000.616,D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LablePrint.dfm=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.dfm
+ 1899-12-30 00:00:00.000.040,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LabelMapSet.pas
+ 1899-12-30 00:00:00.000.874,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_PayableList.pas
+ 1899-12-30 00:00:00.000.086,=D:\Dp10Repo\public10\design\U_cxGridCustomCss.pas
1899-12-30 00:00:00.000.659,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_CustStatement.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.015,=D:\Dp10Repo\public10\ThreeFun\Fun\U_RTFun.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.912,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_PayList.pas
1899-12-30 00:00:00.000.339,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_ClothInfoSel.pas
1899-12-30 00:00:00.000.123,=D:\Dp10Repo\public10\design\U_globalVar.pas
1899-12-30 00:00:00.000.453,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_PayInput.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.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.912,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_PayList.pas
+ 1899-12-30 00:00:00.000.844,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_AttachmentUpload.pas
+ 1899-12-30 00:00:00.000.871,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceInInPut.pas=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutInPut.pas
+ 1899-12-30 00:00:00.000.975,=D:\Dp10Repo\public10\ThreeFun\Fun\U_CompressionFun.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-15 11:04:20.052,D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_GETableBatchInput.pas=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_PayableBatchInput.pas
+ 2026-05-15 11:04:20.052,D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_GETableBatchInput.dfm=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_PayableBatchInput.dfm
@@ -87,18 +89,18 @@
-
-
+
+
+
-
@@ -137,9 +139,9 @@
-
-
+
+
diff --git a/A09财务通用管理/Financial.identcache b/A09财务通用管理/Financial.identcache
index 35a7920..666490f 100644
Binary files a/A09财务通用管理/Financial.identcache and b/A09财务通用管理/Financial.identcache differ
diff --git a/A09财务通用管理/U_GETableBatchInput.dfm b/A09财务通用管理/U_GETableBatchInput.dfm
new file mode 100644
index 0000000..66947d8
--- /dev/null
+++ b/A09财务通用管理/U_GETableBatchInput.dfm
@@ -0,0 +1,448 @@
+inherited frmGetableBatchInput: TfrmGetableBatchInput
+ Left = 65
+ Top = 113
+ Caption = #24212#25910#27454#25209#37327#30331#35760
+ ClientHeight = 572
+ ClientWidth = 1406
+ Color = clWhite
+ Font.Charset = GB2312_CHARSET
+ Font.Height = -16
+ Position = poMainFormCenter
+ OnClose = FormClose
+ ExplicitWidth = 1422
+ ExplicitHeight = 611
+ PixelsPerInch = 96
+ TextHeight = 21
+ object ToolBar1: TToolBar [0]
+ Tag = 1
+ Left = 0
+ Top = 0
+ Width = 1406
+ Height = 30
+ AutoSize = True
+ ButtonHeight = 30
+ ButtonWidth = 115
+ Caption = 'ToolBar1'
+ Color = clSkyBlue
+ Images = cxImageList_bar
+ List = True
+ ParentColor = False
+ ShowCaptions = True
+ TabOrder = 0
+ object TBSave: TToolButton
+ Left = 0
+ Top = 0
+ AutoSize = True
+ Caption = #20445#23384
+ ImageIndex = 16
+ OnClick = TBSaveClick
+ end
+ object TBAdd: TToolButton
+ Left = 71
+ Top = 0
+ AutoSize = True
+ Caption = #22686#34892
+ ImageIndex = 2
+ OnClick = TBAddClick
+ end
+ object TbOrdAdd: TToolButton
+ Left = 142
+ Top = 0
+ AutoSize = True
+ Caption = #32455#36896#21333#22686#34892
+ ImageIndex = 2
+ Visible = False
+ OnClick = TbOrdAddClick
+ end
+ object TbPurSel: TToolButton
+ Left = 261
+ Top = 0
+ AutoSize = True
+ Caption = #37319#36141#21333#22686#34892
+ ImageIndex = 2
+ Visible = False
+ OnClick = TbPurSelClick
+ end
+ object TBDel: TToolButton
+ Left = 380
+ Top = 0
+ AutoSize = True
+ Caption = #21024#34892
+ ImageIndex = 6
+ OnClick = TBDelClick
+ end
+ object ToolButton1: TToolButton
+ Left = 451
+ Top = 0
+ AutoSize = True
+ Caption = #20445#23384#26684#24335
+ ImageIndex = 16
+ OnClick = ToolButton1Click
+ end
+ object TBClose: TToolButton
+ Left = 554
+ Top = 0
+ AutoSize = True
+ Caption = #20851#38381
+ ImageIndex = 7
+ OnClick = TBCloseClick
+ end
+ end
+ object cxGrid1: TcxGrid [1]
+ Left = 0
+ Top = 30
+ Width = 1406
+ Height = 542
+ Align = alClient
+ PopupMenu = PM_1
+ TabOrder = 1
+ ExplicitTop = 36
+ object Tv1: TcxGridDBTableView
+ Navigator.Buttons.CustomButtons = <>
+ Navigator.Buttons.Delete.Enabled = False
+ Navigator.Buttons.Delete.Visible = False
+ ScrollbarAnnotations.CustomAnnotations = <>
+ DataController.DataSource = DS_1
+ DataController.Filter.AutoDataSetFilter = True
+ DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
+ DataController.Summary.DefaultGroupSummaryItems = <>
+ DataController.Summary.FooterSummaryItems = <
+ item
+ Kind = skSum
+ Column = Tv1Qty
+ end
+ item
+ Kind = skSum
+ end
+ item
+ Kind = skSum
+ end
+ item
+ Kind = skSum
+ Column = Tv1TaxInclude
+ end
+ item
+ Kind = skSum
+ Column = Tv1Piece
+ end
+ item
+ Kind = skSum
+ end
+ item
+ Kind = skSum
+ Column = Tv1Tax
+ end>
+ DataController.Summary.SummaryGroups = <>
+ OptionsBehavior.GoToNextCellOnEnter = True
+ OptionsCustomize.ColumnFiltering = False
+ OptionsData.Deleting = False
+ OptionsData.DeletingConfirmation = False
+ OptionsView.Footer = True
+ OptionsView.GroupByBox = False
+ object Tv1FFTime: TcxGridDBColumn
+ Caption = #30331#35760#26085#26399
+ DataBinding.FieldName = 'FFTime'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxDateEditProperties'
+ Properties.SaveTime = False
+ Properties.ShowTime = False
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 82
+ end
+ object Tv1oppShuiNo: TcxGridDBColumn
+ Caption = #23458#25143#31246#21495
+ DataBinding.FieldName = 'oppShuiNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 111
+ end
+ object Tv1OppCoName: TcxGridDBColumn
+ Caption = #23458#25143#21517#31216
+ DataBinding.FieldName = 'OppCoName'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxButtonEditProperties'
+ Properties.Buttons = <
+ item
+ Default = True
+ Kind = bkEllipsis
+ end>
+ Properties.OnButtonClick = Tv1OppCoNamePropertiesButtonClick
+ HeaderAlignmentHorz = taCenter
+ Width = 130
+ end
+ object Tv1ourShuiNo: TcxGridDBColumn
+ Caption = #25105#26041#31246#21495
+ DataBinding.FieldName = 'ourShuiNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 80
+ 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 = TV1OurCoNamePropertiesButtonClick
+ HeaderAlignmentHorz = taCenter
+ Width = 91
+ end
+ object Tv1FFAbstract: TcxGridDBColumn
+ Caption = #25688#35201
+ DataBinding.FieldName = 'FFAbstract'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxButtonEditProperties'
+ Properties.Buttons = <
+ item
+ Default = True
+ Kind = bkEllipsis
+ end>
+ Properties.OnButtonClick = Tv1FFAbstractPropertiesButtonClick
+ HeaderAlignmentHorz = taCenter
+ Width = 79
+ end
+ object Tv1BuyConNo: TcxGridDBColumn
+ Caption = #38754#26009#21512#21516#21495
+ DataBinding.FieldName = 'BuyConNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 127
+ end
+ object Tv1ConNo: TcxGridDBColumn
+ Caption = #22383#24067#21512#21516#21495
+ DataBinding.FieldName = 'ConNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 112
+ end
+ object Tv1OrderNo: TcxGridDBColumn
+ Caption = #32455#36896#21333#21495
+ DataBinding.FieldName = 'OrderNo'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxButtonEditProperties'
+ Properties.Buttons = <
+ item
+ Default = True
+ Kind = bkEllipsis
+ end>
+ Properties.ReadOnly = True
+ Properties.OnButtonClick = Tv1OrderNoPropertiesButtonClick
+ HeaderAlignmentHorz = taCenter
+ Width = 91
+ end
+ object Tv1F_Code: TcxGridDBColumn
+ Caption = #32534#21495
+ DataBinding.FieldName = 'F_Code'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 79
+ end
+ object Tv1F_Name: TcxGridDBColumn
+ Caption = #21697#21517
+ DataBinding.FieldName = 'F_Name'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 85
+ end
+ object Tv1F_Width: TcxGridDBColumn
+ Caption = #38376#24133
+ DataBinding.FieldName = 'F_Width'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 88
+ end
+ object Tv1F_GramWeight: TcxGridDBColumn
+ Caption = #20811#37325
+ DataBinding.FieldName = 'F_GramWeight'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 66
+ end
+ object Tv1F_Color: TcxGridDBColumn
+ Caption = #39068#33394
+ DataBinding.FieldName = 'F_Color'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 66
+ end
+ object Tv1Column1: TcxGridDBColumn
+ Caption = #33394#21495
+ DataBinding.FieldName = 'F_colorno'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 67
+ end
+ object Tv1Piece: TcxGridDBColumn
+ Caption = #21305#25968
+ DataBinding.FieldName = 'Piece'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 65
+ end
+ object Tv1Qty: TcxGridDBColumn
+ Caption = #25968#37327
+ DataBinding.FieldName = 'Qty'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxTextEditProperties'
+ Properties.OnEditValueChanged = Tv1TaxRatePropertiesEditValueChanged
+ HeaderAlignmentHorz = taCenter
+ Width = 76
+ end
+ object Tv1QtyUnit: TcxGridDBColumn
+ Caption = #21333#20301
+ DataBinding.FieldName = 'QtyUnit'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 63
+ end
+ object Tv1Currency: TcxGridDBColumn
+ Caption = #24065#31181
+ DataBinding.FieldName = 'Currency'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxComboBoxProperties'
+ Properties.Items.Strings = (
+ 'CNY'
+ 'USD'
+ 'EUR'
+ 'VND')
+ Properties.OnChange = Tv1CurrencyPropertiesChange
+ HeaderAlignmentHorz = taCenter
+ Width = 66
+ end
+ object Tv1NoTaxPrice: TcxGridDBColumn
+ Caption = #19981#21547#31246#21333#20215
+ DataBinding.FieldName = 'NoTaxPrice'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxTextEditProperties'
+ Properties.OnEditValueChanged = Tv1TaxRatePropertiesEditValueChanged
+ HeaderAlignmentHorz = taCenter
+ Width = 99
+ end
+ object Tv1Column2: TcxGridDBColumn
+ Caption = #19981#21547#31246#37329#39069
+ DataBinding.FieldName = 'NoTaxInclude'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 123
+ end
+ object Tv1TaxRate: TcxGridDBColumn
+ Caption = #31246#29575
+ DataBinding.FieldName = 'TaxRate'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxTextEditProperties'
+ Properties.OnEditValueChanged = Tv1TaxRatePropertiesEditValueChanged
+ HeaderAlignmentHorz = taCenter
+ Width = 80
+ end
+ object Tv1Tax: TcxGridDBColumn
+ Caption = #31246#39069
+ DataBinding.FieldName = 'Tax'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxTextEditProperties'
+ HeaderAlignmentHorz = taCenter
+ Width = 85
+ end
+ object Tv1TaxInclude: TcxGridDBColumn
+ Caption = #21547#31246#37329#39069
+ DataBinding.FieldName = 'TaxInclude'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 96
+ end
+ object Tv1Note: TcxGridDBColumn
+ Caption = #22791#27880
+ DataBinding.FieldName = 'Note'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 78
+ end
+ object Tv1FromID1: TcxGridDBColumn
+ Caption = #26469#28304
+ DataBinding.FieldName = 'FromID1'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 70
+ end
+ end
+ object cxGridLevel1: TcxGridLevel
+ GridView = Tv1
+ end
+ end
+ inherited ADOQueryBaseCmd: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ Left = 57
+ Top = 72
+ end
+ inherited ADOQueryBaseTemp: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ Left = 177
+ Top = 73
+ end
+ inherited ImageList_new32: TImageList
+ Left = 160
+ Top = 288
+ end
+ inherited cxImageList_bar: TcxImageList
+ FormatVersion = 1
+ Left = 248
+ Top = 249
+ DesignInfo = 16318712
+ end
+ object DS_1: TDataSource
+ DataSet = CDS_1
+ Left = 592
+ Top = 184
+ end
+ object CDS_1: TClientDataSet
+ Aggregates = <>
+ Params = <>
+ Left = 496
+ Top = 184
+ end
+ object ADOQueryCmd: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ Parameters = <>
+ Left = 176
+ Top = 176
+ end
+ object ADOQueryMain: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ LockType = ltReadOnly
+ Parameters = <>
+ Left = 360
+ Top = 200
+ end
+ object ADOQueryTemp: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ LockType = ltReadOnly
+ Parameters = <>
+ Left = 392
+ Top = 272
+ end
+ object GPM_1: TcxGridPopupMenu
+ PopupMenus = <>
+ Left = 456
+ Top = 88
+ end
+ object PM_1: TPopupMenu
+ Left = 504
+ Top = 280
+ object N1: TMenuItem
+ Caption = #20840#36873
+ OnClick = N1Click
+ end
+ object N3: TMenuItem
+ Caption = #20840#24323
+ OnClick = N3Click
+ end
+ object N2: TMenuItem
+ Caption = #22797#21046
+ OnClick = N2Click
+ end
+ end
+end
diff --git a/A09财务通用管理/U_GETableBatchInput.pas b/A09财务通用管理/U_GETableBatchInput.pas
new file mode 100644
index 0000000..1070115
--- /dev/null
+++ b/A09财务通用管理/U_GETableBatchInput.pas
@@ -0,0 +1,890 @@
+unit U_GETableBatchInput;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
+ cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin,
+ cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
+ cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu,
+ cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, cxSpinEdit,
+ StdCtrls, ExtCtrls, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
+ dxDateRanges, dxBarBuiltInMenu, U_BaseInput, System.ImageList, Vcl.ImgList,
+ dxScrollbarAnnotations, dxSkinsCore, dxSkinsDefaultPainters, cxImageList,
+ dxSkinOffice2013White, dxSkinSharpPlus, dxSkinWXI, cxCheckBox, Vcl.Menus,
+ Clipbrd, cxCurrencyEdit;
+
+type
+ TfrmGetableBatchInput = class(TfrmBaseInput)
+ ToolBar1: TToolBar;
+ TBAdd: TToolButton;
+ TBDel: TToolButton;
+ TBSave: TToolButton;
+ TBClose: TToolButton;
+ DS_1: TDataSource;
+ CDS_1: TClientDataSet;
+ ADOQueryCmd: TADOQuery;
+ ADOQueryMain: TADOQuery;
+ ADOQueryTemp: TADOQuery;
+ GPM_1: TcxGridPopupMenu;
+ ToolButton1: TToolButton;
+ TbOrdAdd: TToolButton;
+ TbPurSel: TToolButton;
+ PM_1: TPopupMenu;
+ N1: TMenuItem;
+ N3: TMenuItem;
+ N2: TMenuItem;
+ cxGrid1: TcxGrid;
+ Tv1: TcxGridDBTableView;
+ Tv1FFTime: TcxGridDBColumn;
+ Tv1oppShuiNo: TcxGridDBColumn;
+ Tv1OppCoName: TcxGridDBColumn;
+ Tv1ourShuiNo: TcxGridDBColumn;
+ TV1OurCoName: TcxGridDBColumn;
+ Tv1FFAbstract: TcxGridDBColumn;
+ Tv1ConNo: TcxGridDBColumn;
+ Tv1OrderNo: TcxGridDBColumn;
+ Tv1BuyConNo: TcxGridDBColumn;
+ Tv1F_Code: TcxGridDBColumn;
+ Tv1F_Name: TcxGridDBColumn;
+ Tv1F_Width: TcxGridDBColumn;
+ Tv1F_GramWeight: TcxGridDBColumn;
+ Tv1F_Color: TcxGridDBColumn;
+ Tv1Piece: TcxGridDBColumn;
+ Tv1Qty: TcxGridDBColumn;
+ Tv1QtyUnit: TcxGridDBColumn;
+ Tv1Currency: TcxGridDBColumn;
+ Tv1NoTaxPrice: TcxGridDBColumn;
+ Tv1TaxRate: TcxGridDBColumn;
+ Tv1Tax: TcxGridDBColumn;
+ Tv1TaxInclude: TcxGridDBColumn;
+ Tv1Note: TcxGridDBColumn;
+ Tv1FromID1: TcxGridDBColumn;
+ cxGridLevel1: TcxGridLevel;
+ Tv1Column1: TcxGridDBColumn;
+ Tv1Column2: TcxGridDBColumn;
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure TBCloseClick(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure TBSaveClick(Sender: TObject);
+ procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
+ procedure ToolButton1Click(Sender: TObject);
+ procedure Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure TBAddClick(Sender: TObject);
+ procedure TBDelClick(Sender: TObject);
+ procedure TbOrdAddClick(Sender: TObject);
+ procedure TbPurSelClick(Sender: TObject);
+ procedure Tv1OppCoNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure Tv1FFAbstractPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure N2Click(Sender: TObject);
+ procedure N3Click(Sender: TObject);
+ procedure N1Click(Sender: TObject);
+ procedure Tv1PurNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure Tv1OrderNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure Tv1CurrencyPropertiesChange(Sender: TObject);
+ procedure Tv1TaxRatePropertiesEditValueChanged(Sender: TObject);
+ procedure TV1OurCoNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ private
+ { Private declarations }
+ function SaveData(): Boolean;
+ procedure InitGrid();
+ public
+ { Public declarations }
+ FBCId, FKHName: string;
+ FFFID: string;
+ end;
+
+var
+ frmGetableBatchInput: TfrmGetableBatchInput;
+
+implementation
+
+uses
+ U_DataLink, U_RTFun, U_ZDYHelp, U_CompanySel, U_FinTradePlanSel,
+ U_FinPurchasePlanSel;
+
+{$R *.dfm}
+
+procedure TfrmGetableBatchInput.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ inherited;
+ Action := caFree;
+end;
+
+procedure TfrmGetableBatchInput.InitGrid();
+begin
+ try
+ ADOQueryMain.DisableControls;
+ with ADOQueryMain do
+ begin
+ Close;
+ SQL.Clear;
+ Filtered := False;
+ sql.Add(' select A.* ');
+ sql.Add(' from Finance_Flow A ');
+ // Finance_FlowInvoiceˮ-ƱȡÿˮĵһƱ¼
+ sql.Add(' LEFT JOIN ( ');
+ sql.Add(' SELECT FFID, IVId, ROW_NUMBER() OVER (PARTITION BY FFID ORDER BY IVId) AS RowNum ');
+ sql.Add(' FROM Finance_FlowInvoice ');
+ sql.Add(' ) AS B ON A.FFID = B.FFID AND B.RowNum = 1 '); // RowNum=1 ȷֻȡһ
+
+// ڹ Finance_InvoiceƱͨBIVId
+ sql.Add(' left JOIN Finance_Invoice C ON B.IVId = C.IVId ');
+
+ sql.Add(' where A.FFID = ' + QuotedStr(FFFID));
+ Open;
+ end;
+ SCreateCDS(ADOQueryMain, CDS_1);
+ SInitCDSData(ADOQueryMain, CDS_1);
+ finally
+ ADOQueryMain.EnableControls;
+ TV1.DataController.Filter.Clear;
+ end;
+end;
+
+procedure TfrmGetableBatchInput.N1Click(Sender: TObject);
+begin
+ SelOKNo(CDS_1, True);
+
+end;
+
+procedure TfrmGetableBatchInput.N2Click(Sender: TObject);
+begin
+ Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
+end;
+
+procedure TfrmGetableBatchInput.N3Click(Sender: TObject);
+begin
+ SelOKNo(CDS_1, false);
+
+end;
+
+function TfrmGetableBatchInput.SaveData(): Boolean;
+var
+ Maxno, MFFID: string;
+begin
+ try
+ ADOQueryCmd.Connection.BeginTrans;
+ CDS_1.DisableControls;
+ with CDS_1 do
+ begin
+ First;
+ while not eof do
+ begin
+ with ADOQueryTemp do
+ begin
+ Close;
+ sql.Clear;
+ sql.Add('select * from Finance_Flow where FFID=''' + Trim(CDS_1.fieldbyname('FFID').AsString) + '''');
+ open;
+ end;
+ MFFID := Trim(ADOQueryTemp.fieldbyname('FFID').AsString);
+ if Trim(MFFID) = '' then
+ begin
+ if not GetLSNo(ADOQueryCmd, Maxno, 'YFK', 'Finance_Flow', 3, 1) then
+ raise Exception.Create('ȡӦտʧܣ');
+ end
+ else
+ begin
+ Maxno := Trim(MFFID);
+ end;
+ with ADOQueryCmd do
+ begin
+ Close;
+ sql.Clear;
+ sql.Add('select * from Finance_Flow where FFID=''' + Trim(Maxno) + '''');
+ Open;
+ end;
+ with ADOQueryCmd do
+ begin
+ if Trim(MFFID) = '' then
+ begin
+ Append;
+ FieldByName('Fillid').Value := Trim(Dcode);
+ FieldByName('Filler').Value := Trim(DName);
+ end
+ else
+ begin
+ Edit;
+ FieldByName('Editid').Value := Trim(Dcode);
+ FieldByName('Editer').Value := Trim(DName);
+ FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp);
+ end;
+ RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_1, 'Finance_Flow', 0);
+
+ FieldByName('FFID').Value := Maxno;
+ FieldByName('FFFlag').Value := 'Ӧ';
+ FieldByName('FFType').Value := 'ӦտǼ';
+ FieldByName('CheckStatus').Value := 'δ';
+
+
+ //֯쵥
+ FieldByName('OrdMainId').Value := CDS_1.fieldbyname('OrdMainId').Value;
+ FieldByName('OrdSubId').Value := CDS_1.fieldbyname('OrdSubId').Value;
+ //֯쵥
+ FieldByName('PurMID').Value := CDS_1.fieldbyname('PurMID').Value;
+ FieldByName('PurSID').Value := CDS_1.fieldbyname('PurSID').Value;
+ //ͬ
+ FieldByName('ConMId').Value := CDS_1.fieldbyname('ConMId').value;
+ FieldByName('ConSId').Value := CDS_1.fieldbyname('ConSId').value;
+ //Ϻͬ
+ FieldByName('BuyConMID').Value := CDS_1.fieldbyname('BuyConMID').value;
+ FieldByName('BuyConSID').Value := CDS_1.fieldbyname('BuyConSID').Value;
+ //Էλ
+ FieldByName('OppCoNo').Value := CDS_1.fieldbyname('OppCoNo').Value;
+ //ҷλ
+ FieldByName('OurCoNo').Value := CDS_1.fieldbyname('OurCoNo').Value;
+
+ Post;
+ end;
+
+ with ADOQueryCmd do
+ begin
+ Close;
+ sql.Clear;
+ sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails)');
+ sql.Add('values(''ӦտǼ'' ');
+ sql.Add(',' + quotedstr(Maxno));
+ sql.Add(','''' ');
+ sql.Add(',' + quotedstr(DName));
+ sql.Add(',' + quotedstr(trim(self.Caption)));
+ sql.Add(',' + quotedstr(Maxno));
+ sql.Add(') ');
+ ExecSQL;
+ end;
+ Next;
+ end;
+ end;
+ CDS_1.EnableControls;
+ ADOQueryCmd.Connection.CommitTrans;
+ Result := True;
+ except
+ Result := False;
+ CDS_1.EnableControls;
+ ADOQueryCmd.Connection.RollbackTrans;
+ application.MessageBox(PChar(Exception(ExceptObject).Message), 'ʾϢ', 0);
+ end;
+end;
+
+procedure TfrmGetableBatchInput.TBAddClick(Sender: TObject);
+begin
+ CDS_1.Append;
+ CDS_1.FieldByName('FFTime').Value := SGetServerDateTime(ADOQueryCmd);
+ CDS_1.FieldByName('ReconciliationDate').Value := SGetServerDate(ADOQueryCmd);
+ CDS_1.FieldByName('OurCoName').Value := 'DESHINE VIETNAM CO., LTD';
+ CDS_1.FieldByName('SSel').Value := False;
+ CDS_1.Post;
+end;
+
+procedure TfrmGetableBatchInput.TBCloseClick(Sender: TObject);
+begin
+
+ Close;
+end;
+
+procedure TfrmGetableBatchInput.TBDelClick(Sender: TObject);
+begin
+ CDS_1.Delete;
+end;
+
+procedure TfrmGetableBatchInput.TbOrdAddClick(Sender: TObject);
+begin
+ try
+ frmFinTradePlanSel := TfrmFinTradePlanSel.Create(Application);
+ with frmFinTradePlanSel do
+ begin
+ if ShowModal = 1 then
+ begin
+ with frmFinTradePlanSel.CDS_1 do
+ begin
+ //֯쵥
+ self.CDS_1.FieldByName('OrderNo').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('OrderNo').AsString);
+ self.CDS_1.FieldByName('OrdMainId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('MainId').AsString);
+ self.CDS_1.FieldByName('OrdSubId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('SubId').AsString);
+ //ͬ
+ self.CDS_1.FieldByName('ConNo').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('ConNo').AsString);
+ self.CDS_1.FieldByName('ConMId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('ConMId').AsString);
+ self.CDS_1.FieldByName('ConSId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('ConSId').AsString);
+ //Ϻͬ
+ self.CDS_1.FieldByName('BuyConNo').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('BuyConNo').AsString);
+ self.CDS_1.FieldByName('BuyConMID').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('FROMCPSID').AsString);
+ self.CDS_1.FieldByName('BuyConSID').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('FROMCPMID').AsString);
+
+ self.CDS_1.FieldByName('F_Code').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('OrderNo').AsString);
+ self.CDS_1.FieldByName('F_Name').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('MainId').AsString);
+ self.CDS_1.FieldByName('F_Width').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('SubId').AsString);
+ self.CDS_1.FieldByName('F_GramWeight').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('OrderNo').AsString);
+ self.CDS_1.FieldByName('F_Color').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('MainId').AsString);
+
+ end;
+
+ end;
+ end;
+ finally
+ frmFinTradePlanSel.Free;
+ end;
+end;
+
+procedure TfrmGetableBatchInput.FormShow(Sender: TObject);
+var
+ fsj: string;
+begin
+ inherited;
+ ReadCxGrid('ӦǼ', Tv1, 'ӦǼ');
+ InitGrid();
+end;
+
+procedure TfrmGetableBatchInput.TBSaveClick(Sender: TObject);
+begin
+ if CDS_1.IsEmpty then
+ Exit;
+ if CDS_1.Locate('FFTime', null, []) = True then
+ begin
+ Application.MessageBox('ǼڲΪ!', 'ʾ', 0);
+ Exit;
+ end;
+// if CDS_1.Locate('ReconciliationDate', null, []) = True then
+// begin
+// Application.MessageBox('ڲΪ!', 'ʾ', 0);
+// Exit;
+// end;
+
+
+
+ if CDS_1.Locate('Qty', null, []) = True then
+ begin
+ Application.MessageBox('Ϊ!', 'ʾ', 0);
+ Exit;
+ end;
+
+// CDS_1.First;
+// while not CDS_1.Eof do
+// begin
+// // ͬʱж
+// if (CDS_1.FieldByName('IOType').AsString = '') and (CDS_1.FieldByName('ToOrdNo').IsNull or (Trim(CDS_1.FieldByName('ToOrdNo').AsString) = '')) then
+// begin
+// Application.MessageBox('ѡ ֯쵥!', 'ʾ', 0);
+// Exit;
+// end;
+// CDS_1.Next;
+// end;
+
+ if SaveData() then
+ begin
+ Application.MessageBox('ɹ!', 'ʾ', 0);
+ //ModalResult:=1;
+ Exit;
+ end;
+end;
+
+procedure TfrmGetableBatchInput.ToolButton1Click(Sender: TObject);
+begin
+ WriteCxGrid('ӦǼ', Tv1, 'ӦǼ');
+end;
+
+procedure TfrmGetableBatchInput.TbPurSelClick(Sender: TObject);
+begin
+ try
+ frmFinPurchasePlanSel := TfrmFinPurchasePlanSel.Create(Application);
+ with frmFinPurchasePlanSel do
+ begin
+ if ShowModal = 1 then
+ begin
+ with frmFinPurchasePlanSel.CDS_1 do
+ begin
+ first;
+ while not Eof do
+ begin
+ if CDS_1.fieldbyname('SSel').AsBoolean then
+ begin
+ with Self.CDS_1 do
+ begin
+ append;
+ //Էλ
+ self.CDS_1.FieldByName('OppCoName').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('SellName').asstring);
+ self.CDS_1.FieldByName('OppCoNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('SellNo').asstring);
+ self.CDS_1.FieldByName('oppShuiNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('shuino').asstring);
+ //ҷλ
+ self.CDS_1.FieldByName('FFTime').Value := SGetServerDateTime(ADOQueryCmd);
+ self.CDS_1.FieldByName('ReconciliationDate').Value := SGetServerDate(ADOQueryCmd);
+ self.CDS_1.FieldByName('OurCoName').Value := 'DESHINE VIETNAM CO., LTD';
+ self.CDS_1.FieldByName('ourShuiNo').Value := '1102083046';
+
+ self.CDS_1.FieldByName('FinType').Value := 'ɴ';
+ self.CDS_1.FieldByName('Currency').Value := 'CNY';
+ self.CDS_1.FieldByName('SSel').Value := False;
+ self.CDS_1.FieldByName('FFAbstract').Value := 'ɴ߲ɹ';
+ //ɹ
+ self.CDS_1.FieldByName('PurNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PurNo').AsString);
+ self.CDS_1.FieldByName('PurMID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PurMId').AsString);
+ self.CDS_1.FieldByName('PurSID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PurSId').AsString);
+ //ͬ
+ self.CDS_1.FieldByName('ConNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('ConNo').AsString);
+ self.CDS_1.FieldByName('ConMId').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('fromConMId').AsString);
+ self.CDS_1.FieldByName('ConSId').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('fromConSId').AsString);
+ //Ϻͬ
+ self.CDS_1.FieldByName('BuyConNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('CPConNo').AsString);
+ self.CDS_1.FieldByName('BuyConMID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('FROMCPSID').AsString);
+ self.CDS_1.FieldByName('BuyConSID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('FROMCPMID').AsString);
+
+ self.CDS_1.FieldByName('F_Code').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Code').Value);
+ self.CDS_1.FieldByName('F_Name').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Name').Value);
+// self.CDS_1.FieldByName('F_Width').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('SubId').AsString);
+// self.CDS_1.FieldByName('F_GramWeight').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('C_GramWeight').AsString);
+ self.CDS_1.FieldByName('F_Color').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Color').Value);
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Piece').IsNull then
+ begin
+ self.CDS_1.FieldByName('Piece').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Piece').AsString);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Qty').IsNull then
+ begin
+ self.CDS_1.FieldByName('Qty').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Qty').AsString);
+ end;
+ self.CDS_1.FieldByName('QtyUnit').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('QtyUnit').AsString);
+ self.CDS_1.FieldByName('currency').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('currency').AsString);
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Price').IsNull then
+ begin
+ self.CDS_1.FieldByName('NoTaxPrice').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Price').AsString);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Amount').IsNull then
+ begin
+ self.CDS_1.FieldByName('NoTaxInclude').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Amount').AsString);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('TaxRate').IsNull then
+ begin
+ self.CDS_1.FieldByName('TaxRate').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('TaxRate').AsString);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Tax').IsNull then
+ begin
+ self.CDS_1.FieldByName('Tax').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Tax').AsString);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('TaxInclude').IsNull then
+ begin
+ self.CDS_1.FieldByName('TaxInclude').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('TaxInclude').AsString);
+ end;
+ Post;
+ end;
+ end;
+ frmFinPurchasePlanSel.CDS_1.Next;
+ end;
+
+ end;
+
+ end;
+ end;
+ finally
+ frmFinPurchasePlanSel.Free;
+ end;
+end;
+
+procedure TfrmGetableBatchInput.Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmCompanySel := TfrmCompanySel.Create(Application);
+ with frmCompanySel do
+ begin
+ FCoType := 'Ӧ';
+ if ShowModal = 1 then
+ begin
+ with Self.CDS_1 do
+ begin
+ Edit;
+ FieldByName('ToCoNo').Value := Trim(CDS_1.fieldbyname('CoCode').AsString);
+ FieldByName('ToCoName').Value := Trim(CDS_1.fieldbyname('CoAbbrName').AsString);
+ post;
+ end;
+ end;
+ end;
+ finally
+ frmCompanySel.Free;
+ end;
+
+end;
+
+procedure TfrmGetableBatchInput.Tv1CurrencyPropertiesChange(Sender: TObject);
+var
+ mvalue, FFieldName: string;
+begin
+ mvalue := TcxTextEdit(Sender).EditingText;
+ FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
+ with CDS_1 do
+ begin
+ Edit;
+ FieldByName(FFieldName).Value := mvalue;
+ Post;
+ end;
+// if not Assigned(Sender) or not (Sender is TComboBox) then
+// Exit;
+
+ if TComboBox(Sender).Text = 'VND' then
+ begin
+ with CDS_1 do
+ begin
+ // ¼Ƿڿɱ༭״̬
+ if not (State in [dsEdit, dsInsert]) then
+ Edit;
+
+ // ֶǷҲΪ
+ if not FieldByName('NoTaxPrice').IsNull and (FieldByName('NoTaxPrice').AsString <> '') then
+ begin
+ FieldByName('NoTaxPrice').Value := RoundFloat(FieldByName('NoTaxPrice').AsFloat, 0);
+ end;
+
+
+ // QtyNoTaxPriceֶǷҲΪ
+ if not FieldByName('Qty').IsNull and not FieldByName('NoTaxPrice').IsNull and (FieldByName('Qty').AsString <> '') and (FieldByName('NoTaxPrice').AsString <> '') then
+ begin
+ FieldByName('NoTaxInclude').Value := RoundFloat(FieldByName('Qty').AsFloat * FieldByName('NoTaxPrice').AsFloat, 0);
+ end;
+
+ if not FieldByName('TaxRate').IsNull and (FieldByName('TaxRate').AsString <> '') then
+ FieldByName('TaxRate').Value := RoundFloat(FieldByName('TaxRate').AsFloat, 0);
+
+ if not FieldByName('Tax').IsNull and (FieldByName('Tax').AsString <> '') then
+ FieldByName('Tax').Value := RoundFloat(FieldByName('Tax').AsFloat, 0);
+
+ Post;
+ end;
+ end
+ else
+ begin
+ with CDS_1 do
+ begin
+ // ¼Ƿڿɱ༭״̬
+ if not (State in [dsEdit, dsInsert]) then
+ Edit;
+ // ʹһµĿֵ鷽ʽ
+ if (not FieldByName('NoTaxPrice').IsNull) and (FieldByName('NoTaxPrice').AsString <> '') then
+ begin
+ FieldByName('NoTaxPrice').Value := FormatFloat('0.00', FieldByName('NoTaxPrice').AsFloat);
+ end;
+
+ if (not FieldByName('Qty').IsNull) and (not FieldByName('NoTaxPrice').IsNull) and (FieldByName('Qty').AsString <> '') and (FieldByName('NoTaxPrice').AsString <> '') then
+ begin
+ FieldByName('NoTaxInclude').Value := FormatFloat('0.00', FieldByName('NoTaxInclude').AsFloat);
+ end;
+
+ if not FieldByName('TaxRate').IsNull and (FieldByName('TaxRate').AsString <> '') then
+ begin
+ FieldByName('TaxRate').Value := FormatFloat('0.00', FieldByName('TaxRate').AsFloat);
+ end;
+
+ if not FieldByName('Tax').IsNull and (FieldByName('Tax').AsString <> '') then
+ begin
+ FieldByName('Tax').Value := FormatFloat('0.00', FieldByName('Tax').AsFloat);
+ end;
+
+ Post;
+ end;
+ end;
+ tv1.Controller.EditingController.ShowEdit();
+end;
+
+procedure TfrmGetableBatchInput.Tv1FFAbstractPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmZDYHelp := TfrmZDYHelp.Create(Application);
+ with frmZDYHelp do
+ begin
+ flag := 'FFAbstract';
+ flagname := 'ժҪ';
+ if ShowModal = 1 then
+ begin
+ Self.CDS_1.Edit;
+ Self.CDS_1.FieldByName('FFAbstract').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
+ Self.CDS_1.Post;
+ end;
+ end;
+ finally
+ frmZDYHelp.Free;
+ end;
+
+end;
+
+procedure TfrmGetableBatchInput.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
+var
+ FFSPID: string;
+begin
+// if CDS_Sub.IsEmpty then
+// Exit;
+// if Trim(CDS_Sub.fieldbyname('BYIOID').AsString) <> '' then
+// begin
+// with ADOQueryTemp do
+// begin
+// Close;
+// sql.Clear;
+// sql.Add('select * from BS_Yarn_IO where BYIOID=''' + Trim(CDS_Sub.fieldbyname('BYIOID').AsString) + '''');
+// Open;
+// end;
+// FFSPID := Trim(ADOQueryTemp.fieldbyname('BYIOID').AsString);
+// if Trim(FFSPID) <> '' then
+// begin
+// v1CRType.Options.Editing := False;
+// end
+// else
+// begin
+// v1CRType.Options.Editing := True;
+// end;
+// end
+// else
+// begin
+// v1CRType.Options.Editing := True;
+// end;
+end;
+
+procedure TfrmGetableBatchInput.Tv1OppCoNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmCompanySel := TfrmCompanySel.Create(Application);
+ with frmCompanySel do
+ begin
+ FCoType := 'ͻ';
+ if ShowModal = 1 then
+ begin
+ Self.CDS_1.Edit;
+ Self.CDS_1.FieldByName('OppCoName').asstring := Trim(frmCompanySel.CDS_1.fieldbyname('CoName').AsString);
+ Self.CDS_1.FieldByName('oppCoNo').asstring := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString);
+ Self.CDS_1.FieldByName('oppShuiNo').asstring := Trim(frmCompanySel.CDS_1.fieldbyname('ShuiNo').AsString);
+ Self.CDS_1.Post;
+ end;
+ end;
+ finally
+ frmCompanySel.Free;
+ end;
+end;
+
+procedure TfrmGetableBatchInput.Tv1OrderNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmFinTradePlanSel := TfrmFinTradePlanSel.Create(Application);
+ with frmFinTradePlanSel do
+ begin
+ if ShowModal = 1 then
+ begin
+ with frmFinTradePlanSel.CDS_1 do
+ begin
+ //ɹ
+ self.CDS_1.FieldByName('PurNo').value := null;
+ self.CDS_1.FieldByName('PurMID').value := null;
+ self.CDS_1.FieldByName('PurSID').value := null;
+
+ //֯쵥
+ self.CDS_1.FieldByName('OrderNo').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('OrderNo').AsString);
+ self.CDS_1.FieldByName('OrdMainId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('MainId').AsString);
+ self.CDS_1.FieldByName('OrdSubId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('SubId').AsString);
+ //ͬ
+ self.CDS_1.FieldByName('ConNo').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('ConNo').AsString);
+ self.CDS_1.FieldByName('ConMId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('ConMId').AsString);
+ self.CDS_1.FieldByName('ConSId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('ConSId').AsString);
+ //Ϻͬ
+ self.CDS_1.FieldByName('BuyConNo').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('BuyConNo').AsString);
+ self.CDS_1.FieldByName('BuyConMID').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('FROMCPMID').AsString);
+ self.CDS_1.FieldByName('BuyConSID').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('FROMCPSID').AsString);
+
+// self.CDS_1.FieldByName('F_Code').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Code').AsString);
+// self.CDS_1.FieldByName('F_Name').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Name').AsString);
+// self.CDS_1.FieldByName('F_Color').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Color').AsString);
+// self.CDS_1.FieldByName('Piece').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Piece').AsString);
+// self.CDS_1.FieldByName('Qty').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Qty').AsString);
+// self.CDS_1.FieldByName('QtyUnit').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('QtyUnit').AsString);
+// self.CDS_1.FieldByName('currency').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('currency').AsString);
+// self.CDS_1.FieldByName('NoTaxPrice').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Piece').AsString);
+// self.CDS_1.FieldByName('NoTaxInclude').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Amount').AsString);
+// self.CDS_1.FieldByName('TaxRate').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('TaxRate').AsString);
+// self.CDS_1.FieldByName('Tax').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Tax').AsString);
+// self.CDS_1.FieldByName('TaxInclude').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('TaxInclude').AsString);
+ self.CDS_1.Post;
+
+ end;
+
+ end;
+ end;
+ finally
+ frmFinTradePlanSel.Free;
+ end;
+end;
+
+procedure TfrmGetableBatchInput.TV1OurCoNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmCompanySel := TfrmCompanySel.Create(Application);
+ with frmCompanySel do
+ begin
+ FCoType := '˾';
+ if ShowModal = 1 then
+ begin
+ self.CDS_1.Edit;
+ self.CDS_1.FieldByName('OurCoName').Value := Trim(frmCompanySel.CDS_1.fieldbyname('CoName').AsString);
+ self.CDS_1.FieldByName('OurShuiNo').Value := Trim(frmCompanySel.CDS_1.fieldbyname('ShuiNo').AsString);
+ self.CDS_1.FieldByName('OurCoNo').Value := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString);
+ self.CDS_1.Post;
+ end;
+ end;
+ finally
+ frmCompanySel.Free;
+ end;
+end;
+
+procedure TfrmGetableBatchInput.Tv1PurNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmFinPurchasePlanSel := TfrmFinPurchasePlanSel.Create(Application);
+ with frmFinPurchasePlanSel do
+ begin
+ if ShowModal = 1 then
+ begin
+ with frmFinPurchasePlanSel.CDS_1 do
+ begin
+ self.CDS_1.Edit;
+ //Էλ
+ self.CDS_1.FieldByName('OppCoName').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('SellName').AsString);
+ self.CDS_1.FieldByName('OppCoNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('SellNo').AsString);
+ //֯쵥
+ self.CDS_1.FieldByName('OrderNo').value := null;
+ self.CDS_1.FieldByName('OrdMainId').value := null;
+ self.CDS_1.FieldByName('OrdSubId').value := null;
+
+ //
+ self.CDS_1.FieldByName('FinType').Value := 'ɴ';
+ self.CDS_1.FieldByName('FFAbstract').Value := 'ɴ߲ɹ';
+ //ɹ
+ self.CDS_1.FieldByName('PurNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PurNo').AsString);
+ self.CDS_1.FieldByName('PurMID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PurMId').AsString);
+ self.CDS_1.FieldByName('PurSID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PurSId').AsString);
+ //ͬ
+ self.CDS_1.FieldByName('ConNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('ConNo').AsString);
+ self.CDS_1.FieldByName('ConMId').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('fromConMId').AsString);
+ self.CDS_1.FieldByName('ConSId').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('fromConSId').AsString);
+ //Ϻͬ
+ self.CDS_1.FieldByName('BuyConNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('CPConNo').AsString);
+ self.CDS_1.FieldByName('BuyConMID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('FROMCPSID').AsString);
+ self.CDS_1.FieldByName('BuyConSID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('FROMCPMID').AsString);
+
+ self.CDS_1.FieldByName('F_Code').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Code').AsString);
+ self.CDS_1.FieldByName('F_Name').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Name').AsString);
+// self.CDS_1.FieldByName('F_Width').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('SubId').AsString);
+// self.CDS_1.FieldByName('F_GramWeight').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('C_GramWeight').AsString);
+ self.CDS_1.FieldByName('F_Color').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Color').AsString);
+
+ self.CDS_1.FieldByName('Piece').asstring := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Piece').AsString);
+ self.CDS_1.FieldByName('Qty').asstring := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Qty').AsString);
+ self.CDS_1.FieldByName('QtyUnit').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('QtyUnit').AsString);
+ self.CDS_1.FieldByName('currency').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('currency').AsString);
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('PRICE').IsNull then
+ begin
+ self.CDS_1.FieldByName('NoTaxPrice').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PRICE').Value);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Amount').IsNull then
+ begin
+ self.CDS_1.FieldByName('NoTaxInclude').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Amount').Value);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('TaxRate').IsNull then
+ begin
+ self.CDS_1.FieldByName('TaxRate').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('TaxRate').Value);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Tax').IsNull then
+ begin
+ self.CDS_1.FieldByName('Tax').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Tax').Value);
+ end;
+
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('TaxInclude').IsNull then
+ begin
+ self.CDS_1.FieldByName('TaxInclude').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('TaxInclude').Value);
+ end;
+
+ self.CDS_1.Post;
+ end;
+ end;
+ end;
+ finally
+ frmFinPurchasePlanSel.Free;
+ end;
+end;
+
+procedure TfrmGetableBatchInput.Tv1TaxRatePropertiesEditValueChanged(Sender: TObject);
+var
+ mvalue, FFieldName: string;
+ FQty, FNoTaxPrice, FNoTaxInclude: Double; //˰ۣ˰
+ mTaxRate, mTax, mTaxInclude: Double; //˰ʣ˰˰
+
+// mCP_QTY, mCP_TPXS: Double; //ƷͶϵ
+begin
+
+ mvalue := TcxTextEdit(Sender).EditingText;
+ if Trim(mvalue) = '' then
+ begin
+ mvalue := '0';
+ end;
+ FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
+
+ with CDS_1 do
+ begin
+ Edit;
+ FieldByName(FFieldName).Value := StrToFloat(Trim(mvalue));
+ Post;
+// ShowMessage(Fieldbyname('TaxRate').AsString);
+ if Fieldbyname('Qty').AsString <> '' then
+ begin
+ FQty := Fieldbyname('Qty').AsFloat;
+ end
+ else
+ begin
+ FQty := 0;
+ end;
+ if Fieldbyname('NoTaxPrice').AsString <> '' then
+ begin
+ FNoTaxPrice := Fieldbyname('NoTaxPrice').AsFloat;
+ end
+ else
+ begin
+ FNoTaxPrice := 0;
+ end;
+ if Fieldbyname('TaxRate').AsString <> '' then
+ begin
+ mTaxRate := Fieldbyname('TaxRate').AsFloat / 100;
+ end
+ else
+ begin
+ mTaxRate := 0;
+ end;
+ if Fieldbyname('Tax').AsString <> '' then
+ begin
+ mTax := Fieldbyname('Tax').AsFloat;
+ end
+ else
+ begin
+ mTax := 0;
+ end;
+ if Fieldbyname('TaxInclude').AsString <> '' then
+ begin
+ mTaxInclude := Fieldbyname('TaxInclude').AsFloat;
+ end
+ else
+ begin
+ mTaxInclude := 0;
+ end;
+
+ end;
+
+ FNoTaxInclude := RoundFloat(FQty * FNoTaxPrice, 2);
+ mTax := RoundFloat(FNoTaxInclude * mTaxRate, 2);
+ mTaxInclude := RoundFloat(FNoTaxInclude + mTax, 2);
+
+ with CDS_1 do
+ begin
+ Edit;
+ FieldByName('Qty').Value := FQty;
+// FieldByName('ConPrice').Value := FConPrice;
+ FieldByName('NoTaxPrice').Value := FloatToStr(FNoTaxPrice);
+ FieldByName('NoTaxInclude').Value := FloatToStr(FNoTaxInclude);
+ FieldByName('TaxRate').Value := FloatToStr(mTaxRate * 100);
+ FieldByName('Tax').Value := FloatToStr(mTax);
+ FieldByName('TaxInclude').Value := FloatToStr(mTaxInclude);
+ Post;
+ end;
+ tv1.Controller.EditingController.ShowEdit();
+end;
+
+end.
+
diff --git a/A09财务通用管理/U_GetableSel.dfm b/A09财务通用管理/U_GetableSel.dfm
new file mode 100644
index 0000000..4b099e6
--- /dev/null
+++ b/A09财务通用管理/U_GetableSel.dfm
@@ -0,0 +1,509 @@
+inherited frmGetableSel: TfrmGetableSel
+ Left = 65
+ Top = 113
+ Caption = #24212#20184#27454#25209#37327#36873#25321
+ ClientHeight = 572
+ ClientWidth = 1406
+ Color = clWhite
+ Font.Charset = GB2312_CHARSET
+ Font.Height = -16
+ Position = poMainFormCenter
+ OnClose = FormClose
+ ExplicitWidth = 1422
+ ExplicitHeight = 611
+ PixelsPerInch = 96
+ TextHeight = 21
+ object ToolBar1: TToolBar [0]
+ Tag = 1
+ Left = 0
+ Top = 0
+ Width = 1406
+ Height = 30
+ AutoSize = True
+ ButtonHeight = 30
+ ButtonWidth = 115
+ Caption = 'ToolBar1'
+ Color = clSkyBlue
+ Images = cxImageList_bar
+ List = True
+ ParentColor = False
+ ShowCaptions = True
+ TabOrder = 0
+ object TBSave: TToolButton
+ Left = 0
+ Top = 0
+ AutoSize = True
+ Caption = #20445#23384
+ ImageIndex = 16
+ Visible = False
+ OnClick = TBSaveClick
+ end
+ object TBAdd: TToolButton
+ Left = 71
+ Top = 0
+ AutoSize = True
+ Caption = #22686#34892
+ ImageIndex = 2
+ Visible = False
+ OnClick = TBAddClick
+ end
+ object TbOrdAdd: TToolButton
+ Left = 142
+ Top = 0
+ AutoSize = True
+ Caption = #32455#36896#21333#22686#34892
+ ImageIndex = 2
+ Visible = False
+ OnClick = TbOrdAddClick
+ end
+ object TbPurSel: TToolButton
+ Left = 261
+ Top = 0
+ AutoSize = True
+ Caption = #37319#36141#21333#22686#34892
+ ImageIndex = 2
+ Visible = False
+ OnClick = TbPurSelClick
+ end
+ object TBDel: TToolButton
+ Left = 380
+ Top = 0
+ AutoSize = True
+ Caption = #21024#34892
+ ImageIndex = 6
+ Visible = False
+ OnClick = TBDelClick
+ end
+ object TbSSel: TToolButton
+ Left = 451
+ Top = 0
+ AutoSize = True
+ Caption = #36873#25321
+ ImageIndex = 12
+ OnClick = TbSSelClick
+ end
+ object ToolButton1: TToolButton
+ Left = 522
+ Top = 0
+ AutoSize = True
+ Caption = #20445#23384#26684#24335
+ ImageIndex = 16
+ OnClick = ToolButton1Click
+ end
+ object TBClose: TToolButton
+ Left = 625
+ Top = 0
+ AutoSize = True
+ Caption = #20851#38381
+ ImageIndex = 7
+ OnClick = TBCloseClick
+ end
+ end
+ object cxTabControl1: TcxTabControl [1]
+ Left = 0
+ Top = 30
+ Width = 1406
+ Height = 29
+ Align = alTop
+ TabOrder = 1
+ Properties.CustomButtons.Buttons = <>
+ Properties.Style = 11
+ Properties.TabIndex = 0
+ Properties.Tabs.Strings = (
+ #26410#24320#31080
+ #24050#24320#31080
+ #20840#37096)
+ LookAndFeel.Kind = lfUltraFlat
+ OnChange = cxTabControl1Change
+ ExplicitTop = 36
+ ClientRectRight = 0
+ ClientRectTop = 0
+ end
+ object cxGrid1: TcxGrid [2]
+ Left = 0
+ Top = 59
+ Width = 1406
+ Height = 513
+ Align = alClient
+ TabOrder = 2
+ ExplicitLeft = -134
+ ExplicitTop = 112
+ ExplicitWidth = 1540
+ ExplicitHeight = 460
+ object Tv1: TcxGridDBTableView
+ Navigator.Buttons.CustomButtons = <>
+ Navigator.Buttons.Delete.Enabled = False
+ Navigator.Buttons.Delete.Visible = False
+ ScrollbarAnnotations.CustomAnnotations = <>
+ DataController.DataSource = DS_1
+ DataController.Filter.AutoDataSetFilter = True
+ DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
+ DataController.Summary.DefaultGroupSummaryItems = <>
+ DataController.Summary.FooterSummaryItems = <
+ item
+ Kind = skSum
+ Column = Tv1Column12
+ end
+ item
+ Kind = skSum
+ Column = Tv1Column15
+ end
+ item
+ Kind = skSum
+ Column = Tv1Column16
+ end
+ item
+ Kind = skSum
+ Column = Tv1Column17
+ end
+ item
+ Kind = skSum
+ Column = Tv1Column11
+ end
+ item
+ Kind = skSum
+ Column = Tv1Column25
+ end>
+ DataController.Summary.SummaryGroups = <>
+ OptionsBehavior.GoToNextCellOnEnter = True
+ OptionsCustomize.ColumnFiltering = False
+ OptionsData.Deleting = False
+ OptionsData.DeletingConfirmation = False
+ OptionsView.Footer = True
+ OptionsView.GroupByBox = False
+ object Tv1Column22: TcxGridDBColumn
+ Caption = #36873#25321
+ DataBinding.FieldName = 'SSel'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCheckBoxProperties'
+ Properties.ImmediatePost = True
+ HeaderAlignmentHorz = taCenter
+ Width = 44
+ end
+ object v2CRTime: TcxGridDBColumn
+ Tag = 7
+ Caption = #21457#29983#26085#26399
+ DataBinding.FieldName = 'FFTime'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxDateEditProperties'
+ Properties.SaveTime = False
+ Properties.ShowTime = False
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 82
+ end
+ object Tv1Column23: TcxGridDBColumn
+ Caption = #23545#36134#26085#26399
+ DataBinding.FieldName = 'ReconciliationDate'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 112
+ end
+ object v2Column2: TcxGridDBColumn
+ Caption = #25105#26041#21333#20301
+ DataBinding.FieldName = 'OurCoName'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 100
+ end
+ object v2FactoryName: TcxGridDBColumn
+ Caption = #23545#26041#21333#20301
+ DataBinding.FieldName = 'OppCoName'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 102
+ end
+ object v2OrderNo: TcxGridDBColumn
+ Tag = 7
+ Caption = #19978#32423#21333#20301
+ DataBinding.FieldName = 'OppParentCoName'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 92
+ end
+ object Tv1Column3: TcxGridDBColumn
+ Caption = #20184#27454#26041#24335
+ DataBinding.FieldName = 'PayMent'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 91
+ end
+ object Tv1Column19: TcxGridDBColumn
+ Caption = #21512#21516#21495
+ DataBinding.FieldName = 'ConNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 77
+ end
+ object Tv1Column24: TcxGridDBColumn
+ Caption = #25688#35201
+ DataBinding.FieldName = 'FFAbstract'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 79
+ end
+ object Tv1Column20: TcxGridDBColumn
+ Caption = #35745#21010#21333#21495
+ DataBinding.FieldName = 'OrderNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 82
+ end
+ object Tv1Column21: TcxGridDBColumn
+ Caption = #23458#25143#21333#21495
+ DataBinding.FieldName = 'BuyConNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 80
+ end
+ object Tv1Column4: TcxGridDBColumn
+ Caption = #32534#21495
+ DataBinding.FieldName = 'F_Code'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column5: TcxGridDBColumn
+ Caption = #21697#21517
+ DataBinding.FieldName = 'F_Name'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column6: TcxGridDBColumn
+ Caption = #33457#22411
+ DataBinding.FieldName = 'F_Pattern'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column7: TcxGridDBColumn
+ Caption = #39068#33394
+ DataBinding.FieldName = 'F_Color'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column28: TcxGridDBColumn
+ Caption = #27454#21495
+ DataBinding.FieldName = 'F_StyleNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 72
+ end
+ object Tv1Column8: TcxGridDBColumn
+ Caption = #38376#24133
+ DataBinding.FieldName = 'F_Width'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column9: TcxGridDBColumn
+ Caption = #20811#37325
+ DataBinding.FieldName = 'F_GramWeight'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column10: TcxGridDBColumn
+ Caption = #33394#21495
+ DataBinding.FieldName = 'F_ColorNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column27: TcxGridDBColumn
+ Caption = #38468#20214
+ DataBinding.FieldName = 'FJFlag'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 48
+ end
+ object Tv1Column11: TcxGridDBColumn
+ Caption = #21305#25968
+ DataBinding.FieldName = 'Piece'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column12: TcxGridDBColumn
+ Caption = #25968#37327
+ DataBinding.FieldName = 'Qty'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column13: TcxGridDBColumn
+ Caption = #21333#20301
+ DataBinding.FieldName = 'QtyUnit'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column14: TcxGridDBColumn
+ Caption = #21333#20215
+ DataBinding.FieldName = 'Price'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column15: TcxGridDBColumn
+ Caption = #20854#20182#36153
+ DataBinding.FieldName = 'OtherFee'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column16: TcxGridDBColumn
+ Caption = #20943#20813
+ DataBinding.FieldName = 'Deduction'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column17: TcxGridDBColumn
+ Caption = #37329#39069
+ DataBinding.FieldName = 'Amount'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column18: TcxGridDBColumn
+ Caption = #24065#31181
+ DataBinding.FieldName = 'Currency'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 66
+ end
+ object Tv1Column25: TcxGridDBColumn
+ Caption = #26680#38144#37329#39069
+ DataBinding.FieldName = 'FFWoAmount'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ end
+ object Tv1Column26: TcxGridDBColumn
+ Caption = #26159#21542#21547#31246
+ DataBinding.FieldName = 'IsInvoice'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 78
+ end
+ object Tv1Column1: TcxGridDBColumn
+ Caption = #26469#28304
+ DataBinding.FieldName = 'FromID1'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 70
+ end
+ object Tv1Column2: TcxGridDBColumn
+ Caption = #22791#27880
+ DataBinding.FieldName = 'Note'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ end
+ end
+ object cxGridLevel1: TcxGridLevel
+ GridView = Tv1
+ end
+ end
+ inherited ADOQueryBaseCmd: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ Left = 57
+ Top = 72
+ end
+ inherited ADOQueryBaseTemp: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ Left = 177
+ Top = 73
+ end
+ inherited ImageList_new32: TImageList
+ Left = 160
+ Top = 288
+ end
+ inherited cxImageList_bar: TcxImageList
+ FormatVersion = 1
+ Left = 248
+ Top = 249
+ DesignInfo = 16318712
+ end
+ object DS_1: TDataSource
+ DataSet = CDS_1
+ Left = 592
+ Top = 184
+ end
+ object CDS_1: TClientDataSet
+ Aggregates = <>
+ Params = <>
+ Left = 496
+ Top = 184
+ end
+ object ADOQueryCmd: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ Parameters = <>
+ Left = 176
+ Top = 176
+ end
+ object ADOQueryMain: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ LockType = ltReadOnly
+ Parameters = <>
+ Left = 360
+ Top = 200
+ end
+ object ADOQueryTemp: TADOQuery
+ Connection = DataLink_Financial.ADOLink
+ LockType = ltReadOnly
+ Parameters = <>
+ Left = 392
+ Top = 272
+ end
+ object GPM_1: TcxGridPopupMenu
+ PopupMenus = <>
+ Left = 456
+ Top = 88
+ end
+ object PM_1: TPopupMenu
+ Left = 504
+ Top = 280
+ object N1: TMenuItem
+ Caption = #20840#36873
+ OnClick = N1Click
+ end
+ object N3: TMenuItem
+ Caption = #20840#24323
+ OnClick = N3Click
+ end
+ object N2: TMenuItem
+ Caption = #22797#21046
+ OnClick = N2Click
+ end
+ end
+end
diff --git a/A09财务通用管理/U_GetableSel.pas b/A09财务通用管理/U_GetableSel.pas
new file mode 100644
index 0000000..b62df18
--- /dev/null
+++ b/A09财务通用管理/U_GetableSel.pas
@@ -0,0 +1,953 @@
+unit U_GetableSel;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
+ cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin,
+ cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
+ cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu,
+ cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, cxSpinEdit,
+ StdCtrls, ExtCtrls, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
+ dxDateRanges, dxBarBuiltInMenu, U_BaseInput, System.ImageList, Vcl.ImgList,
+ dxScrollbarAnnotations, dxSkinsCore, dxSkinsDefaultPainters, cxImageList,
+ dxSkinOffice2013White, dxSkinSharpPlus, dxSkinWXI, cxCheckBox, Vcl.Menus,
+ Clipbrd, cxCurrencyEdit, cxPC;
+
+type
+ TfrmGetableSel = class(TfrmBaseInput)
+ ToolBar1: TToolBar;
+ TBAdd: TToolButton;
+ TBDel: TToolButton;
+ TBSave: TToolButton;
+ TBClose: TToolButton;
+ DS_1: TDataSource;
+ CDS_1: TClientDataSet;
+ ADOQueryCmd: TADOQuery;
+ ADOQueryMain: TADOQuery;
+ ADOQueryTemp: TADOQuery;
+ GPM_1: TcxGridPopupMenu;
+ ToolButton1: TToolButton;
+ TbOrdAdd: TToolButton;
+ TbPurSel: TToolButton;
+ PM_1: TPopupMenu;
+ N1: TMenuItem;
+ N3: TMenuItem;
+ N2: TMenuItem;
+ TbSSel: TToolButton;
+ cxTabControl1: TcxTabControl;
+ cxGrid1: TcxGrid;
+ Tv1: TcxGridDBTableView;
+ Tv1Column22: TcxGridDBColumn;
+ v2CRTime: TcxGridDBColumn;
+ Tv1Column23: TcxGridDBColumn;
+ v2Column2: TcxGridDBColumn;
+ v2FactoryName: TcxGridDBColumn;
+ v2OrderNo: TcxGridDBColumn;
+ Tv1Column3: TcxGridDBColumn;
+ Tv1Column19: TcxGridDBColumn;
+ Tv1Column24: TcxGridDBColumn;
+ Tv1Column20: TcxGridDBColumn;
+ Tv1Column21: TcxGridDBColumn;
+ Tv1Column4: TcxGridDBColumn;
+ Tv1Column5: TcxGridDBColumn;
+ Tv1Column6: TcxGridDBColumn;
+ Tv1Column7: TcxGridDBColumn;
+ Tv1Column28: TcxGridDBColumn;
+ Tv1Column8: TcxGridDBColumn;
+ Tv1Column9: TcxGridDBColumn;
+ Tv1Column10: TcxGridDBColumn;
+ Tv1Column27: TcxGridDBColumn;
+ Tv1Column11: TcxGridDBColumn;
+ Tv1Column12: TcxGridDBColumn;
+ Tv1Column13: TcxGridDBColumn;
+ Tv1Column14: TcxGridDBColumn;
+ Tv1Column15: TcxGridDBColumn;
+ Tv1Column16: TcxGridDBColumn;
+ Tv1Column17: TcxGridDBColumn;
+ Tv1Column18: TcxGridDBColumn;
+ Tv1Column25: TcxGridDBColumn;
+ Tv1Column26: TcxGridDBColumn;
+ Tv1Column1: TcxGridDBColumn;
+ Tv1Column2: TcxGridDBColumn;
+ cxGridLevel1: TcxGridLevel;
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ procedure TBCloseClick(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure TBSaveClick(Sender: TObject);
+ procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
+ procedure ToolButton1Click(Sender: TObject);
+ procedure Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure TBAddClick(Sender: TObject);
+ procedure TBDelClick(Sender: TObject);
+ procedure TbOrdAddClick(Sender: TObject);
+ procedure TbPurSelClick(Sender: TObject);
+ procedure Tv1OppCoNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure Tv1FFAbstractPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure N2Click(Sender: TObject);
+ procedure N3Click(Sender: TObject);
+ procedure N1Click(Sender: TObject);
+ procedure Tv1PurNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure Tv1OrderNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure Tv1CurrencyPropertiesChange(Sender: TObject);
+ procedure Tv1TaxRatePropertiesEditValueChanged(Sender: TObject);
+ procedure TbSSelClick(Sender: TObject);
+ procedure cxTabControl1Change(Sender: TObject);
+ private
+ { Private declarations }
+ function SaveData(): Boolean;
+ procedure InitGrid();
+ public
+ { Public declarations }
+ FBCId, FKHName: string;
+ FFFID: string;
+ FNoTaxInclude, FTax, FTaxInclude: Double; //˰˰˰ ѡӦ
+ FFFIDs: string;
+ end;
+
+var
+ frmGetableSel: TfrmGetableSel;
+
+implementation
+
+uses
+ U_DataLink, U_RTFun, U_ZDYHelp, U_CompanySel, U_FinTradePlanSel,
+ U_FinPurchasePlanSel;
+
+{$R *.dfm}
+
+procedure TfrmGetableSel.cxTabControl1Change(Sender: TObject);
+begin
+// SetStatus();
+ InitGrid();
+end;
+
+procedure TfrmGetableSel.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ inherited;
+ Action := caFree;
+end;
+
+procedure TfrmGetableSel.InitGrid();
+begin
+ try
+ ADOQueryMain.DisableControls;
+ with ADOQueryMain do
+ begin
+ Close;
+ SQL.Clear;
+ Filtered := False;
+ sql.Add(' select A.*,B.BillCycle ');
+ sql.Add(' from Finance_Flow A ');
+ SQL.Add(' left join BS_Company B on A.OppCoNo=B.CoCode');
+ sql.Add(' where CheckStatus = '''' ');
+// sql.Add(' where 1=1 ');
+ SQL.Add(' and FFFlag = ''Ӧ'' ');
+ case cxTabControl1.TabIndex of
+ 0:
+ begin
+ sql.Add(' and not EXISTS ( select 1 from Finance_FlowInvoice X where X.FFID=A.FFID ) ');
+ end;
+ 1:
+ begin
+ sql.Add(' and EXISTS ( select 1 from Finance_FlowInvoice X where X.FFID=A.FFID ) ');
+ end;
+ end;
+ Open;
+ end;
+ SCreateCDS(ADOQueryMain, CDS_1);
+ SInitCDSData(ADOQueryMain, CDS_1);
+ finally
+ ADOQueryMain.EnableControls;
+ TV1.DataController.Filter.Clear;
+ end;
+end;
+
+procedure TfrmGetableSel.N1Click(Sender: TObject);
+begin
+ SelOKNo(CDS_1, True);
+
+end;
+
+procedure TfrmGetableSel.N2Click(Sender: TObject);
+begin
+ Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
+end;
+
+procedure TfrmGetableSel.N3Click(Sender: TObject);
+begin
+ SelOKNo(CDS_1, false);
+
+end;
+
+function TfrmGetableSel.SaveData(): Boolean;
+var
+ Maxno, MFFID: string;
+begin
+ try
+ ADOQueryCmd.Connection.BeginTrans;
+ CDS_1.DisableControls;
+ with CDS_1 do
+ begin
+ First;
+ while not eof do
+ begin
+ with ADOQueryTemp do
+ begin
+ Close;
+ sql.Clear;
+ sql.Add('select * from Finance_Flow where FFID=''' + Trim(CDS_1.fieldbyname('FFID').AsString) + '''');
+ open;
+ end;
+ MFFID := Trim(ADOQueryTemp.fieldbyname('FFID').AsString);
+ if Trim(MFFID) = '' then
+ begin
+ if not GetLSNo(ADOQueryCmd, Maxno, 'YFK', 'Finance_Flow', 3, 1) then
+ raise Exception.Create('ȡӦտʧܣ');
+ end
+ else
+ begin
+ Maxno := Trim(MFFID);
+ end;
+ with ADOQueryCmd do
+ begin
+ Close;
+ sql.Clear;
+ sql.Add('select * from Finance_Flow where FFID=''' + Trim(Maxno) + '''');
+ Open;
+ end;
+ with ADOQueryCmd do
+ begin
+ if Trim(MFFID) = '' then
+ begin
+ Append;
+ FieldByName('Fillid').Value := Trim(Dcode);
+ FieldByName('Filler').Value := Trim(DName);
+ end
+ else
+ begin
+ Edit;
+ FieldByName('Editid').Value := Trim(Dcode);
+ FieldByName('Editer').Value := Trim(DName);
+ FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp);
+ end;
+ RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_1, 'Finance_Flow', 0);
+
+ FieldByName('FFID').Value := Maxno;
+ FieldByName('FFFlag').Value := 'Ӧ';
+ FieldByName('FFType').Value := 'ӦǼ';
+ FieldByName('CheckStatus').Value := 'δ';
+
+
+ //֯쵥
+ FieldByName('OrdMainId').Value := CDS_1.fieldbyname('OrdMainId').Value;
+ FieldByName('OrdSubId').Value := CDS_1.fieldbyname('OrdSubId').Value;
+ //֯쵥
+ FieldByName('PurMID').Value := CDS_1.fieldbyname('PurMID').Value;
+ FieldByName('PurSID').Value := CDS_1.fieldbyname('PurSID').Value;
+ //ͬ
+ FieldByName('ConMId').Value := CDS_1.fieldbyname('ConMId').value;
+ FieldByName('ConSId').Value := CDS_1.fieldbyname('ConSId').value;
+ //Ϻͬ
+ FieldByName('BuyConMID').Value := CDS_1.fieldbyname('BuyConMID').value;
+ FieldByName('BuyConSID').Value := CDS_1.fieldbyname('BuyConSID').Value;
+ //Էλ
+ FieldByName('OppCoNo').Value := CDS_1.fieldbyname('OppCoNo').Value;
+ //ҷλ
+ FieldByName('OurCoNo').Value := CDS_1.fieldbyname('OurCoNo').Value;
+
+ Post;
+ end;
+
+ with ADOQueryCmd do
+ begin
+ Close;
+ sql.Clear;
+ sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails)');
+ sql.Add('values(''ӦǼ'' ');
+ sql.Add(',' + quotedstr(Maxno));
+ sql.Add(','''' ');
+ sql.Add(',' + quotedstr(DName));
+ sql.Add(',' + quotedstr(trim(self.Caption)));
+ sql.Add(',' + quotedstr(Maxno));
+ sql.Add(') ');
+ ExecSQL;
+ end;
+ Next;
+ end;
+ end;
+ CDS_1.EnableControls;
+ ADOQueryCmd.Connection.CommitTrans;
+ Result := True;
+ except
+ Result := False;
+ CDS_1.EnableControls;
+ ADOQueryCmd.Connection.RollbackTrans;
+ application.MessageBox(PChar(Exception(ExceptObject).Message), 'ʾϢ', 0);
+ end;
+end;
+
+procedure TfrmGetableSel.TBAddClick(Sender: TObject);
+begin
+ CDS_1.Append;
+ CDS_1.FieldByName('FFTime').Value := SGetServerDateTime(ADOQueryCmd);
+ CDS_1.FieldByName('ReconciliationDate').Value := SGetServerDate(ADOQueryCmd);
+ CDS_1.FieldByName('OurCoName').Value := 'DESHINE VIETNAM CO., LTD';
+ CDS_1.FieldByName('SSel').Value := False;
+ CDS_1.Post;
+end;
+
+procedure TfrmGetableSel.TBCloseClick(Sender: TObject);
+begin
+
+ Close;
+end;
+
+procedure TfrmGetableSel.TBDelClick(Sender: TObject);
+begin
+ CDS_1.Delete;
+end;
+
+procedure TfrmGetableSel.TbOrdAddClick(Sender: TObject);
+begin
+ try
+ frmFinTradePlanSel := TfrmFinTradePlanSel.Create(Application);
+ with frmFinTradePlanSel do
+ begin
+ if ShowModal = 1 then
+ begin
+ with frmFinTradePlanSel.CDS_1 do
+ begin
+ //֯쵥
+ self.CDS_1.FieldByName('OrderNo').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('OrderNo').AsString);
+ self.CDS_1.FieldByName('OrdMainId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('MainId').AsString);
+ self.CDS_1.FieldByName('OrdSubId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('SubId').AsString);
+ //ͬ
+ self.CDS_1.FieldByName('ConNo').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('ConNo').AsString);
+ self.CDS_1.FieldByName('ConMId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('ConMId').AsString);
+ self.CDS_1.FieldByName('ConSId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('ConSId').AsString);
+ //Ϻͬ
+ self.CDS_1.FieldByName('BuyConNo').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('BuyConNo').AsString);
+ self.CDS_1.FieldByName('BuyConMID').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('FROMCPSID').AsString);
+ self.CDS_1.FieldByName('BuyConSID').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('FROMCPMID').AsString);
+
+ self.CDS_1.FieldByName('F_Code').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('OrderNo').AsString);
+ self.CDS_1.FieldByName('F_Name').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('MainId').AsString);
+ self.CDS_1.FieldByName('F_Width').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('SubId').AsString);
+ self.CDS_1.FieldByName('F_GramWeight').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('OrderNo').AsString);
+ self.CDS_1.FieldByName('F_Color').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('MainId').AsString);
+
+ end;
+
+ end;
+ end;
+ finally
+ frmFinTradePlanSel.Free;
+ end;
+end;
+
+procedure TfrmGetableSel.FormShow(Sender: TObject);
+var
+ fsj: string;
+begin
+ inherited;
+ ReadCxGrid('Ӧѡ', Tv1, 'Ӧѡ');
+ InitGrid();
+end;
+
+procedure TfrmGetableSel.TBSaveClick(Sender: TObject);
+begin
+ if CDS_1.IsEmpty then
+ Exit;
+ if CDS_1.Locate('FFTime', null, []) = True then
+ begin
+ Application.MessageBox('ǼڲΪ!', 'ʾ', 0);
+ Exit;
+ end;
+ if CDS_1.Locate('ReconciliationDate', null, []) = True then
+ begin
+ Application.MessageBox('ڲΪ!', 'ʾ', 0);
+ Exit;
+ end;
+
+ if CDS_1.Locate('FinType', null, []) = True then
+ begin
+ Application.MessageBox('ѡ!', 'ʾ', 0);
+ Exit;
+ end;
+
+ if CDS_1.Locate('Qty', null, []) = True then
+ begin
+ Application.MessageBox('Ϊ!', 'ʾ', 0);
+ Exit;
+ end;
+
+// CDS_1.First;
+// while not CDS_1.Eof do
+// begin
+// // ͬʱж
+// if (CDS_1.FieldByName('IOType').AsString = '') and (CDS_1.FieldByName('ToOrdNo').IsNull or (Trim(CDS_1.FieldByName('ToOrdNo').AsString) = '')) then
+// begin
+// Application.MessageBox('ѡ ֯쵥!', 'ʾ', 0);
+// Exit;
+// end;
+// CDS_1.Next;
+// end;
+
+ if SaveData() then
+ begin
+ Application.MessageBox('ɹ!', 'ʾ', 0);
+ //ModalResult:=1;
+ Exit;
+ end;
+end;
+
+procedure TfrmGetableSel.ToolButton1Click(Sender: TObject);
+begin
+ WriteCxGrid('Ӧѡ', Tv1, 'Ӧѡ');
+end;
+
+procedure TfrmGetableSel.TbPurSelClick(Sender: TObject);
+begin
+ try
+ frmFinPurchasePlanSel := TfrmFinPurchasePlanSel.Create(Application);
+ with frmFinPurchasePlanSel do
+ begin
+ if ShowModal = 1 then
+ begin
+ with frmFinPurchasePlanSel.CDS_1 do
+ begin
+ first;
+ while not Eof do
+ begin
+ if CDS_1.fieldbyname('SSel').AsBoolean then
+ begin
+ with Self.CDS_1 do
+ begin
+ append;
+ //Էλ
+ self.CDS_1.FieldByName('OppCoName').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('SellName').Value);
+ self.CDS_1.FieldByName('OppCoNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('SellNo').Value);
+ //ҷλ
+ self.CDS_1.FieldByName('FFTime').Value := SGetServerDateTime(ADOQueryCmd);
+ self.CDS_1.FieldByName('ReconciliationDate').Value := SGetServerDate(ADOQueryCmd);
+ self.CDS_1.FieldByName('OurCoName').Value := 'DESHINE VIETNAM CO., LTD';
+ self.CDS_1.FieldByName('FinType').Value := 'ɴ';
+ self.CDS_1.FieldByName('Currency').Value := 'CNY';
+ self.CDS_1.FieldByName('SSel').Value := False;
+ self.CDS_1.FieldByName('FFAbstract').Value := 'ɴ߲ɹ';
+ //ɹ
+ self.CDS_1.FieldByName('PurNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PurNo').AsString);
+ self.CDS_1.FieldByName('PurMID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PurMId').AsString);
+ self.CDS_1.FieldByName('PurSID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PurSId').AsString);
+ //ͬ
+ self.CDS_1.FieldByName('ConNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('ConNo').AsString);
+ self.CDS_1.FieldByName('ConMId').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('fromConMId').AsString);
+ self.CDS_1.FieldByName('ConSId').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('fromConSId').AsString);
+ //Ϻͬ
+ self.CDS_1.FieldByName('BuyConNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('CPConNo').AsString);
+ self.CDS_1.FieldByName('BuyConMID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('FROMCPSID').AsString);
+ self.CDS_1.FieldByName('BuyConSID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('FROMCPMID').AsString);
+
+ self.CDS_1.FieldByName('F_Code').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Code').Value);
+ self.CDS_1.FieldByName('F_Name').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Name').Value);
+// self.CDS_1.FieldByName('F_Width').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('SubId').AsString);
+// self.CDS_1.FieldByName('F_GramWeight').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('C_GramWeight').AsString);
+ self.CDS_1.FieldByName('F_Color').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Color').Value);
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Piece').IsNull then
+ begin
+ self.CDS_1.FieldByName('Piece').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Piece').AsString);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Qty').IsNull then
+ begin
+ self.CDS_1.FieldByName('Qty').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Qty').AsString);
+ end;
+ self.CDS_1.FieldByName('QtyUnit').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('QtyUnit').AsString);
+ self.CDS_1.FieldByName('currency').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('currency').AsString);
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Price').IsNull then
+ begin
+ self.CDS_1.FieldByName('NoTaxPrice').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Price').AsString);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Amount').IsNull then
+ begin
+ self.CDS_1.FieldByName('NoTaxInclude').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Amount').AsString);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('TaxRate').IsNull then
+ begin
+ self.CDS_1.FieldByName('TaxRate').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('TaxRate').AsString);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Tax').IsNull then
+ begin
+ self.CDS_1.FieldByName('Tax').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Tax').AsString);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('TaxInclude').IsNull then
+ begin
+ self.CDS_1.FieldByName('TaxInclude').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('TaxInclude').AsString);
+ end;
+ Post;
+ end;
+ end;
+ frmFinPurchasePlanSel.CDS_1.Next;
+ end;
+
+ end;
+
+ end;
+ end;
+ finally
+ frmFinPurchasePlanSel.Free;
+ end;
+end;
+
+procedure TfrmGetableSel.Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmCompanySel := TfrmCompanySel.Create(Application);
+ with frmCompanySel do
+ begin
+ FCoType := 'Ӧ';
+ if ShowModal = 1 then
+ begin
+ with Self.CDS_1 do
+ begin
+ Edit;
+ FieldByName('ToCoNo').Value := Trim(CDS_1.fieldbyname('CoCode').AsString);
+ FieldByName('ToCoName').Value := Trim(CDS_1.fieldbyname('CoAbbrName').AsString);
+ post;
+ end;
+ end;
+ end;
+ finally
+ frmCompanySel.Free;
+ end;
+
+end;
+
+procedure TfrmGetableSel.Tv1CurrencyPropertiesChange(Sender: TObject);
+var
+ mvalue, FFieldName: string;
+begin
+ mvalue := TcxTextEdit(Sender).EditingText;
+ FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
+ with CDS_1 do
+ begin
+ Edit;
+ FieldByName(FFieldName).Value := mvalue;
+ Post;
+ end;
+// if not Assigned(Sender) or not (Sender is TComboBox) then
+// Exit;
+
+ if TComboBox(Sender).Text = 'VND' then
+ begin
+ with CDS_1 do
+ begin
+ // ¼Ƿڿɱ༭״̬
+ if not (State in [dsEdit, dsInsert]) then
+ Edit;
+
+ // ֶǷҲΪ
+ if not FieldByName('NoTaxPrice').IsNull and (FieldByName('NoTaxPrice').AsString <> '') then
+ begin
+ FieldByName('NoTaxPrice').Value := RoundFloat(FieldByName('NoTaxPrice').AsFloat, 0);
+ end;
+
+
+ // QtyNoTaxPriceֶǷҲΪ
+ if not FieldByName('Qty').IsNull and not FieldByName('NoTaxPrice').IsNull and (FieldByName('Qty').AsString <> '') and (FieldByName('NoTaxPrice').AsString <> '') then
+ begin
+ FieldByName('NoTaxInclude').Value := RoundFloat(FieldByName('Qty').AsFloat * FieldByName('NoTaxPrice').AsFloat, 0);
+ end;
+
+ if not FieldByName('TaxRate').IsNull and (FieldByName('TaxRate').AsString <> '') then
+ FieldByName('TaxRate').Value := RoundFloat(FieldByName('TaxRate').AsFloat, 0);
+
+ if not FieldByName('Tax').IsNull and (FieldByName('Tax').AsString <> '') then
+ FieldByName('Tax').Value := RoundFloat(FieldByName('Tax').AsFloat, 0);
+
+ Post;
+ end;
+ end
+ else
+ begin
+ with CDS_1 do
+ begin
+ // ¼Ƿڿɱ༭״̬
+ if not (State in [dsEdit, dsInsert]) then
+ Edit;
+ // ʹһµĿֵ鷽ʽ
+ if (not FieldByName('NoTaxPrice').IsNull) and (FieldByName('NoTaxPrice').AsString <> '') then
+ begin
+ FieldByName('NoTaxPrice').Value := FormatFloat('0.00', FieldByName('NoTaxPrice').AsFloat);
+ end;
+
+ if (not FieldByName('Qty').IsNull) and (not FieldByName('NoTaxPrice').IsNull) and (FieldByName('Qty').AsString <> '') and (FieldByName('NoTaxPrice').AsString <> '') then
+ begin
+ FieldByName('NoTaxInclude').Value := FormatFloat('0.00', FieldByName('NoTaxInclude').AsFloat);
+ end;
+
+ if not FieldByName('TaxRate').IsNull and (FieldByName('TaxRate').AsString <> '') then
+ begin
+ FieldByName('TaxRate').Value := FormatFloat('0.00', FieldByName('TaxRate').AsFloat);
+ end;
+
+ if not FieldByName('Tax').IsNull and (FieldByName('Tax').AsString <> '') then
+ begin
+ FieldByName('Tax').Value := FormatFloat('0.00', FieldByName('Tax').AsFloat);
+ end;
+
+ Post;
+ end;
+ end;
+ tv1.Controller.EditingController.ShowEdit();
+end;
+
+procedure TfrmGetableSel.Tv1FFAbstractPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmZDYHelp := TfrmZDYHelp.Create(Application);
+ with frmZDYHelp do
+ begin
+ flag := 'FFAbstract';
+ flagname := 'ժҪ';
+ if ShowModal = 1 then
+ begin
+ Self.CDS_1.Edit;
+ Self.CDS_1.FieldByName('FFAbstract').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
+ Self.CDS_1.Post;
+ end;
+ end;
+ finally
+ frmZDYHelp.Free;
+ end;
+
+end;
+
+procedure TfrmGetableSel.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
+var
+ FFSPID: string;
+begin
+// if CDS_Sub.IsEmpty then
+// Exit;
+// if Trim(CDS_Sub.fieldbyname('BYIOID').AsString) <> '' then
+// begin
+// with ADOQueryTemp do
+// begin
+// Close;
+// sql.Clear;
+// sql.Add('select * from BS_Yarn_IO where BYIOID=''' + Trim(CDS_Sub.fieldbyname('BYIOID').AsString) + '''');
+// Open;
+// end;
+// FFSPID := Trim(ADOQueryTemp.fieldbyname('BYIOID').AsString);
+// if Trim(FFSPID) <> '' then
+// begin
+// v1CRType.Options.Editing := False;
+// end
+// else
+// begin
+// v1CRType.Options.Editing := True;
+// end;
+// end
+// else
+// begin
+// v1CRType.Options.Editing := True;
+// end;
+end;
+
+procedure TfrmGetableSel.Tv1OppCoNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmCompanySel := TfrmCompanySel.Create(Application);
+ with frmCompanySel do
+ begin
+ FCoType := 'Ӧ';
+ if ShowModal = 1 then
+ begin
+ Self.CDS_1.Edit;
+ Self.CDS_1.FieldByName('OppCoName').asstring := Trim(CDS_1.fieldbyname('CoName').AsString);
+ Self.CDS_1.FieldByName('OurCoNo').asstring := Trim(CDS_1.fieldbyname('CoCode').AsString);
+ Self.CDS_1.Post;
+ end;
+ end;
+ finally
+ frmCompanySel.Free;
+ end;
+end;
+
+procedure TfrmGetableSel.Tv1OrderNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmFinTradePlanSel := TfrmFinTradePlanSel.Create(Application);
+ with frmFinTradePlanSel do
+ begin
+ if ShowModal = 1 then
+ begin
+ with frmFinTradePlanSel.CDS_1 do
+ begin
+ //ɹ
+ self.CDS_1.FieldByName('PurNo').value := null;
+ self.CDS_1.FieldByName('PurMID').value := null;
+ self.CDS_1.FieldByName('PurSID').value := null;
+
+ //֯쵥
+ self.CDS_1.FieldByName('OrderNo').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('OrderNo').AsString);
+ self.CDS_1.FieldByName('OrdMainId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('MainId').AsString);
+ self.CDS_1.FieldByName('OrdSubId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('SubId').AsString);
+ //ͬ
+ self.CDS_1.FieldByName('ConNo').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('ConNo').AsString);
+ self.CDS_1.FieldByName('ConMId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('ConMId').AsString);
+ self.CDS_1.FieldByName('ConSId').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('ConSId').AsString);
+ //Ϻͬ
+ self.CDS_1.FieldByName('BuyConNo').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('BuyConNo').AsString);
+ self.CDS_1.FieldByName('BuyConMID').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('FROMCPMID').AsString);
+ self.CDS_1.FieldByName('BuyConSID').AsString := Trim(frmFinTradePlanSel.CDS_1.fieldbyname('FROMCPSID').AsString);
+
+// self.CDS_1.FieldByName('F_Code').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Code').AsString);
+// self.CDS_1.FieldByName('F_Name').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Name').AsString);
+// self.CDS_1.FieldByName('F_Color').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Color').AsString);
+// self.CDS_1.FieldByName('Piece').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Piece').AsString);
+// self.CDS_1.FieldByName('Qty').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Qty').AsString);
+// self.CDS_1.FieldByName('QtyUnit').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('QtyUnit').AsString);
+// self.CDS_1.FieldByName('currency').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('currency').AsString);
+// self.CDS_1.FieldByName('NoTaxPrice').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Piece').AsString);
+// self.CDS_1.FieldByName('NoTaxInclude').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Amount').AsString);
+// self.CDS_1.FieldByName('TaxRate').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('TaxRate').AsString);
+// self.CDS_1.FieldByName('Tax').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Tax').AsString);
+// self.CDS_1.FieldByName('TaxInclude').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('TaxInclude').AsString);
+ self.CDS_1.Post;
+
+ end;
+
+ end;
+ end;
+ finally
+ frmFinTradePlanSel.Free;
+ end;
+end;
+
+procedure TfrmGetableSel.Tv1PurNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+begin
+ try
+ frmFinPurchasePlanSel := TfrmFinPurchasePlanSel.Create(Application);
+ with frmFinPurchasePlanSel do
+ begin
+ if ShowModal = 1 then
+ begin
+ with frmFinPurchasePlanSel.CDS_1 do
+ begin
+ self.CDS_1.Edit;
+ //Էλ
+ self.CDS_1.FieldByName('OppCoName').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('SellName').AsString);
+ self.CDS_1.FieldByName('OppCoNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('SellNo').AsString);
+ //֯쵥
+ self.CDS_1.FieldByName('OrderNo').value := null;
+ self.CDS_1.FieldByName('OrdMainId').value := null;
+ self.CDS_1.FieldByName('OrdSubId').value := null;
+
+ //
+ self.CDS_1.FieldByName('FinType').Value := 'ɴ';
+ self.CDS_1.FieldByName('FFAbstract').Value := 'ɴ߲ɹ';
+ //ɹ
+ self.CDS_1.FieldByName('PurNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PurNo').AsString);
+ self.CDS_1.FieldByName('PurMID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PurMId').AsString);
+ self.CDS_1.FieldByName('PurSID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PurSId').AsString);
+ //ͬ
+ self.CDS_1.FieldByName('ConNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('ConNo').AsString);
+ self.CDS_1.FieldByName('ConMId').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('fromConMId').AsString);
+ self.CDS_1.FieldByName('ConSId').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('fromConSId').AsString);
+ //Ϻͬ
+ self.CDS_1.FieldByName('BuyConNo').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('CPConNo').AsString);
+ self.CDS_1.FieldByName('BuyConMID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('FROMCPSID').AsString);
+ self.CDS_1.FieldByName('BuyConSID').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('FROMCPMID').AsString);
+
+ self.CDS_1.FieldByName('F_Code').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Code').AsString);
+ self.CDS_1.FieldByName('F_Name').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Name').AsString);
+// self.CDS_1.FieldByName('F_Width').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('SubId').AsString);
+// self.CDS_1.FieldByName('F_GramWeight').AsString := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('C_GramWeight').AsString);
+ self.CDS_1.FieldByName('F_Color').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Y_Color').AsString);
+
+ self.CDS_1.FieldByName('Piece').asstring := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Piece').AsString);
+ self.CDS_1.FieldByName('Qty').asstring := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Qty').AsString);
+ self.CDS_1.FieldByName('QtyUnit').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('QtyUnit').AsString);
+ self.CDS_1.FieldByName('currency').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('currency').AsString);
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('PRICE').IsNull then
+ begin
+ self.CDS_1.FieldByName('NoTaxPrice').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('PRICE').Value);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Amount').IsNull then
+ begin
+ self.CDS_1.FieldByName('NoTaxInclude').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Amount').Value);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('TaxRate').IsNull then
+ begin
+ self.CDS_1.FieldByName('TaxRate').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('TaxRate').Value);
+ end;
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('Tax').IsNull then
+ begin
+ self.CDS_1.FieldByName('Tax').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('Tax').Value);
+ end;
+
+ if not frmFinPurchasePlanSel.CDS_1.FieldByName('TaxInclude').IsNull then
+ begin
+ self.CDS_1.FieldByName('TaxInclude').Value := Trim(frmFinPurchasePlanSel.CDS_1.fieldbyname('TaxInclude').Value);
+ end;
+
+ self.CDS_1.Post;
+ end;
+ end;
+ end;
+ finally
+ frmFinPurchasePlanSel.Free;
+ end;
+end;
+
+procedure TfrmGetableSel.Tv1TaxRatePropertiesEditValueChanged(Sender: TObject);
+var
+ mvalue, FFieldName: string;
+ FQty, FNoTaxPrice, FNoTaxInclude: Double; //˰ۣ˰
+ mTaxRate, mTax, mTaxInclude: Double; //˰ʣ˰˰
+
+// mCP_QTY, mCP_TPXS: Double; //ƷͶϵ
+begin
+
+ mvalue := TcxTextEdit(Sender).EditingText;
+ if Trim(mvalue) = '' then
+ begin
+ mvalue := '0';
+ end;
+ FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
+
+ with CDS_1 do
+ begin
+ Edit;
+ FieldByName(FFieldName).Value := StrToFloat(Trim(mvalue));
+ Post;
+// ShowMessage(Fieldbyname('TaxRate').AsString);
+ if Fieldbyname('Qty').AsString <> '' then
+ begin
+ FQty := Fieldbyname('Qty').AsFloat;
+ end
+ else
+ begin
+ FQty := 0;
+ end;
+ if Fieldbyname('NoTaxPrice').AsString <> '' then
+ begin
+ FNoTaxPrice := Fieldbyname('NoTaxPrice').AsFloat;
+ end
+ else
+ begin
+ FNoTaxPrice := 0;
+ end;
+ if Fieldbyname('TaxRate').AsString <> '' then
+ begin
+ mTaxRate := Fieldbyname('TaxRate').AsFloat / 100;
+ end
+ else
+ begin
+ mTaxRate := 0;
+ end;
+ if Fieldbyname('Tax').AsString <> '' then
+ begin
+ mTax := Fieldbyname('Tax').AsFloat;
+ end
+ else
+ begin
+ mTax := 0;
+ end;
+ if Fieldbyname('TaxInclude').AsString <> '' then
+ begin
+ mTaxInclude := Fieldbyname('TaxInclude').AsFloat;
+ end
+ else
+ begin
+ mTaxInclude := 0;
+ end;
+
+ end;
+
+ FNoTaxInclude := RoundFloat(FQty * FNoTaxPrice, 2);
+ mTax := RoundFloat(FNoTaxInclude * mTaxRate, 2);
+ mTaxInclude := RoundFloat(FNoTaxInclude + mTax, 2);
+
+ with CDS_1 do
+ begin
+ Edit;
+ FieldByName('Qty').Value := FQty;
+// FieldByName('ConPrice').Value := FConPrice;
+ FieldByName('NoTaxPrice').Value := FloatToStr(FNoTaxPrice);
+ FieldByName('NoTaxInclude').Value := FloatToStr(FNoTaxInclude);
+ FieldByName('TaxRate').Value := FloatToStr(mTaxRate * 100);
+ FieldByName('Tax').Value := FloatToStr(mTax);
+ FieldByName('TaxInclude').Value := FloatToStr(mTaxInclude);
+ Post;
+ end;
+ tv1.Controller.EditingController.ShowEdit();
+end;
+
+procedure TfrmGetableSel.TbSSelClick(Sender: TObject);
+var
+ FirstOppCoName: string;
+ bAllSame: Boolean;
+begin
+ if not CDS_1.Locate('ssel', True, []) then
+ begin
+ Application.MessageBox('ѡݣ', 'ʾϢ', MB_OK);
+ Exit;
+ end;
+//жѡӦǷͬһ
+ FNoTaxInclude := 0;
+ FTax := 0;
+ FTaxInclude := 0;
+ FFFID := '';
+
+ CDS_1.First;
+ FirstOppCoName := '';
+ bAllSame := True;
+
+ with CDS_1 do
+ begin
+ while not Eof do
+ begin
+ if FieldByName('Ssel').AsBoolean then
+ begin
+ if FirstOppCoName = '' then
+ FirstOppCoName := FieldByName('OppCoName').AsString
+ else if FirstOppCoName <> FieldByName('OppCoName').AsString then
+ begin
+ bAllSame := False;
+ Break;
+ end;
+
+ FNoTaxInclude := FNoTaxInclude + CDS_1.FieldByName('NoTaxInclude').AsFloat;
+ FTax := FTax + CDS_1.FieldByName('Tax').AsFloat;
+ FTaxInclude := FTaxInclude + CDS_1.FieldByName('TaxInclude').AsFloat;
+ if FFFIDs = '' then
+ begin
+ FFFIDs := CDS_1.FieldByName('FFID').AsString;
+ end
+ else
+ begin
+ FFFIDs := FFFIDs + ',' + CDS_1.FieldByName('FFID').AsString;
+ end;
+
+ end;
+ Next;
+ end;
+ end;
+
+ if not bAllSame then
+ begin
+ ShowMessage('ѡĶԷλͬ');
+ exit;
+ end;
+ if FFFIDs <> '' then
+ begin
+ ModalResult := 1;
+ end;
+
+end;
+
+end.
+
diff --git a/A09财务通用管理/U_InvoiceInInPut.pas b/A09财务通用管理/U_InvoiceInInPut.pas
index 5b35709..305ba8d 100644
--- a/A09财务通用管理/U_InvoiceInInPut.pas
+++ b/A09财务通用管理/U_InvoiceInInPut.pas
@@ -217,12 +217,14 @@ begin
ADOQueryCmd.FieldByName('SupplierShuiNo').Value := Trim(CDS_Invoice.fieldbyname('SupplierShuiNo').AsString);
ADOQueryCmd.FieldByName('SupplierNo').Value := Trim(CDS_Invoice.fieldbyname('SupplierNo').AsString);
ADOQueryCmd.fieldbyname('OurCoNo').Value := trim(CDS_Invoice.FieldByName('OurCoNo').AsString);
-// ADOQueryCmd.fieldbyname('PayDate').Value := trim(CDS_Invoice.FieldByName('PayDate').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;
+
with ADOQueryTmp do
begin
close;
@@ -333,20 +335,31 @@ begin
application.MessageBox('我方单位不能为空', '提示');
exit;
end;
- if not CDS_Invoice.FieldByName('IVDate').isnull then
- begin
- if CDS_Invoice.FieldByName('BillCycle').asstring <> '' then
+// 遍历所有记录
+
+ try
+ CDS_Invoice.First; // 移到第一条记录
+ while not CDS_Invoice.Eof do
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;
+ 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;
+ CDS_Invoice.Next; // 下一条记录
end;
+ finally
+ CDS_Invoice.EnableControls; // 恢复UI更新
end;
if SaveDate() then
diff --git a/A09财务通用管理/U_InvoiceInList.dfm b/A09财务通用管理/U_InvoiceInList.dfm
index 10c4270..3d9f9e3 100644
--- a/A09财务通用管理/U_InvoiceInList.dfm
+++ b/A09财务通用管理/U_InvoiceInList.dfm
@@ -222,7 +222,7 @@ inherited frmInvoiceInList: TfrmInvoiceInList
TabOrder = 2
Width = 150
end
- object OppCoName: TcxTextEdit
+ object Supplier: TcxTextEdit
Tag = 2
Left = 581
Top = 4
@@ -259,6 +259,7 @@ inherited frmInvoiceInList: TfrmInvoiceInList
Align = alClient
PopupMenu = PopupMenu1
TabOrder = 3
+ ExplicitTop = 124
object Tv1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
diff --git a/A09财务通用管理/U_InvoiceInList.pas b/A09财务通用管理/U_InvoiceInList.pas
index fd74326..b96c12f 100644
--- a/A09财务通用管理/U_InvoiceInList.pas
+++ b/A09财务通用管理/U_InvoiceInList.pas
@@ -68,7 +68,7 @@ type
F_Name: TcxTextEdit;
IVNo: TcxTextEdit;
F_Spec: TcxTextEdit;
- OppCoName: TcxTextEdit;
+ Supplier: TcxTextEdit;
OurCoName: TcxTextEdit;
ToolButton5: TToolButton;
Label2: TLabel;
diff --git a/A09财务通用管理/U_InvoiceOutInPut.dfm b/A09财务通用管理/U_InvoiceOutInPut.dfm
index 6eef86c..7ecb1c5 100644
--- a/A09财务通用管理/U_InvoiceOutInPut.dfm
+++ b/A09财务通用管理/U_InvoiceOutInPut.dfm
@@ -47,16 +47,24 @@ object frmInvoiceOutInPut: TfrmInvoiceOutInPut
ImageIndex = 2
OnClick = ToolButton1Click
end
- object ToolButton2: TToolButton
+ object ToolButton5: TToolButton
Left = 142
Top = 0
AutoSize = True
+ Caption = #24212#25910#27454
+ ImageIndex = 2
+ OnClick = ToolButton5Click
+ end
+ object ToolButton2: TToolButton
+ Left = 229
+ Top = 0
+ AutoSize = True
Caption = #21024#34892
ImageIndex = 6
OnClick = ToolButton2Click
end
object ToolButton4: TToolButton
- Left = 213
+ Left = 300
Top = 0
AutoSize = True
Caption = #23548#20837
@@ -64,7 +72,7 @@ object frmInvoiceOutInPut: TfrmInvoiceOutInPut
OnClick = ToolButton4Click
end
object ToolButton3: TToolButton
- Left = 284
+ Left = 371
Top = 0
AutoSize = True
Caption = #20445#23384#26684#24335
@@ -72,7 +80,7 @@ object frmInvoiceOutInPut: TfrmInvoiceOutInPut
OnClick = ToolButton3Click
end
object TBClose: TToolButton
- Left = 387
+ Left = 474
Top = 0
AutoSize = True
Caption = #20851#38381
@@ -98,11 +106,10 @@ object frmInvoiceOutInPut: TfrmInvoiceOutInPut
DataController.Summary.FooterSummaryItems = <
item
Kind = skSum
- Column = v1Qty
end
item
Kind = skSum
- Column = v1Money
+ Column = Tv1Amount
end
item
Kind = skSum
@@ -112,7 +119,7 @@ object frmInvoiceOutInPut: TfrmInvoiceOutInPut
end
item
Kind = skSum
- Column = v1Column4
+ Column = Tv1TaxAmount
end>
DataController.Summary.SummaryGroups = <>
OptionsCustomize.ColumnFiltering = False
@@ -121,7 +128,21 @@ object frmInvoiceOutInPut: TfrmInvoiceOutInPut
OptionsView.Footer = True
OptionsView.GroupByBox = False
OptionsView.Indicator = True
- object Tv1Column5: TcxGridDBColumn
+ object Tv1IVNo: TcxGridDBColumn
+ Caption = #21457#31080#21495#30721
+ DataBinding.FieldName = 'IVNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 77
+ end
+ object Tv1BGDNum: TcxGridDBColumn
+ Caption = #25253#20851#21333#21495#30721
+ DataBinding.FieldName = 'BGDNum'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 120
+ end
+ object Tv1IVDate: TcxGridDBColumn
Caption = #21457#31080#26085#26399
DataBinding.FieldName = 'IVDate'
DataBinding.IsNullValueType = True
@@ -129,14 +150,35 @@ object frmInvoiceOutInPut: TfrmInvoiceOutInPut
HeaderAlignmentHorz = taCenter
Width = 77
end
- object Tv1Column1: TcxGridDBColumn
- Caption = #21457#31080#21495#30721
- DataBinding.FieldName = 'IVNo'
+ object Tv1SupplierShuiNo: TcxGridDBColumn
+ Caption = #23458#25143#31246#21495
+ DataBinding.FieldName = 'SupplierShuiNo'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
- Width = 77
+ Width = 103
end
- object Tv1Column2: TcxGridDBColumn
+ object Tv1Supplier: TcxGridDBColumn
+ Caption = #23458#25143#21517#31216
+ DataBinding.FieldName = 'Supplier'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxButtonEditProperties'
+ Properties.Buttons = <
+ item
+ Default = True
+ Kind = bkEllipsis
+ end>
+ Properties.OnButtonClick = Tv1SupplierPropertiesButtonClick
+ HeaderAlignmentHorz = taCenter
+ Width = 109
+ end
+ object Tv1OurShuiNo: TcxGridDBColumn
+ Caption = #25105#26041#31246#21495
+ DataBinding.FieldName = 'OurShuiNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 114
+ end
+ object Tv1OurCoName: TcxGridDBColumn
Caption = #25105#26041#21333#20301
DataBinding.FieldName = 'OurCoName'
DataBinding.IsNullValueType = True
@@ -146,151 +188,10 @@ object frmInvoiceOutInPut: TfrmInvoiceOutInPut
Default = True
Kind = bkEllipsis
end>
- Properties.ReadOnly = True
- Properties.OnButtonClick = Tv1Column2PropertiesButtonClick
HeaderAlignmentHorz = taCenter
- Width = 82
+ Width = 130
end
- object Tv1Column4: TcxGridDBColumn
- Caption = #23545#26041#21333#20301
- DataBinding.FieldName = 'OppCoName'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxButtonEditProperties'
- Properties.Buttons = <
- item
- Default = True
- Kind = bkEllipsis
- end>
- Properties.ReadOnly = True
- Properties.OnButtonClick = Tv1Column4PropertiesButtonClick
- HeaderAlignmentHorz = taCenter
- Width = 86
- end
- object Tv1Column6: TcxGridDBColumn
- Caption = #19978#32423#21333#20301
- DataBinding.FieldName = 'OppParentCoName'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxButtonEditProperties'
- Properties.Buttons = <
- item
- Default = True
- Kind = bkEllipsis
- end>
- Properties.ReadOnly = True
- Properties.OnButtonClick = Tv1Column6PropertiesButtonClick
- HeaderAlignmentHorz = taCenter
- Width = 86
- end
- object Tv1Column3: TcxGridDBColumn
- Caption = #21457#31080#31867#22411
- DataBinding.FieldName = 'IVType'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxButtonEditProperties'
- Properties.Buttons = <
- item
- Default = True
- Kind = bkEllipsis
- end>
- Properties.OnButtonClick = Tv1Column3PropertiesButtonClick
- HeaderAlignmentHorz = taCenter
- Width = 80
- end
- object v1Column1: TcxGridDBColumn
- Caption = #20135#21697#32534#21495
- DataBinding.FieldName = 'F_Code'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Width = 80
- end
- object v1P_CodeName: TcxGridDBColumn
- Caption = #20135#21697#21517#31216
- DataBinding.FieldName = 'F_Name'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxButtonEditProperties'
- Properties.Buttons = <
- item
- Default = True
- Kind = bkEllipsis
- end>
- Properties.OnButtonClick = v1P_CodeNamePropertiesButtonClick
- HeaderAlignmentHorz = taCenter
- Width = 119
- end
- object v1P_Spec: TcxGridDBColumn
- Caption = #35268#26684
- DataBinding.FieldName = 'F_Spec'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Width = 103
- end
- object v1Qty: TcxGridDBColumn
- Caption = #25968#37327
- DataBinding.FieldName = 'Qty'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.OnEditValueChanged = v1QtyPropertiesEditValueChanged
- HeaderAlignmentHorz = taCenter
- Width = 83
- end
- object v1QtyUnit: TcxGridDBColumn
- Caption = #25968#37327#21333#20301
- DataBinding.FieldName = 'QtyUnit'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxButtonEditProperties'
- Properties.Buttons = <
- item
- Default = True
- Kind = bkEllipsis
- end>
- Properties.OnButtonClick = v1QtyUnitPropertiesButtonClick
- HeaderAlignmentHorz = taCenter
- Width = 90
- end
- object v1Price: TcxGridDBColumn
- Caption = #21333#20215
- DataBinding.FieldName = 'Price'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.OnEditValueChanged = v1QtyPropertiesEditValueChanged
- HeaderAlignmentHorz = taCenter
- Width = 93
- end
- object v1Money: TcxGridDBColumn
- Caption = #37329#39069
- DataBinding.FieldName = 'Amount'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxTextEditProperties'
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 81
- end
- object v1Column3: TcxGridDBColumn
- Caption = #31246#29575'(%)'
- DataBinding.FieldName = 'tax'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.OnEditValueChanged = v1QtyPropertiesEditValueChanged
- HeaderAlignmentHorz = taCenter
- Width = 70
- end
- object v1Column5: TcxGridDBColumn
- Caption = #31246#39069
- DataBinding.FieldName = 'TaxFee'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 53
- end
- object v1Column4: TcxGridDBColumn
- Caption = #21547#31246#37329#39069
- DataBinding.FieldName = 'TaxAmount'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.OnEditValueChanged = v1QtyPropertiesEditValueChanged
- HeaderAlignmentHorz = taCenter
- Width = 70
- end
- object Tv1Column8: TcxGridDBColumn
+ object Tv1Currency: TcxGridDBColumn
Caption = #24065#31181
DataBinding.FieldName = 'Currency'
DataBinding.IsNullValueType = True
@@ -299,15 +200,76 @@ object frmInvoiceOutInPut: TfrmInvoiceOutInPut
Properties.Items.Strings = (
'CNY'
'USD'
- 'EUR')
+ 'EUR'
+ 'VND')
HeaderAlignmentHorz = taCenter
+ Width = 85
end
- object Tv1Column7: TcxGridDBColumn
- Caption = #22791#27880
- DataBinding.FieldName = 'Note'
+ object Tv1Price: TcxGridDBColumn
+ Caption = #21333#20215
+ DataBinding.FieldName = 'Price'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DisplayFormat = '#,###.##'
+ HeaderAlignmentHorz = taCenter
+ Width = 93
+ end
+ object Tv1Amount: TcxGridDBColumn
+ Caption = #24635#37329#39069#26410#21547#31246
+ DataBinding.FieldName = 'Amount'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DisplayFormat = '#,###.##'
+ Properties.OnEditValueChanged = Tv1AmountPropertiesEditValueChanged
+ HeaderAlignmentHorz = taCenter
+ Width = 111
+ end
+ object Tv1TaxFee: TcxGridDBColumn
+ Caption = #31246#37329
+ DataBinding.FieldName = 'TaxFee'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DisplayFormat = '#,###.##'
+ Properties.OnEditValueChanged = Tv1AmountPropertiesEditValueChanged
+ HeaderAlignmentHorz = taCenter
+ Width = 65
+ end
+ object Tv1TaxAmount: TcxGridDBColumn
+ Caption = #24635#37329#39069#24050#21547#31246
+ DataBinding.FieldName = 'TaxAmount'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DisplayFormat = '#,###.##'
+ HeaderAlignmentHorz = taCenter
+ Width = 114
+ end
+ object Tv1BillCycle: TcxGridDBColumn
+ Caption = #36134#26399
+ DataBinding.FieldName = 'BillCycle'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
- Width = 66
+ Width = 80
+ end
+ object Tv1fromFlow: TcxGridDBColumn
+ Caption = #24212#25910#27454#20027#38190
+ DataBinding.FieldName = 'fromFlow'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 120
+ end
+ object Tv1OurCoNo: TcxGridDBColumn
+ Caption = #25105#26041#21333#20301#32534#21495
+ DataBinding.FieldName = 'OurCoNo'
+ DataBinding.IsNullValueType = True
+ Visible = False
+ Width = 80
+ end
+ object Tv1SupplierNo: TcxGridDBColumn
+ Caption = #20379#24212#21830#32534#21495
+ DataBinding.FieldName = 'SupplierNo'
+ DataBinding.IsNullValueType = True
+ Visible = False
+ Width = 80
end
end
object cxGridLevel1: TcxGridLevel
@@ -326,7 +288,6 @@ object frmInvoiceOutInPut: TfrmInvoiceOutInPut
Top = 268
end
object GPM_1: TcxGridPopupMenu
- Grid = cxGrid1
PopupMenus = <>
Left = 280
Top = 112
diff --git a/A09财务通用管理/U_InvoiceOutInPut.pas b/A09财务通用管理/U_InvoiceOutInPut.pas
index c663eb0..741c1c9 100644
--- a/A09财务通用管理/U_InvoiceOutInPut.pas
+++ b/A09财务通用管理/U_InvoiceOutInPut.pas
@@ -10,8 +10,8 @@ uses
cxGridDBTableView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB,
DBClient, ExtCtrls, StdCtrls, BtnEdit, cxButtonEdit, cxTextEdit,
cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxCalendar,
- dxDateRanges, dxBarBuiltInMenu, ComObj, dxSkinsCore, dxSkinsDefaultPainters,
- dxScrollbarAnnotations;
+ dxDateRanges, dxBarBuiltInMenu, ComObj, dxSkinsCore, dxSkinsDefaultPainters,
+ dxScrollbarAnnotations, cxCurrencyEdit;
type
TfrmInvoiceOutInPut = class(TForm)
@@ -21,34 +21,34 @@ type
ToolBar1: TToolBar;
TSave: TToolButton;
TBClose: TToolButton;
- cxGrid1: TcxGrid;
- Tv1: TcxGridDBTableView;
- v1P_CodeName: TcxGridDBColumn;
- v1P_Spec: TcxGridDBColumn;
- v1Qty: TcxGridDBColumn;
- v1Price: TcxGridDBColumn;
- v1QtyUnit: TcxGridDBColumn;
- cxGridLevel1: TcxGridLevel;
ADOQueryTmp: TADOQuery;
ADOQueryCmd: TADOQuery;
- v1Column1: TcxGridDBColumn;
- v1Column3: TcxGridDBColumn;
- v1Column4: TcxGridDBColumn;
- v1Column5: TcxGridDBColumn;
- Tv1Column1: TcxGridDBColumn;
- Tv1Column2: TcxGridDBColumn;
- Tv1Column3: TcxGridDBColumn;
- Tv1Column4: TcxGridDBColumn;
- Tv1Column5: TcxGridDBColumn;
- Tv1Column7: TcxGridDBColumn;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
- Tv1Column6: TcxGridDBColumn;
- Tv1Column8: TcxGridDBColumn;
ToolButton4: TToolButton;
OpenDialog1: TOpenDialog;
CDS_LM: TClientDataSet;
+ cxGrid1: TcxGrid;
+ Tv1: TcxGridDBTableView;
+ Tv1IVNo: TcxGridDBColumn;
+ Tv1BGDNum: TcxGridDBColumn;
+ Tv1IVDate: TcxGridDBColumn;
+ Tv1SupplierShuiNo: TcxGridDBColumn;
+ Tv1Supplier: TcxGridDBColumn;
+ Tv1OurShuiNo: TcxGridDBColumn;
+ Tv1OurCoName: TcxGridDBColumn;
+ Tv1Currency: TcxGridDBColumn;
+ Tv1Price: TcxGridDBColumn;
+ Tv1Amount: TcxGridDBColumn;
+ Tv1TaxFee: TcxGridDBColumn;
+ Tv1TaxAmount: TcxGridDBColumn;
+ Tv1BillCycle: TcxGridDBColumn;
+ Tv1fromFlow: TcxGridDBColumn;
+ Tv1OurCoNo: TcxGridDBColumn;
+ Tv1SupplierNo: TcxGridDBColumn;
+ cxGridLevel1: TcxGridLevel;
+ ToolButton5: TToolButton;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TSaveClick(Sender: TObject);
@@ -65,9 +65,13 @@ type
procedure ToolButton3Click(Sender: TObject);
procedure Tv1Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure ToolButton4Click(Sender: TObject);
+ procedure Tv1SupplierPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
+ procedure Tv1AmountPropertiesEditValueChanged(Sender: TObject);
+ procedure ToolButton5Click(Sender: TObject);
private
procedure initGrid();
- procedure SaveDate();
+ function SaveDate(): Boolean;
+ procedure SaveFlowInvoice();
{ Private declarations }
public
FIVID: string;
@@ -81,10 +85,9 @@ var
implementation
uses
- U_RTFun, U_ZDYHelp, U_CompanySel, U_dataLink;
+ U_RTFun, U_ZDYHelp, U_CompanySel, U_dataLink, U_GetableSel;
{$R *.dfm}
-
-procedure TfrmInvoiceOutInPut.SaveDate();
+function TfrmInvoiceOutInPut.SaveDate(): Boolean;
var
MaxNo: string;
begin
@@ -127,11 +130,57 @@ begin
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('SupplierNo').Value := Trim(CDS_Invoice.fieldbyname('SupplierNo').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;
+ with ADOQueryTmp do
+ begin
+ close;
+ sql.Clear;
+ sql.add('UPDATE Finance_FLOW SET NoTaxPrice =' + (Trim(CDS_Invoice.FieldByName('PRICE').AsString)));
+ SQL.Add(',Currency=' + QuotedStr(Trim(CDS_Invoice.FieldByName('Currency').AsString)));
+ sql.Add(' where EXISTS (select SP.RTValue from [dbo].[F_Tool_SplitString](' + quotedstr(CDS_Invoice.FieldByName('fromFlow').AsString) + ','','') SP where SP.RTValue=Finance_FLOW.FFID )');
+ // SQL.ADD('AND ISNULL(STATUS,''0'')=''0''');
+ ExecSQL;
+ end;
+ with ADOQueryTmp do
+ begin
+ close;
+ sql.Clear;
+ sql.add('UPDATE Finance_FLOW SET NoTaxInclude=NoTaxPrice*QTY ');
+
+ sql.Add(' where EXISTS (select SP.RTValue from [dbo].[F_Tool_SplitString](' + quotedstr(CDS_Invoice.FieldByName('fromFlow').AsString) + ','','') SP where SP.RTValue=Finance_FLOW.FFID )');
+ // SQL.ADD('AND ISNULL(STATUS,''0'')=''0''');
+ ExecSQL;
+ end;
+
+ with ADOQueryTmp do
+ begin
+ close;
+ sql.Clear;
+ sql.add('UPDATE Finance_FLOW SET Tax=NoTaxInclude*TaxRate/100 ');
+
+ sql.Add(' where EXISTS (select SP.RTValue from [dbo].[F_Tool_SplitString](' + quotedstr(CDS_Invoice.FieldByName('fromFlow').AsString) + ','','') SP where SP.RTValue=Finance_FLOW.FFID )');
+ // SQL.ADD('AND ISNULL(STATUS,''0'')=''0''');
+ ExecSQL;
+ end;
+ with ADOQueryTmp do
+ begin
+ close;
+ sql.Clear;
+ sql.add('UPDATE Finance_FLOW SET TaxInclude=NoTaxInclude+Tax ');
+
+ sql.Add(' where EXISTS (select SP.RTValue from [dbo].[F_Tool_SplitString](' + quotedstr(CDS_Invoice.FieldByName('fromFlow').AsString) + ','','') SP where SP.RTValue=Finance_FLOW.FFID )');
+ // SQL.ADD('AND ISNULL(STATUS,''0'')=''0''');
+ ExecSQL;
+ end;
next;
end;
end;
@@ -188,9 +237,9 @@ begin
application.MessageBox('发票号不能为空', '提示');
exit;
end;
- if CDS_Invoice.Locate('IVType', null, []) then
+ if CDS_Invoice.Locate('IVDate', null, []) then
begin
- application.MessageBox('发票类型不能为空', '提示');
+ application.MessageBox('发票日期不能为空', '提示');
exit;
end;
if CDS_Invoice.Locate('OurCoName', null, []) then
@@ -198,12 +247,81 @@ begin
application.MessageBox('我方单位不能为空', '提示');
exit;
end;
- if CDS_Invoice.Locate('OppCoName', null, []) then
- begin
- application.MessageBox('对方单位不能为空', '提示');
- exit;
+ try
+ CDS_Invoice.First; // 移到第一条记录
+ while not CDS_Invoice.Eof do
+ begin
+ 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;
+ CDS_Invoice.Next; // 下一条记录
+ end;
+ finally
+ CDS_Invoice.EnableControls; // 恢复UI更新
+ end;
+ if SaveDate() then
+ begin
+ SaveFlowInvoice();
+ Modalresult := 1;
+ end;
+
+end;
+
+procedure TfrmInvoiceOutInPut.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;
- SaveDate();
end;
procedure TfrmInvoiceOutInPut.v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
@@ -313,6 +431,59 @@ begin
frmInvoiceOutInPut := nil;
end;
+procedure TfrmInvoiceOutInPut.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, 3);
+
+ 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 TfrmInvoiceOutInPut.Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
@@ -376,6 +547,29 @@ begin
end;
procedure TfrmInvoiceOutInPut.Tv1Column6PropertiesButtonClick(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(frmCompanySel.CDS_1.fieldbyname('CoName').AsString);
+ CDS_Invoice.FieldByName('SupplierShuiNo').Value := Trim(frmCompanySel.CDS_1.fieldbyname('ShuiNo').AsString);
+ CDS_Invoice.FieldByName('SupplierNo').Value := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString);
+
+ CDS_Invoice.FieldByName('BillCycle').Value := Trim(frmCompanySel.CDS_1.fieldbyname('BillCycle').AsString);
+ CDS_Invoice.Post;
+ end;
+ end;
+ finally
+ frmCompanySel.Free;
+ end;
+end;
+
+procedure TfrmInvoiceOutInPut.Tv1SupplierPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmCompanySel := TfrmCompanySel.Create(Application);
@@ -384,9 +578,13 @@ 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);
+ CDS_Invoice.Edit;
+ CDS_Invoice.FieldByName('Supplier').Value := Trim(frmCompanySel.CDS_1.fieldbyname('CoName').AsString);
+ CDS_Invoice.FieldByName('SupplierShuiNo').Value := Trim(frmCompanySel.CDS_1.fieldbyname('ShuiNo').AsString);
+ CDS_Invoice.FieldByName('SupplierNo').Value := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString);
+
+ CDS_Invoice.FieldByName('BillCycle').Value := Trim(frmCompanySel.CDS_1.fieldbyname('BillCycle').AsString);
+ CDS_Invoice.Post;
end;
end;
finally
@@ -397,7 +595,8 @@ end;
procedure TfrmInvoiceOutInPut.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;
@@ -407,8 +606,12 @@ begin
CDS_Invoice.FieldByName('Price').Value := 0;
CDS_Invoice.FieldByName('tax').Value := 13;
CDS_Invoice.FieldByName('Currency').Value := 'CNY';
- CDS_Invoice.Post;
+ Self.CDS_Invoice.FieldByName('OurCoName').value := 'DESHINE VIETNAM CO., LTD';
+ Self.CDS_Invoice.FieldByName('OurCoNo').value := 'W0001';
+ Self.CDS_Invoice.FieldByName('OurShuiNo').value := '1102083046';
+
+ CDS_Invoice.Post;
end;
procedure TfrmInvoiceOutInPut.ToolButton2Click(Sender: TObject);
@@ -503,7 +706,10 @@ begin
end;
// CDS_Invoice.fieldbyname('OurCoNo').Value := '91330602MA2JTEXX4B';
// CDS_Invoice.fieldbyname('OurCoName').Value := '圆中圆';
- CDS_Invoice.FieldByName('Currency').Value := 'CNY';
+ if CDS_Invoice.FieldByName('IVNo').AsString = '' then
+ begin
+ CDS_Invoice.Delete;
+ end;
Post;
end;
end;
@@ -521,5 +727,56 @@ begin
end;
+procedure TfrmInvoiceOutInPut.ToolButton5Click(Sender: TObject);
+begin
+ try
+ frmGetableSel := TfrmGetableSel.Create(Application);
+ with frmGetableSel do
+ begin
+ if ShowModal = 1 then
+ begin
+// frmPayableSel.CDS_1.first;
+ CDS_1.Locate('ssel', True, []);
+ with frmGetableSel.CDS_1 do
+ begin
+ self.CDS_Invoice.Append;
+
+ Self.CDS_Invoice.FieldByName('Supplier').value := frmGetableSel.CDS_1.FieldByName('OppCoName').AsString;
+ Self.CDS_Invoice.FieldByName('SupplierNo').value := frmGetableSel.CDS_1.FieldByName('OppCoNo').AsString;
+ Self.CDS_Invoice.FieldByName('SupplierShuiNo').value := frmGetableSel.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('OurCoName').value := 'DESHINE VIETNAM CO., LTD';
+ Self.CDS_Invoice.FieldByName('OurCoNo').value := 'W0001';
+ Self.CDS_Invoice.FieldByName('OurShuiNo').value := '1102083046';
+
+ Self.CDS_Invoice.FieldByName('Currency').value := frmGetableSel.CDS_1.FieldByName('Currency').AsString;
+
+ Self.CDS_Invoice.FieldByName('BillCycle').value := frmGetableSel.CDS_1.FieldByName('BillCycle').AsString;
+
+ if frmGetableSel.CDS_1.FieldByName('NoTaxPrice').AsString <> '' then
+ begin
+ Self.CDS_Invoice.FieldByName('Price').value := frmGetableSel.CDS_1.FieldByName('NoTaxPrice').AsString;
+ end
+ else
+ begin
+ Self.CDS_Invoice.FieldByName('Price').value := 0;
+ end;
+
+ Self.CDS_Invoice.FieldByName('Amount').value := frmGetableSel.FNoTaxInclude;
+ Self.CDS_Invoice.FieldByName('TaxFee').value := frmGetableSel.FTax;
+ Self.CDS_Invoice.FieldByName('TaxAmount').value := frmGetableSel.FTaxInclude;
+ self.CDS_Invoice.FieldByName('fromFlow').Value := frmGetableSel.FFFIDs;
+ Self.CDS_Invoice.post;
+ end;
+ end;
+ end;
+ finally
+ frmGetableSel.Free;
+ end;
+end;
+
end.
diff --git a/A09财务通用管理/U_InvoiceOutList.dfm b/A09财务通用管理/U_InvoiceOutList.dfm
index 0cbeb98..a1f71be 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 = 99
+ ButtonWidth = 95
Caption = 'ToolBar1'
Color = clWhite
DisabledImages = DataLink_Financial.cxImageList_bar
@@ -27,7 +27,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
List = True
ParentColor = False
ShowCaptions = True
- TabOrder = 4
+ TabOrder = 3
object TBRafresh: TToolButton
Left = 0
Top = 0
@@ -37,7 +37,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TBRafreshClick
end
object ToolButton2: TToolButton
- Left = 71
+ Left = 63
Top = 0
AutoSize = True
Caption = #36807#28388
@@ -45,7 +45,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = ToolButton2Click
end
object TADD: TToolButton
- Left = 142
+ Left = 126
Top = 0
AutoSize = True
Caption = #26032#22686
@@ -53,7 +53,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TADDClick
end
object TUPDATE: TToolButton
- Left = 213
+ Left = 189
Top = 0
AutoSize = True
Caption = #20462#25913
@@ -61,7 +61,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TUPDATEClick
end
object TBDEL: TToolButton
- Left = 284
+ Left = 252
Top = 0
AutoSize = True
Caption = #21024#38500
@@ -69,7 +69,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TBDELClick
end
object TSel: TToolButton
- Left = 355
+ Left = 315
Top = 0
AutoSize = True
Caption = #26597#30475
@@ -77,7 +77,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TSelClick
end
object TCHK: TToolButton
- Left = 426
+ Left = 378
Top = 0
AutoSize = True
Caption = #23457#26680
@@ -85,7 +85,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TCHKClick
end
object TNOCHK: TToolButton
- Left = 497
+ Left = 441
Top = 0
AutoSize = True
Caption = #25764#38144#23457#26680
@@ -93,7 +93,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = TNOCHKClick
end
object ToolButton4: TToolButton
- Left = 600
+ Left = 528
Top = 0
AutoSize = True
Caption = #25171#21360
@@ -102,7 +102,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = ToolButton4Click
end
object ToolButton5: TToolButton
- Left = 671
+ Left = 591
Top = 0
AutoSize = True
Caption = #38468#20214
@@ -110,7 +110,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = ToolButton5Click
end
object ToolButton1: TToolButton
- Left = 742
+ Left = 654
Top = 0
AutoSize = True
Caption = #23548#20986
@@ -118,15 +118,23 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
OnClick = ToolButton1Click
end
object ToolButton3: TToolButton
- Left = 813
+ Left = 717
Top = 0
AutoSize = True
Caption = #20445#23384#26684#24335
ImageIndex = 16
OnClick = ToolButton3Click
end
+ object ToolButton6: TToolButton
+ Left = 804
+ Top = 0
+ AutoSize = True
+ Caption = #20851#32852#24212#25910#27454
+ ImageIndex = 52
+ OnClick = ToolButton6Click
+ end
object TBClose: TToolButton
- Left = 916
+ Left = 903
Top = 0
AutoSize = True
Caption = #20851#38381
@@ -144,43 +152,43 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
BevelOuter = bvLowered
Color = clWhite
ParentBackground = False
- TabOrder = 5
+ TabOrder = 4
object Label3: TLabel
- Left = 244
+ Left = 272
Top = 8
Width = 64
Height = 21
Caption = #21457#31080#21495#30721
end
object Label5: TLabel
- Left = 471
+ Left = 515
Top = 8
Width = 64
Height = 21
Caption = #23545#26041#21333#20301
end
object Label7: TLabel
- Left = 714
+ Left = 755
Top = 8
Width = 64
Height = 21
Caption = #25105#26041#21333#20301
end
object Label8: TLabel
- Left = 468
+ Left = 512
Top = 38
Width = 67
Height = 21
Caption = #35268' '#26684
end
object Label9: TLabel
- Left = 244
+ Left = 272
Top = 38
Width = 64
Height = 21
Caption = #20135#21697#21517#31216
end
- object Label1: TLabel
+ object Label2: TLabel
Left = 82
Top = 38
Width = 16
@@ -196,37 +204,37 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
end
object F_Name: TcxTextEdit
Tag = 2
- Left = 311
+ Left = 338
Top = 34
- TabOrder = 3
+ TabOrder = 0
Width = 150
end
object IVNo: TcxTextEdit
Tag = 2
- Left = 311
- Top = 4
- TabOrder = 0
- Width = 150
- end
- object F_Spec: TcxTextEdit
- Tag = 2
- Left = 537
- Top = 34
- TabOrder = 4
- Width = 150
- end
- object OppCoName: TcxTextEdit
- Tag = 2
- Left = 537
+ Left = 338
Top = 4
TabOrder = 1
Width = 150
end
+ object F_Spec: TcxTextEdit
+ Tag = 2
+ Left = 581
+ Top = 34
+ TabOrder = 2
+ Width = 150
+ end
+ object Supplier: TcxTextEdit
+ Tag = 2
+ Left = 581
+ Top = 4
+ TabOrder = 3
+ Width = 150
+ end
object OurCoName: TcxTextEdit
Tag = 2
- Left = 781
+ Left = 822
Top = 4
- TabOrder = 2
+ TabOrder = 4
Width = 150
end
object begdate: TcxDateEdit
@@ -244,14 +252,37 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
Width = 120
end
end
- object cxGrid1: TcxGrid [2]
+ object cxTabControl1: TcxTabControl [2]
+ Left = 0
+ Top = 97
+ Width = 1558
+ Height = 29
+ Align = alTop
+ TabOrder = 2
+ Properties.CustomButtons.Buttons = <>
+ Properties.Style = 11
+ Properties.TabIndex = 0
+ Properties.Tabs.Strings = (
+ #26410#23457#26680
+ #24050#23457#26680
+ #20840#37096)
+ LookAndFeel.Kind = lfUltraFlat
+ OnChange = cxTabControl1Change
+ ClientRectRight = 0
+ ClientRectTop = 0
+ end
+ inherited cxProgressBar2: TcxProgressBar
+ ExplicitHeight = 29
+ end
+ object cxGrid1: TcxGrid [5]
Left = 0
Top = 126
Width = 1558
Height = 500
Align = alClient
PopupMenu = PopupMenu1
- TabOrder = 3
+ TabOrder = 5
+ ExplicitTop = 132
object Tv1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
@@ -280,24 +311,24 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
end
item
Kind = skSum
- Column = v1Column12
end
item
Kind = skSum
- Column = v1Column15
+ Column = Tv1Amount
end
item
Kind = skSum
- Column = v1Column17
+ Column = Tv1TaxFee
end
item
Kind = skSum
- Column = v1Column18
+ Column = Tv1TaxAmount
end>
DataController.Summary.SummaryGroups = <>
OptionsCustomize.ColumnFiltering = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
+ OptionsView.Indicator = True
object v1Column3: TcxGridDBColumn
Caption = #36873#25321
DataBinding.FieldName = 'SSel'
@@ -306,7 +337,7 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
HeaderAlignmentHorz = taCenter
Width = 49
end
- object v1InvoiceNo: TcxGridDBColumn
+ object Tv1IVNo: TcxGridDBColumn
Caption = #21457#31080#21495#30721
DataBinding.FieldName = 'IVNo'
DataBinding.IsNullValueType = True
@@ -314,7 +345,14 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
Options.Editing = False
Width = 77
end
- object v1InvoiceDate: TcxGridDBColumn
+ object Tv1BGDNum: TcxGridDBColumn
+ Caption = #25253#20851#21333#21495#30721
+ DataBinding.FieldName = 'BGDNum'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 101
+ end
+ object Tv1IVDate: TcxGridDBColumn
Caption = #21457#31080#26085#26399
DataBinding.FieldName = 'IVDate'
DataBinding.IsNullValueType = True
@@ -322,15 +360,28 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
Options.Editing = False
Width = 79
end
- object v1InvoiceType: TcxGridDBColumn
- Caption = #21457#31080#31867#22411
- DataBinding.FieldName = 'IVType'
+ object Tv1SupplierShuiNo: TcxGridDBColumn
+ Caption = #23458#25143#31246#21495
+ DataBinding.FieldName = 'SupplierShuiNo'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 92
+ Width = 100
end
- object v1Column2: TcxGridDBColumn
+ object Tv1Supplier: TcxGridDBColumn
+ Caption = #23458#25143#21517#31216
+ DataBinding.FieldName = 'Supplier'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 107
+ end
+ object Tv1OurShuiNo: TcxGridDBColumn
+ Caption = #25105#26041#31246#21495
+ DataBinding.FieldName = 'OurShuiNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 80
+ end
+ object Tv1OurCoName: TcxGridDBColumn
Caption = #25105#26041#21333#20301
DataBinding.FieldName = 'OurCoName'
DataBinding.IsNullValueType = True
@@ -338,156 +389,104 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
Options.Editing = False
Width = 83
end
- object v1FactoryName: TcxGridDBColumn
- Caption = #23545#26041#21333#20301
- DataBinding.FieldName = 'OppCoName'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 83
- end
- object v1Column1: TcxGridDBColumn
- Caption = #19978#32423#21333#20301
- DataBinding.FieldName = 'OppParentCoName'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 99
- end
- object v1Column8: TcxGridDBColumn
- Caption = #25805#20316#21592
- DataBinding.FieldName = 'Filler'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Width = 55
- end
- object v1Column9: TcxGridDBColumn
- Caption = #20135#21697#32534#21495
- DataBinding.FieldName = 'F_Code'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Width = 71
- end
- object v1Column10: TcxGridDBColumn
- Caption = #20135#21697#21517#31216
- DataBinding.FieldName = 'F_Name'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Width = 72
- end
- object v1Column11: TcxGridDBColumn
- Caption = #35268#26684
- DataBinding.FieldName = 'F_Spec'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Width = 65
- end
- object v1Column12: TcxGridDBColumn
- Caption = #25968#37327
- DataBinding.FieldName = 'Qty'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.OnEditValueChanged = v1Column14PropertiesEditValueChanged
- HeaderAlignmentHorz = taCenter
- Width = 57
- end
- object v1Column13: TcxGridDBColumn
- Caption = #21333#20301
- DataBinding.FieldName = 'QtyUnit'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Width = 63
- end
- object v1Column14: TcxGridDBColumn
- Caption = #21333#20215
- DataBinding.FieldName = 'Price'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.OnEditValueChanged = v1Column14PropertiesEditValueChanged
- HeaderAlignmentHorz = taCenter
- Width = 44
- end
- object v1Column15: TcxGridDBColumn
- Caption = #37329#39069
- DataBinding.FieldName = 'Amount'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Width = 54
- end
- object v1Column17: TcxGridDBColumn
- Caption = #31246#39069
- DataBinding.FieldName = 'TaxFee'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Width = 62
- end
- object v1Column18: TcxGridDBColumn
- Caption = #21547#31246#37329#39069
- DataBinding.FieldName = 'TaxAmount'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.OnEditValueChanged = v1Column14PropertiesEditValueChanged
- HeaderAlignmentHorz = taCenter
- end
- object v1Column19: TcxGridDBColumn
- Caption = #31246#29575'(%)'
- DataBinding.FieldName = 'tax'
- DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.OnEditValueChanged = v1Column14PropertiesEditValueChanged
- HeaderAlignmentHorz = taCenter
- end
- object v1note: TcxGridDBColumn
- Caption = #22791#27880
- DataBinding.FieldName = 'note'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 114
- end
object Tv1Column1: TcxGridDBColumn
Caption = #24065#31181
DataBinding.FieldName = 'Currency'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Options.Editing = False
- Width = 74
+ Width = 69
+ end
+ object v1Column14: TcxGridDBColumn
+ Caption = #21333#20215
+ DataBinding.FieldName = 'Price'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DisplayFormat = '#,###.##'
+ HeaderAlignmentHorz = taCenter
+ Width = 57
+ end
+ object Tv1Amount: TcxGridDBColumn
+ Caption = #24635#37329#39069#26410#21547#31246
+ DataBinding.FieldName = 'Amount'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DisplayFormat = '#,###.##'
+ HeaderAlignmentHorz = taCenter
+ Width = 124
+ end
+ object Tv1TaxFee: TcxGridDBColumn
+ Caption = #31246#37329
+ DataBinding.FieldName = 'TaxFee'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DisplayFormat = '#,###.##'
+ HeaderAlignmentHorz = taCenter
+ Width = 62
+ end
+ object Tv1TaxAmount: TcxGridDBColumn
+ Caption = #24635#37329#39069#24050#21547#31246
+ DataBinding.FieldName = 'TaxAmount'
+ DataBinding.IsNullValueType = True
+ PropertiesClassName = 'TcxCurrencyEditProperties'
+ Properties.DisplayFormat = '#,###.##'
+ HeaderAlignmentHorz = taCenter
+ Width = 114
+ end
+ object Tv1BillCycle: TcxGridDBColumn
+ Caption = #36134#26399
+ DataBinding.FieldName = 'BillCycle'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 65
+ end
+ object Tv1PayDate: TcxGridDBColumn
+ Caption = #21040#26399#25910#27454#26085
+ DataBinding.FieldName = 'PayDate'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 101
end
object Tv1Column2: TcxGridDBColumn
- Caption = #38468#20214
- DataBinding.FieldName = 'FJFlag'
+ Caption = #23457#26680#29366#24577
+ DataBinding.FieldName = 'checkStatus'
DataBinding.IsNullValueType = True
- PropertiesClassName = 'TcxCheckBoxProperties'
HeaderAlignmentHorz = taCenter
- Options.Editing = False
+ Width = 88
+ end
+ object Tv1Chker: TcxGridDBColumn
+ Caption = #23457#26680#20154
+ DataBinding.FieldName = 'Chker'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 94
+ end
+ object Tv1Chktime: TcxGridDBColumn
+ Caption = #23457#26680#26102#38388
+ DataBinding.FieldName = 'Chktime'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 87
+ end
+ object Tv1PayStatus: TcxGridDBColumn
+ Caption = #25910#27454#29366#24577
+ DataBinding.FieldName = 'PayStatus'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 78
+ end
+ object Tv1PayTime: TcxGridDBColumn
+ Caption = #25910#27454#26085#26399
+ DataBinding.FieldName = 'PayTime'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 78
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv1
end
end
- object cxTabControl1: TcxTabControl [3]
- Left = 0
- Top = 97
- Width = 1558
- Height = 29
- Align = alTop
- TabOrder = 2
- Properties.CustomButtons.Buttons = <>
- Properties.Style = 11
- Properties.TabIndex = 0
- Properties.Tabs.Strings = (
- #26410#23457#26680
- #24050#23457#26680
- #20840#37096)
- LookAndFeel.Kind = lfUltraFlat
- OnChange = cxTabControl1Change
- ClientRectRight = 0
- ClientRectTop = 0
- end
- inherited cxProgressBar2: TcxProgressBar
- ExplicitHeight = 29
- end
inherited ADOQueryBaseCmd: TADOQuery
Connection = DataLink_Financial.ADOLink
Left = 161
@@ -544,7 +543,6 @@ inherited frmInvoiceOutList: TfrmInvoiceOutList
Top = 268
end
object cxGridPopupMenu2: TcxGridPopupMenu
- Grid = cxGrid1
PopupMenus = <>
Left = 440
Top = 324
diff --git a/A09财务通用管理/U_InvoiceOutList.pas b/A09财务通用管理/U_InvoiceOutList.pas
index c279b3f..fe0de22 100644
--- a/A09财务通用管理/U_InvoiceOutList.pas
+++ b/A09财务通用管理/U_InvoiceOutList.pas
@@ -13,10 +13,9 @@ uses
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxDropDownEdit, cxPC, RM_e_Xls, Menus, cxLookAndFeels,
- cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu,
- dxDateRanges, U_BaseList, Vcl.Clipbrd, cxContainer,
- dxCore, cxDateUtils, dxSkinsCore, dxSkinsDefaultPainters,
- dxScrollbarAnnotations, cxProgressBar;
+ cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxDateRanges, U_BaseList,
+ Vcl.Clipbrd, cxContainer, dxCore, cxDateUtils, dxSkinsCore,
+ dxSkinsDefaultPainters, dxScrollbarAnnotations, cxProgressBar, cxCurrencyEdit;
type
TfrmInvoiceOutList = class(TfrmBaseList)
@@ -27,67 +26,67 @@ type
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
- F_Name: TcxTextEdit;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
- Label3: TLabel;
- IVNo: TcxTextEdit;
- cxGrid1: TcxGrid;
- Tv1: TcxGridDBTableView;
- cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_Invoice: TDataSource;
CDS_Invoice: TClientDataSet;
TADD: TToolButton;
TUPDATE: TToolButton;
TBDEL: TToolButton;
- v1InvoiceNo: TcxGridDBColumn;
- v1InvoiceType: TcxGridDBColumn;
- v1InvoiceDate: TcxGridDBColumn;
- v1FactoryName: TcxGridDBColumn;
- v1note: TcxGridDBColumn;
- F_Spec: TcxTextEdit;
- Label5: TLabel;
- OppCoName: TcxTextEdit;
TCHK: TToolButton;
TNOCHK: TToolButton;
cxTabControl1: TcxTabControl;
TSel: TToolButton;
- v1Column1: TcxGridDBColumn;
- v1Column2: TcxGridDBColumn;
RMXLSExport1: TRMXLSExport;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ToolButton4: TToolButton;
- v1Column3: TcxGridDBColumn;
ADOQueryPrint: TADOQuery;
- Label7: TLabel;
- OurCoName: TcxTextEdit;
- Label8: TLabel;
- Label9: TLabel;
- v1Column8: TcxGridDBColumn;
- v1Column9: TcxGridDBColumn;
- v1Column10: TcxGridDBColumn;
- v1Column11: TcxGridDBColumn;
- v1Column12: TcxGridDBColumn;
- v1Column13: TcxGridDBColumn;
- v1Column14: TcxGridDBColumn;
- v1Column15: TcxGridDBColumn;
- v1Column17: TcxGridDBColumn;
- v1Column18: TcxGridDBColumn;
- v1Column19: TcxGridDBColumn;
ToolButton3: TToolButton;
N3: TMenuItem;
- Tv1Column1: TcxGridDBColumn;
ToolButton5: TToolButton;
+ cxGrid1: TcxGrid;
+ Tv1: TcxGridDBTableView;
+ v1Column3: TcxGridDBColumn;
+ Tv1IVNo: TcxGridDBColumn;
+ Tv1BGDNum: TcxGridDBColumn;
+ Tv1IVDate: TcxGridDBColumn;
+ Tv1SupplierShuiNo: TcxGridDBColumn;
+ Tv1Supplier: TcxGridDBColumn;
+ Tv1OurShuiNo: TcxGridDBColumn;
+ Tv1OurCoName: TcxGridDBColumn;
+ Tv1Column1: TcxGridDBColumn;
+ v1Column14: TcxGridDBColumn;
+ Tv1Amount: TcxGridDBColumn;
+ Tv1TaxFee: TcxGridDBColumn;
+ Tv1TaxAmount: TcxGridDBColumn;
+ Tv1BillCycle: TcxGridDBColumn;
+ Tv1PayDate: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
- Label1: TLabel;
+ Tv1Chker: TcxGridDBColumn;
+ Tv1Chktime: TcxGridDBColumn;
+ Tv1PayStatus: TcxGridDBColumn;
+ Tv1PayTime: TcxGridDBColumn;
+ cxGridLevel1: TcxGridLevel;
+ Label3: TLabel;
+ Label5: TLabel;
+ Label7: TLabel;
+ Label8: TLabel;
+ Label9: TLabel;
+ Label2: TLabel;
+ Label4: TLabel;
+ F_Name: TcxTextEdit;
+ IVNo: TcxTextEdit;
+ F_Spec: TcxTextEdit;
+ Supplier: TcxTextEdit;
+ OurCoName: TcxTextEdit;
begdate: TcxDateEdit;
Enddate: TcxDateEdit;
- Label4: TLabel;
+ ToolButton6: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
@@ -111,6 +110,8 @@ type
procedure ToolButton3Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
+ procedure ToolButton6Click(Sender: TObject);
+ procedure SaveFlowInvoice(const IVID, FFFIDs: string);
private
{ Private declarations }
@@ -128,7 +129,7 @@ implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_InvoiceOutInPut, U_LabelPrint,
- U_AttachmentUpload;
+ U_AttachmentUpload, U_GetableSel;
{$R *.dfm}
@@ -562,6 +563,151 @@ begin
end;
end;
+procedure TfrmInvoiceOutList.ToolButton6Click(Sender: TObject);
+var
+ mIVId, mffIDS: string;
+begin
+ if CDS_Invoice.Locate('ssel', True, []) = false then
+ begin
+ Application.MessageBox('ѡ', 'ʾϢ', MB_OK);
+ Exit;
+ end;
+ try
+
+ CDS_Invoice.Locate('ssel', True, []);
+
+ mIVId := CDS_Invoice.fieldByName('IVId').AsString;
+ with ADOQueryCmd do
+ begin
+ Close;
+ sql.Clear;
+ sql.add(' select * from Finance_Invoice where IVId = ' + QuotedStr(Trim(mIVId)));
+ Open;
+ end;
+
+ frmGetableSel := TfrmGetableSel.Create(Application);
+ with frmGetableSel do
+ begin
+ if ShowModal = 1 then
+ begin
+ with frmGetableSel.CDS_1 do
+ begin
+ self.ADOQueryCmd.Edit;
+// self.ADOQueryCmd.FieldByName('Supplier').AsString := frmPayableSel.CDS_1.FieldByName('OppCoName').AsString;
+// self.ADOQueryCmd.FieldByName('SupplierNo').AsString := frmPayableSel.CDS_1.FieldByName('OppCoNo').AsString;
+// self.ADOQueryCmd.FieldByName('SupplierShuiNo').AsString := frmPayableSel.CDS_1.FieldByName('oppShuiNo').AsString;
+// self.ADOQueryCmd.FieldByName('OurCoName').AsString := frmPayableSel.CDS_1.FieldByName('OurCoName').AsString;
+// self.ADOQueryCmd.FieldByName('OurCoNo').AsString := frmPayableSel.CDS_1.FieldByName('OurCoNo').AsString;
+// self.ADOQueryCmd.FieldByName('OurShuiNo').AsString := frmPayableSel.CDS_1.FieldByName('ourShuiNo').AsString;
+
+// self.ADOQueryCmd.FieldByName('Currency').AsString := frmPayableSel.CDS_1.FieldByName('Currency').AsString;
+// self.ADOQueryCmd.FieldByName('BillCycle').AsString := frmPayableSel.CDS_1.FieldByName('BillCycle').AsString;
+
+// if frmPayableSel.CDS_1.FieldByName('NoTaxPrice').AsString <> '' then
+// begin
+// Self.ADOQueryCmd.FieldByName('Price').value := frmPayableSel.CDS_1.FieldByName('NoTaxPrice').AsString;
+// end
+// else
+// begin
+// Self.ADOQueryCmd.FieldByName('Price').value := 0;
+// end;
+// Self.ADOQueryCmd.FieldByName('Amount').value := frmPayableSel.FNoTaxInclude;
+// Self.ADOQueryCmd.FieldByName('TaxFee').value := frmPayableSel.FTax;
+// Self.ADOQueryCmd.FieldByName('TaxAmount').value := frmPayableSel.FTaxInclude;
+ self.ADOQueryCmd.FieldByName('fromFlow').Value := frmGetableSel.FFFIDs;
+ mffIDS := frmGetableSel.FFFIDs;
+
+ with ADOQueryTemp do
+ begin
+ close;
+ sql.Clear;
+ sql.add('UPDATE Finance_FLOW SET NoTaxPrice =' + (Trim(CDS_Invoice.FieldByName('PRICE').AsString)));
+ SQL.Add(',Currency=' + QuotedStr(Trim(CDS_Invoice.FieldByName('Currency').AsString)));
+ sql.Add(' where EXISTS (select SP.RTValue from [dbo].[F_Tool_SplitString](' + quotedstr(mffIDS) + ','','') SP where SP.RTValue=Finance_FLOW.FFID )');
+ // SQL.ADD('AND ISNULL(STATUS,''0'')=''0''');
+ ExecSQL;
+ end;
+ with ADOQueryTemp do
+ begin
+ close;
+ sql.Clear;
+ sql.add('UPDATE Finance_FLOW SET NoTaxInclude=NoTaxPrice*QTY ');
+
+ sql.Add(' where EXISTS (select SP.RTValue from [dbo].[F_Tool_SplitString](' + quotedstr(mffIDS) + ','','') SP where SP.RTValue=Finance_FLOW.FFID )');
+ // SQL.ADD('AND ISNULL(STATUS,''0'')=''0''');
+ ExecSQL;
+ end;
+
+ with ADOQueryTemp do
+ begin
+ close;
+ sql.Clear;
+ sql.add('UPDATE Finance_FLOW SET Tax=NoTaxInclude*TaxRate/100 ');
+
+ sql.Add(' where EXISTS (select SP.RTValue from [dbo].[F_Tool_SplitString](' + quotedstr(mffIDS) + ','','') SP where SP.RTValue=Finance_FLOW.FFID )');
+ // SQL.ADD('AND ISNULL(STATUS,''0'')=''0''');
+ ExecSQL;
+ end;
+ with ADOQueryTemp do
+ begin
+ close;
+ sql.Clear;
+ sql.add('UPDATE Finance_FLOW SET TaxInclude=NoTaxInclude+Tax ');
+
+ sql.Add(' where EXISTS (select SP.RTValue from [dbo].[F_Tool_SplitString](' + quotedstr(mffIDS) + ','','') SP where SP.RTValue=Finance_FLOW.FFID )');
+ // SQL.ADD('AND ISNULL(STATUS,''0'')=''0''');
+ ExecSQL;
+ end;
+
+ self.ADOQueryCmd.Post;
+ end;
+ end;
+ end;
+ finally
+ frmGetableSel.Free;
+ SaveFlowInvoice(mIVId, mffIDS);
+ end;
+
+end;
+
+procedure TfrmInvoiceOutList.SaveFlowInvoice(const IVID, fffIDS: string);
+begin
+ if CDS_Invoice.IsEmpty then
+ Exit;
+ if fffIDS = '' then
+ Exit;
+
+ // ʼʹADO
+ ADOQueryCmd.Connection.BeginTrans;
+ try
+ CDS_Invoice.DisableControls;
+
+ // ʹòѯ
+ with ADOQueryCmd do
+ begin
+ Close;
+ SQL.Text := 'delete from Finance_FlowInvoice where IVID = :IVID';
+ Parameters.ParamByName('IVID').Value := Trim(IVID);
+ ExecSQL;
+
+ Close;
+ SQL.Text := 'exec P_InsertFinanceFlowInvoice @IVID = :IVID, @fffIDs = :fffIDs';
+ Parameters.ParamByName('IVID').Value := Trim(IVID);
+ Parameters.ParamByName('fffIDs').Value := Trim(fffIDS);
+// ShowMessage(sql.Text);
+ ExecSQL;
+ end;
+
+ CDS_Invoice.EnableControls;
+ ADOQueryCmd.Connection.CommitTrans; // ύ
+// ShowMessage('ɹ');
+ except
+ ADOQueryCmd.Connection.RollbackTrans; // ع
+ raise; // ׳쳣
+
+ end;
+end;
+
procedure TfrmInvoiceOutList.v1Column14PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
diff --git a/A09财务通用管理/U_PayableBatchInput.dfm b/A09财务通用管理/U_PayableBatchInput.dfm
index d555483..aff574d 100644
--- a/A09财务通用管理/U_PayableBatchInput.dfm
+++ b/A09财务通用管理/U_PayableBatchInput.dfm
@@ -95,6 +95,7 @@ inherited frmPayableBatchInput: TfrmPayableBatchInput
Align = alClient
PopupMenu = PM_1
TabOrder = 1
+ ExplicitTop = 36
object Tv1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
@@ -454,7 +455,6 @@ inherited frmPayableBatchInput: TfrmPayableBatchInput
Top = 272
end
object GPM_1: TcxGridPopupMenu
- Grid = cxGrid1
PopupMenus = <>
Left = 456
Top = 88
diff --git a/A09财务通用管理/U_PayableBatchInput.pas b/A09财务通用管理/U_PayableBatchInput.pas
index c658448..48de735 100644
--- a/A09财务通用管理/U_PayableBatchInput.pas
+++ b/A09财务通用管理/U_PayableBatchInput.pas
@@ -29,14 +29,24 @@ type
ADOQueryTemp: TADOQuery;
GPM_1: TcxGridPopupMenu;
ToolButton1: TToolButton;
+ TbOrdAdd: TToolButton;
+ TbPurSel: TToolButton;
+ PM_1: TPopupMenu;
+ N1: TMenuItem;
+ N3: TMenuItem;
+ N2: TMenuItem;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
Tv1Column22: TcxGridDBColumn;
Tv1FFTime: TcxGridDBColumn;
- TV1OurCoName: TcxGridDBColumn;
+ Tv1oppShuiNo: TcxGridDBColumn;
Tv1OppCoName: TcxGridDBColumn;
+ Tv1ourShuiNo: TcxGridDBColumn;
+ TV1OurCoName: TcxGridDBColumn;
+ Tv1FinType: TcxGridDBColumn;
Tv1FFAbstract: TcxGridDBColumn;
Tv1ConNo: TcxGridDBColumn;
+ Tv1PurNo: TcxGridDBColumn;
Tv1OrderNo: TcxGridDBColumn;
Tv1BuyConNo: TcxGridDBColumn;
Tv1F_Code: TcxGridDBColumn;
@@ -56,16 +66,6 @@ type
Tv1Note: TcxGridDBColumn;
Tv1FromID1: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
- TbOrdAdd: TToolButton;
- Tv1PurNo: TcxGridDBColumn;
- Tv1FinType: TcxGridDBColumn;
- TbPurSel: TToolButton;
- PM_1: TPopupMenu;
- N1: TMenuItem;
- N3: TMenuItem;
- N2: TMenuItem;
- Tv1oppShuiNo: TcxGridDBColumn;
- Tv1ourShuiNo: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
diff --git a/A09财务通用管理/U_PayableList.dfm b/A09财务通用管理/U_PayableList.dfm
index 728a792..66b57b2 100644
--- a/A09财务通用管理/U_PayableList.dfm
+++ b/A09财务通用管理/U_PayableList.dfm
@@ -271,6 +271,8 @@ inherited frmPayableList: TfrmPayableList
Align = alClient
PopupMenu = PopupMenu1
TabOrder = 2
+ ExplicitLeft = 102
+ ExplicitTop = 119
object Tv1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
diff --git a/A09财务通用管理/U_ReceivableList.dfm b/A09财务通用管理/U_ReceivableList.dfm
index 23e4901..45080f8 100644
--- a/A09财务通用管理/U_ReceivableList.dfm
+++ b/A09财务通用管理/U_ReceivableList.dfm
@@ -19,7 +19,7 @@ inherited frmReceivableList: TfrmReceivableList
Height = 30
AutoSize = True
ButtonHeight = 30
- ButtonWidth = 99
+ ButtonWidth = 83
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_Financial.cxImageList_bar
@@ -27,7 +27,7 @@ inherited frmReceivableList: TfrmReceivableList
List = True
ParentColor = False
ShowCaptions = True
- TabOrder = 4
+ TabOrder = 3
object TBRafresh: TToolButton
Left = 0
Top = 0
@@ -37,15 +37,23 @@ inherited frmReceivableList: TfrmReceivableList
OnClick = TBRafreshClick
end
object btnAdd: TToolButton
- Left = 71
+ Left = 63
Top = 0
AutoSize = True
Caption = #26032#22686
ImageIndex = 9
OnClick = btnAddClick
end
+ object ToolButton6: TToolButton
+ Left = 126
+ Top = 0
+ AutoSize = True
+ Caption = #25209#37327#26032#22686
+ ImageIndex = 2
+ OnClick = ToolButton6Click
+ end
object btnEdit: TToolButton
- Left = 142
+ Left = 213
Top = 0
AutoSize = True
Caption = #20462#25913
@@ -53,7 +61,7 @@ inherited frmReceivableList: TfrmReceivableList
OnClick = btnEditClick
end
object ToolButton1: TToolButton
- Left = 213
+ Left = 276
Top = 0
AutoSize = True
Caption = #21333#20215#20462#25913
@@ -61,7 +69,7 @@ inherited frmReceivableList: TfrmReceivableList
OnClick = ToolButton1Click
end
object btnDel: TToolButton
- Left = 316
+ Left = 363
Top = 0
AutoSize = True
Caption = #21024#38500
@@ -69,7 +77,7 @@ inherited frmReceivableList: TfrmReceivableList
OnClick = btnDelClick
end
object btnChk: TToolButton
- Left = 387
+ Left = 426
Top = 0
AutoSize = True
Caption = #23457#26680
@@ -77,7 +85,7 @@ inherited frmReceivableList: TfrmReceivableList
OnClick = btnChkClick
end
object btnReChk: TToolButton
- Left = 458
+ Left = 489
Top = 0
AutoSize = True
Caption = #25764#38144#23457#26680
@@ -85,7 +93,7 @@ inherited frmReceivableList: TfrmReceivableList
OnClick = btnReChkClick
end
object ToolButton2: TToolButton
- Left = 561
+ Left = 576
Top = 0
AutoSize = True
Caption = #23548#20837
@@ -93,7 +101,7 @@ inherited frmReceivableList: TfrmReceivableList
OnClick = ToolButton2Click
end
object ToolButton4: TToolButton
- Left = 632
+ Left = 639
Top = 0
AutoSize = True
Caption = #23548#20986
@@ -101,7 +109,7 @@ inherited frmReceivableList: TfrmReceivableList
OnClick = ToolButton4Click
end
object ToolButton3: TToolButton
- Left = 703
+ Left = 702
Top = 0
AutoSize = True
Caption = #38468#20214
@@ -109,7 +117,7 @@ inherited frmReceivableList: TfrmReceivableList
OnClick = ToolButton3Click
end
object ToolButton5: TToolButton
- Left = 774
+ Left = 765
Top = 0
AutoSize = True
Caption = #20445#23384#26684#24335
@@ -117,7 +125,7 @@ inherited frmReceivableList: TfrmReceivableList
OnClick = ToolButton5Click
end
object TBClose: TToolButton
- Left = 877
+ Left = 852
Top = 0
AutoSize = True
Caption = #20851#38381
@@ -135,7 +143,7 @@ inherited frmReceivableList: TfrmReceivableList
BevelOuter = bvLowered
Color = clWhite
ParentBackground = False
- TabOrder = 5
+ TabOrder = 4
object Label3: TLabel
Left = 250
Top = 8
@@ -255,14 +263,44 @@ inherited frmReceivableList: TfrmReceivableList
TabOrder = 8
end
end
- object cxGrid1: TcxGrid [2]
+ object cxTabControl1: TcxTabControl [2]
+ Left = 0
+ Top = 98
+ Width = 1540
+ Height = 32
+ Align = alTop
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -21
+ Font.Name = 'Arial'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 2
+ Properties.CustomButtons.Buttons = <>
+ Properties.Style = 11
+ Properties.TabIndex = 0
+ Properties.Tabs.Strings = (
+ #26410#23457#26680
+ #24050#23457#26680
+ #20840#37096)
+ LookAndFeel.Kind = lfUltraFlat
+ OnChange = cxTabControl1Change
+ ClientRectRight = 0
+ ClientRectTop = 0
+ end
+ inherited cxProgressBar2: TcxProgressBar
+ ExplicitHeight = 29
+ end
+ object cxGrid1: TcxGrid [5]
Left = 0
Top = 130
Width = 1540
Height = 460
Align = alClient
PopupMenu = PopupMenu1
- TabOrder = 2
+ TabOrder = 5
+ ExplicitLeft = -107
+ ExplicitTop = 147
object Tv1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
@@ -275,27 +313,24 @@ inherited frmReceivableList: TfrmReceivableList
DataController.Summary.FooterSummaryItems = <
item
Kind = skSum
- Column = Tv1Column12
+ Column = Tv1Qty
end
item
Kind = skSum
- Column = Tv1Column15
end
item
Kind = skSum
- Column = Tv1Column16
end
item
Kind = skSum
- Column = Tv1Column17
+ Column = Tv1TaxInclude
end
item
Kind = skSum
- Column = Tv1Column11
+ Column = Tv1Piece
end
item
Kind = skSum
- Column = Tv1Column25
end>
DataController.Summary.SummaryGroups = <>
OptionsBehavior.GoToNextCellOnEnter = True
@@ -311,11 +346,11 @@ inherited frmReceivableList: TfrmReceivableList
PropertiesClassName = 'TcxCheckBoxProperties'
Properties.ImmediatePost = True
HeaderAlignmentHorz = taCenter
- Width = 44
+ Width = 38
end
- object v2CRTime: TcxGridDBColumn
+ object Tv1FFTime: TcxGridDBColumn
Tag = 7
- Caption = #21457#29983#26085#26399
+ Caption = #30331#35760#26085#26399
DataBinding.FieldName = 'FFTime'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxDateEditProperties'
@@ -325,56 +360,37 @@ inherited frmReceivableList: TfrmReceivableList
Options.Editing = False
Width = 82
end
- object Tv1Column23: TcxGridDBColumn
- Caption = #23545#36134#26085#26399
- DataBinding.FieldName = 'ReconciliationDate'
+ object Tv1oppShuiNo: TcxGridDBColumn
+ Caption = #23458#25143#31246#21495
+ DataBinding.FieldName = 'oppShuiNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 96
+ end
+ object Tv1OppCoName: TcxGridDBColumn
+ Caption = #23458#25143#21517#31216
+ DataBinding.FieldName = 'OppCoName'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Options.Editing = False
- Width = 112
+ Width = 182
end
- object v2Column2: TcxGridDBColumn
+ object Tv1ourShuiNo: TcxGridDBColumn
+ Caption = #25105#26041#31246#21495
+ DataBinding.FieldName = 'ourShuiNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 88
+ end
+ object TV1OurCoName: TcxGridDBColumn
Caption = #25105#26041#21333#20301
DataBinding.FieldName = 'OurCoName'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Options.Editing = False
- Width = 100
- end
- object v2FactoryName: TcxGridDBColumn
- Caption = #23545#26041#21333#20301
- DataBinding.FieldName = 'OppCoName'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 102
- end
- object v2OrderNo: TcxGridDBColumn
- Tag = 7
- Caption = #19978#32423#21333#20301
- DataBinding.FieldName = 'OppParentCoName'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 92
- end
- object Tv1Column3: TcxGridDBColumn
- Caption = #20184#27454#26041#24335
- DataBinding.FieldName = 'PayMent'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
Width = 91
end
- object Tv1Column19: TcxGridDBColumn
- Caption = #21512#21516#21495
- DataBinding.FieldName = 'ConNo'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 77
- end
- object Tv1Column24: TcxGridDBColumn
+ object Tv1FFAbstract: TcxGridDBColumn
Caption = #25688#35201
DataBinding.FieldName = 'FFAbstract'
DataBinding.IsNullValueType = True
@@ -382,70 +398,54 @@ inherited frmReceivableList: TfrmReceivableList
Options.Editing = False
Width = 79
end
- object Tv1Column20: TcxGridDBColumn
- Caption = #35745#21010#21333#21495
+ object Tv1BuyConNo: TcxGridDBColumn
+ Caption = #38754#26009#21512#21516#21495
+ DataBinding.FieldName = 'BuyConNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 130
+ end
+ object Tv1ConNo: TcxGridDBColumn
+ Caption = #22383#24067#21512#21516#21495
+ DataBinding.FieldName = 'ConNo'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 101
+ end
+ object Tv1OrderNo: TcxGridDBColumn
+ Caption = #32455#36896#21333#21495
DataBinding.FieldName = 'OrderNo'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Options.Editing = False
- Width = 82
+ Width = 91
end
- object Tv1Column21: TcxGridDBColumn
- Caption = #23458#25143#21333#21495
- DataBinding.FieldName = 'BuyConNo'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Width = 80
- end
- object Tv1Column4: TcxGridDBColumn
+ object Tv1F_Code: TcxGridDBColumn
Caption = #32534#21495
DataBinding.FieldName = 'F_Code'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Options.Editing = False
- Width = 66
+ Width = 79
end
- object Tv1Column5: TcxGridDBColumn
+ object Tv1F_Name: TcxGridDBColumn
Caption = #21697#21517
DataBinding.FieldName = 'F_Name'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Options.Editing = False
- Width = 66
+ Width = 85
end
- object Tv1Column6: TcxGridDBColumn
- Caption = #33457#22411
- DataBinding.FieldName = 'F_Pattern'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 66
- end
- object Tv1Column7: TcxGridDBColumn
- Caption = #39068#33394
- DataBinding.FieldName = 'F_Color'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 66
- end
- object Tv1Column28: TcxGridDBColumn
- Caption = #27454#21495
- DataBinding.FieldName = 'F_StyleNo'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 72
- end
- object Tv1Column8: TcxGridDBColumn
+ object Tv1F_Width: TcxGridDBColumn
Caption = #38376#24133
DataBinding.FieldName = 'F_Width'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Options.Editing = False
- Width = 66
+ Width = 88
end
- object Tv1Column9: TcxGridDBColumn
+ object Tv1F_GramWeight: TcxGridDBColumn
Caption = #20811#37325
DataBinding.FieldName = 'F_GramWeight'
DataBinding.IsNullValueType = True
@@ -453,23 +453,22 @@ inherited frmReceivableList: TfrmReceivableList
Options.Editing = False
Width = 66
end
- object Tv1Column10: TcxGridDBColumn
- Caption = #33394#21495
- DataBinding.FieldName = 'F_ColorNo'
+ object Tv1F_Color: TcxGridDBColumn
+ Caption = #39068#33394
+ DataBinding.FieldName = 'F_Color'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Options.Editing = False
Width = 66
end
- object Tv1Column27: TcxGridDBColumn
- Caption = #38468#20214
- DataBinding.FieldName = 'FJFlag'
+ object Tv1Column1: TcxGridDBColumn
+ Caption = #33394#21495
+ DataBinding.FieldName = 'F_Colorno'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 48
+ Width = 69
end
- object Tv1Column11: TcxGridDBColumn
+ object Tv1Piece: TcxGridDBColumn
Caption = #21305#25968
DataBinding.FieldName = 'Piece'
DataBinding.IsNullValueType = True
@@ -477,7 +476,7 @@ inherited frmReceivableList: TfrmReceivableList
Options.Editing = False
Width = 66
end
- object Tv1Column12: TcxGridDBColumn
+ object Tv1Qty: TcxGridDBColumn
Caption = #25968#37327
DataBinding.FieldName = 'Qty'
DataBinding.IsNullValueType = True
@@ -485,7 +484,7 @@ inherited frmReceivableList: TfrmReceivableList
Options.Editing = False
Width = 66
end
- object Tv1Column13: TcxGridDBColumn
+ object Tv1QtyUnit: TcxGridDBColumn
Caption = #21333#20301
DataBinding.FieldName = 'QtyUnit'
DataBinding.IsNullValueType = True
@@ -493,39 +492,7 @@ inherited frmReceivableList: TfrmReceivableList
Options.Editing = False
Width = 66
end
- object Tv1Column14: TcxGridDBColumn
- Caption = #21333#20215
- DataBinding.FieldName = 'Price'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 66
- end
- object Tv1Column15: TcxGridDBColumn
- Caption = #20854#20182#36153
- DataBinding.FieldName = 'OtherFee'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 66
- end
- object Tv1Column16: TcxGridDBColumn
- Caption = #20943#20813
- DataBinding.FieldName = 'Deduction'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 66
- end
- object Tv1Column17: TcxGridDBColumn
- Caption = #37329#39069
- DataBinding.FieldName = 'Amount'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 66
- end
- object Tv1Column18: TcxGridDBColumn
+ object Tv1Currency: TcxGridDBColumn
Caption = #24065#31181
DataBinding.FieldName = 'Currency'
DataBinding.IsNullValueType = True
@@ -533,68 +500,56 @@ inherited frmReceivableList: TfrmReceivableList
Options.Editing = False
Width = 66
end
- object Tv1Column25: TcxGridDBColumn
- Caption = #26680#38144#37329#39069
- DataBinding.FieldName = 'FFWoAmount'
+ object Tv1NoTaxPrice: TcxGridDBColumn
+ Caption = #19981#21547#31246#21333#20215
+ DataBinding.FieldName = 'NoTaxPrice'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
- Options.Editing = False
+ Width = 99
end
- object Tv1Column26: TcxGridDBColumn
- Caption = #26159#21542#21547#31246
- DataBinding.FieldName = 'IsInvoice'
+ object Tv1TaxRate: TcxGridDBColumn
+ Caption = #31246#29575
+ DataBinding.FieldName = 'TaxRate'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
- Width = 78
- end
- object Tv1Column1: TcxGridDBColumn
- Caption = #26469#28304
- DataBinding.FieldName = 'FromID1'
- DataBinding.IsNullValueType = True
- HeaderAlignmentHorz = taCenter
- Options.Editing = False
- Width = 70
+ Width = 81
end
object Tv1Column2: TcxGridDBColumn
+ Caption = #31246#39069
+ DataBinding.FieldName = 'Tax'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Width = 71
+ end
+ object Tv1TaxInclude: TcxGridDBColumn
+ Caption = #21547#31246#37329#39069
+ DataBinding.FieldName = 'TaxInclude'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 96
+ end
+ object Tv1Note: TcxGridDBColumn
Caption = #22791#27880
DataBinding.FieldName = 'Note'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Options.Editing = False
+ Width = 78
+ end
+ object Tv1FromID1: TcxGridDBColumn
+ Caption = #26469#28304#21333#21495'('#26469#28304')'
+ DataBinding.FieldName = 'FromID1'
+ DataBinding.IsNullValueType = True
+ HeaderAlignmentHorz = taCenter
+ Options.Editing = False
+ Width = 78
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv1
end
end
- object cxTabControl1: TcxTabControl [3]
- Left = 0
- Top = 98
- Width = 1540
- Height = 32
- Align = alTop
- Font.Charset = ANSI_CHARSET
- Font.Color = clWindowText
- Font.Height = -21
- Font.Name = 'Arial'
- Font.Style = [fsBold]
- ParentFont = False
- TabOrder = 3
- Properties.CustomButtons.Buttons = <>
- Properties.Style = 11
- Properties.TabIndex = 0
- Properties.Tabs.Strings = (
- #26410#23457#26680
- #24050#23457#26680
- #20840#37096)
- LookAndFeel.Kind = lfUltraFlat
- OnChange = cxTabControl1Change
- ClientRectRight = 0
- ClientRectTop = 0
- end
- inherited cxProgressBar2: TcxProgressBar
- ExplicitHeight = 29
- end
inherited ADOQueryBaseCmd: TADOQuery
Connection = DataLink_Financial.ADOLink
Left = 233
@@ -651,7 +606,6 @@ inherited frmReceivableList: TfrmReceivableList
Top = 280
end
object GPM_1: TcxGridPopupMenu
- Grid = cxGrid1
PopupMenus = <>
Left = 504
Top = 312
diff --git a/A09财务通用管理/U_ReceivableList.pas b/A09财务通用管理/U_ReceivableList.pas
index eddff19..7ffee63 100644
--- a/A09财务通用管理/U_ReceivableList.pas
+++ b/A09财务通用管理/U_ReceivableList.pas
@@ -31,26 +31,19 @@ type
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
OppCoName: TcxTextEdit;
- cxGrid1: TcxGrid;
- Tv1: TcxGridDBTableView;
- v2CRTime: TcxGridDBColumn;
- cxGridLevel1: TcxGridLevel;
GPM_1: TcxGridPopupMenu;
DS_1: TDataSource;
CDS_1: TClientDataSet;
btnAdd: TToolButton;
- v2FactoryName: TcxGridDBColumn;
F_Name: TcxTextEdit;
Label4: TLabel;
Label6: TLabel;
P_Code: TcxTextEdit;
- v2OrderNo: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
Label10: TLabel;
ConNo: TcxTextEdit;
Label11: TLabel;
BuyConNo: TcxTextEdit;
- v2Column2: TcxGridDBColumn;
btnChk: TToolButton;
btnReChk: TToolButton;
PopupMenu1: TPopupMenu;
@@ -61,42 +54,44 @@ type
ToolButton5: TToolButton;
N2: TMenuItem;
btnEdit: TToolButton;
- Tv1Column3: TcxGridDBColumn;
- Tv1Column4: TcxGridDBColumn;
- Tv1Column5: TcxGridDBColumn;
- Tv1Column6: TcxGridDBColumn;
- Tv1Column7: TcxGridDBColumn;
- Tv1Column8: TcxGridDBColumn;
- Tv1Column9: TcxGridDBColumn;
- Tv1Column10: TcxGridDBColumn;
- Tv1Column11: TcxGridDBColumn;
- Tv1Column12: TcxGridDBColumn;
- Tv1Column13: TcxGridDBColumn;
- Tv1Column14: TcxGridDBColumn;
- Tv1Column15: TcxGridDBColumn;
- Tv1Column16: TcxGridDBColumn;
- Tv1Column17: TcxGridDBColumn;
- Tv1Column18: TcxGridDBColumn;
- Tv1Column19: TcxGridDBColumn;
- Tv1Column20: TcxGridDBColumn;
- Tv1Column21: TcxGridDBColumn;
- Tv1Column22: TcxGridDBColumn;
- Tv1Column23: TcxGridDBColumn;
N3: TMenuItem;
- Tv1Column24: TcxGridDBColumn;
- Tv1Column25: TcxGridDBColumn;
- Tv1Column1: TcxGridDBColumn;
ToolButton1: TToolButton;
- Tv1Column2: TcxGridDBColumn;
- Tv1Column26: TcxGridDBColumn;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
- Tv1Column27: TcxGridDBColumn;
- Tv1Column28: TcxGridDBColumn;
Label1: TLabel;
begdate: TcxDateEdit;
Enddate: TcxDateEdit;
CheckBox1: TcxCheckBox;
+ cxGrid1: TcxGrid;
+ Tv1: TcxGridDBTableView;
+ Tv1Column22: TcxGridDBColumn;
+ Tv1FFTime: TcxGridDBColumn;
+ Tv1oppShuiNo: TcxGridDBColumn;
+ Tv1OppCoName: TcxGridDBColumn;
+ Tv1ourShuiNo: TcxGridDBColumn;
+ TV1OurCoName: TcxGridDBColumn;
+ Tv1FFAbstract: TcxGridDBColumn;
+ Tv1ConNo: TcxGridDBColumn;
+ Tv1OrderNo: TcxGridDBColumn;
+ Tv1BuyConNo: TcxGridDBColumn;
+ Tv1F_Code: TcxGridDBColumn;
+ Tv1F_Name: TcxGridDBColumn;
+ Tv1F_Width: TcxGridDBColumn;
+ Tv1F_GramWeight: TcxGridDBColumn;
+ Tv1F_Color: TcxGridDBColumn;
+ Tv1Piece: TcxGridDBColumn;
+ Tv1Qty: TcxGridDBColumn;
+ Tv1QtyUnit: TcxGridDBColumn;
+ Tv1Currency: TcxGridDBColumn;
+ Tv1NoTaxPrice: TcxGridDBColumn;
+ Tv1TaxRate: TcxGridDBColumn;
+ Tv1TaxInclude: TcxGridDBColumn;
+ Tv1Note: TcxGridDBColumn;
+ Tv1FromID1: TcxGridDBColumn;
+ cxGridLevel1: TcxGridLevel;
+ Tv1Column1: TcxGridDBColumn;
+ Tv1Column2: TcxGridDBColumn;
+ ToolButton6: TToolButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure btnDelClick(Sender: TObject);
@@ -117,6 +112,7 @@ type
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
+ procedure ToolButton6Click(Sender: TObject);
private
procedure InitGrid();
procedure SetStatus();
@@ -128,7 +124,7 @@ implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_ReceivableInput, U_ReceivableEdit,
- U_ReceivableImport, U_AttachmentUpload;
+ U_ReceivableImport, U_AttachmentUpload, U_GETableBatchInput;
{$R *.dfm}
procedure TfrmReceivableList.SetStatus();
@@ -180,10 +176,22 @@ begin
Close;
SQL.Clear;
Filtered := False;
- 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.FFID)>0 THEN 1 ELSE 0 END) AS BIT)');
- sql.Add(' from Finance_Flow A ');
+ sql.Add(' select A.* ,C.IVNo as CIVNO,C.IVID as CIVID,C.BGDNum,C.IVDate ');
+ sql.Add(',FJFlag=CAST((CASE WHEN (SELECT COUNT(X.FileName) FROM FJ_File X where X.TFType=''ˮ'' and X.WBID=A.FFID)>0 THEN 1 ELSE 0 END) AS BIT)');
+// sql.Add(' from Finance_Flow A ');
+// sql.Add(' left join Finance_FlowInvoice B on A.FFID=B.FFID'); //жȡһ
+// SQL.Add(' inner join Finance_Invoice B on A.IVId=C.IVId');
+ sql.Add(' FROM Finance_Flow A ');
+
+// Finance_FlowInvoiceˮ-ƱȡÿˮĵһƱ¼
+ sql.Add(' LEFT JOIN ( ');
+ sql.Add(' SELECT FFID, IVId, ROW_NUMBER() OVER (PARTITION BY FFID ORDER BY IVId) AS RowNum ');
+ sql.Add(' FROM Finance_FlowInvoice ');
+ sql.Add(' ) AS B ON A.FFID = B.FFID AND B.RowNum = 1 '); // RowNum=1 ȷֻȡһ
+
+// ڹ Finance_InvoiceƱͨBIVId
+ sql.Add(' left JOIN Finance_Invoice C ON B.IVId = C.IVId ');
sql.Add(' where A.FFType=''ӦտǼ'' ');
case cxTabControl1.TabIndex of
0:
@@ -576,6 +584,23 @@ begin
WriteCxGrid(trim(Self.Caption), Tv1, '');
end;
+procedure TfrmReceivableList.ToolButton6Click(Sender: TObject);
+begin
+ try
+ frmgetableBatchInput := TfrmgetableBatchInput.Create(Application);
+ with frmgetableBatchInput do
+ begin
+ FFFID := '';
+ if ShowModal = 1 then
+ begin
+ InitGrid();
+ end;
+ end;
+ finally
+ frmgetableBatchInput.Free;
+ end;
+end;
+
procedure TfrmReceivableList.btnEditClick(Sender: TObject);
begin
try