diff --git a/Build/Build.fbl6 b/Build/Build.fbl6 index 0050023..2073470 100644 Binary files a/Build/Build.fbl6 and b/Build/Build.fbl6 differ diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index a3b66ec..5ac06ae 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -3885,50 +3885,51 @@ group by ID_RECIBO_COMPENSADO; /* Create view: V_RECIBOS_CLIENTE */ CREATE VIEW V_RECIBOS_CLIENTE( -ID, -ID_RECIBO_COMPENSADO, -REFERENCIA_REC_COMPENSADO, -REFERENCIA, -SITUACION, -ID_FACTURA, -FECHA_FACTURA, -FORMA_PAGO_FACTURA, -IMPORTE_FACTURA, -ID_REMESA, -REFERENCIA_REMESA, -FECHA_EMISION, -FECHA_VENCIMIENTO, -DESCRIPCION, -OBSERVACIONES, -IMPORTE, -OTROS_GASTOS, -IMPORTE_TOTAL, -IMPORTE_COMPENSADO, -IMPORTE_SIN_COMPENSAR, -ID_EMPRESA, -ID_CLIENTE, -NOMBRE_CLIENTE, -ENTIDAD_CLIENTE, -SUCURSAL_CLIENTE, -DC_CLIENTE, -CUENTA_CLIENTE, -NIF_CIF, -NOMBRE, -CALLE, -POBLACION, -CODIGO_POSTAL, -PROVINCIA, -FECHA_ALTA, -FECHA_MODIFICACION, -USUARIO, -ID_TIENDA, -TIENDA) - AS + ID, + ID_RECIBO_COMPENSADO, + REFERENCIA_REC_COMPENSADO, + REFERENCIA, + SITUACION, + ID_FACTURA, + FECHA_FACTURA, + FORMA_PAGO_FACTURA, + IMPORTE_FACTURA, + ID_REMESA, + REFERENCIA_REMESA, + FECHA_EMISION, + FECHA_VENCIMIENTO, + DESCRIPCION, + OBSERVACIONES, + IMPORTE, + OTROS_GASTOS, + IMPORTE_TOTAL, + IMPORTE_COMPENSADO, + IMPORTE_SIN_COMPENSAR, + ID_EMPRESA, + ID_CLIENTE, + NOMBRE_CLIENTE, + ENTIDAD_CLIENTE, + SUCURSAL_CLIENTE, + DC_CLIENTE, + CUENTA_CLIENTE, + NIF_CIF, + NOMBRE, + CALLE, + POBLACION, + CODIGO_POSTAL, + PROVINCIA, + FECHA_ALTA, + FECHA_MODIFICACION, + USUARIO, + ID_TIENDA, + TIENDA, + CUENTA_CONTABLE) +AS SELECT RECIBOS_CLIENTE.ID, RECIBOS_CLIENTE.ID_RECIBO_COMPENSADO, RECIBO_COMPENSADO1.REFERENCIA, RECIBOS_CLIENTE.REFERENCIA, - CASE + CASE WHEN RECIBOS_CLIENTE.ID_RECIBO_COMPENSADO IS NULL THEN TRIM(V_REC_CLI_SITUACION.SITUACION) ELSE CASE WHEN (TRIM(V_REC_CLI_SITUACION.SITUACION)= 'COBRADO') THEN TRIM(V_REC_CLI_SITUACION.SITUACION) @@ -3965,7 +3966,8 @@ SELECT RECIBOS_CLIENTE.ID, RECIBOS_CLIENTE.FECHA_MODIFICACION, RECIBOS_CLIENTE.USUARIO, RECIBOS_CLIENTE.ID_TIENDA, - COALESCE(EMPRESAS_TIENDAS.NOMBRE, 'Todas') AS TIENDA + COALESCE(EMPRESAS_TIENDAS.NOMBRE, 'Todas') AS TIENDA, + '' as CUENTA_CONTABLE FROM RECIBOS_CLIENTE LEFT JOIN V_REC_CLI_SITUACION diff --git a/Source/ApplicationBase/Empresas/Views/uEditorDatosBancariosEmpresa.dfm b/Source/ApplicationBase/Empresas/Views/uEditorDatosBancariosEmpresa.dfm index adc3d19..2bd9a0e 100644 --- a/Source/ApplicationBase/Empresas/Views/uEditorDatosBancariosEmpresa.dfm +++ b/Source/ApplicationBase/Empresas/Views/uEditorDatosBancariosEmpresa.dfm @@ -136,7 +136,9 @@ object fEditorDatosBancariosEmpresa: TfEditorDatosBancariosEmpresa Width = 329 Height = 83 Caption = 'Sufijos para normas CSB' + Enabled = False TabOrder = 3 + Visible = False object Label7: TLabel Left = 12 Top = 28 diff --git a/Source/ApplicationBase/Empresas/Views/uEditorEmpresa.dfm b/Source/ApplicationBase/Empresas/Views/uEditorEmpresa.dfm index 4751447..6c54113 100644 --- a/Source/ApplicationBase/Empresas/Views/uEditorEmpresa.dfm +++ b/Source/ApplicationBase/Empresas/Views/uEditorEmpresa.dfm @@ -8,7 +8,7 @@ inherited fEditorEmpresa: TfEditorEmpresa ClientWidth = 674 Scaled = False ExplicitWidth = 682 - ExplicitHeight = 588 + ExplicitHeight = 592 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader @@ -24,7 +24,7 @@ inherited fEditorEmpresa: TfEditorEmpresa Width = 674 ExplicitWidth = 674 inherited tbxMain: TTBXToolbar - ExplicitWidth = 330 + ExplicitWidth = 370 inherited TBXItem2: TTBXItem Visible = False end @@ -86,20 +86,20 @@ inherited fEditorEmpresa: TfEditorEmpresa end inherited pgPaginas: TPageControl Width = 668 - Height = 423 + Height = 420 ActivePage = pagDatosBancarios ExplicitWidth = 668 - ExplicitHeight = 423 + ExplicitHeight = 420 inherited pagGeneral: TTabSheet ExplicitLeft = 4 ExplicitTop = 24 ExplicitWidth = 660 - ExplicitHeight = 395 + ExplicitHeight = 392 inline frViewEmpresa1: TfrViewEmpresa Left = 0 Top = 0 Width = 660 - Height = 395 + Height = 392 Align = alClient Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -110,145 +110,145 @@ inherited fEditorEmpresa: TfEditorEmpresa TabOrder = 0 ReadOnly = False ExplicitWidth = 660 - ExplicitHeight = 395 + ExplicitHeight = 392 inherited dxLayoutControl1: TdxLayoutControl Width = 660 - Height = 395 + Height = 392 LookAndFeel = dxLayoutOfficeLookAndFeel1 ExplicitWidth = 660 - ExplicitHeight = 395 + ExplicitHeight = 392 inherited PngSpeedButton1: TPngSpeedButton - Left = 615 + Left = 596 Top = 295 - ExplicitLeft = 615 + ExplicitLeft = 596 ExplicitTop = 295 end inherited PngSpeedButton2: TPngSpeedButton - Left = 615 + Left = 596 Top = 267 - ExplicitLeft = 615 + ExplicitLeft = 596 ExplicitTop = 267 end inherited eCalle: TcxDBTextEdit - Top = 243 - Style.LookAndFeel.SkinName = '' - StyleDisabled.LookAndFeel.SkinName = '' - StyleFocused.LookAndFeel.SkinName = '' - StyleHot.LookAndFeel.SkinName = '' - ExplicitTop = 243 - ExplicitWidth = 84 - Width = 84 - end - inherited cbProvincia: TcxDBComboBox Top = 270 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 270 - ExplicitWidth = 106 - Width = 106 + ExplicitWidth = 84 + Width = 84 end - inherited cbPoblacion: TcxDBComboBox + inherited cbProvincia: TcxDBComboBox Top = 297 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' ExplicitTop = 297 - ExplicitWidth = 100 - Width = 100 + ExplicitWidth = 106 + Width = 106 end - inherited eCodigoPostal: TcxDBTextEdit - Left = 354 - Top = 270 + inherited cbPoblacion: TcxDBComboBox + Top = 324 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 354 - ExplicitTop = 270 + ExplicitTop = 324 + ExplicitWidth = 100 + Width = 100 + end + inherited eCodigoPostal: TcxDBTextEdit + Left = 341 + Top = 297 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' + ExplicitLeft = 341 + ExplicitTop = 297 end inherited ePaginaWeb: TcxDBTextEdit - Left = 542 + Left = 529 Top = 216 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 542 + ExplicitLeft = 529 ExplicitTop = 216 ExplicitWidth = 165 Width = 165 end inherited eMailParticular: TcxDBTextEdit - Left = 542 + Left = 529 Top = 189 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 542 + ExplicitLeft = 529 ExplicitTop = 189 ExplicitWidth = 165 Width = 165 end inherited eMailTrabajo: TcxDBTextEdit - Left = 542 + Left = 529 Top = 162 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 542 + ExplicitLeft = 529 ExplicitTop = 162 ExplicitWidth = 129 Width = 129 end inherited eTlfParticular: TcxDBTextEdit - Left = 542 + Left = 529 Top = 57 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 542 + ExplicitLeft = 529 ExplicitTop = 57 ExplicitWidth = 91 Width = 91 end inherited eTlfTrabajo: TcxDBTextEdit - Left = 542 + Left = 529 Top = 30 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 542 + ExplicitLeft = 529 ExplicitTop = 30 ExplicitWidth = 127 Width = 127 end inherited eTlfMovil: TcxDBTextEdit - Left = 542 + Left = 529 Top = 84 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 542 + ExplicitLeft = 529 ExplicitTop = 84 ExplicitWidth = 155 Width = 155 end inherited eFax: TcxDBTextEdit - Left = 542 + Left = 529 Top = 111 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 542 + ExplicitLeft = 529 ExplicitTop = 111 ExplicitWidth = 121 Width = 121 @@ -284,13 +284,13 @@ inherited fEditorEmpresa: TfEditorEmpresa Width = 76 end inherited cxDBImage1: TcxDBImage - Left = 447 + Left = 434 Top = 267 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 447 + ExplicitLeft = 434 ExplicitTop = 267 ExplicitWidth = 140 ExplicitHeight = 100 @@ -318,16 +318,16 @@ inherited fEditorEmpresa: TfEditorEmpresa Width = 202 end inherited frViewObservaciones1: TfrViewObservaciones - Top = 348 + Top = 375 Width = 521 Height = 150 - ExplicitTop = 348 + ExplicitTop = 375 ExplicitWidth = 521 ExplicitHeight = 150 inherited memObservaciones: TcxDBMemo DataBinding.DataSource = frViewEmpresa1.DADataSource - ExplicitWidth = 397 - ExplicitHeight = 31 + ExplicitWidth = 384 + ExplicitHeight = 20 Height = 150 Width = 521 end @@ -342,6 +342,12 @@ inherited fEditorEmpresa: TfEditorEmpresa ExplicitWidth = 121 Width = 121 end + inherited ePrecioPunto: TcxDBCurrencyEdit + Top = 219 + ExplicitTop = 219 + ExplicitWidth = 121 + Width = 121 + end end end end @@ -352,7 +358,7 @@ inherited fEditorEmpresa: TfEditorEmpresa Left = 0 Top = 0 Width = 660 - Height = 395 + Height = 392 Align = alClient Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -363,28 +369,16 @@ inherited fEditorEmpresa: TfEditorEmpresa TabOrder = 0 ReadOnly = False ExplicitWidth = 660 - ExplicitHeight = 395 + ExplicitHeight = 392 inherited cxGrid: TcxGrid Width = 660 - Height = 370 + Height = 367 ExplicitWidth = 660 - ExplicitHeight = 370 + ExplicitHeight = 367 end inherited ToolBar1: TToolBar Width = 660 ExplicitWidth = 660 - inherited ToolButton1: TToolButton - ExplicitWidth = 62 - end - inherited ToolButton4: TToolButton - ExplicitWidth = 74 - end - inherited ToolButton2: TToolButton - ExplicitWidth = 67 - end - inherited ToolButton7: TToolButton - ExplicitWidth = 117 - end end end end @@ -397,7 +391,7 @@ inherited fEditorEmpresa: TfEditorEmpresa Left = 0 Top = 0 Width = 660 - Height = 395 + Height = 392 Align = alClient Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -408,10 +402,10 @@ inherited fEditorEmpresa: TfEditorEmpresa TabOrder = 0 ReadOnly = False ExplicitWidth = 660 - ExplicitHeight = 395 + ExplicitHeight = 392 inherited cxGrid: TcxGrid Width = 660 - Height = 370 + Height = 367 ExplicitWidth = 660 ExplicitHeight = 370 inherited cxGridView: TcxGridDBTableView @@ -423,6 +417,18 @@ inherited fEditorEmpresa: TfEditorEmpresa inherited ToolBar1: TToolBar Width = 660 ExplicitWidth = 660 + inherited ToolButton1: TToolButton + ExplicitWidth = 113 + end + inherited ToolButton4: TToolButton + ExplicitWidth = 113 + end + inherited ToolButton2: TToolButton + ExplicitWidth = 113 + end + inherited ToolButton7: TToolButton + ExplicitWidth = 113 + end end end end diff --git a/Source/ApplicationBase/Empresas/Views/uEditorEmpresa.pas b/Source/ApplicationBase/Empresas/Views/uEditorEmpresa.pas index efd6f32..9ade665 100644 --- a/Source/ApplicationBase/Empresas/Views/uEditorEmpresa.pas +++ b/Source/ApplicationBase/Empresas/Views/uEditorEmpresa.pas @@ -165,11 +165,11 @@ begin inherited; FViewEmpresa := frViewEmpresa1; - {$IFDEF CONTABILIDAD} - pagDatosBancarios.TabVisible := false; - {$ELSE} - pagDatosBancarios.TabVisible := true; - {$ENDIF} +// {$IFDEF CONTABILIDAD} +// pagDatosBancarios.TabVisible := false; +// {$ELSE} + pagDatosBancarios.TabVisible := true; +// {$ENDIF} end; destructor TfEditorEmpresa.Destroy; diff --git a/Source/ApplicationBase/Empresas/Views/uViewDatosBancarios.dfm b/Source/ApplicationBase/Empresas/Views/uViewDatosBancarios.dfm index 0a405dc..00d776e 100644 --- a/Source/ApplicationBase/Empresas/Views/uViewDatosBancarios.dfm +++ b/Source/ApplicationBase/Empresas/Views/uViewDatosBancarios.dfm @@ -37,10 +37,14 @@ inherited frViewDatosBancarios: TfrViewDatosBancarios end object cxGridViewSUFIJO_N19: TcxGridDBColumn DataBinding.FieldName = 'SUFIJO_N19' + Visible = False + VisibleForCustomization = False Width = 55 end object cxGridViewSUFIJO_N58: TcxGridDBColumn DataBinding.FieldName = 'SUFIJO_N58' + Visible = False + VisibleForCustomization = False Width = 57 end end @@ -49,22 +53,16 @@ inherited frViewDatosBancarios: TfrViewDatosBancarios Width = 583 ExplicitWidth = 583 inherited ToolButton1: TToolButton - Top = 0 + ExplicitWidth = 62 end inherited ToolButton4: TToolButton - Top = 0 - end - inherited ToolButton5: TToolButton - Top = 0 + ExplicitWidth = 74 end inherited ToolButton2: TToolButton - Top = 0 - end - inherited ToolButton6: TToolButton - Top = 0 + ExplicitWidth = 67 end inherited ToolButton7: TToolButton - Top = 0 + ExplicitWidth = 117 end end end diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj index 9a124fc..3e07781 100644 --- a/Source/Base/Base.dproj +++ b/Source/Base/Base.dproj @@ -44,6 +44,20 @@ Package FalseTrueFalseLibreria base de FactuGESFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + + + + + + + + + + + + + VCL for the Web Design Package for CodeGear RAD Studio CodeGear WebSnap Components CodeGear SOAP Components @@ -58,55 +72,55 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fConfigurarConexion
TForm diff --git a/Source/GUIBase/GUIBase.dproj b/Source/GUIBase/GUIBase.dproj index e1875bd..f1ed43a 100644 --- a/Source/GUIBase/GUIBase.dproj +++ b/Source/GUIBase/GUIBase.dproj @@ -58,34 +58,34 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fDialogBase
diff --git a/Source/Informes/1/InfAlbaranCliente.fr3 b/Source/Informes/1/InfAlbaranCliente.fr3 index ae04e45..209b589 100644 --- a/Source/Informes/1/InfAlbaranCliente.fr3 +++ b/Source/Informes/1/InfAlbaranCliente.fr3 @@ -1,11 +1,11 @@ - + - - + + @@ -15,15 +15,15 @@ - - + + - + @@ -44,7 +44,7 @@ - + diff --git a/Source/Informes/2/InfAlbaranCliente.fr3 b/Source/Informes/2/InfAlbaranCliente.fr3 index 0a48704..35b37f5 100644 --- a/Source/Informes/2/InfAlbaranCliente.fr3 +++ b/Source/Informes/2/InfAlbaranCliente.fr3 @@ -1,11 +1,11 @@ - + - - + + @@ -17,15 +17,15 @@ - - + + - + @@ -46,7 +46,7 @@ - + diff --git a/Source/Informes/3/InfAlbaranCliente.fr3 b/Source/Informes/3/InfAlbaranCliente.fr3 index 279aa4c..35b37f5 100644 --- a/Source/Informes/3/InfAlbaranCliente.fr3 +++ b/Source/Informes/3/InfAlbaranCliente.fr3 @@ -1,52 +1,56 @@ - + - - - - + + + - + - - + + + + - - - - + + + + + - - + + - + - - - - - - - - - + + + + + + + + + + + diff --git a/Source/Informes/4/InfAlbaranCliente.fr3 b/Source/Informes/4/InfAlbaranCliente.fr3 index b6610fc..eafd08b 100644 --- a/Source/Informes/4/InfAlbaranCliente.fr3 +++ b/Source/Informes/4/InfAlbaranCliente.fr3 @@ -1,50 +1,54 @@ - + - - - - + + + - - - + + + - - + + + + - - - - + + + + + - - + + - + - - - - - - - - - + + + + + + + + + + + diff --git a/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteController.pas b/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteController.pas index 14a439f..246f123 100644 --- a/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteController.pas +++ b/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteController.pas @@ -42,8 +42,13 @@ type function ExtraerSeleccionados(AAlbaran: IBizAlbaranCliente) : IBizAlbaranCliente; function ElegirAlbaranes(AAlbaran: IBizAlbaranCliente; AMensaje: String; AMultiSelect: Boolean): IBizAlbaranCliente; - procedure Preview(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true); - procedure Print(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true); + procedure Preview(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False); + procedure Print(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False); + procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean); procedure EtiquetasPrint(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean); @@ -136,8 +141,12 @@ type DoPost: Boolean = True) : Boolean; procedure EnviarAlbaranPorEMail(AAlbaran : IBizAlbaranCliente); - procedure Preview(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true); - procedure Print(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true); + procedure Preview(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False); + procedure Print(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False); procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean); procedure EtiquetasPrint(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean); @@ -1003,7 +1012,10 @@ begin end; end; -procedure TAlbaranesClienteController.Preview(AAlbaran: IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true); +procedure TAlbaranesClienteController.Preview(AAlbaran: IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False); + var AReportController : IAlbaranesClienteReportController; ID_Albaranes: TIntegerList; @@ -1031,7 +1043,7 @@ begin else ID_Albaranes.Add(AAlbaran.ID); - AReportController.Preview(ID_Albaranes, VerLogotipo); + AReportController.Preview(ID_Albaranes, VerLogotipo, VerImprimirPrecios); finally AReportController := NIL; @@ -1039,7 +1051,10 @@ begin end; end; -procedure TAlbaranesClienteController.Print(AAlbaran: IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true); +procedure TAlbaranesClienteController.Print(AAlbaran: IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False); + var AReportController : IAlbaranesClienteReportController; ID_Albaranes: TIntegerList; @@ -1065,7 +1080,7 @@ begin else ID_Albaranes.Add(AAlbaran.ID); - AReportController.Print(ID_Albaranes, VerLogotipo); + AReportController.Print(ID_Albaranes, VerLogotipo, VerImprimirPrecios); finally AReportController := NIL; diff --git a/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteReportController.pas b/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteReportController.pas index fc2169e..026a835 100644 --- a/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteReportController.pas +++ b/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteReportController.pas @@ -10,8 +10,12 @@ uses type IAlbaranesClienteReportController = interface(IControllerBase) ['{4BCC7A93-3322-494C-A3FA-118F4B62CB15}'] - procedure Preview(const AListaID : TIntegerList; const VerLogotipo: Boolean); - procedure Print(const AListaID : TIntegerList; const VerLogotipo: Boolean); + procedure Preview(const AListaID : TIntegerList; const VerLogotipo: Boolean; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False); + procedure Print(const AListaID : TIntegerList; const VerLogotipo: Boolean; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False); procedure EtiquetasPreview(const AID : integer; Const withRefCliente: Boolean); procedure EtiquetasPrint(const AID : integer; Const withRefCliente: Boolean); function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean; @@ -26,8 +30,12 @@ type constructor Create; override; destructor Destroy; override; - procedure Preview(const AListaID : TIntegerList; const VerLogotipo: Boolean); - procedure Print(const AListaID : TIntegerList; const VerLogotipo: Boolean); + procedure Preview(const AListaID : TIntegerList; const VerLogotipo: Boolean; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False); + procedure Print(const AListaID : TIntegerList; const VerLogotipo: Boolean; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False); procedure EtiquetasPreview(const AID : integer; Const withRefCliente: Boolean); procedure EtiquetasPrint(const AID : integer; Const withRefCliente: Boolean); function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean; @@ -135,14 +143,16 @@ begin end; end; -procedure TAlbaranesClienteReportController.Preview(const AListaID : TIntegerList; const VerLogotipo: Boolean); +procedure TAlbaranesClienteReportController.Preview(const AListaID : TIntegerList; const VerLogotipo: Boolean; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False); var AStream: Binary; AEditor : IEditorAlbaranesClientePreview; begin AEditor := NIL; - AStream := FDataModule.GetRptAlbaranes(AListaID, VerLogotipo); + AStream := FDataModule.GetRptAlbaranes(AListaID, VerLogotipo, VerImprimirPrecios); try CreateEditor('EditorAlbaranesClientePreview', IEditorAlbaranesClientePreview, AEditor); if Assigned(AEditor) then @@ -163,7 +173,9 @@ begin end; end; -procedure TAlbaranesClienteReportController.Print(const AListaID : TIntegerList; const VerLogotipo: Boolean); +procedure TAlbaranesClienteReportController.Print(const AListaID : TIntegerList; const VerLogotipo: Boolean; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False); var AStream: Binary; AEditor : IEditorAlbaranesClientePreview; @@ -172,7 +184,7 @@ begin ShowHourglassCursor; try - AStream := FDataModule.GetRptAlbaranes(AListaID, VerLogotipo); + AStream := FDataModule.GetRptAlbaranes(AListaID, VerLogotipo, VerImprimirPrecios); try CreateEditor('EditorAlbaranesClientePreview', IEditorAlbaranesClientePreview, AEditor); if Assigned(AEditor) then diff --git a/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.pas b/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.pas index f0b1498..fdeb57a 100644 --- a/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.pas +++ b/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.pas @@ -37,9 +37,13 @@ type function NewItem : IBizAlbaranCliente; // Report - function GetRptAlbaranes(const ListaID: TIntegerList; const VerLogotipo: Boolean): Binary; + function GetRptAlbaranes(const ListaID: TIntegerList; const VerLogotipo: Boolean; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Binary; function GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary; - function GetRptPDFAlbaran(const AID: Integer; const VerLogotipo: Boolean): Binary; + function GetRptPDFAlbaran(const AID: Integer; const VerLogotipo: Boolean; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Binary; end; implementation @@ -63,26 +67,30 @@ begin RORemoteService.Message := dmConexion.Message; end; -function TDataModuleAlbaranesCliente.GetRptAlbaranes(const ListaID: TIntegerList; const VerLogotipo: Boolean): Binary; +function TDataModuleAlbaranesCliente.GetRptAlbaranes(const ListaID: TIntegerList; const VerLogotipo: Boolean; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Binary; var AParam : TIntegerArray; begin AParam := ListaID.ToIntegerArray; try - Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInforme(AParam, VerLogotipo); + Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInforme(AParam, VerLogotipo, VerImprimirPrecios); finally FreeAndNil(AParam); end; end; -function TDataModuleAlbaranesCliente.GetRptPDFAlbaran(const AID: Integer; const VerLogotipo: Boolean): Binary; +function TDataModuleAlbaranesCliente.GetRptPDFAlbaran(const AID: Integer; const VerLogotipo: Boolean; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Binary; var AParam : TIntegerArray; begin AParam := TIntegerArray.Create; try AParam.Add(AID); - Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInforme(AParam, VerLogotipo); + Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInforme(AParam, VerLogotipo, VerImprimirPrecios); finally FreeAndNil(AParam); end; diff --git a/Source/Modulos/Albaranes de cliente/Model/Data/uIDataModuleAlbaranesClienteReport.pas b/Source/Modulos/Albaranes de cliente/Model/Data/uIDataModuleAlbaranesClienteReport.pas index b63c1aa..8dcd1ba 100644 --- a/Source/Modulos/Albaranes de cliente/Model/Data/uIDataModuleAlbaranesClienteReport.pas +++ b/Source/Modulos/Albaranes de cliente/Model/Data/uIDataModuleAlbaranesClienteReport.pas @@ -8,9 +8,13 @@ uses type IDataModuleAlbaranesClienteReport = interface ['{42C55204-5AB9-403E-8385-1A62B02D8234}'] - function GetRptAlbaranes(const ListaID: TIntegerList; const VerLogotipo: Boolean): Binary; + function GetRptAlbaranes(const ListaID: TIntegerList; const VerLogotipo: Boolean; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Binary; function GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary; - function GetRptPDFAlbaran(const AID: Integer; const VerLogotipo: Boolean): Binary; + function GetRptPDFAlbaran(const AID: Integer; const VerLogotipo: Boolean; + const VerImprimirPrecios: Boolean = False; const VerImprimirRefProveedor: Boolean = False; + const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Binary; end; implementation diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm index f79b93d..1e67cfa 100644 --- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm +++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm @@ -209,26 +209,39 @@ object RptAlbaranesCliente: TRptAlbaranesCliente Size = 10 end item - Name = 'REFERENCIA' - DataType = datString - Size = 255 - end - item - Name = 'CONCEPTO' + Name = 'CONCEPTO_RTF' DataType = datString Size = 2000 end + item + Name = 'CONCEPTO' + DataType = datString + Size = 32765 + end item Name = 'CANTIDAD' - DataType = datInteger + DataType = datCurrency + end + item + Name = 'DESCUENTO' + DataType = datFloat + end + item + Name = 'VISIBLE' + DataType = datSmallInt end item Name = 'IMPORTE_UNIDAD' - DataType = datFloat + DataType = datCurrency end item Name = 'IMPORTE_TOTAL' - DataType = datFloat + DataType = datCurrency + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 end item Name = 'FAMILIA' @@ -244,7 +257,7 @@ object RptAlbaranesCliente: TRptAlbaranesCliente item Name = 'ID_ALBARAN' DataType = datInteger - Value = '' + Value = '1' ParamType = daptInput end> MasterMappingMode = mmDataRequest @@ -637,13 +650,13 @@ object RptAlbaranesCliente: TRptAlbaranesCliente 'ES_CLIENTE_DETALLES.TIPO_DETALLE,'#10' ALBARANES_CLIENTE_DETAL' + 'LES.CONCEPTO as CONCEPTO_RTF,'#10' F_RTFTOTEXT(ALBARANES_CLIEN' + 'TE_DETALLES.CONCEPTO) as CONCEPTO,'#10' ALBARANES_CLIENTE_DETA' + - 'LLES.CANTIDAD,'#10' ALBARANES_CLIENTE_DETALLES.DESCUENTO,'#10' ' + - ' ALBARANES_CLIENTE_DETALLES.IMPORTE_UNIDAD, ALBARANES_CLIENTE_' + - 'DETALLES.IMPORTE_TOTAL,'#10' ARTICULOS.REFERENCIA, ARTICULOS.F' + - 'AMILIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR'#10#10'FROM ' + - 'ALBARANES_CLIENTE_DETALLES'#10'LEFT JOIN ARTICULOS ON (ALBARANES_CLI' + - 'ENTE_DETALLES.ID_ARTICULO = ARTICULOS.ID)'#10'WHERE ID_ALBARAN = :ID' + - '_ALBARAN'#10'ORDER BY POSICION'#10 + 'LLES.CANTIDAD,'#10' ALBARANES_CLIENTE_DETALLES.DESCUENTO, ALBA' + + 'RANES_CLIENTE_DETALLES.VISIBLE,'#10' ALBARANES_CLIENTE_DETALLE' + + 'S.IMPORTE_UNIDAD, ALBARANES_CLIENTE_DETALLES.IMPORTE_TOTAL,'#10' ' + + ' ARTICULOS.REFERENCIA, ARTICULOS.FAMILIA, ARTICULOS.REFERENCIA' + + '_PROV as REFERENCIA_PROVEEDOR'#10#10'FROM ALBARANES_CLIENTE_DETALLES'#10'L' + + 'EFT JOIN ARTICULOS ON (ALBARANES_CLIENTE_DETALLES.ID_ARTICULO = ' + + 'ARTICULOS.ID)'#10'WHERE ID_ALBARAN = :ID_ALBARAN'#10'ORDER BY POSICION'#10 StatementType = stSQL ColumnMappings = < item @@ -698,6 +711,10 @@ object RptAlbaranesCliente: TRptAlbaranesCliente DatasetField = 'CONCEPTO_RTF' TableField = '' SQLOrigin = 'CONCEPTO_RTF' + end + item + DatasetField = 'VISIBLE' + TableField = 'VISIBLE' end> end> Name = 'Informe_Detalles' @@ -737,6 +754,10 @@ object RptAlbaranesCliente: TRptAlbaranesCliente Name = 'DESCUENTO' DataType = datFloat end + item + Name = 'VISIBLE' + DataType = datSmallInt + end item Name = 'IMPORTE_UNIDAD' DataType = datCurrency diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas index cd06a29..d2488ce 100644 --- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas +++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas @@ -37,11 +37,12 @@ type private FConnection: IDAConnection; FVerLogotipo: Boolean; + FVerPrecios: Boolean; //Genera cada uno de los albaranes a imprimir procedure _GenerarAlbaran(const ID: Integer); public - function GenerarAlbaran(const ListaID : TIntegerArray; const VerLogotipo: Boolean = True): Binary; - function GenerarAlbaranEnPDF(const ListaID : TIntegerArray; const VerLogotipo: Boolean = True): Binary; + function GenerarAlbaran(const ListaID : TIntegerArray; const VerLogotipo: Boolean = True; const VerPrecios: Boolean = True): Binary; + function GenerarAlbaranEnPDF(const ListaID : TIntegerArray; const VerLogotipo: Boolean = True; const VerPrecios: Boolean = True): Binary; function GenerarEtiquetas(const AID : Integer; withRefCliente: Boolean): Binary; end; @@ -72,13 +73,14 @@ begin frxReport.EngineOptions.NewSilentMode := simReThrow; end; -function TRptAlbaranesCliente.GenerarAlbaran(const ListaID : TIntegerArray; const VerLogotipo: Boolean = True): Binary; +function TRptAlbaranesCliente.GenerarAlbaran(const ListaID : TIntegerArray; const VerLogotipo: Boolean = True; const VerPrecios: Boolean= True): Binary; var i: Integer; begin Result := Binary.Create; //Inicializamos parametros FVerLogotipo := VerLogotipo; + FVerPrecios := VerPrecios; //Vamos generando todos y cada uno de los presupuestos recibidos for i := 0 to ListaID.Count - 1 do @@ -87,7 +89,7 @@ begin frxReport.PreviewPages.SaveToStream(Result); end; -function TRptAlbaranesCliente.GenerarAlbaranEnPDF(const ListaID: TIntegerArray; const VerLogotipo: Boolean = True): Binary; +function TRptAlbaranesCliente.GenerarAlbaranEnPDF(const ListaID: TIntegerArray; const VerLogotipo: Boolean = True; const VerPrecios: Boolean = True): Binary; var i: Integer; begin @@ -95,6 +97,7 @@ begin //Inicializamos parametros FVerLogotipo := VerLogotipo; + FVerPrecios := VerPrecios; //Vamos generando todos y cada uno de los presupuestos recibidos for i := 0 to ListaID.Count - 1 do @@ -126,6 +129,7 @@ begin frxReport.LoadFromFile(AInforme, True); frxReport.Variables.Variables['VerLogotipo'] := FVerLogotipo; + frxReport.Variables.Variables['VerPrecios'] := FVerPrecios; frxReport.ReportOptions.Name := 'Albarán de cliente ' + tbl_Cabecera.FieldByName('REFERENCIA').AsString; frxReport.PrepareReport(False); finally diff --git a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas index 0ad6e40..bc8b7ab 100644 --- a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas +++ b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas @@ -32,7 +32,7 @@ type procedure DARemoteServiceCreate(Sender: TObject); protected { IsrvAlbaranesCliente methods } - function GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean): Binary; + function GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean; const VerPrecios: Boolean): Binary; function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary; end; @@ -81,13 +81,13 @@ begin ConnectionName := dmServer.ConnectionName; end; -function TsrvAlbaranesCliente.GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean): Binary; +function TsrvAlbaranesCliente.GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean; const VerPrecios: Boolean): Binary; var AReportGenerator : TRptAlbaranesCliente; begin AReportGenerator := TRptAlbaranesCliente.Create(nil); try - Result := AReportGenerator.GenerarAlbaran(ListaID, VerLogotipo); + Result := AReportGenerator.GenerarAlbaran(ListaID, VerLogotipo, VerPrecios); finally FreeAndNIL(AReportGenerator); end; diff --git a/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dpk b/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dpk index 780c6ac..8fe2fd5 100644 --- a/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dpk +++ b/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dpk @@ -32,7 +32,9 @@ requires AlbaranesCliente_controller, Articulos_view, Almacenes_controller, - AlbCli_FacCli_relation; + AlbCli_FacCli_relation, + rtl, + vcl; contains uAlbaranesClienteViewRegister in 'uAlbaranesClienteViewRegister.pas', @@ -50,6 +52,7 @@ contains uViewAlbaranesDevCliente in 'uViewAlbaranesDevCliente.pas' {frViewAlbaranesDevCliente: TCustomView}, uEditorAlbaranDevCliente in 'uEditorAlbaranDevCliente.pas' {fEditorAlbaranDevCliente: TCustomEditor}, uViewAlbaranDevCliente in 'uViewAlbaranDevCliente.pas' {frViewAlbaranDevCliente: TCustomView}, - uViewDatosYSeleccionClienteAlbaran in 'uViewDatosYSeleccionClienteAlbaran.pas' {frViewDatosYSeleccionClienteAlbaran: TCustomView}; + uViewDatosYSeleccionClienteAlbaran in 'uViewDatosYSeleccionClienteAlbaran.pas' {frViewDatosYSeleccionClienteAlbaran: TCustomView}, + uDialogOpcionesImpresionAlbaranesCliente in 'uDialogOpcionesImpresionAlbaranesCliente.pas' {frDialogOpcionesImpresionAlbaranesCliente: TForm}; end. diff --git a/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dproj b/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dproj index df7fa49..dfc1250 100644 --- a/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dproj +++ b/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dproj @@ -47,10 +47,6 @@ - - - - File c:\archivos de programa\borland\delphi10\Bin\dclIntraweb_80_100.bpl not found File c:\archivos de programa\borland\delphi10\Bin\dclnet100.bpl not found File c:\archivos de programa\borland\delphi10\Bin\dclsoap100.bpl not found @@ -62,15 +58,20 @@ MainSource - - - - - - - - + + + + + + + + + + +
frDialogOpcionesImpresionAlbaranesCliente
+ T +
fEditorAlbaranCliente
TfEditorAlbaranCliente @@ -131,6 +132,7 @@
frViewElegirArticulosAlbaranesCliente
TFrame
+
diff --git a/Source/Modulos/Banca electronica/Views/BancaElectronica_view.dpk b/Source/Modulos/Banca electronica/Views/BancaElectronica_view.dpk index 5cbaaba..779d51c 100644 Binary files a/Source/Modulos/Banca electronica/Views/BancaElectronica_view.dpk and b/Source/Modulos/Banca electronica/Views/BancaElectronica_view.dpk differ diff --git a/Source/Modulos/Banca electronica/Views/BancaElectronica_view.dproj b/Source/Modulos/Banca electronica/Views/BancaElectronica_view.dproj index dba9965..de0189e 100644 --- a/Source/Modulos/Banca electronica/Views/BancaElectronica_view.dproj +++ b/Source/Modulos/Banca electronica/Views/BancaElectronica_view.dproj @@ -1,4 +1,5 @@ - + + {318cdb6c-0c6b-444c-81a7-75d2547d33e7} BancaElectronica_view.dpk @@ -42,4 +43,522 @@ FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0BancaElectronica_view.dpk
+ + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + +
fEditorExportacionNorma19
+
+ +
fEditorExportacionNorma32
+
+
+ diff --git a/Source/Modulos/Banca electronica/Views/uBancaElectronicaViewRegister.pas b/Source/Modulos/Banca electronica/Views/uBancaElectronicaViewRegister.pas index 2923de8..a31da8e 100644 --- a/Source/Modulos/Banca electronica/Views/uBancaElectronicaViewRegister.pas +++ b/Source/Modulos/Banca electronica/Views/uBancaElectronicaViewRegister.pas @@ -31,16 +31,18 @@ procedure UnregisterViews; implementation uses - uEditorRegistryUtils, uEditorExportacionNorma19; + uEditorRegistryUtils, uEditorExportacionNorma19, uEditorExportacionNorma32; procedure RegisterViews; begin EditorRegistry.RegisterClass(TfEditorExportacionNorma19, 'EditorExportacionNorma19'); + EditorRegistry.RegisterClass(TfEditorExportacionNorma32, 'EditorExportacionNorma32'); end; procedure UnregisterViews; begin EditorRegistry.UnRegisterClass(TfEditorExportacionNorma19); + EditorRegistry.UnRegisterClass(TfEditorExportacionNorma32); end; end. diff --git a/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma19.dfm b/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma19.dfm index a488627..6717f66 100644 --- a/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma19.dfm +++ b/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma19.dfm @@ -1,224 +1,207 @@ -inherited fEditorExportacionNorma19: TfEditorExportacionNorma19 +object fEditorExportacionNorma19: TfEditorExportacionNorma19 + Left = 0 + Top = 0 + ActiveControl = edtCodEntidad + BorderStyle = bsDialog Caption = 'Volcado de remesas a disco (Norma 19)' - ClientHeight = 373 - ClientWidth = 466 + ClientHeight = 313 + ClientWidth = 389 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + OldCreateOrder = False + Position = poMainFormCenter OnCreate = FormCreate - ExplicitWidth = 472 - ExplicitHeight = 405 + DesignSize = ( + 389 + 313) PixelsPerInch = 96 TextHeight = 13 - inherited Bevel2: TBevel - Width = 466 - ExplicitWidth = 466 + object Label2: TLabel + Left = 24 + Top = 96 + Width = 90 + Height = 13 + Caption = 'Entidad receptora:' end - inherited Bevel3: TBevel - Top = 329 - Width = 466 - ExplicitTop = 329 - ExplicitWidth = 466 + object Label3: TLabel + Left = 24 + Top = 123 + Width = 42 + Height = 13 + Caption = 'Agencia:' end - inherited pnlBotones: TPanel - Top = 331 - Width = 466 - ExplicitTop = 331 - ExplicitWidth = 466 - inherited btnAceptar: TButton - Left = 280 - Top = 6 - Width = 98 - ExplicitLeft = 280 - ExplicitTop = 6 - ExplicitWidth = 98 - end - inherited btnCancelar: TButton - Left = 382 - Top = 6 - ExplicitLeft = 382 - ExplicitTop = 6 - end + object Label4: TLabel + Left = 24 + Top = 153 + Width = 78 + Height = 13 + Caption = 'Fecha de cargo:' end - inherited pnlHeader: TPanel - Width = 466 - ExplicitWidth = 466 - inherited lblTitle: TLabel - Width = 416 - Caption = 'Volcado de remesas a disco - Norma 19' - ExplicitWidth = 220 - end - inherited lblComments: TLabel - Width = 391 - Height = 27 - Visible = False - end - object Image1: TImage - Left = 429 - Top = 15 - Width = 28 - Height = 28 - AutoSize = True - Picture.Data = { - 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 - 00001C0806000000720DDF940000000970485973000017120000171201679FD2 - 520000000467414D410000B18E7CFB5193000002CA4944415478DAADD55F4853 - 511C07F0DF25C49012DA8B1085A14581E46EAD19A3D05885CA8CA251D04325BD - D89342BEF5B087E8CD0C7AA90916E5F0A558C8989935872C866C63EE4F5BB9A8 - 508CB27AB01552F3EE4F3BBFED1E76B7BBED8E7B7F2078CFBDDCCF39BF73EE77 - 8CF575280312CA785ACD4879AE5A31043C7FAABDE243CF1D61B87DC70C81D907 - B2D1AA603A9D86296704548D0D70C3745780AAAFD833A189BE9A265111241897 - 4CC3B4EB1DE8D816887D5EA32862E12F00C1EBCA80630C03FD090E382E05AF16 - 62D8523A91260318BB59308DD89501138718A81FBE07639787E0E2AF8DEC2A53 - F0F4851BEF8D3B5288C5FFFC8551F35CAEB5EDBB406A6B4B401E4B8C0EE1F5E3 - 2040DFDA3AB6F6DCCD058A91499031D201DFDB1590DA5E01588CF14550FDF20F - B860F2E27557C75E8AE5E014FEFFCCB65815A520D9B3014B295688721333D852 - 52DA83CD303EE9A6F7CFF6AA21B199849773D18A2882674EB4E10C2D0DF5D0CF - 8A631DD15570FB23F068D286878694A08DAC39A3EFDC8FE8269704DFC35EA62C - D873EC00DD13AB6A9B00E53172DF1B7A8F60D9CF228B6A35CDE0F3AF945D2582 - 278FEECBED497E3F6676AA102DC4C85F20FA8182783A8B3EFC9EE137996F3FE3 - 150F10829D9A56FAD2647EA5F32D4D028C8C45621F05A0580EDFB2AC22681DD1 - D1B1C21C4650A7DE23C004A72F3F464A0C2CFE86D9ABD308660203785D9CC308 - 1E69DB0D368707A4542DA0580E2358185B52AA1A187C62289BC3B27E6E447338 - BE08E9ED2CDD9AE21C5616CC62B034082EA71B0E0FFEA36780CF61B21DCA829E - E3008DB997C7B2B9BEE3D26F7AE8EC4EAFC2607E753CE89A0268BDB64EBFEF59 - 975F3990BCB0CEDF4531BEC82AC1F01DF772DE13520624395CB71112AC8E2FB2 - 4A95F12B4E88CF61D920C9E186B0BE042B44B71A96690ECB6FA93609AEFB9A8A - CF6DE9FE447358362896C362D1C8C7A26CB0D61C960DD69AC3B2C15A73F83F42 - 0A9D9B19DC72610000000049454E44AE426082} - end + object Image1: TImage + Left = 345 + Top = 15 + Width = 28 + Height = 28 + AutoSize = True + Picture.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 + 00001C0806000000720DDF940000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000002CA4944415478DAADD55F4853 + 511C07F0DF25C49012DA8B1085A14581E46EAD19A3D05885CA8CA251D04325BD + D89342BEF5B087E8CD0C7AA90916E5F0A558C8989935872C866C63EE4F5BB9A8 + 508CB27AB01552F3EE4F3BBFED1E76B7BBED8E7B7F2078CFBDDCCF39BF73EE77 + 8CF575280312CA785ACD4879AE5A31043C7FAABDE243CF1D61B87DC70C81D907 + B2D1AA603A9D86296704548D0D70C3745780AAAFD833A189BE9A265111241897 + 4CC3B4EB1DE8D816887D5EA32862E12F00C1EBCA80630C03FD090E382E05AF16 + 62D8523A91260318BB59308DD89501138718A81FBE07639787E0E2AF8DEC2A53 + F0F4851BEF8D3B5288C5FFFC8551F35CAEB5EDBB406A6B4B401E4B8C0EE1F5E3 + 2040DFDA3AB6F6DCCD058A91499031D201DFDB1590DA5E01588CF14550FDF20F + B860F2E27557C75E8AE5E014FEFFCCB65815A520D9B3014B295688721333D852 + 52DA83CD303EE9A6F7CFF6AA21B199849773D18A2882674EB4E10C2D0DF5D0CF + 8A631DD15570FB23F068D286878694A08DAC39A3EFDC8FE8269704DFC35EA62C + D873EC00DD13AB6A9B00E53172DF1B7A8F60D9CF228B6A35CDE0F3AF945D2582 + 278FEECBED497E3F6676AA102DC4C85F20FA8182783A8B3EFC9EE137996F3FE3 + 150F10829D9A56FAD2647EA5F32D4D028C8C45621F05A0580EDFB2AC22681DD1 + D1B1C21C4650A7DE23C004A72F3F464A0C2CFE86D9ABD308660203785D9CC308 + 1E69DB0D368707A4542DA0580E2358185B52AA1A187C62289BC3B27E6E447338 + BE08E9ED2CDD9AE21C5616CC62B034082EA71B0E0FFEA36780CF61B21DCA829E + E3008DB997C7B2B9BEE3D26F7AE8EC4EAFC2607E753CE89A0268BDB64EBFEF59 + 975F3990BCB0CEDF4531BEC82AC1F01DF772DE13520624395CB71112AC8E2FB2 + 4A95F12B4E88CF61D920C9E186B0BE042B44B71A96690ECB6FA93609AEFB9A8A + CF6DE9FE447358362896C362D1C8C7A26CB0D61C960DD69AC3B2C15A73F83F42 + 0A9D9B19DC72610000000049454E44AE426082} end - inherited pnlCuerpo: TPanel - Width = 466 - Height = 263 - ExplicitWidth = 466 - ExplicitHeight = 263 - object Bevel12: TBevel - Left = 50 - Top = 132 - Width = 349 - Height = 5 - Shape = bsBottomLine - end - object Label1: TLabel - Left = 50 - Top = 152 - Width = 71 - Height = 13 - Caption = 'Guardar como:' - end - object Label2: TLabel - Left = 50 - Top = 40 - Width = 90 - Height = 13 - Caption = 'Entidad receptora:' - end - object Label3: TLabel - Left = 50 - Top = 67 - Width = 42 - Height = 13 - Caption = 'Agencia:' - end - object Label4: TLabel - Left = 50 - Top = 97 - Width = 78 - Height = 13 - Caption = 'Fecha de cargo:' - end - object Label5: TLabel - Left = 228 - Top = 40 - Width = 48 - Height = 13 - Caption = '(4 d'#237'gitos)' - end - object Label6: TLabel - Left = 228 - Top = 67 - Width = 48 - Height = 13 - Caption = '(4 d'#237'gitos)' - end - object edtCodAgencia: TcxMaskEdit - Left = 146 - Top = 64 - Properties.BeepOnError = True - Properties.MaxLength = 4 - Style.LookAndFeel.Kind = lfStandard - Style.LookAndFeel.NativeStyle = True - StyleDisabled.LookAndFeel.Kind = lfStandard - StyleDisabled.LookAndFeel.NativeStyle = True - StyleFocused.LookAndFeel.Kind = lfStandard - StyleFocused.LookAndFeel.NativeStyle = True - StyleHot.LookAndFeel.Kind = lfStandard - StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 0 - Text = ' ' - Width = 73 - end - object edtCodEntidad: TcxMaskEdit - Left = 146 - Top = 37 - Properties.BeepOnError = True - Properties.MaxLength = 4 - Style.LookAndFeel.Kind = lfStandard - Style.LookAndFeel.NativeStyle = True - StyleDisabled.LookAndFeel.Kind = lfStandard - StyleDisabled.LookAndFeel.NativeStyle = True - StyleFocused.LookAndFeel.Kind = lfStandard - StyleFocused.LookAndFeel.NativeStyle = True - StyleHot.LookAndFeel.Kind = lfStandard - StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 1 - Text = ' ' - Width = 73 - end - object edtFechaCargo: TcxDateEdit - Left = 146 - Top = 94 - Properties.DateButtons = [btnToday] - Properties.ImmediatePost = True - Properties.SaveTime = False - Properties.ShowTime = False - Style.LookAndFeel.Kind = lfStandard - Style.LookAndFeel.NativeStyle = True - StyleDisabled.LookAndFeel.Kind = lfStandard - StyleDisabled.LookAndFeel.NativeStyle = True - StyleFocused.LookAndFeel.Kind = lfStandard - StyleFocused.LookAndFeel.NativeStyle = True - StyleHot.LookAndFeel.Kind = lfStandard - StyleHot.LookAndFeel.NativeStyle = True - TabOrder = 2 - Width = 167 - end - object JvFilenameEdit1: TJvFilenameEdit - Left = 50 - Top = 170 - Width = 349 - Height = 21 - Flat = False - ParentFlat = False - Filter = 'Ficheros de norma 19 (*.C19)|*.C19' - DialogOptions = [ofOverwritePrompt, ofHideReadOnly, ofPathMustExist] - DialogTitle = 'Volcar a disco la remesa' - TabOrder = 3 - end + object Bevel1: TBevel + Left = 8 + Top = 268 + Width = 373 + Height = 3 + Anchors = [akLeft, akRight, akBottom] + Shape = bsBottomLine + ExplicitTop = 328 end - inherited ActionListDialog: TActionList - Top = 64 - inherited actAceptar: TAction - Caption = '&Volcar a disco' - OnExecute = actAceptarExecute - OnUpdate = actAceptarUpdate - end + object Label1: TLabel + Left = 24 + Top = 208 + Width = 71 + Height = 13 + Caption = 'Guardar como:' + end + object Bevel2: TBevel + Left = 24 + Top = 188 + Width = 349 + Height = 3 + Anchors = [akLeft, akTop, akRight] + Shape = bsBottomLine + end + object Label5: TLabel + Left = 202 + Top = 96 + Width = 48 + Height = 13 + Caption = '(4 d'#237'gitos)' + end + object Label6: TLabel + Left = 202 + Top = 123 + Width = 48 + Height = 13 + Caption = '(4 d'#237'gitos)' + end + object edtFechaCargo: TcxDateEdit + Left = 120 + Top = 150 + Properties.DateButtons = [btnToday] + Properties.ImmediatePost = True + Properties.SaveTime = False + Properties.ShowTime = False + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 2 + Width = 167 + end + object edtCodEntidad: TcxTextEdit + Left = 120 + Top = 93 + Properties.BeepOnError = True + Properties.MaxLength = 4 + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 0 + Text = ' ' + Width = 73 + end + object edtCodAgencia: TcxTextEdit + Left = 120 + Top = 120 + Properties.BeepOnError = True + Properties.MaxLength = 4 + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 1 + Text = ' ' + Width = 73 + end + object CancelBtn: TButton + Left = 301 + Top = 277 + Width = 75 + Height = 25 + Anchors = [akLeft, akRight, akBottom] + Cancel = True + Caption = '&Cancelar' + ModalResult = 2 + TabOrder = 4 + OnClick = CancelBtnClick + end + object OKBtn: TButton + Left = 202 + Top = 277 + Width = 85 + Height = 25 + Action = actVolcar + Anchors = [akLeft, akRight, akBottom] + TabOrder = 3 + end + object JvFilenameEdit1: TJvFilenameEdit + Left = 24 + Top = 227 + Width = 349 + Height = 21 + Flat = False + ParentFlat = False + Filter = 'Ficheros de norma 19 (*.C19)|*.C19' + DialogOptions = [ofOverwritePrompt, ofHideReadOnly, ofPathMustExist] + DialogTitle = 'Volcar a disco la remesa' + TabOrder = 5 end object JvFormStorage: TJvFormStorage AppStorage = JvAppRegistryStorage AppStoragePath = 'fEditorBase\' VersionCheck = fpvcNocheck - StoredProps.Strings = ( - 'edtCodAgencia.Text' - 'edtCodEntidad.Text') StoredValues = <> Left = 80 Top = 64 @@ -226,9 +209,18 @@ inherited fEditorExportacionNorma19: TfEditorExportacionNorma19 object JvAppRegistryStorage: TJvAppRegistryStorage StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y' StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N' - Root = 'Software\%APPL_NAME%' + Root = 'Software\FactuGES' SubStorages = <> Left = 112 Top = 64 end + object ActionList1: TActionList + Left = 272 + Top = 72 + object actVolcar: TAction + Caption = 'Volcar a disco' + OnExecute = actVolcarExecute + OnUpdate = actVolcarUpdate + end + end end diff --git a/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma19.pas b/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma19.pas index d2202f6..0cc9ea2 100644 --- a/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma19.pas +++ b/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma19.pas @@ -5,40 +5,45 @@ interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, pngimage, cxControls, cxContainer, cxEdit, - cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, uDialogBase, - uIEditorExportacionNorma19, JvExControls, JvComponent, + cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, + uIEditorExportacionNorma19, JvExControls, JvComponent, JvgWizardHeader, JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, JvDialogs, Mask, JvExMask, JvToolEdit, ActnList; type - TfEditorExportacionNorma19 = class(TfDialogBase, IEditorExportacionNorma19) + TfEditorExportacionNorma19 = class(TForm, IEditorExportacionNorma19) + OKBtn: TButton; + CancelBtn: TButton; Image1: TImage; edtFechaCargo: TcxDateEdit; Label2: TLabel; Label3: TLabel; Label4: TLabel; - edtCodEntidad: TcxMaskEdit; - edtCodAgencia: TcxMaskEdit; + edtCodEntidad: TcxTextEdit; + edtCodAgencia: TcxTextEdit; + Bevel1: TBevel; JvFormStorage: TJvFormStorage; JvAppRegistryStorage: TJvAppRegistryStorage; Label1: TLabel; - Bevel12: TBevel; + Bevel2: TBevel; JvFilenameEdit1: TJvFilenameEdit; + ActionList1: TActionList; + actVolcar: TAction; Label5: TLabel; Label6: TLabel; procedure OKBtnClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure CancelBtnClick(Sender: TObject); - procedure actAceptarExecute(Sender: TObject); - procedure actAceptarUpdate(Sender: TObject); + procedure actVolcarUpdate(Sender: TObject); + procedure actVolcarExecute(Sender: TObject); private FFichero : String; protected - procedure SetCodigoEntidad(const AValue: Integer); - function GetCodigoEntidad : Integer; + procedure SetCodigoEntidad(const AValue: String); + function GetCodigoEntidad : String; - procedure SetCodigoAgencia(const AValue: Integer); - function GetCodigoAgencia : Integer; + procedure SetCodigoAgencia(const AValue: String); + function GetCodigoAgencia : String; procedure SetFechaCargo(const AValue: TDateTime); function GetFechaCargo : TDateTime; @@ -46,8 +51,8 @@ type procedure SetFichero(const AValue: String); function GetFichero : String; public - property CodigoEntidad : Integer read GetCodigoEntidad write SetCodigoEntidad; - property CodigoAgencia : Integer read GetCodigoAgencia write SetCodigoAgencia; + property CodigoEntidad : String read GetCodigoEntidad write SetCodigoEntidad; + property CodigoAgencia : String read GetCodigoAgencia write SetCodigoAgencia; property FechaCargo : TDateTime read GetFechaCargo write SetFechaCargo; property Fichero : String read GetFichero write SetFichero; end; @@ -62,16 +67,14 @@ uses { TfEditorExportacionNorma19 } -procedure TfEditorExportacionNorma19.actAceptarExecute(Sender: TObject); +procedure TfEditorExportacionNorma19.actVolcarExecute(Sender: TObject); begin - inherited; FFichero := JvFilenameEdit1.FileName; ModalResult := mrOk; end; -procedure TfEditorExportacionNorma19.actAceptarUpdate(Sender: TObject); +procedure TfEditorExportacionNorma19.actVolcarUpdate(Sender: TObject); begin - inherited; (Sender as TAction).Enabled := (Length(edtCodEntidad.Text) = 4) and (Length(edtCodAgencia.Text) = 4) and @@ -99,14 +102,14 @@ begin edtFechaCargo.Date := Now; end; -function TfEditorExportacionNorma19.GetCodigoAgencia: Integer; +function TfEditorExportacionNorma19.GetCodigoAgencia: String; begin - Result := StrToInt(edtCodAgencia.Text); + Result := edtCodAgencia.Text; end; -function TfEditorExportacionNorma19.GetCodigoEntidad: Integer; +function TfEditorExportacionNorma19.GetCodigoEntidad: String; begin - Result := StrToInt(edtCodEntidad.Text); + Result := edtCodEntidad.Text; end; function TfEditorExportacionNorma19.GetFechaCargo: TDateTime; @@ -121,6 +124,7 @@ end; procedure TfEditorExportacionNorma19.OKBtnClick(Sender: TObject); var + ASaveDialog : TSaveDialog; // Save dialog variable AArchivo : string; ARuta : String; begin @@ -165,14 +169,14 @@ begin end; -procedure TfEditorExportacionNorma19.SetCodigoAgencia(const AValue: Integer); +procedure TfEditorExportacionNorma19.SetCodigoAgencia(const AValue: String); begin - edtCodAgencia.Text := IntToStr(AValue); + edtCodAgencia.Text := AValue; end; -procedure TfEditorExportacionNorma19.SetCodigoEntidad(const AValue: Integer); +procedure TfEditorExportacionNorma19.SetCodigoEntidad(const AValue: String); begin - edtCodEntidad.Text := IntToStr(AValue); + edtCodEntidad.Text := AValue; end; procedure TfEditorExportacionNorma19.SetFechaCargo(const AValue: TDateTime); diff --git a/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma32.dfm b/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma32.dfm new file mode 100644 index 0000000..abe034e --- /dev/null +++ b/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma32.dfm @@ -0,0 +1,301 @@ +object fEditorExportacionNorma32: TfEditorExportacionNorma32 + Left = 0 + Top = 0 + ActiveControl = edtCodEntidad + BorderStyle = bsDialog + Caption = 'Volcado de remesas a disco (Norma 32)' + ClientHeight = 366 + ClientWidth = 389 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + OldCreateOrder = False + Position = poMainFormCenter + OnCreate = FormCreate + DesignSize = ( + 389 + 366) + PixelsPerInch = 96 + TextHeight = 13 + object Label2: TLabel + Left = 24 + Top = 144 + Width = 90 + Height = 13 + Margins.Bottom = 0 + Caption = 'Entidad receptora:' + end + object Label3: TLabel + Left = 24 + Top = 171 + Width = 42 + Height = 13 + Margins.Bottom = 0 + Caption = 'Agencia:' + end + object Image1: TImage + Left = 345 + Top = 15 + Width = 28 + Height = 28 + AutoSize = True + Picture.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 + 00001C0806000000720DDF940000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000002CA4944415478DAADD55F4853 + 511C07F0DF25C49012DA8B1085A14581E46EAD19A3D05885CA8CA251D04325BD + D89342BEF5B087E8CD0C7AA90916E5F0A558C8989935872C866C63EE4F5BB9A8 + 508CB27AB01552F3EE4F3BBFED1E76B7BBED8E7B7F2078CFBDDCCF39BF73EE77 + 8CF575280312CA785ACD4879AE5A31043C7FAABDE243CF1D61B87DC70C81D907 + B2D1AA603A9D86296704548D0D70C3745780AAAFD833A189BE9A265111241897 + 4CC3B4EB1DE8D816887D5EA32862E12F00C1EBCA80630C03FD090E382E05AF16 + 62D8523A91260318BB59308DD89501138718A81FBE07639787E0E2AF8DEC2A53 + F0F4851BEF8D3B5288C5FFFC8551F35CAEB5EDBB406A6B4B401E4B8C0EE1F5E3 + 2040DFDA3AB6F6DCCD058A91499031D201DFDB1590DA5E01588CF14550FDF20F + B860F2E27557C75E8AE5E014FEFFCCB65815A520D9B3014B295688721333D852 + 52DA83CD303EE9A6F7CFF6AA21B199849773D18A2882674EB4E10C2D0DF5D0CF + 8A631DD15570FB23F068D286878694A08DAC39A3EFDC8FE8269704DFC35EA62C + D873EC00DD13AB6A9B00E53172DF1B7A8F60D9CF228B6A35CDE0F3AF945D2582 + 278FEECBED497E3F6676AA102DC4C85F20FA8182783A8B3EFC9EE137996F3FE3 + 150F10829D9A56FAD2647EA5F32D4D028C8C45621F05A0580EDFB2AC22681DD1 + D1B1C21C4650A7DE23C004A72F3F464A0C2CFE86D9ABD308660203785D9CC308 + 1E69DB0D368707A4542DA0580E2358185B52AA1A187C62289BC3B27E6E447338 + BE08E9ED2CDD9AE21C5616CC62B034082EA71B0E0FFEA36780CF61B21DCA829E + E3008DB997C7B2B9BEE3D26F7AE8EC4EAFC2607E753CE89A0268BDB64EBFEF59 + 975F3990BCB0CEDF4531BEC82AC1F01DF772DE13520624395CB71112AC8E2FB2 + 4A95F12B4E88CF61D920C9E186B0BE042B44B71A96690ECB6FA93609AEFB9A8A + CF6DE9FE447358362896C362D1C8C7A26CB0D61C960DD69AC3B2C15A73F83F42 + 0A9D9B19DC72610000000049454E44AE426082} + end + object Bevel1: TBevel + Left = 8 + Top = 321 + Width = 373 + Height = 3 + Anchors = [akLeft, akRight, akBottom] + Shape = bsBottomLine + ExplicitTop = 328 + end + object Label1: TLabel + Left = 24 + Top = 264 + Width = 71 + Height = 13 + Margins.Bottom = 0 + Caption = 'Guardar como:' + end + object Bevel2: TBevel + Left = 24 + Top = 245 + Width = 349 + Height = 3 + Anchors = [akLeft, akTop, akRight] + Shape = bsBottomLine + end + object Label5: TLabel + Left = 202 + Top = 144 + Width = 48 + Height = 13 + Margins.Bottom = 0 + Caption = '(4 d'#237'gitos)' + end + object Label6: TLabel + Left = 202 + Top = 171 + Width = 48 + Height = 13 + Margins.Bottom = 0 + Caption = '(4 d'#237'gitos)' + end + object Label7: TLabel + Left = 24 + Top = 90 + Width = 65 + Height = 13 + Margins.Bottom = 0 + Caption = 'Identificador:' + end + object Label8: TLabel + Left = 301 + Top = 90 + Width = 54 + Height = 13 + Margins.Bottom = 0 + Caption = '(15 d'#237'gitos)' + end + object Label9: TLabel + Left = 24 + Top = 117 + Width = 69 + Height = 13 + Margins.Bottom = 0 + Caption = 'C'#243'digo I.N.E.:' + end + object Label10: TLabel + Left = 301 + Top = 117 + Width = 48 + Height = 13 + Margins.Bottom = 0 + Caption = '(9 d'#237'gitos)' + end + object Label4: TLabel + Left = 24 + Top = 201 + Width = 78 + Height = 13 + Margins.Bottom = 0 + Caption = 'Fecha de cargo:' + end + object edtCodEntidad: TcxMaskEdit + Left = 120 + Top = 141 + Properties.BeepOnError = True + Properties.MaxLength = 4 + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 2 + Text = ' ' + Width = 73 + end + object edtCodAgencia: TcxMaskEdit + Left = 120 + Top = 168 + Properties.BeepOnError = True + Properties.MaxLength = 4 + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 3 + Text = ' ' + Width = 73 + end + object CancelBtn: TButton + Left = 301 + Top = 330 + Width = 75 + Height = 25 + Anchors = [akLeft, akRight, akBottom] + Cancel = True + Caption = '&Cancelar' + ModalResult = 2 + TabOrder = 7 + OnClick = CancelBtnClick + end + object OKBtn: TButton + Left = 202 + Top = 330 + Width = 85 + Height = 25 + Action = actVolcar + Anchors = [akLeft, akRight, akBottom] + TabOrder = 6 + end + object JvFilenameEdit1: TJvFilenameEdit + Left = 24 + Top = 283 + Width = 349 + Height = 21 + Flat = False + ParentFlat = False + Filter = 'Ficheros de norma 32 (*.C32)|*.C32' + DialogOptions = [ofOverwritePrompt, ofHideReadOnly, ofPathMustExist] + DialogTitle = 'Volcar a disco la remesa' + TabOrder = 5 + end + object edtCodigoIdentif: TcxMaskEdit + Left = 120 + Top = 87 + Properties.BeepOnError = True + Properties.MaxLength = 15 + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 0 + Text = ' ' + Width = 167 + end + object edtINE: TcxMaskEdit + Left = 120 + Top = 114 + Properties.BeepOnError = True + Properties.MaxLength = 9 + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 1 + Text = ' ' + Width = 167 + end + object edtFechaCargo: TcxDateEdit + Left = 120 + Top = 198 + Properties.DateButtons = [btnToday] + Properties.ImmediatePost = True + Properties.SaveTime = False + Properties.ShowTime = False + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 4 + Width = 167 + end + object JvFormStorage: TJvFormStorage + AppStorage = JvAppRegistryStorage + AppStoragePath = 'fEditorBase\' + VersionCheck = fpvcNocheck + StoredProps.Strings = ( + 'edtCodigoIdentif.Text' + 'edtINE.Text') + StoredValues = <> + Left = 80 + Top = 32 + end + object JvAppRegistryStorage: TJvAppRegistryStorage + StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y' + StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N' + Root = 'Software\FactuGES' + SubStorages = <> + Left = 112 + Top = 32 + end + object ActionList1: TActionList + Left = 144 + Top = 32 + object actVolcar: TAction + Caption = 'Volcar a disco' + OnExecute = actVolcarExecute + OnUpdate = actVolcarUpdate + end + end +end diff --git a/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma32.pas b/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma32.pas new file mode 100644 index 0000000..5e8ef8c --- /dev/null +++ b/Source/Modulos/Banca electronica/Views/uEditorExportacionNorma32.pas @@ -0,0 +1,228 @@ +unit uEditorExportacionNorma32; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, ExtCtrls, StdCtrls, pngimage, cxControls, cxContainer, cxEdit, + cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, + uIEditorExportacionNorma32, JvExControls, JvComponent, JvgWizardHeader, + JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, + JvDialogs, Mask, JvExMask, JvToolEdit, ActnList; + +type + TfEditorExportacionNorma32 = class(TForm, IEditorExportacionNorma32) + OKBtn: TButton; + CancelBtn: TButton; + Image1: TImage; + Label2: TLabel; + Label3: TLabel; + edtCodEntidad: TcxMaskEdit; + edtCodAgencia: TcxMaskEdit; + Bevel1: TBevel; + JvFormStorage: TJvFormStorage; + JvAppRegistryStorage: TJvAppRegistryStorage; + Label1: TLabel; + Bevel2: TBevel; + JvFilenameEdit1: TJvFilenameEdit; + ActionList1: TActionList; + actVolcar: TAction; + Label5: TLabel; + Label6: TLabel; + Label7: TLabel; + edtCodigoIdentif: TcxMaskEdit; + Label8: TLabel; + Label9: TLabel; + edtINE: TcxMaskEdit; + Label10: TLabel; + Label4: TLabel; + edtFechaCargo: TcxDateEdit; + procedure OKBtnClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure CancelBtnClick(Sender: TObject); + procedure actVolcarUpdate(Sender: TObject); + procedure actVolcarExecute(Sender: TObject); + private + FFichero : String; + protected + procedure SetCodigoEntidad(const AValue: String); + function GetCodigoEntidad : String; + + procedure SetCodigoAgencia(const AValue: String); + function GetCodigoAgencia : String; + + function GetCodigoINE: String; + procedure SetCodigoINE(const Value: String); + + procedure SetCodigoIdentif(const Value: String); + function GetCodigoIdentif: String; + + procedure SetFechaCargo(const AValue: TDateTime); + function GetFechaCargo : TDateTime; + + procedure SetFichero(const AValue: String); + function GetFichero : String; + public + property CodigoEntidad : String read GetCodigoEntidad write SetCodigoEntidad; + property CodigoAgencia : String read GetCodigoAgencia write SetCodigoAgencia; + property CodigoIdentif : String read GetCodigoIdentif write SetCodigoIdentif; + property CodigoINE : String read GetCodigoINE write SetCodigoINE; + property FechaCargo : TDateTime read GetFechaCargo write SetFechaCargo; + property Fichero : String read GetFichero write SetFichero; + end; + + +implementation + +{$R *.dfm} + +uses + uDialogUtils; + +{ TfEditorExportacionNorma32 } + +procedure TfEditorExportacionNorma32.actVolcarExecute(Sender: TObject); +begin + FFichero := JvFilenameEdit1.FileName; + ModalResult := mrOk; +end; + +procedure TfEditorExportacionNorma32.actVolcarUpdate(Sender: TObject); +begin + (Sender as TAction).Enabled := + (Length(edtCodEntidad.Text) = 4) and + (Length(edtCodAgencia.Text) = 4) and + (Length(JvFilenameEdit1.Text) > 0) +end; + +procedure TfEditorExportacionNorma32.CancelBtnClick(Sender: TObject); +begin + Close; +end; + +procedure TfEditorExportacionNorma32.FormCreate(Sender: TObject); +var + APath : String; +begin + inherited; + with JvFormStorage do + begin + if Pos('_', Self.Name) = 0 then + APath := Self.Name + else + APath := Copy(Self.Name, 0, (Pos('_', Self.Name)-1)); + AppStoragePath := APath; + end; + edtFechaCargo.Date := Now; +end; + +function TfEditorExportacionNorma32.GetCodigoAgencia: String; +begin + Result := edtCodAgencia.Text; +end; + +function TfEditorExportacionNorma32.GetCodigoEntidad: String; +begin + Result := edtCodEntidad.Text; +end; + +function TfEditorExportacionNorma32.GetCodigoINE: String; +begin + Result := edtINE.Text; +end; + +function TfEditorExportacionNorma32.GetFechaCargo: TDateTime; +begin + Result := edtFechaCargo.Date; +end; + +function TfEditorExportacionNorma32.GetFichero: String; +begin + Result := FFichero; +end; + +function TfEditorExportacionNorma32.GetCodigoIdentif: String; +begin + Result := edtCodigoIdentif.Text; +end; + +procedure TfEditorExportacionNorma32.OKBtnClick(Sender: TObject); +var + ASaveDialog : TSaveDialog; // Save dialog variable + AArchivo : string; + ARuta : String; +begin + AArchivo := FFichero; + ARuta := ExtractFilePath(Application.ExeName); + +// ASaveDialog := TSaveDialog.Create(nil); +// try +// ASaveDialog.Title := 'Volcar a disco la remesa'; +// ASaveDialog.FileName := FFichero; +// +// ASaveDialog.InitialDir := GetCurrentDir; +// +// ASaveDialog.Filter := 'Ficheros de norma 19 (*.C19)|*.C19'; +// ASaveDialog.DefaultExt := 'C19'; +// ASaveDialog.FilterIndex := 1; +// +// try +// if ASaveDialog.Execute then +// begin +// FFichero := ASaveDialog.FileName; +// ModalResult := mrOk +// end +// else begin +// ModalResult := mrCancel; +// end; +// except +// on e: exception do +// ShowErrorMessage('error', 'error', e); +// end; +// finally +// FreeAndNIL(ASaveDialog); +// end; + +{ if SaveFileDialog(Application.Handle, 'C19', 'Ficheros de norma 19 (*.C19)|*.C19', + 'c:\', 'Volcar a disco la remesa', FFichero) then} + if SaveFileDialog(Application.Handle, 'C19', 'Ficheros de norma 19 (*.C19)|*.C19', + ARuta, 'Volcar a disco la remesa', AArchivo) then + ModalResult := mrOk + else + ModalResult := mrCancel; + +end; + +procedure TfEditorExportacionNorma32.SetCodigoAgencia(const AValue: String); +begin + edtCodAgencia.Text := AValue; +end; + +procedure TfEditorExportacionNorma32.SetCodigoEntidad(const AValue: String); +begin + edtCodEntidad.Text := AValue; +end; + +procedure TfEditorExportacionNorma32.SetCodigoINE(const Value: String); +begin + edtINE.Text := Value; +end; + +procedure TfEditorExportacionNorma32.SetFechaCargo(const AValue: TDateTime); +begin + edtFechaCargo.Date := AValue; +end; + +procedure TfEditorExportacionNorma32.SetFichero(const AValue: String); +begin + FFichero := AValue; + JvFilenameEdit1.InitialDir := ExtractFilePath(Application.ExeName); + JvFilenameEdit1.FileName := JvFilenameEdit1.InitialDir + PathDelim + FFichero; +end; + +procedure TfEditorExportacionNorma32.SetCodigoIdentif(const Value: String); +begin + edtCodigoIdentif.Text := Value; +end; + +end. diff --git a/Source/Modulos/Facturas de cliente/Data/FacturasCliente_data.dproj b/Source/Modulos/Facturas de cliente/Data/FacturasCliente_data.dproj index 41e1b3a..3b4d0c6 100644 --- a/Source/Modulos/Facturas de cliente/Data/FacturasCliente_data.dproj +++ b/Source/Modulos/Facturas de cliente/Data/FacturasCliente_data.dproj @@ -49,7 +49,7 @@ MainSource - +
DataModuleFacturasCliente
TDAClientDataModule diff --git a/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm index db5041f..4153680 100644 --- a/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm @@ -68,6 +68,7 @@ inherited DataModuleFacturasCliente: TDataModuleFacturasCliente item Name = 'FECHA_VENCIMIENTO' DataType = datDateTime + ServerAutoRefresh = True end item Name = 'SITUACION' diff --git a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas index 24b02d5..19eda78 100644 --- a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas +++ b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas @@ -3,15 +3,15 @@ unit schFacturasClienteClient_Intf; interface uses - Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf; + Classes, DB, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf; const { Data table rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_ListaAnosFacturas = '{D124C6A9-9125-41D5-8910-57FF495BF307}'; - RID_FacturasCliente = '{1302F337-0DD8-4688-AE4A-BBEE072A6C3A}'; - RID_FacturasCliente_Detalles = '{94E66444-E0C2-400F-B529-B4CD1AA4B51F}'; + RID_ListaAnosFacturas = '{91A70F51-8A2E-4CB1-8479-E2046491B559}'; + RID_FacturasCliente = '{55BFE5E8-07E7-482A-AA41-C238E7001A5F}'; + RID_FacturasCliente_Detalles = '{E1D3C102-25EF-4055-A994-D132F6D878A4}'; { Data table names } nme_ListaAnosFacturas = 'ListaAnosFacturas'; @@ -161,7 +161,7 @@ const type { IListaAnosFacturas } IListaAnosFacturas = interface(IDAStronglyTypedDataTable) - ['{228D328D-5F59-4A81-BBE8-1CFF290D1369}'] + ['{4AB5D62E-B82F-4BDB-9A93-666C9A99B100}'] { Property getters and setters } function GetANOValue: String; procedure SetANOValue(const aValue: String); @@ -175,7 +175,7 @@ type end; { TListaAnosFacturasDataTableRules } - TListaAnosFacturasDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosFacturas) + TListaAnosFacturasDataTableRules = class(TDADataTableRules, IListaAnosFacturas) private protected { Property getters and setters } @@ -196,7 +196,7 @@ type { IFacturasCliente } IFacturasCliente = interface(IDAStronglyTypedDataTable) - ['{5FE41CBB-BFCD-4D64-B2EB-95B093C9F387}'] + ['{7E9BD79C-6590-4919-8E6C-CDC0A7F19DB5}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -491,7 +491,7 @@ type end; { TFacturasClienteDataTableRules } - TFacturasClienteDataTableRules = class(TIntfObjectDADataTableRules, IFacturasCliente) + TFacturasClienteDataTableRules = class(TDADataTableRules, IFacturasCliente) private f_OBSERVACIONES: IROStrings; procedure OBSERVACIONES_OnChange(Sender: TObject); @@ -795,7 +795,7 @@ type { IFacturasCliente_Detalles } IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable) - ['{1189A431-E8CB-4DF3-A668-E89F49C7A393}'] + ['{14C55748-5968-4AEC-B4E9-33F1E1B63B13}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -893,7 +893,7 @@ type end; { TFacturasCliente_DetallesDataTableRules } - TFacturasCliente_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IFacturasCliente_Detalles) + TFacturasCliente_DetallesDataTableRules = class(TDADataTableRules, IFacturasCliente_Detalles) private protected { Property getters and setters } diff --git a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas index 04b019b..543c479 100644 --- a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas +++ b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas @@ -9,14 +9,14 @@ const { Delta rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_ListaAnosFacturasDelta = '{A36E4AFD-23AD-421D-9A83-CF95673BC233}'; - RID_FacturasClienteDelta = '{7450A969-1ECA-4843-9A77-57181F6C539B}'; - RID_FacturasCliente_DetallesDelta = '{AE9B5F97-D0B9-47C0-BAF0-05D4EF41ED06}'; + RID_ListaAnosFacturasDelta = '{003C9415-1DB8-4D83-8F20-A3262A54C43C}'; + RID_FacturasClienteDelta = '{5EFA5DD8-59BA-41B4-BBCE-2DC0B4EC5877}'; + RID_FacturasCliente_DetallesDelta = '{B41B5FE7-AA18-4D3F-8153-8E1B50331FF6}'; type { IListaAnosFacturasDelta } IListaAnosFacturasDelta = interface(IListaAnosFacturas) - ['{A36E4AFD-23AD-421D-9A83-CF95673BC233}'] + ['{003C9415-1DB8-4D83-8F20-A3262A54C43C}'] { Property getters and setters } function GetOldANOValue : String; @@ -50,7 +50,7 @@ type { IFacturasClienteDelta } IFacturasClienteDelta = interface(IFacturasCliente) - ['{7450A969-1ECA-4843-9A77-57181F6C539B}'] + ['{5EFA5DD8-59BA-41B4-BBCE-2DC0B4EC5877}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -649,7 +649,7 @@ type { IFacturasCliente_DetallesDelta } IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles) - ['{AE9B5F97-D0B9-47C0-BAF0-05D4EF41ED06}'] + ['{B41B5FE7-AA18-4D3F-8153-8E1B50331FF6}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_FACTURAValue : Integer; diff --git a/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm b/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm index 6d26ac1..8b0bd09 100644 --- a/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm +++ b/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm @@ -281,6 +281,7 @@ object srvFacturasCliente: TsrvFacturasCliente item Name = 'FECHA_VENCIMIENTO' DataType = datDateTime + ServerAutoRefresh = True end item Name = 'SITUACION' diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm index 0ad46a7..76a4e8f 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm @@ -1,5 +1,5 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente - Width = 451 + Width = 792 Height = 304 Align = alClient OnCreate = CustomViewCreate @@ -9,7 +9,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente object dxLayoutControl1: TdxLayoutControl Left = 0 Top = 0 - Width = 451 + Width = 792 Height = 304 Align = alClient ParentBackground = True @@ -17,8 +17,9 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente TabStop = False AutoContentSizes = [acsWidth, acsHeight] LookAndFeel = dxLayoutOfficeLookAndFeel1 + ExplicitWidth = 451 DesignSize = ( - 451 + 792 304) object eReferencia: TcxDBTextEdit Left = 135 @@ -95,7 +96,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Width = 78 end object bFormasPago: TButton - Left = 241 + Left = 251 Top = 135 Width = 132 Height = 23 @@ -105,7 +106,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente end inline frViewTienda1: TfrViewTienda Left = 22 - Top = 215 + Top = 273 Width = 351 Height = 48 Enabled = False @@ -115,10 +116,10 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Font.Name = 'Tahoma' Font.Style = [] ParentFont = False - TabOrder = 6 + TabOrder = 8 ReadOnly = False ExplicitLeft = 22 - ExplicitTop = 215 + ExplicitTop = 273 ExplicitWidth = 351 ExplicitHeight = 48 inherited dxLayoutControl1: TdxLayoutControl @@ -133,7 +134,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente end end inline frViewClienteFactura1: TfrViewClienteFactura - Left = 401 + Left = 411 Top = 30 Width = 398 Height = 265 @@ -143,9 +144,9 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Font.Name = 'Tahoma' Font.Style = [] ParentFont = False - TabOrder = 8 + TabOrder = 10 ReadOnly = False - ExplicitLeft = 401 + ExplicitLeft = 411 ExplicitTop = 30 ExplicitWidth = 398 ExplicitHeight = 265 @@ -175,16 +176,12 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Width = 276 end inherited edtCodigoPostal: TcxDBTextEdit - Left = 192 - ExplicitLeft = 192 + Left = 248 + ExplicitLeft = 248 end inherited Button3: TBitBtn - Left = 82 - ExplicitLeft = 82 - end - inherited cxDBTextEdit1: TcxDBTextEdit - ExplicitWidth = 283 - Width = 283 + Left = 138 + ExplicitLeft = 138 end end end @@ -194,6 +191,8 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Anchors = [akLeft, akTop, akRight] DataBinding.DataField = 'FECHA_VENCIMIENTO' DataBinding.DataSource = DADataSource + Properties.DateButtons = [btnClear, btnToday] + Properties.DateOnError = deNull Properties.ImmediatePost = True Style.BorderColor = clWindowFrame Style.BorderStyle = ebs3D @@ -212,30 +211,30 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente end inline frViewObservaciones1: TfrViewObservaciones Left = 22 - Top = 344 + Top = 402 Width = 521 - Height = 228 + Height = 20 Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] ParentFont = False - TabOrder = 9 + TabOrder = 11 ReadOnly = False ExplicitLeft = 22 - ExplicitTop = 344 - ExplicitHeight = 228 + ExplicitTop = 402 + ExplicitHeight = 20 inherited memObservaciones: TcxDBMemo DataBinding.DataField = 'OBSERVACIONES' DataBinding.DataSource = DADataSource - ExplicitHeight = 228 - Height = 228 + ExplicitHeight = 20 + Height = 20 end end object cbRecargoEquivalencia: TcxDBCheckBox Left = 22 - Top = 293 + Top = 351 Caption = ' No acogida a comisiones' DataBinding.DataField = 'SIN_COMISION' DataBinding.DataSource = DADataSource @@ -261,7 +260,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.SkinName = '' - TabOrder = 7 + TabOrder = 9 Width = 158 end object edtSituacion: TcxDBComboBox @@ -278,6 +277,23 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente TabOrder = 2 Width = 121 end + object cxDBDateEdit1: TcxDBDateEdit + Left = 135 + Top = 222 + DataBinding.DataField = 'FECHA_VENCIMIENTO' + DataBinding.DataSource = DADataSource + TabOrder = 7 + Width = 121 + end + object Button1: TButton + Left = 22 + Top = 191 + Width = 75 + Height = 25 + Caption = 'Button1' + TabOrder = 6 + OnClick = Button1Click + end object dxLayoutControl1Group_Root: TdxLayoutGroup ShowCaption = False Hidden = True @@ -338,6 +354,17 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Control = edtFechaVencimiento ControlOptions.ShowBorder = False end + object dxLayoutControl1Item9: TdxLayoutItem + Caption = 'Button1' + ShowCaption = False + Control = Button1 + ControlOptions.ShowBorder = False + end + object dxLayoutControl1Item8: TdxLayoutItem + Caption = 'cxDBDateEdit1' + Control = cxDBDateEdit1 + ControlOptions.ShowBorder = False + end end object dxLayoutControl1Group4: TdxLayoutGroup AutoAligns = [aaVertical] diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas index 496ffc5..c3752b5 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas +++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas @@ -60,11 +60,16 @@ type dxLayoutControl1Group9: TdxLayoutGroup; edtSituacion: TcxDBComboBox; ledtSituacion: TdxLayoutItem; + cxDBDateEdit1: TcxDBDateEdit; + dxLayoutControl1Item8: TdxLayoutItem; + Button1: TButton; + dxLayoutControl1Item9: TdxLayoutItem; procedure bFormasPagoClick(Sender: TObject); procedure CustomViewDestroy(Sender: TObject); procedure CustomViewCreate(Sender: TObject); procedure cbFormaPagoPropertiesEditValueChanged(Sender: TObject); procedure edtFechaVencimientoPropertiesEditValueChanged(Sender: TObject); + procedure Button1Click(Sender: TObject); protected FFactura : IBizFacturaCliente; FController : IFacturasClienteController; @@ -101,16 +106,16 @@ begin inherited; FFormasPago := Nil; FFormasPagoController := TFormasPagoController.Create; - cbFormaPago.Properties.OnEditValueChanged := cbFormaPagoPropertiesEditValueChanged; - edtFechaVencimiento.Properties.OnEditValueChanged := edtFechaVencimientoPropertiesEditValueChanged; +// cbFormaPago.Properties.OnEditValueChanged := cbFormaPagoPropertiesEditValueChanged; +// edtFechaVencimiento.Properties.OnEditValueChanged := edtFechaVencimientoPropertiesEditValueChanged; end; procedure TfrViewFacturaCliente.CustomViewDestroy(Sender: TObject); begin FFormasPago := Nil; FFormasPagoController := NIL; + edtFechaVencimiento.Properties.OnEditValueChanged := Nil; cbFormaPago.Properties.OnEditValueChanged := Nil; - edtFechaVencimiento.Properties.OnEditValueChanged := Nil; inherited; end; @@ -120,8 +125,7 @@ begin inherited; if Assigned(Factura) and (Factura.DataTable.State in dsEditModes) then begin - if (edtFechaVencimiento.EditingValue <> null) then - + if (edtFechaVencimiento.EditValue <> null) then begin Application.MessageBox('Ha elegido una fecha de vencimiento, la situación de la factura vendrá dada por la situación del recibo generado con el vencimiento dado', 'Atención', MB_OK); edtSituacion.EditValue := CTE_PENDIENTE; @@ -135,6 +139,14 @@ begin end; end; +procedure TfrViewFacturaCliente.Button1Click(Sender: TObject); +begin + inherited; + Factura.Edit; + Factura.DataTable.FieldByName(fld_FacturasClienteFECHA_VENCIMIENTO).AsVariant := Null; + Factura.Post; +end; + procedure TfrViewFacturaCliente.cbFormaPagoPropertiesEditValueChanged(Sender: TObject); begin if Assigned(Factura) and (Factura.DataTable.State in dsEditModes) then diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas index d7d5627..3e3e8c0 100644 --- a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas +++ b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas @@ -3,7 +3,7 @@ unit schPresupuestosClienteClient_Intf; interface uses - Classes, DB, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf; + Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf; const { Data table rules ids @@ -255,7 +255,7 @@ type end; { TValoresDataTableRules } - TValoresDataTableRules = class(TDADataTableRules, IValores) + TValoresDataTableRules = class(TIntfObjectDADataTableRules, IValores) private protected { Property getters and setters } @@ -326,7 +326,7 @@ type end; { TPropiedadesDataTableRules } - TPropiedadesDataTableRules = class(TDADataTableRules, IPropiedades) + TPropiedadesDataTableRules = class(TIntfObjectDADataTableRules, IPropiedades) private protected { Property getters and setters } @@ -367,7 +367,7 @@ type end; { TListaAnosPresupuestosDataTableRules } - TListaAnosPresupuestosDataTableRules = class(TDADataTableRules, IListaAnosPresupuestos) + TListaAnosPresupuestosDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosPresupuestos) private protected { Property getters and setters } @@ -644,7 +644,7 @@ type end; { TPresupuestosClienteDataTableRules } - TPresupuestosClienteDataTableRules = class(TDADataTableRules, IPresupuestosCliente) + TPresupuestosClienteDataTableRules = class(TIntfObjectDADataTableRules, IPresupuestosCliente) private f_FORMA_PAGO: IROStrings; f_PLAZO_ENTREGA: IROStrings; @@ -995,7 +995,7 @@ type end; { TCapitulosPresupuestoDataTableRules } - TCapitulosPresupuestoDataTableRules = class(TDADataTableRules, ICapitulosPresupuesto) + TCapitulosPresupuestoDataTableRules = class(TIntfObjectDADataTableRules, ICapitulosPresupuesto) private protected { Property getters and setters } @@ -1192,7 +1192,7 @@ type end; { TPresupuestosCliente_DetallesDataTableRules } - TPresupuestosCliente_DetallesDataTableRules = class(TDADataTableRules, IPresupuestosCliente_Detalles) + TPresupuestosCliente_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IPresupuestosCliente_Detalles) private protected { Property getters and setters } diff --git a/Source/Modulos/Recibos de cliente/Controller/uRecibosClienteController.pas b/Source/Modulos/Recibos de cliente/Controller/uRecibosClienteController.pas index ef64beb..0cfef1c 100644 --- a/Source/Modulos/Recibos de cliente/Controller/uRecibosClienteController.pas +++ b/Source/Modulos/Recibos de cliente/Controller/uRecibosClienteController.pas @@ -72,8 +72,9 @@ type procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; ARecibo: IBizRecibosCliente); - procedure AsignarRemesa(ARecibos : IBizRecibosCliente; ID_REMESA: Integer; AIgnorarContabilidad : Integer; ASubCuenta: Integer); + procedure AsignarRemesa(ARecibos : IBizRecibosCliente; ID_REMESA: Integer; Referencia: String; AIgnorarContabilidad : Integer; ASubCuenta: Integer); procedure QuitarRemesa(ARecibos : IBizRecibosCliente); + procedure SetSituacionCobrados(ARecibos : IBizRecibosCliente; WithDeltas: Boolean=False); function ElegirRecibosCompensados(ARecibo : IBizRecibosCliente): Boolean; @@ -147,7 +148,7 @@ type procedure CopiarDireccion (const ADireccionEnvio: IBizDireccionesContacto; ARecibo: IBizRecibosCliente); - procedure AsignarRemesa(ARecibos : IBizRecibosCliente; ID_REMESA: Integer; AIgnorarContabilidad : Integer; ASubCuenta: Integer); + procedure AsignarRemesa(ARecibos : IBizRecibosCliente; ID_REMESA: Integer; Referencia: String; AIgnorarContabilidad : Integer; ASubCuenta: Integer); procedure QuitarRemesa(ARecibos : IBizRecibosCliente); procedure QuitarReciboCompensado(ARecibo : IBizRecibosCliente); @@ -217,7 +218,7 @@ begin FDataModule := TDataModuleRecibosCliente.Create(Nil); end; -procedure TRecibosClienteController.AsignarRemesa(ARecibos: IBizRecibosCliente; ID_REMESA: Integer; AIgnorarContabilidad : Integer; ASubCuenta: Integer); +procedure TRecibosClienteController.AsignarRemesa(ARecibos: IBizRecibosCliente; ID_REMESA: Integer; Referencia: String; AIgnorarContabilidad : Integer; ASubCuenta: Integer); begin if Assigned(ARecibos) then begin @@ -232,6 +233,7 @@ begin //Añadimos el cobro automatico por la remesa y volvemos a asignar ID //para que asigne un ID nuevo para el pago, porque aqui si hay maestro-detalle AnadirPago(ARecibos, DateToStr(Date), AIgnorarContabilidad, ASubCuenta); //->Ojo el orden es importante +// AnadirPago(ARecibos, DateToStr(Date), Referencia, AIgnorarContabilidad, ASubCuenta); //->Ojo el orden es importante ARecibos.ID_REMESA := ID_REMESA; end; Next; diff --git a/Source/Modulos/Recibos de cliente/Data/RecibosCliente_data.dproj b/Source/Modulos/Recibos de cliente/Data/RecibosCliente_data.dproj index e006b3a..75609dc 100644 --- a/Source/Modulos/Recibos de cliente/Data/RecibosCliente_data.dproj +++ b/Source/Modulos/Recibos de cliente/Data/RecibosCliente_data.dproj @@ -49,8 +49,8 @@ MainSource - - + +
DataModuleRecibosCliente
TDAClientDataModule diff --git a/Source/Modulos/Recibos de cliente/Data/uDataModuleRecibosCliente.dfm b/Source/Modulos/Recibos de cliente/Data/uDataModuleRecibosCliente.dfm index 7f5eda4..1f4dd1f 100644 --- a/Source/Modulos/Recibos de cliente/Data/uDataModuleRecibosCliente.dfm +++ b/Source/Modulos/Recibos de cliente/Data/uDataModuleRecibosCliente.dfm @@ -390,8 +390,6 @@ inherited DataModuleRecibosCliente: TDataModuleRecibosCliente item Name = 'CUENTA_CONTABLE' DataType = datString - Size = 255 - DisplayLabel = 'Cuenta contable' end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] diff --git a/Source/Modulos/Recibos de cliente/Model/schRecibosClienteClient_Intf.pas b/Source/Modulos/Recibos de cliente/Model/schRecibosClienteClient_Intf.pas index a2c77cb..386b2f7 100644 --- a/Source/Modulos/Recibos de cliente/Model/schRecibosClienteClient_Intf.pas +++ b/Source/Modulos/Recibos de cliente/Model/schRecibosClienteClient_Intf.pas @@ -9,10 +9,10 @@ const { Data table rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_ListaAnosRecibos = '{2F89702D-0A57-458E-9B7E-3CCF679D26D7}'; - RID_RecibosCliente = '{D66B846C-B6E9-45CD-9C37-BC4AFEF5A494}'; - RID_PagosCliente = '{5DDCCC46-8CE2-498F-B191-8815FE52830E}'; - RID_RecibosCompensadosCli = '{A0EAE246-56FA-4187-A242-8A8407A3238E}'; + RID_ListaAnosRecibos = '{4E5198B9-A3EA-41ED-876A-F20E75C77CFA}'; + RID_RecibosCliente = '{47FD8329-5BE1-4334-971C-9F5BEB6F6D6E}'; + RID_PagosCliente = '{8F0C7790-8AF6-4F0F-BB5A-54C49E8FEB37}'; + RID_RecibosCompensadosCli = '{3645D510-70D1-4184-9DDC-96D4CF5A1288}'; { Data table names } nme_ListaAnosRecibos = 'ListaAnosRecibos'; @@ -231,7 +231,7 @@ const type { IListaAnosRecibos } IListaAnosRecibos = interface(IDAStronglyTypedDataTable) - ['{066BA7F0-73F9-4373-8B4A-FD49A4676508}'] + ['{FEEAB5C2-E5E2-4D30-8C71-0DCC065B480F}'] { Property getters and setters } function GetANOValue: String; procedure SetANOValue(const aValue: String); @@ -266,7 +266,7 @@ type { IRecibosCliente } IRecibosCliente = interface(IDAStronglyTypedDataTable) - ['{44658047-4A5E-42A9-88B1-1600D3D72B37}'] + ['{AFADC16A-65C2-4FF7-881E-7326C4760D9C}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -757,7 +757,7 @@ type { IPagosCliente } IPagosCliente = interface(IDAStronglyTypedDataTable) - ['{1F8F1BBC-3F97-4997-B3B7-E7133943DF2F}'] + ['{A92479D7-E796-4338-99B5-B712D903564D}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -996,7 +996,7 @@ type { IRecibosCompensadosCli } IRecibosCompensadosCli = interface(IDAStronglyTypedDataTable) - ['{359D0527-3629-4643-B02F-54206CC5B6AE}'] + ['{9A3F6FE8-550A-4465-80AD-33C323C9C9BB}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); diff --git a/Source/Modulos/Recibos de cliente/Model/schRecibosClienteServer_Intf.pas b/Source/Modulos/Recibos de cliente/Model/schRecibosClienteServer_Intf.pas index 7756d5c..c285441 100644 --- a/Source/Modulos/Recibos de cliente/Model/schRecibosClienteServer_Intf.pas +++ b/Source/Modulos/Recibos de cliente/Model/schRecibosClienteServer_Intf.pas @@ -9,15 +9,15 @@ const { Delta rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_ListaAnosRecibosDelta = '{FE51F4BC-A342-47C5-B61E-61E82775F77E}'; - RID_RecibosClienteDelta = '{11ED8357-34B8-4C8C-BDB0-946B20E3FB8F}'; - RID_PagosClienteDelta = '{32F77F26-DB05-46BD-B22C-0E5C1A5A0F5D}'; - RID_RecibosCompensadosCliDelta = '{23B5E3C8-D2CF-4798-81B4-AA7CED8E091A}'; + RID_ListaAnosRecibosDelta = '{1A6567E7-3DB1-46E6-9E5D-0D4A1E82284F}'; + RID_RecibosClienteDelta = '{DBBA25D7-E0BA-4585-8B15-C55CE4E34723}'; + RID_PagosClienteDelta = '{968C3D29-8DDA-43CA-A2DE-75706146ECC9}'; + RID_RecibosCompensadosCliDelta = '{0EC94848-6B9E-4404-AF44-E604C7182106}'; type { IListaAnosRecibosDelta } IListaAnosRecibosDelta = interface(IListaAnosRecibos) - ['{FE51F4BC-A342-47C5-B61E-61E82775F77E}'] + ['{1A6567E7-3DB1-46E6-9E5D-0D4A1E82284F}'] { Property getters and setters } function GetOldANOValue : String; @@ -51,7 +51,7 @@ type { IRecibosClienteDelta } IRecibosClienteDelta = interface(IRecibosCliente) - ['{11ED8357-34B8-4C8C-BDB0-946B20E3FB8F}'] + ['{DBBA25D7-E0BA-4585-8B15-C55CE4E34723}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_RECIBO_COMPENSADOValue : Integer; @@ -541,7 +541,7 @@ type { IPagosClienteDelta } IPagosClienteDelta = interface(IPagosCliente) - ['{32F77F26-DB05-46BD-B22C-0E5C1A5A0F5D}'] + ['{968C3D29-8DDA-43CA-A2DE-75706146ECC9}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_RECIBOValue : Integer; @@ -779,7 +779,7 @@ type { IRecibosCompensadosCliDelta } IRecibosCompensadosCliDelta = interface(IRecibosCompensadosCli) - ['{23B5E3C8-D2CF-4798-81B4-AA7CED8E091A}'] + ['{0EC94848-6B9E-4404-AF44-E604C7182106}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_RECIBO_COMPENSADOValue : Integer; diff --git a/Source/Modulos/Recibos de cliente/Servidor/srvRecibosCliente_Impl.dfm b/Source/Modulos/Recibos de cliente/Servidor/srvRecibosCliente_Impl.dfm index 37d8ff8..f16319a 100644 --- a/Source/Modulos/Recibos de cliente/Servidor/srvRecibosCliente_Impl.dfm +++ b/Source/Modulos/Recibos de cliente/Servidor/srvRecibosCliente_Impl.dfm @@ -47,15 +47,7 @@ object srvRecibosCliente: TsrvRecibosCliente item Connection = 'IBX' TargetTable = 'V_RECIBOS_CLIENTE' - SQL = - 'select v_recibos_cliente.*, cont_subcuentas.descripcion as CUENT' + - 'A_CONTABLE'#10'from v_recibos_cliente'#10' left outer join pagos_clie' + - 'nte pag on'#10' (pag.id_recibo = v_recibos_cliente.id)'#10' le' + - 'ft outer join pagos_cliente pag2 on'#10' ((pag2.id_recibo = p' + - 'ag.id_recibo) and (pag2.id > pag.id))'#10' left outer join cont_s' + - 'ubcuentas on'#10' (cont_subcuentas.id = pag.cuenta)'#10'where (pa' + - 'g2.id is null) and {Where}'#10 - StatementType = stSQL + StatementType = stAutoSQL ColumnMappings = < item DatasetField = 'ID' @@ -201,11 +193,6 @@ object srvRecibosCliente: TsrvRecibosCliente DatasetField = 'PROVINCIA' TableField = 'PROVINCIA' end - item - DatasetField = 'CUENTA_CONTABLE' - TableField = '' - SQLOrigin = 'CUENTA_CONTABLE' - end item DatasetField = 'IMPORTE_COMPENSADO' TableField = 'IMPORTE_COMPENSADO' @@ -213,6 +200,10 @@ object srvRecibosCliente: TsrvRecibosCliente item DatasetField = 'IMPORTE_SIN_COMPENSAR' TableField = 'IMPORTE_SIN_COMPENSAR' + end + item + DatasetField = 'CUENTA_CONTABLE' + TableField = 'CUENTA_CONTABLE' end> end> Name = 'RecibosCliente' @@ -433,8 +424,6 @@ object srvRecibosCliente: TsrvRecibosCliente item Name = 'CUENTA_CONTABLE' DataType = datString - Size = 255 - DisplayLabel = 'Cuenta contable' end> end item diff --git a/Source/Modulos/Recibos de cliente/Views/uEditorElegirRecibosCliente.dfm b/Source/Modulos/Recibos de cliente/Views/uEditorElegirRecibosCliente.dfm index 35f4ef2..6c77d4e 100644 --- a/Source/Modulos/Recibos de cliente/Views/uEditorElegirRecibosCliente.dfm +++ b/Source/Modulos/Recibos de cliente/Views/uEditorElegirRecibosCliente.dfm @@ -8,7 +8,7 @@ inherited fEditorElegirRecibosCliente: TfEditorElegirRecibosCliente Top = 64 Width = 949 Visible = False - ExplicitTop = -15 + ExplicitTop = 64 ExplicitWidth = 949 inherited Image1: TImage Left = 922 @@ -18,12 +18,13 @@ inherited fEditorElegirRecibosCliente: TfEditorElegirRecibosCliente inherited TBXDock: TTBXDock Top = 175 Width = 949 - Height = 49 - ExplicitTop = 111 + Height = 53 + ExplicitTop = 175 ExplicitWidth = 949 - ExplicitHeight = 49 + ExplicitHeight = 53 inherited tbxMain: TTBXToolbar - ExplicitWidth = 269 + ExplicitWidth = 142 + ExplicitHeight = 27 inherited TBXItem2: TTBXItem Visible = False end @@ -41,13 +42,13 @@ inherited fEditorElegirRecibosCliente: TfEditorElegirRecibosCliente end end inherited tbxFiltro: TTBXToolbar - Left = 269 - Top = 23 + Left = 142 + Top = 26 DockPos = 104 DockRow = 1 Visible = False - ExplicitLeft = 269 - ExplicitTop = 23 + ExplicitLeft = 142 + ExplicitTop = 26 inherited TBXItem34: TTBXItem Action = actQuitarFiltro2 end @@ -57,19 +58,19 @@ inherited fEditorElegirRecibosCliente: TfEditorElegirRecibosCliente end inherited TBXTMain2: TTBXToolbar Left = 706 - Top = 23 + Top = 26 DockPos = 706 DockRow = 1 Visible = False ExplicitLeft = 706 - ExplicitTop = 23 + ExplicitTop = 26 end end inherited StatusBar: TJvStatusBar Top = 506 Width = 949 ExplicitTop = 506 - ExplicitWidth = 670 + ExplicitWidth = 949 end inline frViewBarraSeleccion1: TfrViewBarraSeleccion [3] Left = 0 @@ -86,12 +87,12 @@ inherited fEditorElegirRecibosCliente: TfEditorElegirRecibosCliente TabOrder = 3 ReadOnly = False ExplicitTop = 525 - ExplicitWidth = 670 + ExplicitWidth = 949 ExplicitHeight = 36 inherited JvFooter1: TJvFooter Width = 949 Height = 36 - ExplicitWidth = 670 + ExplicitWidth = 949 ExplicitHeight = 36 inherited bSeleccionar: TJvFooterBtn Left = 737 @@ -117,18 +118,18 @@ inherited fEditorElegirRecibosCliente: TfEditorElegirRecibosCliente end end inherited frViewRecibosCliente1: TfrViewRecibosCliente [4] - Top = 224 + Top = 228 Width = 949 - Height = 282 - ExplicitTop = 183 - ExplicitWidth = 670 - ExplicitHeight = 323 + Height = 278 + ExplicitTop = 228 + ExplicitWidth = 949 + ExplicitHeight = 278 inherited cxGrid: TcxGrid Width = 949 - Height = 154 + Height = 150 RootLevelOptions.DetailTabsPosition = dtpNone - ExplicitWidth = 670 - ExplicitHeight = 195 + ExplicitWidth = 949 + ExplicitHeight = 150 inherited cxGridView: TcxGridDBTableView DataController.Summary.DefaultGroupSummaryItems = < item @@ -151,37 +152,53 @@ inherited fEditorElegirRecibosCliente: TfEditorElegirRecibosCliente end inherited frViewFiltroBase1: TfrViewFiltroBase Width = 949 - ExplicitWidth = 670 + ExplicitWidth = 949 inherited TBXDockablePanel1: TTBXDockablePanel - ExplicitWidth = 670 + ExplicitWidth = 949 inherited dxLayoutControl1: TdxLayoutControl Width = 949 - ExplicitWidth = 670 + ExplicitWidth = 949 + inherited txtFiltroTodo: TcxTextEdit + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' + end + inherited edtFechaIniFiltro: TcxDateEdit + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' + end inherited edtFechaFinFiltro: TcxDateEdit Left = 494 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 494 end end inherited TBXAlignmentPanel1: TTBXAlignmentPanel Width = 949 - ExplicitWidth = 670 + ExplicitWidth = 949 inherited tbxBotones: TTBXToolbar Width = 939 - ExplicitWidth = 660 + ExplicitWidth = 939 end end end end inherited pnlAgrupaciones: TTBXDockablePanel - Top = 256 - ExplicitTop = 297 - ExplicitWidth = 670 + Top = 252 + ExplicitTop = 252 + ExplicitWidth = 949 inherited TBXAlignmentPanel1: TTBXAlignmentPanel Width = 949 - ExplicitWidth = 670 + ExplicitWidth = 949 inherited TBXToolbar1: TTBXToolbar Width = 939 - ExplicitWidth = 660 + ExplicitWidth = 939 end end end @@ -214,8 +231,6 @@ inherited fEditorElegirRecibosCliente: TfEditorElegirRecibosCliente ShowCaptionWhenDocked = False SupportedDocks = [dkStandardDock, dkMultiDock] TabOrder = 5 - ExplicitTop = 0 - ExplicitWidth = 670 object Label1: TLabel Left = 330 Top = 50 @@ -353,7 +368,6 @@ inherited fEditorElegirRecibosCliente: TfEditorElegirRecibosCliente Padding.Bottom = 8 ParentBackground = False TabOrder = 6 - ExplicitTop = -13 object lblTitle: TLabel AlignWithMargins = True Left = 25 diff --git a/Source/Modulos/Recibos de cliente/Views/uViewRecibosCliente.dfm b/Source/Modulos/Recibos de cliente/Views/uViewRecibosCliente.dfm index 74a3d74..184a157 100644 --- a/Source/Modulos/Recibos de cliente/Views/uViewRecibosCliente.dfm +++ b/Source/Modulos/Recibos de cliente/Views/uViewRecibosCliente.dfm @@ -213,6 +213,8 @@ inherited frViewRecibosCliente: TfrViewRecibosCliente Caption = 'Cuenta contable' DataBinding.FieldName = 'CUENTA_CONTABLE' PropertiesClassName = 'TcxTextEditProperties' + Visible = False + VisibleForCustomization = False end end inherited cxGridLevel: TcxGridLevel diff --git a/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteController.pas b/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteController.pas index 1e9f5d4..e562eb9 100644 --- a/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteController.pas +++ b/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteController.pas @@ -24,7 +24,7 @@ type function Existe(const ID: Integer) : Boolean; procedure Preview(ARemesaCliente : IBizRemesaCliente; AllItems: Boolean = false); - procedure Print(ARemesaCliente : IBizRemesaCliente; AllItems: Boolean = false); + function Print(ARemesaCliente : IBizRemesaCliente; AllItems: Boolean = false): Boolean; function EsModificable(ARemesaProveedor : IBizRemesaCliente): Boolean; function EsEliminable(ARemesaProveedor : IBizRemesaCliente): Boolean; @@ -35,6 +35,9 @@ type procedure RecuperarRecibos(ARemesaCliente: IBizRemesaCliente); function ExtraerSeleccionados(ARemesasCliente: IBizRemesaCliente) : IBizRemesaCliente; + + function DarListaAnosRemesas: TStringList; + procedure FiltrarAno(ARemesa: IBizRemesaCliente; ADynWhereDataTable: WideString; const Ano: String); end; TRemesasClienteController = class(TControllerBase, IRemesasClienteController) @@ -74,24 +77,26 @@ type procedure VerTodos(ARemesasCliente: IBizRemesaCliente); virtual; procedure Preview(ARemesaCliente : IBizRemesaCliente; AllItems: Boolean = false); virtual; - procedure Print(ARemesaCliente : IBizRemesaCliente; AllItems: Boolean = false); virtual; + function Print(ARemesaCliente : IBizRemesaCliente; AllItems: Boolean = false): Boolean; virtual; function EsModificable(ARemesaProveedor : IBizRemesaCliente): Boolean; function EsEliminable(ARemesaProveedor : IBizRemesaCliente): Boolean; function ExtraerSeleccionados(ARemesasCliente: IBizRemesaCliente) : IBizRemesaCliente; virtual; function ElegirRecibosCliente(ARemesaCliente : IBizRemesaCliente; AListaRecibosIniciales: TStringList): Boolean; procedure EliminarReciboCliente(ARemesaCliente : IBizRemesaCliente); + + function DarListaAnosRemesas: TStringList; + procedure FiltrarAno(ARemesa: IBizRemesaCliente; ADynWhereDataTable: WideString; const Ano: String); end; implementation -{$INCLUDE ..\..\..\FactuGES.inc} uses cxControls, DB, uEditorRegistryUtils, schRemesasClienteClient_Intf, uFactuGES_App, schRecibosClienteClient_Intf, uIEditorRemesasCliente, uIEditorRemesaCliente, Dialogs, uDataModuleRemesasCliente, uDataModuleUsuarios, uDAInterfaces, uDataTableUtils, uDateUtils, uROTypes, DateUtils, Controls, Windows, - uBizRecibosCliente, Variants, uRemesasClienteReportController; + uBizRecibosCliente, Variants, uRemesasClienteReportController, uIntegerListUtils; { TRemesasClienteController } @@ -164,6 +169,11 @@ begin Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf); end; +function TRemesasClienteController.DarListaAnosRemesas: TStringList; +begin + Result := FDataModule.GetAnosItems; +end; + procedure TRemesasClienteController.DescartarCambios(ARemesaCliente: IBizRemesaCliente); begin if not Assigned(ARemesaCliente) then @@ -190,7 +200,7 @@ end; function TRemesasClienteController.ValidarRemesaCliente(ARemesaCliente: IBizRemesaCliente): Boolean; begin Result := False; - + if not Assigned(ARemesaCliente) then raise Exception.Create ('Remesa no asignada'); @@ -200,11 +210,8 @@ begin if ARemesaCliente.DataTable.FieldByName(fld_RemesasClienteFECHA_REMESA).IsNull then raise Exception.Create('Debe indicar la fecha de esta remesa.'); - {$IFDEF CONTABILIDAD} - {$ELSE} - if ARemesaCliente.ID_DATOS_BANCO < 1 then - raise Exception.Create('Debe la cuenta bancaria sobre la que realizará la remesa.'); - {$ENDIF} + if ARemesaCliente.ID_DATOS_BANCO < 1 then + raise Exception.Create('Debe la cuenta bancaria sobre la que realizará la remesa.'); // Asegurarse de valores en campos "automáticos" ARemesaCliente.Edit; @@ -222,7 +229,6 @@ var AEditor : IEditorRemesaCliente; begin AEditor := NIL; - RecuperarObjetos(ARemesaCliente); CreateEditor('EditorRemesaCliente', IEditorRemesaCliente, AEditor); @@ -291,7 +297,6 @@ var ListaRecibosVisibles: TStringList; ListaRecibosNoVisibles: TStringList; i: Integer; - begin Result := False; @@ -318,6 +323,7 @@ begin ARemesaCliente.Recibos.DataTable.First; ARecibosSeleccionados := (FRecibosClienteController.ElegirRecibos(FRecibosClienteController.BuscarRecibosARemesar(ListaRecibosVisibles, ListaRecibosNoVisibles), 'Elija uno o más recibos para incluirlos en esta remesa', True) as IBizRecibosCliente); + if Assigned(ARecibosSeleccionados) then begin ShowHourglassCursor; @@ -325,7 +331,7 @@ begin ARecibosRemesa := ARemesaCliente.Recibos; //Copia los recibos seleccionados a los recibos de la remesa sin que el servidor se entere de //las inserciones - DuplicarRegistros(ARecibosSeleccionados.DataTable,ARecibosRemesa.DataTable, mdrTodos, False, False, True); + DuplicarRegistros(ARecibosSeleccionados.DataTable,ARecibosRemesa.DataTable, mdrTodos, True, False, True); FRecibosClienteController.SetSituacionCobrados(ARecibosRemesa); Result := True; finally @@ -343,8 +349,8 @@ function TRemesasClienteController.Eliminar(ARemesaCliente: IBizRemesaCliente; A //En el caso de eliminar almenos un elemento del conjunto se devuelve true var bEliminado: Boolean; - begin + Result := False; bEliminado := False; if not Assigned(ARemesaCliente) then @@ -477,6 +483,35 @@ begin Result := ASeleccionados; end; +procedure TRemesasClienteController.FiltrarAno(ARemesa: IBizRemesaCliente; ADynWhereDataTable: WideString; const Ano: String); +var + Condicion: TDAWhereExpression; + FechaIni: String; + FechaFin: String; + +begin + ARemesa.DataTable.DynamicWhere.Clear; + ARemesa.DataTable.DynamicWhere.Xml := ADynWhereDataTable; + + if (Ano <> 'Todos') then + begin + // Filtrar las facturas actuales por empresa + FechaIni := '01/01/' + Ano; + FechaFin := '31/12/' + Ano; + with ARemesa.DataTable.DynamicWhere do + begin + // (FECHA_INICIO between FECHA_FIN) + Condicion := NewBinaryExpression(NewField('', fld_RemesasClienteFECHA_REMESA), NewConstant(FechaIni, datString), dboGreaterOrEqual); + Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_RemesasClienteFECHA_REMESA), NewConstant(FechaFin, datString), dboLessOrEqual), Condicion, dboAnd); + + if IsEmpty then + Expression := Condicion + else + Expression := NewBinaryExpression(Condicion, Expression, dboAnd); + end; + end; +end; + procedure TRemesasClienteController.FiltrarEmpresa(ARemesaCliente: IBizRemesaCliente); var Condicion: TDAWhereExpression; @@ -520,7 +555,7 @@ begin //Si todo ha ido bien, asignamos la remesa a los recibos asociados //Como no están declarados como maestro-detalles debemos hacer el applyupdates nosotros - RecibosClienteController.AsignarRemesa(ARemesaCliente.Recibos, ARemesaCliente.ID, AIgnorarContabilidad, ASubCuenta); + RecibosClienteController.AsignarRemesa(ARemesaCliente.Recibos, ARemesaCliente.ID, ARemesaCliente.REFERENCIA, AIgnorarContabilidad, ASubCuenta); ARemesaCliente.Recibos.DataTable.ApplyUpdates; //En este applyupdates tambien se realizarán todos los cambios acumulados sobre los recibos asociados (EliminarReciboCliente/ ElegirRecibosCliente) //Es necesario ya que no se refrescan bien los deltas y despues del applyupdates siguen @@ -551,13 +586,13 @@ end; procedure TRemesasClienteController.Preview(ARemesaCliente: IBizRemesaCliente; AllItems: Boolean = false); var AReportController : IRemesasClienteReportController; - ID_Remesas: TStringList; + ID_Remesas: TIntegerList; begin AReportController := TRemesasClienteReportController.Create; - try - ID_Remesas := TStringList.Create; + ID_Remesas := TIntegerList.Create; + try //Si deseamos previsualizar todos los items del objeto albaran if AllItems then begin @@ -566,33 +601,34 @@ begin First; while not EOF do begin - ID_Remesas.Add(IntToStr(ARemesaCliente.ID)); + ID_Remesas.Add(ARemesaCliente.ID); Next; end; end; end //Solo previsualizamos el item seleccionado else - ID_Remesas.Add(IntToStr(ARemesaCliente.ID)); + ID_Remesas.Add(ARemesaCliente.ID); - AReportController.Preview(ID_Remesas.CommaText); + AReportController.Preview(ID_Remesas); finally AReportController := NIL; - ID_Remesas.Free; + FreeANDNil(ID_Remesas); end; end; -procedure TRemesasClienteController.Print(ARemesaCliente: IBizRemesaCliente; AllItems: Boolean = false); +function TRemesasClienteController.Print(ARemesaCliente: IBizRemesaCliente; AllItems: Boolean = false): Boolean; var AReportController : IRemesasClienteReportController; - ID_Remesas: TStringList; + ID_Remesas: TIntegerList; begin + Result := False; AReportController := TRemesasClienteReportController.Create; - try - ID_Remesas := TStringList.Create; + ID_Remesas := TIntegerList.Create; + try //Si deseamos previsualizar todos los items del objeto albaran if AllItems then begin @@ -601,20 +637,20 @@ begin First; while not EOF do begin - ID_Remesas.Add(IntToStr(ARemesaCliente.ID)); + ID_Remesas.Add(ARemesaCliente.ID); Next; end; end; end //Solo previsualizamos el item seleccionado else - ID_Remesas.Add(IntToStr(ARemesaCliente.ID)); + ID_Remesas.Add(ARemesaCliente.ID); - AReportController.Print(ID_Remesas.CommaText); + Result := AReportController.Print(ID_Remesas); finally AReportController := NIL; - ID_Remesas.Free; + FreeAndNil(ID_Remesas); end; end; diff --git a/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteReportController.pas b/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteReportController.pas index 16e2d6e..f193bcd 100644 --- a/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteReportController.pas +++ b/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteReportController.pas @@ -4,25 +4,25 @@ interface uses Classes, SysUtils, uDADataTable, uControllerBase, uIDataModuleRemesasClienteReport, - uBizRemesasCliente; + uBizRemesasCliente, uIntegerListUtils; type - IRemesasClienteReportController = interface(IControllerBase) + IRemesasClienteReportController = interface ['{EA6EAD10-E07B-45A9-9B5E-0D560E2B92DF}'] - procedure Preview(const ID : String); - procedure Print(const ID : String); + procedure Preview(const ListaID : TIntegerList); + function Print(const ListaID : TIntegerList): Boolean; end; - TRemesasClienteReportController = class(TControllerBase, IRemesasClienteReportController) + TRemesasClienteReportController = class(TInterfacedObject, IRemesasClienteReportController) private FDataModule : IDataModuleRemesasClienteReport; function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean; public - constructor Create; override; + constructor Create; destructor Destroy; override; - procedure Preview(const ID : String); - procedure Print(const ID : String); + procedure Preview(const ListaID : TIntegerList); + function Print(const ListaID : TIntegerList): Boolean; end; @@ -30,13 +30,12 @@ implementation uses uROTypes, uEditorRegistryUtils, uIEditorRemesasClientePreview, - uEditorPreview, uDataModuleRemesasCliente, uEditorBase, cxControls; + uEditorPreview, uDataModuleRemesasCliente, uEditorBase, cxControls, schRemesasClienteClient_Intf; { TRemesasClienteReportController } constructor TRemesasClienteReportController.Create; begin - inherited; FDataModule := TDataModuleRemesasCliente.Create(Nil); end; @@ -53,30 +52,7 @@ begin inherited; end; -procedure TRemesasClienteReportController.Preview(const ID : String); -var - AStream: Binary; - AEditor : IEditorRemesasClientePreview; -begin - AEditor := NIL; - - AStream := FDataModule.GetReport(ID); - try - CreateEditor('EditorRemesasClientePreview', IEditorRemesasClientePreview, AEditor); - if Assigned(AEditor) then - try - AEditor.LoadFromStream(AStream); - AEditor.Preview; - finally - AEditor.Release; - AEditor := NIL; - end; - finally - FreeAndNil(AStream); - end; -end; - -procedure TRemesasClienteReportController.Print(const ID : String); +procedure TRemesasClienteReportController.Preview(const ListaID : TIntegerList); var AStream: Binary; AEditor : IEditorRemesasClientePreview; @@ -85,19 +61,49 @@ begin ShowHourglassCursor; try - AStream := FDataModule.GetReport(ID); + AStream := FDataModule.GetReport(ListaID); + try + CreateEditor('EditorRemesasClientePreview', IEditorRemesasClientePreview, AEditor); + if Assigned(AEditor) then + try + AEditor.LoadFromStream(AStream); + AEditor.Preview; + finally + AEditor.Release; + end; + finally + FreeAndNil(AStream); + AEditor := Nil; + end; + finally + HideHourglassCursor; + end; +end; + +function TRemesasClienteReportController.Print(const ListaID : TIntegerList): Boolean; +var + AStream: Binary; + AEditor : IEditorRemesasClientePreview; +begin + Result := False; + AEditor := NIL; + + ShowHourglassCursor; + try + AStream := FDataModule.GetReport(ListaID); try CreateEditor('EditorRemesasClientePreview', IEditorRemesasClientePreview, AEditor); if Assigned(AEditor) then try AEditor.LoadFromStream(AStream); AEditor.Print; + Result := True; finally AEditor.Release; - AEditor := NIL; end; finally FreeAndNil(AStream); + AEditor := Nil; end; finally HideHourglassCursor; diff --git a/Source/Modulos/Remesas de cliente/Data/uDataModuleRemesasCliente.dfm b/Source/Modulos/Remesas de cliente/Data/uDataModuleRemesasCliente.dfm index 5f45780..b6ef7c0 100644 --- a/Source/Modulos/Remesas de cliente/Data/uDataModuleRemesasCliente.dfm +++ b/Source/Modulos/Remesas de cliente/Data/uDataModuleRemesasCliente.dfm @@ -14,12 +14,12 @@ inherited DataModuleRemesasCliente: TDataModuleRemesasCliente Top = 84 end object rda_RemesasCliente: TDARemoteDataAdapter + DataStreamer = Bin2DataStreamer GetSchemaCall.RemoteService = RORemoteService GetDataCall.RemoteService = RORemoteService UpdateDataCall.RemoteService = RORemoteService GetScriptsCall.RemoteService = RORemoteService RemoteService = RORemoteService - DataStreamer = Bin2DataStreamer Left = 51 Top = 151 end @@ -147,8 +147,6 @@ inherited DataModuleRemesasCliente: TDataModuleRemesasCliente Params = <> StreamingOptions = [soDisableEventsWhileStreaming] RemoteDataAdapter = rda_RemesasCliente - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'RemesasCliente' IndexDefs = <> Left = 208 @@ -160,4 +158,26 @@ inherited DataModuleRemesasCliente: TDataModuleRemesasCliente Left = 208 Top = 32 end + object tbl_ListaAnosRemesas: TDAMemDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + end> + Params = <> + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteDataAdapter = rda_RemesasCliente + LogicalName = 'ListaAnosRemesas' + IndexDefs = <> + Left = 328 + Top = 88 + end + object ds_ListaAnosRemesas: TDADataSource + DataSet = tbl_ListaAnosRemesas.Dataset + DataTable = tbl_ListaAnosRemesas + Left = 328 + Top = 32 + end end diff --git a/Source/Modulos/Remesas de cliente/Data/uDataModuleRemesasCliente.pas b/Source/Modulos/Remesas de cliente/Data/uDataModuleRemesasCliente.pas index d204d4e..9842f39 100644 --- a/Source/Modulos/Remesas de cliente/Data/uDataModuleRemesasCliente.pas +++ b/Source/Modulos/Remesas de cliente/Data/uDataModuleRemesasCliente.pas @@ -3,13 +3,13 @@ unit uDataModuleRemesasCliente; interface uses - SysUtils, Classes, DB, uDAClientDataModule, uDADataTable, uDABINAdapter, + SysUtils, Classes, DB, uDADataTable, uDABINAdapter, uDAScriptingProvider, uDACDSDataTable, uROWinInetHttpChannel, uROTypes, uRORemoteService, uROClient, uROBinMessage, uDADesigntimeCall, uDataModuleBase, uIDataModuleRemesasCliente, uIDataModuleRemesasClienteReport, uBizRemesasCliente, uDARemoteDataAdapter, uDADataStreamer, uDABin2DataStreamer, uDAInterfaces, - uDAMemDataTable; + uDAMemDataTable, uIntegerListUtils; type TDataModuleRemesasCliente = class(TDataModuleBase, IDataModuleRemesasCliente, IDataModuleRemesasClienteReport) @@ -18,6 +18,8 @@ type rda_RemesasCliente: TDARemoteDataAdapter; tbl_RemesasCliente: TDAMemDataTable; ds_RemesasCliente: TDADataSource; + tbl_ListaAnosRemesas: TDAMemDataTable; + ds_ListaAnosRemesas: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); protected @@ -29,7 +31,9 @@ type function NewItem : IBizRemesaCliente; // Report - function GetReport(const ID: String): Binary; + function GetReport(const ListaID: TIntegerList): Binary; + + function GetAnosItems : TStringList; end; implementation @@ -37,7 +41,7 @@ implementation {$R *.DFM} uses - FactuGES_Intf, uDataTableUtils, cxControls, uDataModuleConexion, + FactuGES_Intf, uDataTableUtils, cxControls, uDataModuleConexion, schRemesasClienteClient_Intf, Dialogs; { TdmRemesasCliente } @@ -53,9 +57,16 @@ begin RORemoteService.Message := dmConexion.Message; end; -function TDataModuleRemesasCliente.GetReport(const ID: String): Binary; +function TDataModuleRemesasCliente.GetReport(const ListaID: TIntegerList): Binary; +var + AParam : TIntegerArray; begin -// Result := (RORemoteService as IsrvRemesasCliente).GenerateReport(ID); + AParam := ListaID.ToIntegerArray; + try + Result := (RORemoteService as IsrvRemesasCliente).GenerateReport(AParam) + finally + FreeANDNIL(AParam); + end; end; function TDataModuleRemesasCliente.NewItem: IBizRemesaCliente; @@ -63,6 +74,30 @@ begin Result := GetItem(ID_NULO) end; +function TDataModuleRemesasCliente.GetAnosItems: TStringList; +var + AListaAnos: TStringList; +begin + AListaAnos := TStringList.Create; + ShowHourglassCursor; + try + with tbl_ListaAnosRemesas do + begin + Open; + First; + while not eof do + begin + AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString])); + Next; + end; + Close; + end; + Result := AListaAnos; + finally + HideHourglassCursor; + end; +end; + function TDataModuleRemesasCliente.GetItem(const ID: Integer): IBizRemesaCliente; var Condicion: TDAWhereExpression; diff --git a/Source/Modulos/Remesas de cliente/Model/Data/uIDataModuleRemesasCliente.pas b/Source/Modulos/Remesas de cliente/Model/Data/uIDataModuleRemesasCliente.pas index 9ae9b37..3239d02 100644 --- a/Source/Modulos/Remesas de cliente/Model/Data/uIDataModuleRemesasCliente.pas +++ b/Source/Modulos/Remesas de cliente/Model/Data/uIDataModuleRemesasCliente.pas @@ -3,11 +3,12 @@ unit uIDataModuleRemesasCliente; interface uses - uBizRemesasCliente; + Classes, uBizRemesasCliente; type IDataModuleRemesasCliente = interface ['{9047C468-78DE-404E-9047-1125B382FE3B}'] + function GetAnosItems : TStringList; function GetItems: IBizRemesaCliente; function GetItem(const ID : Integer) : IBizRemesaCliente; function NewItem : IBizRemesaCliente; diff --git a/Source/Modulos/Remesas de cliente/Model/Data/uIDataModuleRemesasClienteReport.pas b/Source/Modulos/Remesas de cliente/Model/Data/uIDataModuleRemesasClienteReport.pas index 53389c0..d792400 100644 --- a/Source/Modulos/Remesas de cliente/Model/Data/uIDataModuleRemesasClienteReport.pas +++ b/Source/Modulos/Remesas de cliente/Model/Data/uIDataModuleRemesasClienteReport.pas @@ -3,12 +3,12 @@ unit uIDataModuleRemesasClienteReport; interface uses - SysUtils, Classes, uROTypes; + SysUtils, Classes, uROTypes, uIntegerListUtils; type IDataModuleRemesasClienteReport = interface ['{6BFFFC92-D3E0-465C-8259-645B9FE9E446}'] - function GetReport(const ID: String): Binary; + function GetReport(const ListaID: TIntegerList): Binary; end; implementation diff --git a/Source/Modulos/Remesas de cliente/Model/schRemesasClienteClient_Intf.pas b/Source/Modulos/Remesas de cliente/Model/schRemesasClienteClient_Intf.pas index 5bfe67a..e1412ed 100644 --- a/Source/Modulos/Remesas de cliente/Model/schRemesasClienteClient_Intf.pas +++ b/Source/Modulos/Remesas de cliente/Model/schRemesasClienteClient_Intf.pas @@ -3,17 +3,25 @@ unit schRemesasClienteClient_Intf; interface uses - Classes, DB, schBase_Intf, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf; + Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf; const { Data table rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_RemesasCliente = '{DE6CB3E1-9C21-44E9-827D-18877E6C8E67}'; + RID_ListaAnosRemesas = '{966B6C1C-CA0B-4466-B8C0-1E0293F1299F}'; + RID_RemesasCliente = '{8BAEA7E3-ACE8-4001-BE9A-D454929BBAA6}'; { Data table names } + nme_ListaAnosRemesas = 'ListaAnosRemesas'; nme_RemesasCliente = 'RemesasCliente'; + { ListaAnosRemesas fields } + fld_ListaAnosRemesasANO = 'ANO'; + + { ListaAnosRemesas field indexes } + idx_ListaAnosRemesasANO = 0; + { RemesasCliente fields } fld_RemesasClienteID = 'ID'; fld_RemesasClienteID_EMPRESA = 'ID_EMPRESA'; @@ -55,9 +63,44 @@ const idx_RemesasClienteIMPORTE_TOTAL = 17; type + { IListaAnosRemesas } + IListaAnosRemesas = interface(IDAStronglyTypedDataTable) + ['{DE9F1FE0-2A52-45BF-98ED-8E06106A936B}'] + { Property getters and setters } + function GetANOValue: String; + procedure SetANOValue(const aValue: String); + function GetANOIsNull: Boolean; + procedure SetANOIsNull(const aValue: Boolean); + + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull; + end; + + { TListaAnosRemesasDataTableRules } + TListaAnosRemesasDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosRemesas) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + function GetANOIsNull: Boolean; virtual; + procedure SetANOIsNull(const aValue: Boolean); virtual; + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + { IRemesasCliente } IRemesasCliente = interface(IDAStronglyTypedDataTable) - ['{2D9ED2DE-5E2C-4014-BFC9-C7D6A770217A}'] + ['{CAE6CDBE-8183-44BB-940B-662A111BF3CD}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -298,6 +341,39 @@ implementation uses Variants, uROBinaryHelpers; +{ TListaAnosRemesasDataTableRules } +constructor TListaAnosRemesasDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TListaAnosRemesasDataTableRules.Destroy; +begin + inherited; +end; + +function TListaAnosRemesasDataTableRules.GetANOValue: String; +begin + result := DataTable.Fields[idx_ListaAnosRemesasANO].AsString; +end; + +procedure TListaAnosRemesasDataTableRules.SetANOValue(const aValue: String); +begin + DataTable.Fields[idx_ListaAnosRemesasANO].AsString := aValue; +end; + +function TListaAnosRemesasDataTableRules.GetANOIsNull: boolean; +begin + result := DataTable.Fields[idx_ListaAnosRemesasANO].IsNull; +end; + +procedure TListaAnosRemesasDataTableRules.SetANOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_ListaAnosRemesasANO].AsVariant := Null; +end; + + { TRemesasClienteDataTableRules } constructor TRemesasClienteDataTableRules.Create(aDataTable: TDADataTable); begin @@ -689,6 +765,7 @@ end; initialization + RegisterDataTableRules(RID_ListaAnosRemesas, TListaAnosRemesasDataTableRules); RegisterDataTableRules(RID_RemesasCliente, TRemesasClienteDataTableRules); end. diff --git a/Source/Modulos/Remesas de cliente/Model/schRemesasClienteServer_Intf.pas b/Source/Modulos/Remesas de cliente/Model/schRemesasClienteServer_Intf.pas index 1156406..8a65bc0 100644 --- a/Source/Modulos/Remesas de cliente/Model/schRemesasClienteServer_Intf.pas +++ b/Source/Modulos/Remesas de cliente/Model/schRemesasClienteServer_Intf.pas @@ -9,12 +9,47 @@ const { Delta rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_RemesasClienteDelta = '{7503D9C6-5E94-46CA-BFCA-2C514AA6E464}'; + RID_ListaAnosRemesasDelta = '{4216F36A-45C7-42E8-80AF-8ED155DE0279}'; + RID_RemesasClienteDelta = '{4AAD597B-94D6-4B7E-8698-E812EDC0136D}'; type + { IListaAnosRemesasDelta } + IListaAnosRemesasDelta = interface(IListaAnosRemesas) + ['{4216F36A-45C7-42E8-80AF-8ED155DE0279}'] + { Property getters and setters } + function GetOldANOValue : String; + + { Properties } + property OldANO : String read GetOldANOValue; + end; + + { TListaAnosRemesasBusinessProcessorRules } + TListaAnosRemesasBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosRemesas, IListaAnosRemesasDelta) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + function GetANOIsNull: Boolean; virtual; + function GetOldANOValue: String; virtual; + function GetOldANOIsNull: Boolean; virtual; + procedure SetANOValue(const aValue: String); virtual; + procedure SetANOIsNull(const aValue: Boolean); virtual; + + { Properties } + property ANO : String read GetANOValue write SetANOValue; + property ANOIsNull : Boolean read GetANOIsNull write SetANOIsNull; + property OldANO : String read GetOldANOValue; + property OldANOIsNull : Boolean read GetOldANOIsNull; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + { IRemesasClienteDelta } IRemesasClienteDelta = interface(IRemesasCliente) - ['{7503D9C6-5E94-46CA-BFCA-2C514AA6E464}'] + ['{4AAD597B-94D6-4B7E-8698-E812EDC0136D}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -255,6 +290,49 @@ implementation uses Variants, uROBinaryHelpers, uDAInterfaces; +{ TListaAnosRemesasBusinessProcessorRules } +constructor TListaAnosRemesasBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TListaAnosRemesasBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TListaAnosRemesasBusinessProcessorRules.GetANOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosRemesasANO]; +end; + +function TListaAnosRemesasBusinessProcessorRules.GetANOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosRemesasANO]); +end; + +function TListaAnosRemesasBusinessProcessorRules.GetOldANOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosRemesasANO]; +end; + +function TListaAnosRemesasBusinessProcessorRules.GetOldANOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosRemesasANO]); +end; + +procedure TListaAnosRemesasBusinessProcessorRules.SetANOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosRemesasANO] := aValue; +end; + +procedure TListaAnosRemesasBusinessProcessorRules.SetANOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosRemesasANO] := Null; +end; + + { TRemesasClienteBusinessProcessorRules } constructor TRemesasClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); begin @@ -826,6 +904,7 @@ end; initialization + RegisterBusinessProcessorRules(RID_ListaAnosRemesasDelta, TListaAnosRemesasBusinessProcessorRules); RegisterBusinessProcessorRules(RID_RemesasClienteDelta, TRemesasClienteBusinessProcessorRules); end. diff --git a/Source/Modulos/Remesas de cliente/Model/uBizRemesasCliente.pas b/Source/Modulos/Remesas de cliente/Model/uBizRemesasCliente.pas index d9ac2ea..2e1320d 100644 --- a/Source/Modulos/Remesas de cliente/Model/uBizRemesasCliente.pas +++ b/Source/Modulos/Remesas de cliente/Model/uBizRemesasCliente.pas @@ -45,7 +45,7 @@ implementation uses uDataTableUtils, uDataModuleUsuarios, SysUtils, uROClasses, Classes, - uFactuGES_App; + uFactuGES_App, dialogs; { TBizRemesaCliente } @@ -91,8 +91,10 @@ procedure TBizRemesaCliente.SetRecibos(const Value: IBizRecibosCliente); begin FRecibos := Value; if Assigned(FRecibos) then + begin if not FRecibos.DataTable.Active then FRecibos.DataTable.Active := True; + end; end; initialization diff --git a/Source/Modulos/Remesas de cliente/Model/uBizRemesasClienteServer.pas b/Source/Modulos/Remesas de cliente/Model/uBizRemesasClienteServer.pas index 96eb112..14e7fa8 100644 --- a/Source/Modulos/Remesas de cliente/Model/uBizRemesasClienteServer.pas +++ b/Source/Modulos/Remesas de cliente/Model/uBizRemesasClienteServer.pas @@ -96,8 +96,8 @@ begin Result := AReferenciasService.IncrementarValorReferencia(REF_REMESAS_CLIENTE, Self.REFERENCIA, ID_EMPRESA, -1) end; + initialization RegisterBusinessProcessorRules(BIZ_SERVER_REMESAS_CLIENTE, TBizRemesasClienteServer); end. - diff --git a/Source/Modulos/Remesas de cliente/RemesasCliente_Group.groupproj b/Source/Modulos/Remesas de cliente/RemesasCliente_Group.groupproj index 8aabfff..339f105 100644 --- a/Source/Modulos/Remesas de cliente/RemesasCliente_Group.groupproj +++ b/Source/Modulos/Remesas de cliente/RemesasCliente_Group.groupproj @@ -9,11 +9,15 @@ + + + + @@ -80,6 +84,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -161,14 +192,23 @@ + + + + + + + + + - + - + - + \ No newline at end of file diff --git a/Source/Modulos/Remesas de cliente/Reports/uRptRemesasCliente_Server.dfm b/Source/Modulos/Remesas de cliente/Reports/uRptRemesasCliente_Server.dfm index c57f54e..15eb70d 100644 --- a/Source/Modulos/Remesas de cliente/Reports/uRptRemesasCliente_Server.dfm +++ b/Source/Modulos/Remesas de cliente/Reports/uRptRemesasCliente_Server.dfm @@ -1,60 +1,278 @@ object RptRemesasCliente: TRptRemesasCliente OldCreateOrder = True OnCreate = DataModuleCreate + OnDestroy = DataModuleDestroy Height = 405 Width = 447 object DADataCabecera: TDADataSource + DataSet = tbl_Cabecera.Dataset DataTable = tbl_Cabecera Left = 264 Top = 72 end object DADataDetalles: TDADataSource + DataSet = tbl_Detalles.Dataset DataTable = tbl_Detalles Left = 344 Top = 72 end - object tbl_Cabecera: TDACDSDataTable + object tbl_Cabecera: TDAMemDataTable RemoteUpdatesOptions = [] - Fields = <> - Params = <> + Fields = < + item + Name = 'ID' + DataType = datInteger + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + end + item + Name = 'FECHA_REMESA' + DataType = datDateTime + end + item + Name = 'IMPORTE_TOTAL' + DataType = datFloat + end + item + Name = 'TITULAR' + DataType = datString + Size = 255 + end + item + Name = 'ENTIDAD' + DataType = datString + Size = 15 + end + item + Name = 'SUCURSAL' + DataType = datString + Size = 15 + end + item + Name = 'DC' + DataType = datString + Size = 15 + end + item + Name = 'CUENTA' + DataType = datString + Size = 15 + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + end + item + Name = 'NIF_CIF_EMPRESA' + DataType = datString + Size = 15 + end + item + Name = 'RAZON_SOCIAL' + DataType = datString + Size = 255 + end + item + Name = 'CALLE_EMPRESA' + DataType = datString + Size = 255 + end + item + Name = 'POBLACION_EMPRESA' + DataType = datString + Size = 255 + end + item + Name = 'PROVINCIA_EMPRESA' + DataType = datString + Size = 255 + end + item + Name = 'CODIGO_POSTAL_EMPRESA' + DataType = datString + Size = 10 + end + item + Name = 'TELEFONO_1' + DataType = datString + Size = 25 + end + item + Name = 'FAX' + DataType = datString + Size = 25 + end + item + Name = 'MOVIL_1' + DataType = datString + Size = 25 + end + item + Name = 'EMAIL_1' + DataType = datString + Size = 255 + end + item + Name = 'PAGINA_WEB' + DataType = datString + Size = 255 + end + item + Name = 'REGISTRO_MERCANTIL' + DataType = datString + Size = 255 + end + item + Name = 'LOGOTIPO' + DataType = datBlob + end> + Params = < + item + Name = 'ID' + DataType = datInteger + Value = '' + ParamType = daptInput + end> MasterMappingMode = mmDataRequest LogChanges = False StreamingOptions = [soDisableEventsWhileStreaming] RemoteFetchEnabled = False - SchemaCall.Params = <> - DataRequestCall.Params = <> - DataUpdateCall.Params = <> - ScriptCall.Params = <> - ReadOnly = False - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LocalSchema = schReport + LocalDataStreamer = Bin2DataStreamer + LogicalName = 'Informe_Cabecera' IndexDefs = <> Left = 264 Top = 128 end - object tbl_Detalles: TDACDSDataTable + object tbl_Detalles: TDAMemDataTable RemoteUpdatesOptions = [] - Fields = <> - Params = <> + Fields = < + item + Name = 'ID' + DataType = datInteger + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + end + item + Name = 'SITUACION' + DataType = datString + Size = 9 + end + item + Name = 'ID_FACTURA' + DataType = datInteger + end + item + Name = 'ID_REMESA' + DataType = datInteger + end + item + Name = 'REFERENCIA_REMESA' + DataType = datString + Size = 255 + end + item + Name = 'FECHA_VENCIMIENTO' + DataType = datDateTime + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + end + item + Name = 'OBSERVACIONES' + DataType = datString + Size = 255 + end + item + Name = 'IMPORTE' + DataType = datFloat + end + item + Name = 'OTROS_GASTOS' + DataType = datFloat + end + item + Name = 'IMPORTE_TOTAL' + DataType = datFloat + end + item + Name = 'FECHA_FACTURA' + DataType = datDateTime + end + item + Name = 'FORMA_PAGO_FACTURA' + DataType = datString + Size = 255 + end + item + Name = 'IMPORTE_FACTURA' + DataType = datFloat + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + end + item + Name = 'NOMBRE_CLIENTE' + DataType = datString + Size = 255 + end + item + Name = 'NIF_CIF_CLIENTE' + DataType = datString + Size = 15 + end + item + Name = 'ENTIDAD_CLIENTE' + DataType = datString + Size = 15 + end + item + Name = 'SUCURSAL_CLIENTE' + DataType = datString + Size = 15 + end + item + Name = 'DC_CLIENTE' + DataType = datString + Size = 15 + end + item + Name = 'CUENTA_CLIENTE' + DataType = datString + Size = 15 + end> + Params = < + item + Name = 'ID_REMESA' + DataType = datInteger + Value = '' + ParamType = daptInput + end> MasterMappingMode = mmDataRequest LogChanges = False StreamingOptions = [soDisableEventsWhileStreaming] RemoteFetchEnabled = False - SchemaCall.Params = <> - DataRequestCall.Params = <> - DataUpdateCall.Params = <> - ScriptCall.Params = <> - ReadOnly = False - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LocalSchema = schReport + LocalDataStreamer = Bin2DataStreamer + LogicalName = 'Informe_Detalles' IndexDefs = <> Left = 344 Top = 128 end - object DABINAdapter: TDABINAdapter - Left = 48 - Top = 80 - end object frxRichObject1: TfrxRichObject Left = 48 Top = 296 @@ -92,7 +310,6 @@ object RptRemesasCliente: TRptRemesasCliente item Name = 'ID' DataType = datInteger - BlobType = dabtUnknown Value = '' ParamType = daptInput end> @@ -221,295 +438,124 @@ object RptRemesasCliente: TRptRemesasCliente item Name = 'ID' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ID_EMPRESA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'REFERENCIA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA_REMESA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'IMPORTE_TOTAL' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TITULAR' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ENTIDAD' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'SUCURSAL' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DC' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CUENTA' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DESCRIPCION' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NIF_CIF_EMPRESA' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'RAZON_SOCIAL' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CALLE_EMPRESA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'POBLACION_EMPRESA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PROVINCIA_EMPRESA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO_POSTAL_EMPRESA' DataType = datString Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TELEFONO_1' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FAX' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'MOVIL_1' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'EMAIL_1' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PAGINA_WEB' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'REGISTRO_MERCANTIL' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'LOGOTIPO' DataType = datBlob - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end item Params = < item Name = 'ID_REMESA' DataType = datInteger - BlobType = dabtUnknown Value = '' ParamType = daptInput end> @@ -528,10 +574,10 @@ object RptRemesasCliente: TRptRemesasCliente 'ECHA_FACTURA,'#10' V_RECIBOS_CLIENTE.FORMA_PAGO_FACTURA,'#10' V_RE' + 'CIBOS_CLIENTE.IMPORTE_FACTURA,'#10' V_RECIBOS_CLIENTE.ID_EMPRESA,' + #10' V_RECIBOS_CLIENTE.NOMBRE_CLIENTE,'#10' V_RECIBOS_CLIENTE.NIF' + - '_CIF_CLIENTE,'#10' V_RECIBOS_CLIENTE.ENTIDAD_CLIENTE,'#10' V_RECIB' + - 'OS_CLIENTE.SUCURSAL_CLIENTE,'#10' V_RECIBOS_CLIENTE.DC_CLIENTE,'#10' ' + - ' V_RECIBOS_CLIENTE.CUENTA_CLIENTE'#10#10#10'FROM V_RECIBOS_CLIENTE'#10'WHE' + - 'RE ID_REMESA = :ID_REMESA'#10'ORDER BY FECHA_VENCIMIENTO' + '_CIF as NIF_CIF_CLIENTE,'#10' V_RECIBOS_CLIENTE.ENTIDAD_CLIENTE,'#10 + + ' V_RECIBOS_CLIENTE.SUCURSAL_CLIENTE,'#10' V_RECIBOS_CLIENTE.DC' + + '_CLIENTE,'#10' V_RECIBOS_CLIENTE.CUENTA_CLIENTE'#10#10#10'FROM V_RECIBOS_' + + 'CLIENTE'#10'WHERE ID_REMESA = :ID_REMESA'#10'ORDER BY FECHA_VENCIMIENTO'#10 StatementType = stSQL ColumnMappings = < item @@ -628,263 +674,110 @@ object RptRemesasCliente: TRptRemesasCliente item Name = 'ID' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'REFERENCIA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'SITUACION' DataType = datString Size = 9 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ID_FACTURA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ID_REMESA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'REFERENCIA_REMESA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA_VENCIMIENTO' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DESCRIPCION' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'OBSERVACIONES' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'IMPORTE' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'OTROS_GASTOS' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'IMPORTE_TOTAL' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA_FACTURA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FORMA_PAGO_FACTURA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'IMPORTE_FACTURA' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ID_EMPRESA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NOMBRE_CLIENTE' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NIF_CIF_CLIENTE' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ENTIDAD_CLIENTE' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'SUCURSAL_CLIENTE' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DC_CLIENTE' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CUENTA_CLIENTE' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = <> RelationShips = <> UpdateRules = <> + Version = 0 Left = 48 Top = 16 end @@ -894,7 +787,7 @@ object RptRemesasCliente: TRptRemesasCliente Top = 158 end object frxReport: TfrxReport - Version = '3.23.7' + Version = '4.8.11' DotMatrixReport = False EngineOptions.DoublePass = True IniFile = '\Software\Fast Reports' @@ -902,6 +795,7 @@ object RptRemesasCliente: TRptRemesasCliente PreviewOptions.OutlineWidth = 180 PreviewOptions.Zoom = 1.000000000000000000 PrintOptions.Printer = 'Default' + PrintOptions.PrintOnSheet = 0 ReportOptions.CreateDate = 37871.995398692100000000 ReportOptions.LastChange = 39258.760263842600000000 ReportOptions.VersionBuild = '1' @@ -909,103 +803,16 @@ object RptRemesasCliente: TRptRemesasCliente ReportOptions.VersionMinor = '13' ReportOptions.VersionRelease = '1' ScriptLanguage = 'PascalScript' - ScriptText.Strings = ( - 'procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);' - 'begin' - - ' Engine.CurY := Engine.CurY + Engine.FreeSpace - ReportSummary1' + - '.Height - 1;' - 'end;' - '' - 'procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);' - 'var' - ' Cadena: String;' - 'begin' - ' DatosEmpresa.Lines.Clear;' - ' DatosEmpresa.Lines.Add();' - ' DatosEmpresa.Lines.Add();' - '' - ' Cadena := '#39#39';' - ' if ( <> '#39#39') then' - ' Cadena := '#39'TLF: '#39' + ;' - ' if ( <> '#39#39') then' - ' Cadena := Cadena + '#39' FAX: '#39' + ;' - ' DatosEmpresa.Lines.Add(Cadena);' - '' - ' Cadena := '#39#39';' - ' if ( <> '#39#39') then' - ' Cadena := ;' - ' if ( <> '#39#39') then' - - ' Cadena := Cadena + '#39' '#39' + ;' - ' if ( <> '#39#39') then' - - ' Cadena := Cadena + '#39' - '#39' + ;' - ' DatosEmpresa.Lines.Add(Cadena);' - 'end;' - '' - 'begin' - '' - 'end.') ShowProgress = False StoreInDFM = False Left = 169 Top = 16 - Datasets = < - item - DataSet = frxDBCabecera - DataSetName = 'frxDBCabecera' - end - item - DataSet = frxDBDetalles - DataSetName = 'frxDBDetalles' - end> - Variables = <> - Style = < - item - Name = 'Concepto normal' - Color = clNone - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Tahoma' - Font.Style = [] - end - item - Name = 'Concepto subtotal' - Color = clNone - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Tahoma' - Font.Style = [fsBold] - end - item - Name = 'Cabecera de columna' - Color = 15790320 - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Tahoma' - Font.Style = [fsBold] - Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom] - end - item - Name = 'Concepto titulo' - Color = clNone - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -13 - Font.Name = 'Tahoma' - Font.Style = [fsBold] - end> end object frxDBCabecera: TfrxDBDataset UserName = 'frxDBCabecera' CloseDataSource = False DataSource = DADataCabecera + BCDToCurrency = False Left = 264 Top = 16 end @@ -1013,7 +820,12 @@ object RptRemesasCliente: TRptRemesasCliente UserName = 'frxDBDetalles' CloseDataSource = False DataSource = DADataDetalles + BCDToCurrency = False Left = 344 Top = 16 end + object Bin2DataStreamer: TDABin2DataStreamer + Left = 48 + Top = 88 + end end diff --git a/Source/Modulos/Remesas de cliente/Reports/uRptRemesasCliente_Server.pas b/Source/Modulos/Remesas de cliente/Reports/uRptRemesasCliente_Server.pas index 818bad3..5e07b2e 100644 --- a/Source/Modulos/Remesas de cliente/Reports/uRptRemesasCliente_Server.pas +++ b/Source/Modulos/Remesas de cliente/Reports/uRptRemesasCliente_Server.pas @@ -5,17 +5,17 @@ interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, frxClass, frxDBSet, uDAScriptingProvider, - uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient, - frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes, - uDAInterfaces; + uDADataTable, uDAMemDataTable, DB, uDAClasses, frxChart, frxGradient, + frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uROTypes, + uDAInterfaces, uDADataStreamer, FactuGES_Intf, uDABin2DataStreamer; + type TRptRemesasCliente = class(TDataModule) DADataCabecera: TDADataSource; DADataDetalles: TDADataSource; - tbl_Cabecera: TDACDSDataTable; - tbl_Detalles: TDACDSDataTable; - DABINAdapter: TDABINAdapter; + tbl_Cabecera: TDAMemDataTable; + tbl_Detalles: TDAMemDataTable; frxRichObject1: TfrxRichObject; frxBarCodeObject1: TfrxBarCodeObject; frxOLEObject1: TfrxOLEObject; @@ -26,14 +26,16 @@ type frxDBCabecera: TfrxDBDataset; frxDBDetalles: TfrxDBDataset; frxReport: TfrxReport; + Bin2DataStreamer: TDABin2DataStreamer; schReport: TDASchema; DataDictionary: TDADataDictionary; procedure DataModuleCreate(Sender: TObject); + procedure DataModuleDestroy(Sender: TObject); private FConnection: IDAConnection; - procedure GenerarRemesa(const ID : Integer); overload; + procedure _GenerarRemesa(const ID : Integer); overload; public - function GenerarRemesa(const ID : String): Binary; overload; + function GenerarRemesa(const ListaID : TIntegerArray): Binary; end; implementation @@ -41,7 +43,7 @@ implementation {$R *.dfm} uses - uDataModuleServer; + uDataModuleServer, uSistemaFunc; const rptInforme = 'InfRemesaCliente.fr3'; @@ -58,60 +60,59 @@ procedure TRptRemesasCliente.DataModuleCreate(Sender: TObject); begin schReport.ConnectionManager := dmServer.ConnectionManager; FConnection := dmServer.DarNuevaConexion; - frxReport.EngineOptions.NewSilentMode := simReThrow; + frxReport.EngineOptions.NewSilentMode := simReThrow; + + frxDBCabecera.DataSource := DADataCabecera; + frxDBCabecera.CloseDataSource := False; + + frxDBDetalles.DataSource := DADataDetalles; + frxDBDetalles.CloseDataSource := False; end; -function TRptRemesasCliente.GenerarRemesa(const ID: String): Binary; +function TRptRemesasCliente.GenerarRemesa(const ListaID : TIntegerArray): Binary; var - ID_Remesas: TStringList; i: Integer; - begin Result := Binary.Create; - FConnection.BeginTransaction; - try - ID_Remesas := TStringList.Create; - ID_Remesas.CommaText := ID; - //Vamos generando todos y cada uno de los albaranes recibidos - for i := 0 to ID_Remesas.Count - 1 do - GenerarRemesa(StrToInt(ID_Remesas.Strings[i])); - + for i := 0 to ListaID.Count - 1 do + _GenerarRemesa(ListaID.Items[i]); frxReport.PreviewPages.SaveToStream(Result); - finally - FConnection.RollbackTransaction; end; end; -procedure TRptRemesasCliente.GenerarRemesa(const ID: Integer); -var - AStream: TMemoryStream; - dsMaster: IDADataset; - dsDetail: IDADataset; +procedure TRptRemesasCliente.DataModuleDestroy(Sender: TObject); begin - AStream := TMemoryStream.Create; + tbl_Cabecera.Active := False; + tbl_Detalles.Active := False; +end; +procedure TRptRemesasCliente._GenerarRemesa(const ID: Integer); +var + AInforme: Variant; + +begin + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" try - dsMaster := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [ID]); - dsDetail := schReport.NewDataset(FConnection, ds_InformeDetalles, ['ID_REMESA'], [ID], False); + tbl_Cabecera.Active := False; + tbl_Detalles.Active := False; - AStream.Clear; - DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); - DABINAdapter.ReadDataset(AStream, tbl_Cabecera, TRUE, '', TRUE, TRUE); + tbl_Cabecera.ParamByName('ID').AsInteger := ID; + tbl_Detalles.ParamByName('ID_REMESA').AsInteger := ID; - AStream.Clear; - DABINAdapter.WriteDataset(AStream, dsDetail, [woRows, woSchema], -1); - DABINAdapter.ReadDataset(AStream, tbl_Detalles, TRUE, '', TRUE, TRUE); + tbl_Cabecera.Active := True; + tbl_Detalles.Active := True; - frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); + AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); + if VarIsNull(AInforme) then + raise Exception.Create (('Error Servidor: _GenerarRemesa, no encuentra informe ' + rptInforme)); + + frxReport.LoadFromFile(AInforme, True); frxReport.PrepareReport(False); - finally - AStream.Free; - dsMaster := Nil; - dsDetail := Nil; + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; end; diff --git a/Source/Modulos/Remesas de cliente/Servidor/srvRemesasCliente_Impl.dfm b/Source/Modulos/Remesas de cliente/Servidor/srvRemesasCliente_Impl.dfm index 6ecd6b2..ee80139 100644 --- a/Source/Modulos/Remesas de cliente/Servidor/srvRemesasCliente_Impl.dfm +++ b/Source/Modulos/Remesas de cliente/Servidor/srvRemesasCliente_Impl.dfm @@ -134,6 +134,33 @@ object srvRemesasCliente: TsrvRemesasCliente DataDictionary = DataDictionary Diagrams = Diagrams Datasets = < + item + Params = <> + Statements = < + item + Connection = 'IBX' + ConnectionType = 'Interbase' + Default = True + Name = 'IBX' + SQL = + 'select ANO from'#10'(select distinct(substr(FECHA_REMESA, 1,4)) as A' + + 'NO'#10'from remesas_cliente'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select dist' + + 'inct '#39'Todos'#39' as ANO'#10'from empresas'#10 + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ANO' + TableField = 'ANO' + end> + end> + Name = 'ListaAnosRemesas' + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + end> + end item Params = <> Statements = < diff --git a/Source/Modulos/Remesas de cliente/Servidor/srvRemesasCliente_Impl.pas b/Source/Modulos/Remesas de cliente/Servidor/srvRemesasCliente_Impl.pas index 636ddf3..3c586c5 100644 --- a/Source/Modulos/Remesas de cliente/Servidor/srvRemesasCliente_Impl.pas +++ b/Source/Modulos/Remesas de cliente/Servidor/srvRemesasCliente_Impl.pas @@ -31,9 +31,9 @@ type const IncludeSchema: Boolean; const MaxRecords: Integer); procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string); - protected + { IsrvRemesasCliente methods } - function GenerateReport(const ID: String): Binary; + function GenerateReport(const ListaID: TIntegerArray): Binary; end; implementation @@ -42,8 +42,7 @@ implementation uses {Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils, schRemesasClienteClient_Intf, uRestriccionesUsuarioUtils, - uBizRemesasClienteServer, -// uRptRemesasCliente_Server, + uBizRemesasClienteServer, uRptRemesasCliente_Server, Dialogs; procedure Create_srvRemesasCliente(out anInstance : IUnknown); @@ -57,13 +56,15 @@ procedure TsrvRemesasCliente.DARemoteServiceBeforeGetDatasetData( const Dataset: IDADataset; const IncludeSchema: Boolean; const MaxRecords: Integer); begin +{ if DataSet.Name = nme_RemesasCliente then begin { Aquí se asegura que el usuario sólo accede a los RemesasCliente de las empresas a las que tiene permiso para acceder filtrando DataSet por ID_EMPRESA. } - FiltrarAccesoUsuario(Session, Connection, schRemesasCliente, DataSet, fld_RemesasClienteID_EMPRESA); +{ FiltrarAccesoUsuario(Session, Connection, schRemesasCliente, DataSet, fld_RemesasClienteID_EMPRESA); end; +} end; procedure TsrvRemesasCliente.DARemoteServiceCreate(Sender: TObject); @@ -78,18 +79,17 @@ begin ConnectionName := dmServer.ConnectionName; end; -function TsrvRemesasCliente.GenerateReport(const ID: String): Binary; -//var -// AReportGenerator : TRptRemesasCliente; +function TsrvRemesasCliente.GenerateReport( + const ListaID: TIntegerArray): Binary; +var + AReportGenerator : TRptRemesasCliente; begin - Result := NIL; -{ AReportGenerator := TRptRemesasCliente.Create(nil); + AReportGenerator := TRptRemesasCliente.Create(nil); try - Result := AReportGenerator.GenerarRemesa(ID); + Result := AReportGenerator.GenerarRemesa(ListaID); finally FreeAndNIL(AReportGenerator); end; -} end; initialization diff --git a/Source/Modulos/Remesas de cliente/Views/RemesasCliente_view.dpk b/Source/Modulos/Remesas de cliente/Views/RemesasCliente_view.dpk index cccc0fc..8581c99 100644 Binary files a/Source/Modulos/Remesas de cliente/Views/RemesasCliente_view.dpk and b/Source/Modulos/Remesas de cliente/Views/RemesasCliente_view.dpk differ diff --git a/Source/Modulos/Remesas de cliente/Views/RemesasCliente_view.dproj b/Source/Modulos/Remesas de cliente/Views/RemesasCliente_view.dproj index aae5dd1..e8e4cec 100644 --- a/Source/Modulos/Remesas de cliente/Views/RemesasCliente_view.dproj +++ b/Source/Modulos/Remesas de cliente/Views/RemesasCliente_view.dproj @@ -47,25 +47,26 @@ Delphi.Personality Package -FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0RemesasCliente_view.dpk +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0RemesasCliente_view.dpk MainSource - - - - - - - - - - - - + + + + + + + + + + + + +
fEditorRemesaCliente
TfEditorRemesaCliente diff --git a/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.dfm b/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.dfm index 317427a..ea304f9 100644 --- a/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.dfm +++ b/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.dfm @@ -4,20 +4,21 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente HorzScrollBar.Visible = False VertScrollBar.Visible = False Caption = 'Ficha de remesa de cobro' - ClientHeight = 727 - ClientWidth = 724 + ClientHeight = 654 + ClientWidth = 889 Scaled = False OnClose = CustomEditorClose - ExplicitWidth = 732 - ExplicitHeight = 761 + ExplicitWidth = 897 + ExplicitHeight = 692 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader - Width = 724 + Width = 889 Caption = 'Remesa de cobro' - ExplicitWidth = 724 + ExplicitTop = 52 + ExplicitWidth = 889 inherited Image1: TImage - Left = 697 + Left = 862 Picture.Data = { 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800 0000180806000000E0773DF80000000970485973000017120000171201679FD2 @@ -46,10 +47,10 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente end end inherited TBXDock: TTBXDock - Width = 724 - ExplicitWidth = 724 + Width = 889 + ExplicitWidth = 889 inherited tbxMain: TTBXToolbar - ExplicitWidth = 440 + ExplicitWidth = 664 inherited TBXItem2: TTBXItem Visible = False end @@ -58,14 +59,21 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente end object TBXSeparatorItem6: TTBXSeparatorItem [11] end - object TBXItem33: TTBXItem [12] - Action = actVolcarDisco + object TBXSubmenuItem3: TTBXSubmenuItem [12] + Caption = 'Volcar a disco' DisplayMode = nbdmImageAndText + ImageIndex = 22 + object TBXItem34: TTBXItem + Action = actNorma19 + end + object TBXItem33: TTBXItem + Action = actNorma32 + end end end inherited tbxMenu: TTBXToolbar DockPos = 0 - ExplicitWidth = 724 + ExplicitWidth = 889 inherited TBXSubmenuItem4: TTBXSubmenuItem inherited TBXItem8: TTBXItem Visible = False @@ -79,6 +87,12 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente inherited TBXItem21: TTBXItem Visible = False end + inherited TBXItem22: TTBXItem + Visible = False + end + inherited TBXItem9: TTBXItem + Visible = False + end end inherited TBXSubmenuItem1: TTBXSubmenuItem inherited TBXItem32: TTBXItem @@ -100,32 +114,32 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente end end inherited StatusBar: TJvStatusBar - Top = 708 - Width = 724 + Top = 635 + Width = 889 Panels = < item Width = 200 end> - ExplicitTop = 708 - ExplicitWidth = 724 + ExplicitTop = 635 + ExplicitWidth = 889 end inherited pgPaginas: TPageControl - Width = 718 - Height = 550 + Width = 883 + Height = 470 MultiLine = True - ExplicitTop = 109 - ExplicitWidth = 718 - ExplicitHeight = 550 + ExplicitTop = 112 + ExplicitWidth = 883 + ExplicitHeight = 460 inherited pagGeneral: TTabSheet ExplicitLeft = 4 ExplicitTop = 24 - ExplicitWidth = 710 - ExplicitHeight = 522 + ExplicitWidth = 875 + ExplicitHeight = 432 inline frViewRemesaCliente1: TfrViewRemesaCliente Left = 0 Top = 0 - Width = 710 - Height = 210 + Width = 875 + Height = 220 Align = alTop Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -135,58 +149,57 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente ParentFont = False TabOrder = 0 ReadOnly = False - ExplicitWidth = 710 - ExplicitHeight = 210 + ExplicitWidth = 875 + ExplicitHeight = 220 inherited dxLayoutControlRemesaCliente: TdxLayoutControl - Width = 710 + Width = 875 Height = 220 - Align = alTop - ExplicitWidth = 710 - ExplicitHeight = 220 + ExplicitWidth = 875 + ExplicitHeight = 210 DesignSize = ( - 710 + 875 220) inherited eReferencia: TcxDBTextEdit Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitWidth = 326 - Width = 326 + ExplicitWidth = 292 + Width = 292 end inherited eDescripcion: TcxDBTextEdit Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitWidth = 540 - Width = 540 + ExplicitWidth = 530 + Width = 530 end inherited edtFechaRemesa: TcxDBDateEdit - Left = 521 + Left = 623 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 521 - ExplicitWidth = 170 - Width = 170 + ExplicitLeft = 623 + ExplicitWidth = 149 + Width = 149 end inherited cbCuentaBancaria: TcxDBLookupComboBox Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitWidth = 39 - Width = 39 + ExplicitWidth = 530 + Width = 530 end inherited cbTipo: TcxDBImageComboBox Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitWidth = 121 - Width = 121 + ExplicitWidth = 530 + Width = 530 end inherited frViewListaSubcuentas1: TfrViewListaSubcuentas Width = 429 @@ -198,18 +211,18 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitWidth = 376 - Width = 376 + ExplicitWidth = 231 + Width = 231 end inherited eContabilizar: TcxCheckBox - Left = 453 + Left = 570 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 453 - ExplicitWidth = 203 - Width = 203 + ExplicitLeft = 570 + ExplicitWidth = 136 + Width = 136 end end end @@ -224,9 +237,9 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente end inline frViewRecibosRemesaCliente1: TfrViewRecibosRemesaCliente Left = 0 - Top = 210 - Width = 710 - Height = 312 + Top = 220 + Width = 875 + Height = 222 Align = alClient Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -240,15 +253,15 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente TabOrder = 1 ReadOnly = False ExplicitTop = 210 - ExplicitWidth = 710 - ExplicitHeight = 312 + ExplicitWidth = 875 + ExplicitHeight = 222 inherited cxGrid: TcxGrid Left = 15 - Width = 680 - Height = 272 + Width = 845 + Height = 182 ExplicitLeft = 15 - ExplicitWidth = 680 - ExplicitHeight = 272 + ExplicitWidth = 845 + ExplicitHeight = 182 inherited cxGridView: TcxGridDBTableView DataController.Summary.FooterSummaryItems = < item @@ -269,18 +282,18 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente end inherited ToolBar1: TToolBar Left = 15 - Width = 680 + Width = 845 ExplicitLeft = 15 - ExplicitWidth = 680 + ExplicitWidth = 845 end end end end inline frViewTotales1: TfrViewTotales [4] Left = 0 - Top = 662 - Width = 724 - Height = 46 + Top = 585 + Width = 889 + Height = 50 Align = alBottom Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -290,25 +303,27 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente ParentFont = False TabOrder = 5 ReadOnly = False - ExplicitTop = 662 - ExplicitWidth = 724 - ExplicitHeight = 46 + ExplicitTop = 585 + ExplicitWidth = 889 + ExplicitHeight = 50 inherited dxLayoutControl1: TdxLayoutControl - Width = 724 - ExplicitWidth = 724 + Width = 889 + Height = 50 + ExplicitWidth = 889 + ExplicitHeight = 50 inherited Bevel3: TBevel - Left = 359 + Left = 429 Top = 10 Height = 30 - ExplicitLeft = 359 + ExplicitLeft = 429 ExplicitTop = 10 ExplicitHeight = 30 end inherited Bevel4: TBevel - Left = 471 + Left = 541 Top = 52 Width = 192 - ExplicitLeft = 471 + ExplicitLeft = 541 ExplicitTop = 52 ExplicitWidth = 192 end @@ -323,11 +338,11 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 163 ExplicitTop = 37 - ExplicitWidth = 93 - Width = 93 + ExplicitWidth = 157 + Width = 157 end inherited ImporteIVA: TcxDBCurrencyEdit - Left = 542 + Left = 612 Top = 87 DataBinding.DataField = '' Style.LookAndFeel.SkinName = '' @@ -335,23 +350,23 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 542 + ExplicitLeft = 612 ExplicitTop = 87 - ExplicitWidth = 137 - Width = 137 + ExplicitWidth = 147 + Width = 147 end inherited ImporteTotal: TcxDBCurrencyEdit - Left = 472 - Top = 141 + Left = 542 + Top = 168 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 472 - ExplicitTop = 141 - ExplicitWidth = 137 - Width = 137 + ExplicitLeft = 542 + ExplicitTop = 168 + ExplicitWidth = 217 + Width = 217 end inherited edtDescuento: TcxDBSpinEdit Left = 92 @@ -366,7 +381,7 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente ExplicitTop = 37 end inherited edtIVA: TcxDBSpinEdit - Left = 471 + Left = 541 Top = 87 DataBinding.DataField = '' Style.LookAndFeel.SkinName = '' @@ -374,11 +389,11 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 471 + ExplicitLeft = 541 ExplicitTop = 87 end inherited ImporteBase: TcxDBCurrencyEdit - Left = 471 + Left = 541 Top = 10 DataBinding.DataField = '' Style.LookAndFeel.SkinName = '' @@ -386,33 +401,49 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 471 + ExplicitLeft = 541 ExplicitTop = 10 - ExplicitWidth = 92 - Width = 92 + ExplicitWidth = 218 + Width = 218 end inherited edtRE: TcxDBSpinEdit - Left = 471 - Top = 114 + Left = 541 + Top = 141 DataBinding.DataField = '' Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 471 + ExplicitLeft = 541 + ExplicitTop = 141 + end + inherited edtIRPF: TcxDBSpinEdit + Left = 541 + Top = 114 + Style.IsFontAssigned = True + ExplicitLeft = 541 ExplicitTop = 114 end inherited ImporteRE: TcxDBCurrencyEdit - Left = 542 - Top = 114 + Left = 612 + Top = 141 DataBinding.DataField = '' Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 542 + ExplicitLeft = 612 + ExplicitTop = 141 + ExplicitWidth = 147 + Width = 147 + end + inherited ImporteIRPF: TcxDBCurrencyEdit + Left = 612 + Top = 114 + Style.IsFontAssigned = True + ExplicitLeft = 612 ExplicitTop = 114 ExplicitWidth = 56 Width = 56 @@ -428,8 +459,8 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 92 ExplicitTop = 10 - ExplicitWidth = 147 - Width = 147 + ExplicitWidth = 228 + Width = 228 end inherited ePorte: TcxDBCurrencyEdit Left = 92 @@ -442,8 +473,8 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 92 ExplicitTop = 64 - ExplicitWidth = 147 - Width = 147 + ExplicitWidth = 228 + Width = 228 end inherited eIVA: TcxDBLookupComboBox Left = 92 @@ -455,13 +486,13 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 92 ExplicitTop = 91 - ExplicitWidth = 81 - Width = 81 + ExplicitWidth = 90 + Width = 90 end inherited bTiposIVA: TButton - Left = 211 + Left = 281 Top = 91 - ExplicitLeft = 211 + ExplicitLeft = 281 ExplicitTop = 91 end inherited cbRecargoEquivalencia: TcxDBCheckBox @@ -474,8 +505,8 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 92 ExplicitTop = 118 - ExplicitWidth = 219 - Width = 219 + ExplicitWidth = 228 + Width = 228 end inherited dxLayoutControl1Group_Root: TdxLayoutGroup inherited dxLayoutControl1Group1: TdxLayoutGroup @@ -510,13 +541,19 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente end end inherited PnlComentario: TPanel [5] - Width = 724 + Width = 889 + ExplicitTop = 79 + ExplicitWidth = 889 inherited lbComentario: TLabel - Width = 714 + Width = 879 Height = 25 end end - inherited SmallImages: TPngImageList + inherited dsDataTable: TDADataSource [6] + Left = 64 + Top = 168 + end + inherited SmallImages: TPngImageList [7] PngImages = < item PngImage.Data = { @@ -1045,11 +1082,13 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente Top = 0 Bitmap = {} end - inherited dsDataTable: TDADataSource [7] - Left = 64 - Top = 168 + inherited JvFormStorage: TJvFormStorage + OnSavePlacement = JvFormStorageSavePlacement + OnRestorePlacement = JvFormStorageRestorePlacement + Left = 528 + Top = 32 end - inherited LargeImages: TPngImageList [8] + inherited LargeImages: TPngImageList [9] PngImages = < item PngImage.Data = { @@ -1853,12 +1892,6 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente Top = 0 Bitmap = {} end - inherited JvFormStorage: TJvFormStorage [9] - OnSavePlacement = JvFormStorageSavePlacement - OnRestorePlacement = JvFormStorageRestorePlacement - Left = 528 - Top = 32 - end inherited JvAppRegistryStorage: TJvAppRegistryStorage Left = 560 Top = 32 @@ -1866,21 +1899,24 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente inherited EditorActionList: TActionList [11] Left = 96 Top = 168 - inherited actPrevisualizar: TAction - Enabled = False - Visible = False - end - inherited actImprimir: TAction - Enabled = False - Visible = False - end object actVolcarDisco: TAction Category = 'Acciones' Caption = 'Volcar a disco...' ImageIndex = 22 - OnExecute = actVolcarDiscoExecute OnUpdate = actVolcarDiscoUpdate end + object actNorma19: TAction + Category = 'Acciones' + Caption = 'Norma 19' + OnExecute = actNorma19Execute + OnUpdate = actNorma19Update + end + object actNorma32: TAction + Category = 'Acciones' + Caption = 'Norma 32' + OnExecute = actNorma32Execute + OnUpdate = actNorma32Update + end end inherited StatusBarImages: TPngImageList Left = 120 diff --git a/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.pas b/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.pas index 2a8a6ff..3dcb433 100644 --- a/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.pas +++ b/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.pas @@ -14,7 +14,8 @@ uses cxCustomData, uViewRemesasCliente, uIEditorRemesaCliente, uRemesasClienteController, JvExComCtrls, JvStatusBar, dxLayoutLookAndFeels, uViewGridBase, uViewGrid, - uViewRecibosRemesaCliente, uViewTotales, uViewDetallesGenerico, uDAInterfaces; + uViewRecibosRemesaCliente, uViewTotales, uViewDetallesGenerico, uDAInterfaces, + cxControls, cxContainer, cxEdit, cxLabel; type TfEditorRemesaCliente = class(TfEditorDBItem, IEditorRemesaCliente) @@ -26,8 +27,12 @@ type actVolcarDisco: TAction; TBXSubmenuItem2: TTBXSubmenuItem; TBXItem7: TTBXItem; - TBXItem33: TTBXItem; TBXSeparatorItem6: TTBXSeparatorItem; + actNorma19: TAction; + actNorma32: TAction; + TBXSubmenuItem3: TTBXSubmenuItem; + TBXItem33: TTBXItem; + TBXItem34: TTBXItem; procedure FormShow(Sender: TObject); procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction); @@ -38,7 +43,10 @@ type procedure frViewRecibosRemesaCliente1cxGridViewDataControllerSummaryAfterSummary( ASender: TcxDataSummary); procedure actVolcarDiscoUpdate(Sender: TObject); - procedure actVolcarDiscoExecute(Sender: TObject); + procedure actNorma19Execute(Sender: TObject); + procedure actNorma32Execute(Sender: TObject); + procedure actNorma19Update(Sender: TObject); + procedure actNorma32Update(Sender: TObject); private procedure OnRecibosChanged(Sender: TObject); protected @@ -62,6 +70,7 @@ type procedure PonerTitulos(const ATitulo: string = ''); override; function GetModified: Boolean; override; + function PuedoImprimir: Boolean; override; public property RemesaCliente: IBizRemesaCliente read GetRemesaCliente write SetRemesaCliente; @@ -70,14 +79,13 @@ type end; implementation + {$R *.dfm} -{$INCLUDE ..\..\..\FactuGES.inc} uses - uDataTableUtils, cxControls, uDataModuleUsuarios, uDialogUtils, uCustomEditor, + uDataTableUtils, uDataModuleUsuarios, uDialogUtils, uCustomEditor, uDataModuleRemesasCliente, uDataModuleBase, uBizFamilias, uFamiliasController, - uFactuGES_App; -// uBancaElectronicaController; + uFactuGES_App, uBancaElectronicaController; { ******************************* TfEditorRemesaCliente ******************************* @@ -125,13 +133,15 @@ begin try bEsNuevo := FRemesaCliente.EsNuevo; - {$IFDEF CONTABILIDAD} +// {$IFDEF CONTABILIDAD} AIgnorarContabilidad := frViewRemesaCliente1.frViewListaSubCuentas1.eContabilizar.EditValue; ASubCuenta := frViewRemesaCliente1.frViewListaSubCuentas1.IdSubCuenta; FController.Guardar(FRemesaCliente, AIgnorarContabilidad, ASubCuenta); - {$ELSE} - FController.Guardar(FRemesaCliente); - {$ENDIF} +// {$ELSE} +// FController.Guardar(FRemesaProveedor); +// {$ENDIF} + +// FController.Guardar(FRemesaCliente); finally // frViewDetallesFacturaCliente1.EndUpdate; @@ -148,8 +158,8 @@ end; procedure TfEditorRemesaCliente.ImprimirInterno; begin -// inherited; -// FController.Print(FRemesaCliente); + inherited; + FController.Print(FRemesaCliente); end; procedure TfEditorRemesaCliente.JvFormStorageRestorePlacement(Sender: TObject); @@ -189,8 +199,13 @@ end; procedure TfEditorRemesaCliente.PrevisualizarInterno; begin -// inherited; -// FController.Preview(FRemesaCliente); + inherited; + FController.Preview(FRemesaCliente); +end; + +function TfEditorRemesaCliente.PuedoImprimir: Boolean; +begin + Result := inherited PuedoImprimir and (not RemesaCliente.Recibos.IDIsNull); end; procedure TfEditorRemesaCliente.SetRemesaCliente(const Value: IBizRemesaCliente); @@ -296,11 +311,10 @@ begin // HayCambios := True; end; -procedure TfEditorRemesaCliente.actVolcarDiscoExecute(Sender: TObject); -//var -// ABancaController : IBancaElectronicaController; +procedure TfEditorRemesaCliente.actNorma19Execute(Sender: TObject); +var + ABancaController : IBancaElectronicaController; begin -{ inherited; ABancaController := TBancaElectronicaController.Create; try @@ -308,7 +322,29 @@ begin finally ABancaController := NIL; end; -} +end; + +procedure TfEditorRemesaCliente.actNorma19Update(Sender: TObject); +begin + (Sender as TAction).Enabled := HayDatos and (not FRemesaCliente.EsNuevo); +end; + +procedure TfEditorRemesaCliente.actNorma32Execute(Sender: TObject); +var + ABancaController : IBancaElectronicaController; +begin + inherited; + ABancaController := TBancaElectronicaController.Create; + try + ABancaController.GenerarFicheroNorma32(FRemesaCliente.ID); + finally + ABancaController := NIL; + end; +end; + +procedure TfEditorRemesaCliente.actNorma32Update(Sender: TObject); +begin + (Sender as TAction).Enabled := HayDatos and (not FRemesaCliente.EsNuevo); end; procedure TfEditorRemesaCliente.actVolcarDiscoUpdate(Sender: TObject); diff --git a/Source/Modulos/Remesas de cliente/Views/uEditorRemesaClienteReport.dfm b/Source/Modulos/Remesas de cliente/Views/uEditorRemesaClienteReport.dfm index 064b260..2e7d9cf 100644 --- a/Source/Modulos/Remesas de cliente/Views/uEditorRemesaClienteReport.dfm +++ b/Source/Modulos/Remesas de cliente/Views/uEditorRemesaClienteReport.dfm @@ -1,5 +1,6 @@ inherited fEditorRemesaClientePreview: TfEditorRemesaClientePreview Caption = 'Previsualizar la remesa' + ExplicitHeight = 547 PixelsPerInch = 96 TextHeight = 13 end diff --git a/Source/Modulos/Remesas de cliente/Views/uEditorRemesasCliente.dfm b/Source/Modulos/Remesas de cliente/Views/uEditorRemesasCliente.dfm index e51dd04..bce969f 100644 --- a/Source/Modulos/Remesas de cliente/Views/uEditorRemesasCliente.dfm +++ b/Source/Modulos/Remesas de cliente/Views/uEditorRemesasCliente.dfm @@ -45,12 +45,21 @@ inherited fEditorRemesasCliente: TfEditorRemesasCliente Width = 785 ExplicitWidth = 785 inherited tbxMain: TTBXToolbar - ExplicitWidth = 403 + ExplicitWidth = 785 object TBXSeparatorItem17: TTBXSeparatorItem [12] end end inherited tbxFiltro: TTBXToolbar - ExplicitWidth = 269 + ExplicitWidth = 374 + inherited lblAno: TTBXLabelItem + Visible = True + end + inherited cbxListaAnos: TTBXComboBoxItem + Visible = True + end + inherited sepAno: TTBXSeparatorItem + Visible = True + end inherited tbxEditFiltro: TTBXEditItem EditOptions = [tboUseEditWhenVertical] end @@ -68,8 +77,8 @@ inherited fEditorRemesasCliente: TfEditorRemesasCliente end end inherited TBXTMain2: TTBXToolbar - Left = 334 - ExplicitLeft = 334 + Left = 374 + ExplicitLeft = 374 end end inherited StatusBar: TJvStatusBar @@ -83,14 +92,18 @@ inherited fEditorRemesasCliente: TfEditorRemesasCliente ImageIndex = 24 end inherited actPrevisualizar: TAction - Enabled = False + Visible = True end inherited actImprimir: TAction - Enabled = False + Visible = True end inherited actDuplicar: TAction Visible = False end + inherited actExportarExcel: TAction + Enabled = True + Visible = True + end object actVolcarDisco: TAction Category = 'Acciones' Caption = 'Volcar a disco...' diff --git a/Source/Modulos/Remesas de cliente/Views/uEditorRemesasCliente.pas b/Source/Modulos/Remesas de cliente/Views/uEditorRemesasCliente.pas index fae076a..2910851 100644 --- a/Source/Modulos/Remesas de cliente/Views/uEditorRemesasCliente.pas +++ b/Source/Modulos/Remesas de cliente/Views/uEditorRemesasCliente.pas @@ -28,12 +28,16 @@ type procedure FormShow(Sender: TObject); procedure actVolcarDiscoExecute(Sender: TObject); procedure actVolcarDiscoUpdate(Sender: TObject); + procedure OnListaAnosChange(Sender: TObject; const Text: string); + private FRemesasCliente: IBizRemesaCliente; FController : IRemesasClienteController; + protected function GetRemesasCliente: IBizRemesaCliente; procedure SetRemesasCliente(const Value: IBizRemesaCliente); + function GetController : IRemesasClienteController; virtual; procedure SetController (const Value : IRemesasClienteController); virtual; @@ -42,7 +46,7 @@ type procedure ModificarInterno; override; procedure PrevisualizarInterno; override; procedure ImprimirInterno; override; - + procedure RefrescarInterno; override; //Si queremos crear otra vista para el editor heredado solo tendriamos que //sobreescribir este metodo @@ -72,6 +76,8 @@ uses } procedure TfEditorRemesasCliente.FormShow(Sender: TObject); begin + cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED + inherited; if not Assigned(ViewGrid) then @@ -82,8 +88,6 @@ begin RemesasCliente.DataTable.Active := True; ViewGrid.GotoFirst; - //Para que coja el ancho automático - actAnchoAuto.Execute; end; function TfEditorRemesasCliente.GetRemesasCliente: IBizRemesaCliente; @@ -97,7 +101,6 @@ var ARemesasCliente: IBizRemesaCliente; AllItems: Boolean; begin -{ ARemesasCliente := Nil; AllItems := False; @@ -126,12 +129,12 @@ begin ARemesasCliente := RemesasCliente; if Assigned(ARemesasCliente) then - FController.Print(ARemesasCliente, AllItems); + if FController.Print(ARemesasCliente, AllItems) then + RefrescarInterno; end; end; end; end; -} end; function TfEditorRemesasCliente.GetController: IRemesasClienteController; @@ -152,6 +155,13 @@ begin FController.Ver(RemesasCliente); end; +procedure TfEditorRemesasCliente.OnListaAnosChange(Sender: TObject; const Text: string); +begin + Controller.FiltrarAno(RemesasCliente, DynWhereDataTable, Text); + if RemesasCliente.DataTable.Active then + RefrescarInterno; +end; + procedure TfEditorRemesasCliente.PonerTitulos(const ATitulo: string); var FTitulo : String; @@ -166,7 +176,6 @@ var ARemesasCliente: IBizRemesaCliente; AllItems: Boolean; begin -{ ARemesasCliente := Nil; AllItems := False; @@ -200,20 +209,39 @@ begin end; end; end; -} +end; + +procedure TfEditorRemesasCliente.RefrescarInterno; +begin + //Volvemos a cargar los años de las remesas + if Assigned(FController) then + ListaAnos := FController.DarListaAnosRemesas; + + inherited; end; procedure TfEditorRemesasCliente.SetRemesasCliente(const Value: IBizRemesaCliente); begin FRemesasCliente := Value; - dsDataTable.DataTable := FRemesasCliente.DataTable; - if Assigned(ViewGrid) then - (ViewGrid as IViewRemesasCliente).RemesasCliente := RemesasCliente; + + if Assigned(FRemesasCliente) then + begin + //Se guarda el where de la sentencia origen, por si el editor tiene filtros que + //afecten a este where y en un futuro se desea volver al where origen (filtro de año)) + DynWhereDataTable := FRemesasCliente.DataTable.DynamicWhere.Xml; + + dsDataTable.DataTable := FRemesasCliente.DataTable; + if Assigned(ViewGrid) then + (ViewGrid as IViewRemesasCliente).RemesasCliente := RemesasCliente; + end; end; procedure TfEditorRemesasCliente.SetController(const Value: IRemesasClienteController); begin FController := Value; + + if Assigned(FController) then + ListaAnos := FController.DarListaAnosRemesas; end; destructor TfEditorRemesasCliente.Destroy; @@ -225,7 +253,6 @@ end; procedure TfEditorRemesasCliente.EliminarInterno; var - ACadena : String; ARemesas: IBizRemesaCliente; AllItems: Boolean; begin @@ -310,4 +337,4 @@ end; end. - \ No newline at end of file + \ No newline at end of file diff --git a/Source/Modulos/Remesas de cliente/Views/uViewRecibosRemesaCliente.pas b/Source/Modulos/Remesas de cliente/Views/uViewRecibosRemesaCliente.pas index 9bd4bcb..ac52267 100644 --- a/Source/Modulos/Remesas de cliente/Views/uViewRecibosRemesaCliente.pas +++ b/Source/Modulos/Remesas de cliente/Views/uViewRecibosRemesaCliente.pas @@ -9,9 +9,8 @@ uses uDADataTable, ComCtrls, ToolWin, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxImageComboBox, cxCurrencyEdit, - uBizRemesasCliente, uRemesasClienteController, uDAInterfaces; - + type IViewRecibosRemesaCliente = interface ['{5342D4B0-4BE0-4123-9515-D8ADC9058243}'] @@ -46,6 +45,7 @@ type function GetController : IRemesasClienteController; procedure SetController (const Value : IRemesasClienteController); + public constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -76,7 +76,7 @@ constructor TfrViewRecibosRemesaCliente.Create(AOwner: TComponent); begin inherited; FHayCambios := False; - FListaRecibosIniciales := TStringList.Create; + FListaRecibosIniciales := TStringList.Create; end; procedure TfrViewRecibosRemesaCliente.CustomViewShow(Sender: TObject); diff --git a/Source/Modulos/Remesas de cliente/Views/uViewRemesaCliente.pas b/Source/Modulos/Remesas de cliente/Views/uViewRemesaCliente.pas index 994b5b2..b56d9d5 100644 --- a/Source/Modulos/Remesas de cliente/Views/uViewRemesaCliente.pas +++ b/Source/Modulos/Remesas de cliente/Views/uViewRemesaCliente.pas @@ -114,9 +114,8 @@ begin {$IFDEF CONTABILIDAD} frViewListaSubcuentas1.TipoSubCuenta := tCajas; - dxlcCuentaBancaria.visible := false; +// dxlcCuentaBancaria.visible := false; dxlcCuentaContable.Visible := true; - if Assigned(AppFactuGES.EjercicioActivo) then begin frViewListaSubcuentas1.eContabilizar.Checked := False; @@ -125,12 +124,11 @@ begin begin frViewListaSubcuentas1.eContabilizar.Checked := True; end; - {$ELSE} dxlcCuentaBancaria.visible := true; dxlcCuentaContable.Visible := false; {$ENDIF} - + end; function TfrViewRemesaCliente.GetController: IRemesasClienteController; diff --git a/Source/Modulos/Remesas de cliente/Views/uViewRemesasCliente.dfm b/Source/Modulos/Remesas de cliente/Views/uViewRemesasCliente.dfm index cf7ad0d..07cbca9 100644 --- a/Source/Modulos/Remesas de cliente/Views/uViewRemesasCliente.dfm +++ b/Source/Modulos/Remesas de cliente/Views/uViewRemesasCliente.dfm @@ -33,9 +33,9 @@ inherited frViewRemesasCliente: TfrViewRemesasCliente Column = cxGridViewIMPORTE_TOTAL end> OptionsBehavior.PullFocusing = True - object cxGridViewRecID: TcxGridDBColumn - DataBinding.FieldName = 'RecID' + inherited cxGridViewICONO: TcxGridDBColumn Visible = False + VisibleForCustomization = False end object cxGridViewREFERENCIA: TcxGridDBColumn Caption = 'Referencia' @@ -52,8 +52,6 @@ inherited frViewRemesasCliente: TfrViewRemesasCliente end object cxGridViewNOMBRE: TcxGridDBColumn DataBinding.FieldName = 'NOMBRE' - Visible = False - VisibleForCustomization = False Width = 147 end object cxGridViewDESCRIPCION: TcxGridDBColumn @@ -64,22 +62,18 @@ inherited frViewRemesasCliente: TfrViewRemesasCliente object cxGridViewENTIDAD: TcxGridDBColumn DataBinding.FieldName = 'ENTIDAD' Visible = False - VisibleForCustomization = False end object cxGridViewSUCURSAL: TcxGridDBColumn DataBinding.FieldName = 'SUCURSAL' Visible = False - VisibleForCustomization = False end object cxGridViewDC: TcxGridDBColumn DataBinding.FieldName = 'DC' Visible = False - VisibleForCustomization = False end object cxGridViewCUENTA: TcxGridDBColumn DataBinding.FieldName = 'CUENTA' Visible = False - VisibleForCustomization = False end object cxGridViewIMPORTE_TOTAL: TcxGridDBColumn Caption = 'Importe' @@ -91,6 +85,34 @@ inherited frViewRemesasCliente: TfrViewRemesasCliente end end end + inherited frViewFiltroBase1: TfrViewFiltroBase + inherited TBXDockablePanel1: TTBXDockablePanel + inherited dxLayoutControl1: TdxLayoutControl + inherited txtFiltroTodo: TcxTextEdit + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' + end + inherited edtFechaIniFiltro: TcxDateEdit + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' + ExplicitWidth = 272 + Width = 272 + end + inherited edtFechaFinFiltro: TcxDateEdit + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' + ExplicitWidth = 221 + Width = 221 + end + end + end + end inherited pnlAgrupaciones: TTBXDockablePanel Top = 394 ExplicitTop = 394 @@ -199,82 +221,23 @@ inherited frViewRemesasCliente: TfrViewRemesasCliente item PngImage.Data = { 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF - 610000000970485973000017120000171201679FD2520000011A4944415478DA - 63FCFFFF3F032580916203966D3945B60991DEA68C6003D4BD9919269F4CC6AA - E8F7DFBF0CDFFFFC61F8F6FB37C3C71F3FC0ECB9FE5B19523CE6309CDB310D61 - 0008C00C996B760EC3209B6D7270CD208062C02E9134B8429866E6534C1081AB - 0C0C7F13FF81999A6B4519BE035D02728DDCB204220CB80A118319A0B04200AC - 19843556A762370024B9DCFA328617903583BC62B83E13350C40FE074B421581 - 70EF05569C31907DD8036140F7E4F9180AA6DAEE60B04CAE6660905064F8717C - 2AC3F97DE719E6EE7BCE30A5C50BCE9EB3F73B23232E1B8EB528861E7CADB6EA - CEE58358E5939D24C32CABEFADC667C07F8A5D00A456811452D505208D5635F7 - 5783D480F211C92E98BBEF075C0FD8004A73230074DEE0E1BE54FBD500000000 - 49454E44AE426082} + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000001724944415478DA6364A0103062135CB1E2C26E20 + E5824F63448401235603809AA381D412374F5506413E2EB0D89FBFFF187EFFF9 + 0BC62F3EFD6728A999C0B0795E15A60150CD1540CD3A7B4FDCC5B0D5D94299E1 + CAD3BF0CDD3D53F280064CC666C06EA066176C36FF05B25F7F6544B11DC50098 + D3C3C3F519D6ECBA8C61BBBDA922C38D17FF41B6C384B6020DF261846AFE0FA4 + AE809C0EB21DDD6610FFCF9F7F0CE91553194CF49518A4558D1836AE59037609 + 23C8E6AB4F2E2C2136DAE4B5AC186E9CD9C570F3C1278801B53D0BFE3715C7E3 + D4F0E5C75F86CFDF8118487FF9F18F61C3BA350C12CA260C3B366F4218408CCD + 17AE3D03D3065A520CEC42AA0C278F1CC4EF02749BBF82F0CFBF0CC7F66E64F8 + C92AC970FDE259DC06A06BAE3DEFC390ABB49EE1FEB5530CCF9F3F6778FA919D + E1F5D3FBD80DC066F3AC743D8680EEB30CAFEE9E61D8BEF72C4CA90CD080A770 + 03A62FDB45542C400D006B062724DFA4366920FD84D86844D68C9212C905001F + 16FA1194E3DBC30000000049454E44AE426082} Name = 'PngImage1' Background = clWindow end> Bitmap = {} end - object PngImageList: TPngImageList - PngImages = < - item - PngImage.Data = { - 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF - 610000000970485973000017120000171201679FD2520000022E4944415478DA - 8D93CF6BD36018C7BF6997A45DD376EA70CA18D31D44981741280C44119DA83D - C87619781A1EFD1BC49B2028B28353141111A43BE8CD934E65A8D4A1686B61B5 - A31DD8CCBAFEDAACEDF226B389EFFB26CBCC54E6030FEFCB4B3E9FE79B9744B0 - 2C0B8220E0F7BA3AB2D75A282DE07F4AD82C60F0851B8F50530BF85EF98A6236 - 8DCCAB69B0B366BD8C95B24ACF4BB877FD226AFD635EC13A5CF99243A356869A - 4D51F8398799EC476D09E5621E0F6F5EC6C8D938EE7C503604EB7055CDA34127 - A8B90C3ECD3CE570A35AA2FD0DCB4B2AEE4F5CC29953C35094102667655B706D - 7480C3F97412AD951AAAC502E6DEBCE47031974673B942BB8AA9DB57103F7D12 - 9D9D413ED4154C8C0BD6FCE7AD2F6C2816C3CE9E6E8862077C3E9F57307CE2FC - 1F80655A308C35E844C7B3273318D8D78FE8B6282449A41211B7DE05FE2D304D - 13866EC34433F0FAC55BF4EDE945A42B0C910A6459C6DD94F27781D936F964B2 - AADB02DAEF9329ECEEED4138A240944548B2840773DBBD02B637596C6238205D - 352AD175643E66B1A3BB0B0A15489204292061AAB0CB2B68D3C96B34367120BE - 3AB2F96C01E1A8825028083920F35778BCD8B721387E6C9C42060788465C50A3 - 12B24AB0582C2110946907282C61BA3588442221B882C343E75C50A30093B104 - 84D849EAD53AFC1D7E0ECFFA631C76FF0526387470D4135977405B62A0D56CB2 - C791891C71618FE0C0FEB873618623B2E33361FB679B4A340A1FF5C01E41928C - 6DF9256E8659FD02D3B7960923D6946A0000000049454E44AE426082} - Name = 'PngImage0' - Background = clWindow - end - item - PngImage.Data = { - 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF - 61000000097048597300000B1300000B1301009A9C18000001274944415478DA - DD923D4A035110C7FFAB60A208795B585865636795A4538CF0F4089A3EC113E4 - 0E5E20E00536584AD2682382BBA085A0984DC0D6B72FA0310AD9599068045947 - B052F015A97460986198F9315F5692249844AC7F08B02C0BDBA725C96E95557E - 857D56B7B979EEFFC8FF1E287BEB5208515FB49D3C5B2420B455802985CE2B50 - 3BD83AF34D00773957A8AC391B78E1E23E29DC50805069BC29344E76BA551320 - 5C2DCAEC92C88128C21D425C33208A34665A421FEF761D2360A558C8CE4160C8 - 1DDC33E096343477906A6574B0D73302DC944045D8027D068C10631C119EDA31 - E6BD4CE362BF671C41CE46A80FED383F1284078A31AD80670F9D054AD72E0F07 - BF2FF1F38CE5664912C555DEBC1C10214DF0DF69EC5E1D3D9ACF38F123FD3DC0 - 07A932AEE15E52559F0000000049454E44AE426082} - Name = 'PngImage1' - Background = clWindow - end - item - PngImage.Data = { - 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF - 61000000E54944415478DADD902172C3301045BF4F10C3320B9645B0ACEE0D7C - 83F806F5110C0BD51B6C99A160E1C2C085850B0D372C655965DCA28C3D9DB27C - CD8E44FEDBFF55E19FAAEE104013B77EF53ED100B3595967637A1B7813B098C7 - F8149E435DC3CE807C29F2943FD48C784ABC0520371FF64D83D377597FF201F8 - 28C899DE39D3B005D0AE8B0DB0FB3597143A2B98195EA3DA0248DBC67D79FF98 - B100682278857540224EF131BCD64BFF62363FE215540594C675C098728BB3F5 - 2184031C72DDAE1EFFC89EC85EE493D63FB1A81F526BA65D7808BDA8EE1C0611 - B969BE09F8ABEE007001C1D97F1131BF40440000000049454E44AE426082} - Name = 'PngImage2' - Background = clWindow - end> - Left = 160 - Top = 32 - Bitmap = {} - end end diff --git a/Source/Modulos/Remesas de cliente/Views/uViewRemesasCliente.pas b/Source/Modulos/Remesas de cliente/Views/uViewRemesasCliente.pas index 39437af..2b8be41 100644 --- a/Source/Modulos/Remesas de cliente/Views/uViewRemesasCliente.pas +++ b/Source/Modulos/Remesas de cliente/Views/uViewRemesasCliente.pas @@ -14,7 +14,7 @@ uses dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, cxGridCustomPopupMenu, cxGridPopupMenu, cxCurrencyEdit, cxSpinEdit, cxCheckBox, cxCheckComboBox, cxImageComboBox, TB2Item, TBX, TB2Toolbar, TBXDkPanels, - TB2Dock, uViewFiltroBase, dxPgsDlg, uDAInterfaces; + TB2Dock, uViewFiltroBase, dxPgsDlg, uDAInterfaces, uCustomView, uViewBase; type IViewRemesasCliente = interface(IViewGrid) @@ -25,8 +25,6 @@ type end; TfrViewRemesasCliente = class(TfrViewGrid, IViewRemesasCliente) - PngImageList: TPngImageList; - cxGridViewRecID: TcxGridDBColumn; cxGridViewREFERENCIA: TcxGridDBColumn; cxGridViewFECHA_REMESA: TcxGridDBColumn; cxGridViewDESCRIPCION: TcxGridDBColumn; @@ -47,7 +45,8 @@ type implementation -uses uDataModuleRemesasCliente; +uses + uDataModuleRemesasCliente, cxVariants; {$R *.dfm} @@ -57,6 +56,7 @@ uses uDataModuleRemesasCliente; { ******************************* TfrViewRemesasCliente ******************************* } + function TfrViewRemesasCliente.GetRemesasCliente: IBizRemesaCliente; begin Result := FRemesasCliente; @@ -69,5 +69,4 @@ begin dsDataSource.DataTable := FRemesasCliente.DataTable; end; - end. diff --git a/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.dfm b/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.dfm index 2464179..5869a68 100644 --- a/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.dfm +++ b/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.dfm @@ -1,60 +1,288 @@ object RptRemesasProveedor: TRptRemesasProveedor OldCreateOrder = True OnCreate = DataModuleCreate + OnDestroy = DataModuleDestroy Height = 405 Width = 447 object DADataCabecera: TDADataSource + DataSet = tbl_Cabecera.Dataset DataTable = tbl_Cabecera Left = 264 Top = 72 end object DADataDetalles: TDADataSource + DataSet = tbl_Detalles.Dataset DataTable = tbl_Detalles Left = 344 Top = 72 end - object tbl_Cabecera: TDACDSDataTable + object tbl_Cabecera: TDAMemDataTable RemoteUpdatesOptions = [] - Fields = <> - Params = <> + Fields = < + item + Name = 'ID' + DataType = datInteger + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + end + item + Name = 'FECHA_REMESA' + DataType = datDateTime + end + item + Name = 'IMPORTE_TOTAL' + DataType = datFloat + end + item + Name = 'TITULAR' + DataType = datString + Size = 255 + end + item + Name = 'ENTIDAD' + DataType = datString + Size = 15 + end + item + Name = 'SUCURSAL' + DataType = datString + Size = 15 + end + item + Name = 'DC' + DataType = datString + Size = 15 + end + item + Name = 'CUENTA' + DataType = datString + Size = 15 + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + end + item + Name = 'NIF_CIF_EMPRESA' + DataType = datString + Size = 15 + end + item + Name = 'RAZON_SOCIAL' + DataType = datString + Size = 255 + end + item + Name = 'CALLE_EMPRESA' + DataType = datString + Size = 255 + end + item + Name = 'POBLACION_EMPRESA' + DataType = datString + Size = 255 + end + item + Name = 'PROVINCIA_EMPRESA' + DataType = datString + Size = 255 + end + item + Name = 'CODIGO_POSTAL_EMPRESA' + DataType = datString + Size = 10 + end + item + Name = 'TELEFONO_1' + DataType = datString + Size = 25 + end + item + Name = 'FAX' + DataType = datString + Size = 25 + end + item + Name = 'MOVIL_1' + DataType = datString + Size = 25 + end + item + Name = 'EMAIL_1' + DataType = datString + Size = 255 + end + item + Name = 'PAGINA_WEB' + DataType = datString + Size = 255 + end + item + Name = 'REGISTRO_MERCANTIL' + DataType = datString + Size = 255 + end + item + Name = 'LOGOTIPO' + DataType = datBlob + end> + Params = < + item + Name = 'ID' + DataType = datInteger + Value = '' + ParamType = daptInput + end> MasterMappingMode = mmDataRequest LogChanges = False StreamingOptions = [soDisableEventsWhileStreaming] RemoteFetchEnabled = False - SchemaCall.Params = <> - DataRequestCall.Params = <> - DataUpdateCall.Params = <> - ScriptCall.Params = <> - ReadOnly = False - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LocalSchema = schReport + LocalDataStreamer = Bin2DataStreamer + LogicalName = 'Informe_Cabecera' IndexDefs = <> Left = 264 Top = 128 end - object tbl_Detalles: TDACDSDataTable + object tbl_Detalles: TDAMemDataTable RemoteUpdatesOptions = [] - Fields = <> - Params = <> + Fields = < + item + Name = 'ID' + DataType = datInteger + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + end + item + Name = 'REFERENCIA_PROVEEDOR' + DataType = datString + Size = 255 + end + item + Name = 'SITUACION' + DataType = datString + Size = 9 + end + item + Name = 'ID_FACTURA' + DataType = datInteger + end + item + Name = 'ID_REMESA' + DataType = datInteger + end + item + Name = 'REFERENCIA_REMESA' + DataType = datString + Size = 255 + end + item + Name = 'FECHA_VENCIMIENTO' + DataType = datDateTime + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + end + item + Name = 'OBSERVACIONES' + DataType = datString + Size = 255 + end + item + Name = 'IMPORTE' + DataType = datFloat + end + item + Name = 'OTROS_GASTOS' + DataType = datFloat + end + item + Name = 'IMPORTE_TOTAL' + DataType = datFloat + end + item + Name = 'FECHA_FACTURA' + DataType = datDateTime + end + item + Name = 'REFERENCIA_FACTURA_PROV' + DataType = datString + Size = 255 + end + item + Name = 'FORMA_PAGO_FACTURA' + DataType = datString + Size = 255 + end + item + Name = 'IMPORTE_FACTURA' + DataType = datFloat + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + end + item + Name = 'NOMBRE_PROVEEDOR' + DataType = datString + Size = 255 + end + item + Name = 'NIF_CIF_PROVEEDOR' + DataType = datString + Size = 15 + end + item + Name = 'ENTIDAD_PROVEEDOR' + DataType = datString + Size = 15 + end + item + Name = 'SUCURSAL_PROVEEDOR' + DataType = datString + Size = 15 + end + item + Name = 'DC_PROVEEDOR' + DataType = datString + Size = 15 + end + item + Name = 'CUENTA_PROVEEDOR' + DataType = datString + Size = 15 + end> + Params = < + item + Name = 'ID_REMESA' + DataType = datInteger + Value = '' + ParamType = daptInput + end> MasterMappingMode = mmDataRequest LogChanges = False StreamingOptions = [soDisableEventsWhileStreaming] RemoteFetchEnabled = False - SchemaCall.Params = <> - DataRequestCall.Params = <> - DataUpdateCall.Params = <> - ScriptCall.Params = <> - ReadOnly = False - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LocalSchema = schReport + LocalDataStreamer = Bin2DataStreamer + LogicalName = 'Informe_Detalles' IndexDefs = <> Left = 344 Top = 128 end - object DABINAdapter: TDABINAdapter - Left = 48 - Top = 80 - end object frxRichObject1: TfrxRichObject Left = 48 Top = 296 @@ -92,7 +320,6 @@ object RptRemesasProveedor: TRptRemesasProveedor item Name = 'ID' DataType = datInteger - BlobType = dabtUnknown Value = '' ParamType = daptInput end> @@ -116,7 +343,7 @@ object RptRemesasProveedor: TRptRemesasProveedor #10#10'FROM'#10' V_REMESAS_PROVEEDOR'#10' LEFT OUTER JOIN EMPRESAS ON (EMPR' + 'ESAS.ID = V_REMESAS_PROVEEDOR.ID_EMPRESA)'#10' LEFT OUTER JOIN EMPR' + 'ESAS_DATOS_BANCO ON (EMPRESAS_DATOS_BANCO.ID = V_REMESAS_PROVEED' + - 'OR.ID_DATOS_BANCO)'#10'WHERE'#10' V_REMESAS_PROVEEDOR.ID = :ID' + 'OR.ID_DATOS_BANCO)'#10'WHERE'#10' V_REMESAS_PROVEEDOR.ID = :ID'#10 StatementType = stSQL ColumnMappings = < item @@ -221,295 +448,124 @@ object RptRemesasProveedor: TRptRemesasProveedor item Name = 'ID' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ID_EMPRESA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'REFERENCIA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA_REMESA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'IMPORTE_TOTAL' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TITULAR' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ENTIDAD' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'SUCURSAL' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DC' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CUENTA' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DESCRIPCION' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NIF_CIF_EMPRESA' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'RAZON_SOCIAL' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CALLE_EMPRESA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'POBLACION_EMPRESA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PROVINCIA_EMPRESA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CODIGO_POSTAL_EMPRESA' DataType = datString Size = 10 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'TELEFONO_1' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FAX' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'MOVIL_1' DataType = datString Size = 25 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'EMAIL_1' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'PAGINA_WEB' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'REGISTRO_MERCANTIL' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'LOGOTIPO' DataType = datBlob - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end item Params = < item Name = 'ID_REMESA' DataType = datInteger - BlobType = dabtUnknown Value = '' ParamType = daptInput end> @@ -639,287 +695,120 @@ object RptRemesasProveedor: TRptRemesasProveedor item Name = 'ID' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'REFERENCIA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'REFERENCIA_PROVEEDOR' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'SITUACION' DataType = datString Size = 9 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ID_FACTURA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ID_REMESA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'REFERENCIA_REMESA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA_VENCIMIENTO' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DESCRIPCION' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'OBSERVACIONES' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'IMPORTE' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'OTROS_GASTOS' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'IMPORTE_TOTAL' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FECHA_FACTURA' DataType = datDateTime - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'REFERENCIA_FACTURA_PROV' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'FORMA_PAGO_FACTURA' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'IMPORTE_FACTURA' DataType = datFloat - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ID_EMPRESA' DataType = datInteger - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NOMBRE_PROVEEDOR' DataType = datString Size = 255 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'NIF_CIF_PROVEEDOR' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'ENTIDAD_PROVEEDOR' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'SUCURSAL_PROVEEDOR' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'DC_PROVEEDOR' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end item Name = 'CUENTA_PROVEEDOR' DataType = datString Size = 15 - BlobType = dabtUnknown - DisplayWidth = 0 - Alignment = taLeftJustify - InPrimaryKey = False - Calculated = False - Lookup = False - LookupCache = False end> - BusinessRulesClient.ScriptLanguage = rslPascalScript - BusinessRulesServer.ScriptLanguage = rslPascalScript end> + JoinDataTables = <> + UnionDataTables = <> Commands = <> RelationShips = <> UpdateRules = <> + Version = 0 Left = 48 Top = 16 end @@ -929,7 +818,7 @@ object RptRemesasProveedor: TRptRemesasProveedor Top = 158 end object frxReport: TfrxReport - Version = '3.23.7' + Version = '4.7.71' DotMatrixReport = False EngineOptions.DoublePass = True IniFile = '\Software\Fast Reports' @@ -937,6 +826,7 @@ object RptRemesasProveedor: TRptRemesasProveedor PreviewOptions.OutlineWidth = 180 PreviewOptions.Zoom = 1.000000000000000000 PrintOptions.Printer = 'Default' + PrintOptions.PrintOnSheet = 0 ReportOptions.CreateDate = 37871.995398692100000000 ReportOptions.LastChange = 39293.788285949070000000 ReportOptions.VersionBuild = '1' @@ -1004,71 +894,12 @@ object RptRemesasProveedor: TRptRemesasProveedor OnStartReport = 'frxReportOnStartReport' Left = 169 Top = 16 - Datasets = < - item - DataSet = frxDBCabecera - DataSetName = 'frxDBCabecera' - end - item - DataSet = frxDBDetalles - DataSetName = 'frxDBDetalles' - end> - Variables = < - item - Name = ' Paginacion' - Value = Null - end - item - Name = 'Pagina' - Value = Null - end - item - Name = 'TotalPaginas' - Value = Null - end> - Style = < - item - Name = 'Concepto normal' - Color = clNone - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Tahoma' - Font.Style = [] - end - item - Name = 'Concepto subtotal' - Color = clNone - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Tahoma' - Font.Style = [fsBold] - end - item - Name = 'Cabecera de columna' - Color = 15790320 - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Tahoma' - Font.Style = [fsBold] - Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom] - end - item - Name = 'Concepto titulo' - Color = clNone - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -13 - Font.Name = 'Tahoma' - Font.Style = [fsBold] - end> end object frxDBCabecera: TfrxDBDataset UserName = 'frxDBCabecera' CloseDataSource = False DataSource = DADataCabecera + BCDToCurrency = False Left = 264 Top = 16 end @@ -1076,7 +907,12 @@ object RptRemesasProveedor: TRptRemesasProveedor UserName = 'frxDBDetalles' CloseDataSource = False DataSource = DADataDetalles + BCDToCurrency = False Left = 344 Top = 16 end + object Bin2DataStreamer: TDABin2DataStreamer + Left = 48 + Top = 88 + end end diff --git a/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.pas b/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.pas index 7d9c3bd..f68cf4e 100644 --- a/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.pas +++ b/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.pas @@ -7,15 +7,15 @@ uses Dialogs, frxClass, frxDBSet, uDAScriptingProvider, uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient, frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes, - uDAInterfaces; + uDAInterfaces, uDADataStreamer, FactuGES_Intf, uDABin2DataStreamer, + uDAMemDataTable; type TRptRemesasProveedor = class(TDataModule) DADataCabecera: TDADataSource; DADataDetalles: TDADataSource; - tbl_Cabecera: TDACDSDataTable; - tbl_Detalles: TDACDSDataTable; - DABINAdapter: TDABINAdapter; + tbl_Cabecera: TDAMemDataTable; + tbl_Detalles: TDAMemDataTable; frxRichObject1: TfrxRichObject; frxBarCodeObject1: TfrxBarCodeObject; frxOLEObject1: TfrxOLEObject; @@ -25,15 +25,17 @@ type frxChartObject1: TfrxChartObject; frxDBCabecera: TfrxDBDataset; frxDBDetalles: TfrxDBDataset; + frxReport: TfrxReport; + Bin2DataStreamer: TDABin2DataStreamer; schReport: TDASchema; DataDictionary: TDADataDictionary; - frxReport: TfrxReport; procedure DataModuleCreate(Sender: TObject); + procedure DataModuleDestroy(Sender: TObject); private FConnection: IDAConnection; - procedure GenerarRemesa(const ID : Integer); overload; + procedure _GenerarRemesa(const ID : Integer); overload; public - function GenerarRemesa(const ID : String): Binary; overload; + function GenerarRemesa(const ListaID : TIntegerArray): Binary; overload; end; implementation @@ -41,7 +43,7 @@ implementation {$R *.dfm} uses - uDataModuleServer; + uDataModuleServer, uSistemaFunc; const rptInforme = 'InfRemesaProveedor.fr3'; @@ -58,61 +60,61 @@ procedure TRptRemesasProveedor.DataModuleCreate(Sender: TObject); begin schReport.ConnectionManager := dmServer.ConnectionManager; FConnection := dmServer.DarNuevaConexion; - frxReport.EngineOptions.NewSilentMode := simReThrow; + frxReport.EngineOptions.NewSilentMode := simReThrow; + + frxDBCabecera.DataSource := DADataCabecera; + frxDBCabecera.CloseDataSource := False; + + frxDBDetalles.DataSource := DADataDetalles; + frxDBDetalles.CloseDataSource := False; end; -function TRptRemesasProveedor.GenerarRemesa(const ID: String): Binary; +function TRptRemesasProveedor.GenerarRemesa(const ListaID : TIntegerArray): Binary; var - ID_Remesas: TStringList; i: Integer; - begin Result := Binary.Create; - FConnection.BeginTransaction; - try - ID_Remesas := TStringList.Create; - ID_Remesas.CommaText := ID; - //Vamos generando todos y cada uno de los albaranes recibidos - for i := 0 to ID_Remesas.Count - 1 do - GenerarRemesa(StrToInt(ID_Remesas.Strings[i])); - + for i := 0 to ListaID.Count - 1 do + _GenerarRemesa(ListaID.Items[i]); frxReport.PreviewPages.SaveToStream(Result); - finally - FConnection.RollbackTransaction; end; end; -procedure TRptRemesasProveedor.GenerarRemesa(const ID: Integer); -var - AStream: TMemoryStream; - dsMaster: IDADataset; - dsDetail: IDADataset; +procedure TRptRemesasProveedor.DataModuleDestroy(Sender: TObject); begin - AStream := TMemoryStream.Create; + tbl_Cabecera.Active := False; + tbl_Detalles.Active := False; +end; +procedure TRptRemesasProveedor._GenerarRemesa(const ID: Integer); +var + AInforme: Variant; + +begin + FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" try - dsMaster := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [ID]); - dsDetail := schReport.NewDataset(FConnection, ds_InformeDetalles, ['ID_REMESA'], [ID], False); + tbl_Cabecera.Active := False; + tbl_Detalles.Active := False; - AStream.Clear; - DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); - DABINAdapter.ReadDataset(AStream, tbl_Cabecera, TRUE, '', TRUE, TRUE); + tbl_Cabecera.ParamByName('ID').AsInteger := ID; + tbl_Detalles.ParamByName('ID_REMESA').AsInteger := ID; - AStream.Clear; - DABINAdapter.WriteDataset(AStream, dsDetail, [woRows, woSchema], -1); - DABINAdapter.ReadDataset(AStream, tbl_Detalles, TRUE, '', TRUE, TRUE); + tbl_Cabecera.Active := True; + tbl_Detalles.Active := True; - frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); + AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); + if VarIsNull(AInforme) then + raise Exception.Create (('Error Servidor: _GenerarRemesa, no encuentra informe ' + rptInforme)); + + frxReport.LoadFromFile(AInforme, True); frxReport.PrepareReport(False); - finally - AStream.Free; - dsMaster := Nil; - dsDetail := Nil; + FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" end; + end; end. diff --git a/Source/Modulos/Remesas de proveedor/Servidor/srvRemesasProveedor_Impl.pas b/Source/Modulos/Remesas de proveedor/Servidor/srvRemesasProveedor_Impl.pas index 2406dd3..ee694ec 100644 --- a/Source/Modulos/Remesas de proveedor/Servidor/srvRemesasProveedor_Impl.pas +++ b/Source/Modulos/Remesas de proveedor/Servidor/srvRemesasProveedor_Impl.pas @@ -34,7 +34,7 @@ type private protected { IsrvRemesasProveedor methods } - function GenerateReport(const ID: String): Binary; + function GenerateReport(const ListaID: TIntegerArray): Binary; end; implementation @@ -44,7 +44,7 @@ uses {Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils, schRemesasProveedorClient_Intf, uRestriccionesUsuarioUtils, uBizRemesasProveedorServer, - //uRptRemesasProveedor_Server, + uRptRemesasProveedor_Server, Dialogs; procedure Create_srvRemesasProveedor(out anInstance : IUnknown); @@ -79,21 +79,20 @@ begin ConnectionName := dmServer.ConnectionName; end; -function TsrvRemesasProveedor.GenerateReport(const ID: String): Binary; -//var -// AReportGenerator : TRptRemesasProveedor; +function TsrvRemesasProveedor.GenerateReport( + const ListaID: TIntegerArray): Binary; +var + AReportGenerator : TRptRemesasProveedor; begin - Result := NIL; -{ AReportGenerator := TRptRemesasProveedor.Create(nil); try - Result := AReportGenerator.GenerarRemesa(ID); + Result := AReportGenerator.GenerarRemesa(ListaID); finally FreeAndNIL(AReportGenerator); end; -} end; + initialization TROClassFactory.Create('srvRemesasProveedor', Create_srvRemesasProveedor, TsrvRemesasProveedor_Invoker); diff --git a/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.dfm b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.dfm index c609293..136ac3c 100644 --- a/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.dfm +++ b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.dfm @@ -9,7 +9,7 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor Scaled = False OnClose = CustomEditorClose ExplicitWidth = 707 - ExplicitHeight = 657 + ExplicitHeight = 661 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader @@ -49,7 +49,7 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor Width = 699 ExplicitWidth = 699 inherited tbxMain: TTBXToolbar - ExplicitWidth = 330 + ExplicitWidth = 370 inherited TBXItem2: TTBXItem Visible = False end @@ -111,21 +111,21 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor end inherited pgPaginas: TPageControl Width = 693 - Height = 446 + Height = 443 MultiLine = True - ExplicitTop = 109 + ExplicitTop = 112 ExplicitWidth = 693 - ExplicitHeight = 446 + ExplicitHeight = 443 inherited pagGeneral: TTabSheet ExplicitLeft = 4 ExplicitTop = 24 ExplicitWidth = 685 - ExplicitHeight = 418 + ExplicitHeight = 415 inline frViewRecibosRemesaProveedor1: TfrViewRecibosRemesaProveedor Left = 0 Top = 210 Width = 685 - Height = 208 + Height = 205 Align = alClient Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -137,12 +137,12 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor ReadOnly = False ExplicitTop = 210 ExplicitWidth = 685 - ExplicitHeight = 208 + ExplicitHeight = 205 inherited cxGrid: TcxGrid Width = 685 - Height = 183 + Height = 180 ExplicitWidth = 685 - ExplicitHeight = 183 + ExplicitHeight = 180 inherited cxGridView: TcxGridDBTableView DataController.Summary.FooterSummaryItems = < item @@ -161,18 +161,6 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor inherited ToolBar1: TToolBar Width = 685 ExplicitWidth = 685 - inherited ToolButton1: TToolButton - ExplicitWidth = 113 - end - inherited ToolButton4: TToolButton - ExplicitWidth = 113 - end - inherited ToolButton2: TToolButton - ExplicitWidth = 113 - end - inherited ToolButton7: TToolButton - ExplicitWidth = 113 - end end end inline frViewRemesaProveedor1: TfrViewRemesaProveedor @@ -213,12 +201,12 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor Width = 108 end inherited edtFechaRemesa: TcxDBDateEdit - Left = 419 + Left = 418 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 419 + ExplicitLeft = 418 ExplicitWidth = 170 Width = 170 end @@ -247,18 +235,18 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitWidth = 376 - Width = 376 + ExplicitWidth = 231 + Width = 231 end inherited eContabilizar: TcxCheckBox - Left = 424 + Left = 427 Style.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 424 - ExplicitWidth = 203 - Width = 203 + ExplicitLeft = 427 + ExplicitWidth = 136 + Width = 136 end end end @@ -287,18 +275,18 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor Width = 699 ExplicitWidth = 699 inherited Bevel3: TBevel - Left = 347 + Left = 318 Top = 10 Height = 30 - ExplicitLeft = 347 + ExplicitLeft = 318 ExplicitTop = 10 ExplicitHeight = 30 end inherited Bevel4: TBevel - Left = 459 + Left = 430 Top = 52 Width = 192 - ExplicitLeft = 459 + ExplicitLeft = 430 ExplicitTop = 52 ExplicitWidth = 192 end @@ -313,11 +301,9 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 163 ExplicitTop = 37 - ExplicitWidth = 93 - Width = 93 end inherited ImporteIVA: TcxDBCurrencyEdit - Left = 530 + Left = 501 Top = 87 DataBinding.DataField = '' Style.LookAndFeel.SkinName = '' @@ -325,23 +311,19 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 530 + ExplicitLeft = 501 ExplicitTop = 87 - ExplicitWidth = 137 - Width = 137 end inherited ImporteTotal: TcxDBCurrencyEdit - Left = 460 - Top = 141 + Left = 431 + Top = 168 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 460 - ExplicitTop = 141 - ExplicitWidth = 137 - Width = 137 + ExplicitLeft = 431 + ExplicitTop = 168 end inherited edtDescuento: TcxDBSpinEdit Left = 92 @@ -356,7 +338,7 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor ExplicitTop = 37 end inherited edtIVA: TcxDBSpinEdit - Left = 459 + Left = 430 Top = 87 DataBinding.DataField = '' Style.LookAndFeel.SkinName = '' @@ -364,11 +346,11 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 459 + ExplicitLeft = 430 ExplicitTop = 87 end inherited ImporteBase: TcxDBCurrencyEdit - Left = 459 + Left = 430 Top = 10 DataBinding.DataField = '' Style.LookAndFeel.SkinName = '' @@ -376,36 +358,46 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 459 + ExplicitLeft = 430 ExplicitTop = 10 - ExplicitWidth = 92 - Width = 92 end inherited edtRE: TcxDBSpinEdit - Left = 459 - Top = 114 + Left = 430 + Top = 141 DataBinding.DataField = '' Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 459 + ExplicitLeft = 430 + ExplicitTop = 141 + end + inherited edtIRPF: TcxDBSpinEdit + Left = 430 + Top = 114 + Style.IsFontAssigned = True + ExplicitLeft = 430 ExplicitTop = 114 end inherited ImporteRE: TcxDBCurrencyEdit - Left = 530 - Top = 114 + Left = 501 + Top = 141 DataBinding.DataField = '' Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 530 + ExplicitLeft = 501 + ExplicitTop = 141 + end + inherited ImporteIRPF: TcxDBCurrencyEdit + Left = 501 + Top = 114 + Style.IsFontAssigned = True + ExplicitLeft = 501 ExplicitTop = 114 - ExplicitWidth = 56 - Width = 56 end inherited eImporteNeto: TcxDBCurrencyEdit Left = 92 @@ -418,8 +410,6 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 92 ExplicitTop = 10 - ExplicitWidth = 147 - Width = 147 end inherited ePorte: TcxDBCurrencyEdit Left = 92 @@ -432,8 +422,6 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 92 ExplicitTop = 64 - ExplicitWidth = 147 - Width = 147 end inherited eIVA: TcxDBLookupComboBox Left = 92 @@ -445,13 +433,11 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 92 ExplicitTop = 91 - ExplicitWidth = 81 - Width = 81 end inherited bTiposIVA: TButton - Left = 199 + Left = 170 Top = 91 - ExplicitLeft = 199 + ExplicitLeft = 170 ExplicitTop = 91 end inherited cbRecargoEquivalencia: TcxDBCheckBox @@ -464,8 +450,6 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 92 ExplicitTop = 118 - ExplicitWidth = 219 - Width = 219 end inherited dxLayoutControl1Group_Root: TdxLayoutGroup inherited dxLayoutControl1Group1: TdxLayoutGroup @@ -502,6 +486,10 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor inherited PnlComentario: TPanel [5] Width = 699 ExplicitWidth = 699 + inherited lbComentario: TLabel + Width = 689 + Height = 25 + end end inherited dsDataTable: TDADataSource [6] Left = 64 @@ -1311,13 +1299,7 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor Top = 0 Bitmap = {} end - inherited JvFormStorage: TJvFormStorage - OnSavePlacement = JvFormStorageSavePlacement - OnRestorePlacement = JvFormStorageRestorePlacement - Left = 528 - Top = 32 - end - inherited SmallImages: TPngImageList [9] + inherited SmallImages: TPngImageList [8] PngImages = < item PngImage.Data = { @@ -1846,6 +1828,12 @@ inherited fEditorRemesaProveedor: TfEditorRemesaProveedor Top = 0 Bitmap = {} end + inherited JvFormStorage: TJvFormStorage [9] + OnSavePlacement = JvFormStorageSavePlacement + OnRestorePlacement = JvFormStorageRestorePlacement + Left = 528 + Top = 32 + end inherited JvAppRegistryStorage: TJvAppRegistryStorage Left = 560 Top = 32 diff --git a/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.pas b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.pas index 466f6b2..ea78ff3 100644 --- a/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.pas +++ b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.pas @@ -40,8 +40,10 @@ type ASender: TcxDataSummary); procedure actVolcarDiscoUpdate(Sender: TObject); procedure actVolcarDiscoExecute(Sender: TObject); + private procedure OnRecibosChanged(Sender: TObject); + protected FController : IRemesasProveedorController; FRemesaProveedor: IBizRemesaProveedor; @@ -112,6 +114,9 @@ end; procedure TfEditorRemesaProveedor.GuardarInterno; var bEsNuevo : Boolean; + AIgnorarContabilidad: Integer; + ASubCuenta: Integer; + begin inherited; bEsNuevo := False; @@ -123,15 +128,13 @@ begin try bEsNuevo := FRemesaProveedor.EsNuevo; - {$IFDEF CONTABILIDAD} +// {$IFDEF CONTABILIDAD} AIgnorarContabilidad := frViewRemesaProveedor1.frViewListaSubCuentas1.eContabilizar.EditValue; ASubCuenta := frViewRemesaProveedor1.frViewListaSubCuentas1.IdSubCuenta; FController.Guardar(FRemesaProveedor, AIgnorarContabilidad, ASubCuenta); - {$ELSE} - FController.Guardar(FRemesaProveedor); - {$ENDIF} - - FController.Guardar(FRemesaProveedor); +// {$ELSE} +// FController.Guardar(FRemesaProveedor); +// {$ENDIF} finally // frViewDetallesFacturaProveedor1.EndUpdate; diff --git a/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.dfm b/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.dfm index 5cddb14..54466fc 100644 --- a/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.dfm +++ b/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.dfm @@ -184,8 +184,8 @@ inherited frViewRemesaProveedor: TfrViewRemesaProveedor StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 80 - ExplicitWidth = 376 - Width = 376 + ExplicitWidth = 231 + Width = 231 end inherited eContabilizar: TcxCheckBox Left = 278 @@ -195,8 +195,8 @@ inherited frViewRemesaProveedor: TfrViewRemesaProveedor StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 278 - ExplicitWidth = 203 - Width = 203 + ExplicitWidth = 136 + Width = 136 end inherited dxLayoutControl1Group_Root: TdxLayoutGroup inherited dxLayoutControl1Item1: TdxLayoutItem diff --git a/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.pas b/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.pas index 8bd83ac..5dbccff 100644 --- a/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.pas +++ b/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.pas @@ -114,7 +114,7 @@ begin {$IFDEF CONTABILIDAD} frViewListaSubcuentas1.TipoSubCuenta := tCajas; - dxlcCuentaBancaria.visible := false; +// dxlcCuentaBancaria.visible := false; dxlcCuentaContable.Visible := true; if Assigned(AppFactuGES.EjercicioActivo) then diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL index c3b7b1f..ed62ffd 100644 --- a/Source/Servicios/FactuGES.RODL +++ b/Source/Servicios/FactuGES.RODL @@ -272,7 +272,7 @@ - + @@ -288,7 +288,7 @@ - + @@ -386,6 +386,8 @@ + + diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas index 6ddb12f..1f8a5ce 100644 --- a/Source/Servicios/FactuGES_Intf.pas +++ b/Source/Servicios/FactuGES_Intf.pas @@ -480,7 +480,7 @@ type { IsrvRemesasCliente } IsrvRemesasCliente = interface(IDataAbstractService) ['{33F414D0-0D0B-4384-96CB-D94BC97A0C39}'] - function GenerateReport(const ID: AnsiString): Binary; + function GenerateReport(const ListaID: TIntegerArray): Binary; end; { CosrvRemesasCliente } @@ -493,13 +493,13 @@ type protected function __GetInterfaceName:string; override; - function GenerateReport(const ID: AnsiString): Binary; + function GenerateReport(const ListaID: TIntegerArray): Binary; end; { IsrvRemesasProveedor } IsrvRemesasProveedor = interface(IDataAbstractService) ['{6540A037-9847-4650-89BB-7B349C6004DF}'] - function GenerateReport(const ID: AnsiString): Binary; + function GenerateReport(const ListaID: TIntegerArray): Binary; end; { CosrvRemesasProveedor } @@ -512,7 +512,7 @@ type protected function __GetInterfaceName:string; override; - function GenerateReport(const ID: AnsiString): Binary; + function GenerateReport(const ListaID: TIntegerArray): Binary; end; { IsrvFacturasCliente } @@ -596,7 +596,7 @@ type { IsrvAlbaranesCliente } IsrvAlbaranesCliente = interface(IDataAbstractService) ['{6E910718-9AB0-47BB-9875-B0DE66A68D7A}'] - function GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean): Binary; + function GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean; const VerPrecios: Boolean): Binary; function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary; end; @@ -610,7 +610,7 @@ type protected function __GetInterfaceName:string; override; - function GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean): Binary; + function GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean; const VerPrecios: Boolean): Binary; function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary; end; @@ -1771,12 +1771,12 @@ begin result := 'srvRemesasCliente'; end; -function TsrvRemesasCliente_Proxy.GenerateReport(const ID: AnsiString): Binary; +function TsrvRemesasCliente_Proxy.GenerateReport(const ListaID: TIntegerArray): Binary; begin try result := nil; __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport'); - __Message.Write('ID', TypeInfo(AnsiString), ID, []); + __Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Finalize; __TransportChannel.Dispatch(__Message); @@ -1802,12 +1802,12 @@ begin result := 'srvRemesasProveedor'; end; -function TsrvRemesasProveedor_Proxy.GenerateReport(const ID: AnsiString): Binary; +function TsrvRemesasProveedor_Proxy.GenerateReport(const ListaID: TIntegerArray): Binary; begin try result := nil; __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport'); - __Message.Write('ID', TypeInfo(AnsiString), ID, []); + __Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Finalize; __TransportChannel.Dispatch(__Message); @@ -1977,13 +1977,14 @@ begin result := 'srvAlbaranesCliente'; end; -function TsrvAlbaranesCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean): Binary; +function TsrvAlbaranesCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean; const VerPrecios: Boolean): Binary; begin try result := nil; __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInforme'); __Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Write('VerLogotipo', TypeInfo(Boolean), VerLogotipo, []); + __Message.Write('VerPrecios', TypeInfo(Boolean), VerPrecios, []); __Message.Finalize; __TransportChannel.Dispatch(__Message); diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas index 04120ac..cfa291e 100644 --- a/Source/Servicios/FactuGES_Invk.pas +++ b/Source/Servicios/FactuGES_Invk.pas @@ -857,17 +857,18 @@ begin end; procedure TsrvRemesasCliente_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GenerateReport(const ID: AnsiString): Binary; } +{ function GenerateReport(const ListaID: TIntegerArray): Binary; } var - ID: AnsiString; + ListaID: FactuGES_Intf.TIntegerArray; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin + ListaID := nil; lResult := nil; try - __Message.Read('ID', TypeInfo(AnsiString), ID, []); + __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); - lResult := (__Instance as IsrvRemesasCliente).GenerateReport(ID); + lResult := (__Instance as IsrvRemesasCliente).GenerateReport(ListaID); __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvRemesasCliente', 'GenerateReportResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); @@ -877,6 +878,7 @@ begin finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try + __lObjectDisposer.Add(ListaID); __lObjectDisposer.Add(lResult); finally __lObjectDisposer.Free(); @@ -893,17 +895,18 @@ begin end; procedure TsrvRemesasProveedor_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GenerateReport(const ID: AnsiString): Binary; } +{ function GenerateReport(const ListaID: TIntegerArray): Binary; } var - ID: AnsiString; + ListaID: FactuGES_Intf.TIntegerArray; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin + ListaID := nil; lResult := nil; try - __Message.Read('ID', TypeInfo(AnsiString), ID, []); + __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); - lResult := (__Instance as IsrvRemesasProveedor).GenerateReport(ID); + lResult := (__Instance as IsrvRemesasProveedor).GenerateReport(ListaID); __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvRemesasProveedor', 'GenerateReportResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); @@ -913,6 +916,7 @@ begin finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try + __lObjectDisposer.Add(ListaID); __lObjectDisposer.Add(lResult); finally __lObjectDisposer.Free(); @@ -1113,10 +1117,11 @@ begin end; procedure TsrvAlbaranesCliente_Invoker.Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean): Binary; } +{ function GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean; const VerPrecios: Boolean): Binary; } var ListaID: FactuGES_Intf.TIntegerArray; VerLogotipo: Boolean; + VerPrecios: Boolean; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin @@ -1125,8 +1130,9 @@ begin try __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Read('VerLogotipo', TypeInfo(Boolean), VerLogotipo, []); + __Message.Read('VerPrecios', TypeInfo(Boolean), VerPrecios, []); - lResult := (__Instance as IsrvAlbaranesCliente).GenerarInforme(ListaID, VerLogotipo); + lResult := (__Instance as IsrvAlbaranesCliente).GenerarInforme(ListaID, VerLogotipo, VerPrecios); __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GenerarInformeResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index 49f24e6..1a9ad96 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -104,8 +104,6 @@ uses srvGestorInformes_Impl in '..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas' {srvGestorInformes: TDataAbstractService}, uRptFacturasProveedor_Server in '..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas' {RptFacturasProveedor: TDataModule}, uRptRecibosProveedor_Server in '..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas' {RptRecibosProveedor: TDataModule}, - schRemesasClienteClient_Intf in '..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas', - schRemesasClienteServer_Intf in '..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas', schContabilidadClient_Intf in '..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas', schContabilidadServer_Intf in '..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas', schRecibosProveedorClient_Intf in '..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas', @@ -113,10 +111,16 @@ uses srvContratosCliente_Impl in '..\Modulos\Contratos de cliente\Servidor\srvContratosCliente_Impl.pas' {srvContratosCliente: TDataAbstractService}, uBizContratosClienteServer in '..\Modulos\Contratos de cliente\Model\uBizContratosClienteServer.pas', uRptContratosCliente_Server in '..\Modulos\Contratos de cliente\Reports\uRptContratosCliente_Server.pas' {RptContratosCliente}, + schAlbaranesClienteClient_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas', + schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas', + schAlbaranesProveedorClient_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas', + schAlbaranesProveedorServer_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas', schInventarioClient_Intf in '..\Modulos\Inventario\Model\schInventarioClient_Intf.pas', schInventarioServer_Intf in '..\Modulos\Inventario\Model\schInventarioServer_Intf.pas', - schRecibosClienteClient_Intf in '..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas', - schRecibosClienteServer_Intf in '..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas', + schPedidosProveedorClient_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas', + schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas', + schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas', + schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas', schArticulosClient_Intf in '..\Modulos\Articulos\Model\schArticulosClient_Intf.pas', schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas', schEmpresasClient_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas', @@ -126,20 +130,18 @@ uses schSubfamiliasServer_Intf in '..\Modulos\Subfamilias\Model\schSubfamiliasServer_Intf.pas', schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas', schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas', - schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas', - schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas', - schAlbaranesClienteClient_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas', - schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas', - schPedidosProveedorClient_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas', - schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas', - schAlbaranesProveedorClient_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas', - schAlbaranesProveedorServer_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas', + schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas', + schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas', schContratosClienteClient_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas', schContratosClienteServer_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas', - schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas', - schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas', - schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas', - schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas'; + uRptRemesasCliente_Server in '..\Modulos\Remesas de cliente\Reports\uRptRemesasCliente_Server.pas' {RptRemesasCliente: TDataModule}, + uRptRemesasProveedor_Server in '..\Modulos\Remesas de proveedor\Reports\uRptRemesasProveedor_Server.pas' {RptRemesasProveedor: TDataModule}, + schRemesasClienteClient_Intf in '..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas', + schRemesasClienteServer_Intf in '..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas', + schRecibosClienteClient_Intf in '..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas', + schRecibosClienteServer_Intf in '..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas', + schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas', + schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas'; {$R *.res} {$R ..\Servicios\RODLFile.res} diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index c61671c..c48cc24 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -1,300 +1,311 @@ - + - - {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} - FactuGES_Server.dpr - Debug - AnyCPU - DCC32 - ..\..\Output\Debug\Servidor\FactuGES_Server.exe - - - 7.0 - False - False - 0 - 3 - ..\..\Output\Release\Servidor - RELEASE - - - 7.0 - 3 - ..\..\Output\Debug\Servidor - DEBUG; - True - - - Delphi.Personality - - - FalseTrueFalseTrueFalse2580FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.5.8.0FactuGES (Servidor)2.5.8.0lunes, 20 de mayo de 2013 10:48 - File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found - FactuGES_Server.dpr - - - - - MainSource - - - - - -
srvEjercicios
- TDataAbstractService -
- - - -
srvEmpresas
- TDARemoteService -
- -
srvProvinciasPoblaciones
- TRORemoteDataModule -
- - - - - - - - - - - -
srvAlbaranesCliente
- TDataAbstractService -
- - - - -
srvAlbaranesProveedor
- TDataAbstractService -
- - - -
srvAlmacenes
- TDARemoteService -
- - - - - - - -
RptComisiones
- TDataModule -
- -
srvComisiones
- TDataAbstractService -
- - - - -
srvContabilidad
- TDataAbstractService -
- - - - - - - -
RptEtiquetasContacto
- TDataModule -
- -
srvContactos
- TDARemoteService -
- - - - -
RptContratosCliente
-
- -
srvContratosCliente
- TDataAbstractService -
- - - - -
RptFacturasCliente
- TDataModule -
- -
srvFacturasCliente
- TDataAbstractService -
- - - - -
RptFacturasProveedor
- TDataModule -
- -
srvFacturasProveedor
- TDataAbstractService -
- - - - - - - -
srvGestorDocumentos
- TDataAbstractService -
- -
srvGestorInformes
- TDataAbstractService -
- - - -
srvHistoricoMovimientos
- TDataAbstractService -
- - - -
srvInventario
- TDataAbstractService -
- - - - -
srvPedidosProveedor
- TDataAbstractService -
- - - - -
RptPresupuestosCliente
-
- -
srvPresupuestosCliente
- TDataAbstractService -
- - - - - -
RptRecibosCliente
- TDataModule -
- -
srvRecibosCliente
- TDataAbstractService -
- - - - - -
RptRecibosProveedor
- TDataModule -
- -
srvRecibosProveedor
- TDataAbstractService -
- - - -
srvReferencias
- TDataAbstractService -
- - - - -
srvRemesasCliente
- TDataAbstractService -
- - - - -
srvRemesasProveedor
- TDataAbstractService -
- - - -
srvSubfamilias
- TDataAbstractService -
- - - - - - -
srvUnidadesMedida
- TDataAbstractService -
- - - -
srvConfiguracion
- TDataAbstractService -
- -
frConexionBD
- TFrame -
- -
frConfGeneral
- TFrame -
- -
fConfiguracion
- TForm -
- -
FrameConfiguracion
- TFrame -
- -
srvLogin
- TDARemoteService -
- -
fAcercaDe
-
- -
dmServer
- TDataModule -
- -
fServerForm
-
- - - - - - - - -
+ + {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} + FactuGES_Server.dpr + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Servidor\FactuGES_Server.exe + + + 7.0 + False + False + 0 + 3 + ..\..\Output\Release\Servidor + RELEASE + + + 7.0 + 3 + ..\..\Output\Debug\Servidor + DEBUG; + True + + + Delphi.Personality + + +FalseTrueFalseTrueFalse2580FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.5.8.0FactuGES (Servidor)2.5.8.0lunes, 20 de mayo de 2013 10:48 + + + + File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found + FactuGES_Server.dpr + + + + + MainSource + + + + + +
srvEjercicios
+ TDataAbstractService +
+ + + +
srvEmpresas
+ TDARemoteService +
+ +
srvProvinciasPoblaciones
+ TRORemoteDataModule +
+ + + + + + + + + + + +
srvAlbaranesCliente
+ TDataAbstractService +
+ + + + +
srvAlbaranesProveedor
+ TDataAbstractService +
+ + + +
srvAlmacenes
+ TDARemoteService +
+ + + + + + + +
RptComisiones
+ TDataModule +
+ +
srvComisiones
+ TDataAbstractService +
+ + + + +
srvContabilidad
+ TDataAbstractService +
+ + + + + + + +
RptEtiquetasContacto
+ TDataModule +
+ +
srvContactos
+ TDARemoteService +
+ + + + +
RptContratosCliente
+
+ +
srvContratosCliente
+ TDataAbstractService +
+ + + + +
RptFacturasCliente
+ TDataModule +
+ +
srvFacturasCliente
+ TDataAbstractService +
+ + + + +
RptFacturasProveedor
+ TDataModule +
+ +
srvFacturasProveedor
+ TDataAbstractService +
+ + + + + + + +
srvGestorDocumentos
+ TDataAbstractService +
+ +
srvGestorInformes
+ TDataAbstractService +
+ + + +
srvHistoricoMovimientos
+ TDataAbstractService +
+ + + +
srvInventario
+ TDataAbstractService +
+ + + + +
srvPedidosProveedor
+ TDataAbstractService +
+ + + + +
RptPresupuestosCliente
+
+ +
srvPresupuestosCliente
+ TDataAbstractService +
+ + + + + +
RptRecibosCliente
+ TDataModule +
+ +
srvRecibosCliente
+ TDataAbstractService +
+ + + + + +
RptRecibosProveedor
+ TDataModule +
+ +
srvRecibosProveedor
+ TDataAbstractService +
+ + + +
srvReferencias
+ TDataAbstractService +
+ + + + +
RptRemesasCliente
+ TDataModule +
+ +
srvRemesasCliente
+ TDataAbstractService +
+ + + + +
RptRemesasProveedor
+ TDataModule +
+ +
srvRemesasProveedor
+ TDataAbstractService +
+ + + +
srvSubfamilias
+ TDataAbstractService +
+ + + + + + +
srvUnidadesMedida
+ TDataAbstractService +
+ + + +
srvConfiguracion
+ TDataAbstractService +
+ +
frConexionBD
+ TFrame +
+ +
frConfGeneral
+ TFrame +
+ +
fConfiguracion
+ TForm +
+ +
FrameConfiguracion
+ TFrame +
+ +
srvLogin
+ TDARemoteService +
+ +
fAcercaDe
+
+ +
dmServer
+ TDataModule +
+ +
fServerForm
+
+ + + + + + + + +