From a548638e242b4f40d32f6833d2096b5915ac2ce4 Mon Sep 17 00:00:00 2001 From: roberto Date: Thu, 15 Jan 2009 13:05:03 +0000 Subject: [PATCH] Se adapta el programa para que las facturas de cliente tengan retenciones, falta repasar bien el informe para tal caso. Se arreglan los recibos de cliente para cuando modificamos los importes refresque bien la descripcion y se arregla informe de pedido a proveedor para que salga en vertical en el caso de tecsitel mantenimiento, y en el informe de pedido de tecsitel se arregla para que no se salga de los margenes y no salgan lo importes en el caso de requerirlo el usuario. git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@839 0c75b7a4-871f-7646-8a2f-f78d34cc349f --- Database/scripts/factuges.sql | 15 +- Source/Cliente/FactuGES.dproj | 6 +- Source/Cliente/FactuGES.res | Bin 171984 -> 172156 bytes Source/GUIBase/uViewTotales.dfm | 186 +++++++++++++-- Source/GUIBase/uViewTotales.pas | 11 +- Source/Informes/1/InfFacturaCliente.fr3 | 17 +- Source/Informes/1/InfPedidoProveedor.fr3 | 8 +- .../Controller/uFacturasClienteController.pas | 23 +- .../Data/uDataModuleFacturasCliente.dfm | 12 + .../Model/schFacturasClienteClient_Intf.pas | 179 ++++++++++++--- .../Model/schFacturasClienteServer_Intf.pas | 137 ++++++++++- .../Model/uBizFacturasCliente.pas | 18 +- .../Reports/uRptFacturasCliente_Server.dfm | 203 +++++++++++++---- .../Servidor/srvFacturasCliente_Impl.dfm | 117 +++++++--- .../Views/uEditorElegirFacturasCliente.dfm | 53 ++++- .../Views/uEditorFacturaCliente.dfm | 215 +++++++++--------- .../Views/uEditorFacturaCliente.pas | 21 +- .../Views/uViewFacturasCliente.dfm | 7 + .../Views/uViewFacturasCliente.pas | 1 + .../Views/uEditorPedidosProveedor.dfm | 1 - .../Views/uEditorPedidosProveedor.pas | 2 +- .../Controller/uRecibosClienteController.pas | 5 +- .../uRecibosProveedorController.pas | 4 + Source/Servidor/FactuGES_Server.RES | Bin 23204 -> 23484 bytes Source/Servidor/FactuGES_Server.dpr | 6 +- Source/Servidor/FactuGES_Server.dproj | 2 +- Source/Servidor/uDataModuleServer.dfm | 4 +- 27 files changed, 968 insertions(+), 285 deletions(-) diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index 0c70f85f..c2150123 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -722,6 +722,7 @@ CREATE TABLE FACTURAS_CLIENTE ( REFERENCIA VARCHAR(255), FECHA_FACTURA DATE, FECHA_VENCIMIENTO DATE, + FECHA_RETENCION DATE, BASE_IMPONIBLE TIPO_IMPORTE, DESCUENTO TIPO_PORCENTAJE, IMPORTE_DESCUENTO TIPO_IMPORTE, @@ -749,7 +750,9 @@ CREATE TABLE FACTURAS_CLIENTE ( RECARGO_EQUIVALENCIA TIPO_BOOLEANO, ID_COMISION_LIQUIDADA TIPO_ID, DATOS_BANCARIOS VARCHAR(255), - CLIENTE_FINAL VARCHAR(255) + CLIENTE_FINAL VARCHAR(255), + RETENCION TIPO_PORCENTAJE, + IMPORTE_RETENCION TIPO_IMPORTE ); CREATE TABLE FACTURAS_CLIENTE_DETALLES ( @@ -2104,6 +2107,7 @@ CREATE VIEW V_FACTURAS_CLIENTE( ID_COMISION_LIQUIDADA, FECHA_FACTURA, FECHA_VENCIMIENTO, + FECHA_RETENCION, SITUACION, BASE_IMPONIBLE, DESCUENTO, @@ -2133,7 +2137,9 @@ CREATE VIEW V_FACTURAS_CLIENTE( IMPORTE_NETO, IMPORTE_PORTE, ID_AGENTE, - REFERENCIA_COMISION) + REFERENCIA_COMISION, + RETENCION, + IMPORTE_RETENCION) AS SELECT FACTURAS_CLIENTE.ID, FACTURAS_CLIENTE.ID_EMPRESA, @@ -2142,6 +2148,7 @@ SELECT FACTURAS_CLIENTE.ID, FACTURAS_CLIENTE.ID_COMISION_LIQUIDADA, FACTURAS_CLIENTE.FECHA_FACTURA, FACTURAS_CLIENTE.FECHA_VENCIMIENTO, + FACTURAS_CLIENTE.FECHA_RETENCION, TRIM(V_FAC_CLI_SITUACION.SITUACION), FACTURAS_CLIENTE.BASE_IMPONIBLE, FACTURAS_CLIENTE.DESCUENTO, @@ -2171,7 +2178,9 @@ SELECT FACTURAS_CLIENTE.ID, FACTURAS_CLIENTE.IMPORTE_NETO, FACTURAS_CLIENTE.IMPORTE_PORTE, CLIENTES_DATOS.ID_AGENTE, - COMISIONES_LIQUIDADAS.REFERENCIA + COMISIONES_LIQUIDADAS.REFERENCIA, + FACTURAS_CLIENTE.RETENCION, + FACTURAS_CLIENTE.IMPORTE_RETENCION FROM V_FAC_CLI_SITUACION LEFT JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = V_FAC_CLI_SITUACION.ID_FACTURA) diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj index 76cfee0f..01cf1c83 100644 --- a/Source/Cliente/FactuGES.dproj +++ b/Source/Cliente/FactuGES.dproj @@ -54,7 +54,11 @@ Delphi.Personality VCLApplication -FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1610FalseFalseFalseFalseFalse30821252Rodax Software S.L.1.6.1.0FactuGESFactuGES1.6.1.0 +FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1620FalseFalseFalseFalseFalse30821252Rodax Software S.L.1.6.2.0FactuGESFactuGES1.6.2.0 + + + + diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index 5d977b059c6373317c9d334269d2f0eff415dcc6..82607d818aed7df194022c29ca252f5d5c811661 100644 GIT binary patch delta 488 zcmY+9PfG$p7{-4ysjZvD9z8Bd|1T2VB9e*_3c7gLr9!1Fu`ZqTP~Zm$_M+?6570I0 z*s){hZhZ&A-q~4`UYMPEc>cW4e!jVrcenSbUUX{M^*lGn-zai;9w;0dX>(iT(@23P zpSRpc1{M^#jOKE?d;EfJ?1r z(fApb==Bn%V~WB+BR-f;JvmBVP-Ol?108-3_0F1>3Wn9}#~M@DB>kUBxEJYy`U-D}&X>^c>7oj{z2qHFUI`|32r uX~(9|brn$rT!^nFcZVz4HXExwOEQ|W*CfxH8PpPAJYiv^1L^WK(kH($OGK0a delta 318 zcmYL^ziPrz6vlt&G-^ymvIrRirRd-g!L1afQ^2J|cjMN#Xoe0xfN&?HqYvO-$BsUO zvx5&%us4554jjJwyWhEo@BW><^N*K)%Tb-}SLAy=>JobRJ_rGytz2tzKna4<`)$KR zP3tZ=gkk9&Txd09x3!6)%Iia?p=Xx3%;%*!dV?-;T+;djJd&h(xPeE~w3>ADpl}li zt={jxZ40&{nh)K?T(&wLij9!F!mOCd<2uDng@wGE*G!*eY*v{r%{9}JOw3@XFXp_{ K#GWU6UHk(G94d7H diff --git a/Source/GUIBase/uViewTotales.dfm b/Source/GUIBase/uViewTotales.dfm index 06987e90..e4894343 100644 --- a/Source/GUIBase/uViewTotales.dfm +++ b/Source/GUIBase/uViewTotales.dfm @@ -1,48 +1,56 @@ inherited frViewTotales: TfrViewTotales - Width = 790 - Height = 303 + Width = 949 + Height = 261 Align = alBottom - ExplicitWidth = 799 - ExplicitHeight = 303 + ExplicitWidth = 949 + ExplicitHeight = 261 + object Bevel5: TBevel + Left = 666 + Top = 109 + Width = 108 + Height = 9 + Shape = bsBottomLine + end object dxLayoutControl1: TdxLayoutControl AlignWithMargins = True Left = 0 Top = 0 - Width = 790 - Height = 217 + Width = 949 + Height = 261 Margins.Left = 0 Margins.Top = 0 Margins.Right = 0 Margins.Bottom = 0 - Align = alTop + Align = alClient ParentBackground = True TabOrder = 0 TabStop = False AutoContentSizes = [acsWidth, acsHeight] ExplicitWidth = 451 + ExplicitHeight = 257 object Bevel1: TBevel - Left = 104 + Left = 131 Top = 109 Width = 73 Height = 9 Shape = bsBottomLine end object Bevel3: TBevel - Left = 401 + Left = 499 Top = 28 Width = 3 Height = 122 Shape = bsRightLine end object Bevel4: TBevel - Left = 513 + Left = 611 Top = 109 Width = 192 Height = 9 Shape = bsBottomLine end object ImporteDto: TcxDBCurrencyEdit - Left = 175 + Left = 202 Top = 129 AutoSize = False DataBinding.DataField = 'IMPORTE_DESCUENTO' @@ -78,7 +86,7 @@ inherited frViewTotales: TfrViewTotales Width = 87 end object ImporteIVA: TcxDBCurrencyEdit - Left = 584 + Left = 682 Top = 55 AutoSize = False DataBinding.DataField = 'IMPORTE_IVA' @@ -113,7 +121,7 @@ inherited frViewTotales: TfrViewTotales Width = 20 end object ImporteTotal: TcxDBCurrencyEdit - Left = 514 + Left = 612 Top = 129 AutoSize = False DataBinding.DataField = 'IMPORTE_TOTAL' @@ -149,7 +157,7 @@ inherited frViewTotales: TfrViewTotales Width = 90 end object edtDescuento: TcxDBSpinEdit - Left = 104 + Left = 131 Top = 129 AutoSize = False DataBinding.DataField = 'DESCUENTO' @@ -183,7 +191,7 @@ inherited frViewTotales: TfrViewTotales Width = 65 end object edtIVA: TcxDBSpinEdit - Left = 513 + Left = 611 Top = 55 AutoSize = False DataBinding.DataField = 'IVA' @@ -224,7 +232,7 @@ inherited frViewTotales: TfrViewTotales Width = 65 end object ImporteBase: TcxDBCurrencyEdit - Left = 513 + Left = 611 Top = 28 AutoSize = False DataBinding.DataField = 'BASE_IMPONIBLE' @@ -259,7 +267,7 @@ inherited frViewTotales: TfrViewTotales Width = 91 end object edtRE: TcxDBSpinEdit - Left = 513 + Left = 611 Top = 82 AutoSize = False DataBinding.DataField = 'RE' @@ -300,7 +308,7 @@ inherited frViewTotales: TfrViewTotales Width = 65 end object ImporteRE: TcxDBCurrencyEdit - Left = 584 + Left = 682 Top = 82 AutoSize = False DataBinding.DataField = 'IMPORTE_RE' @@ -335,12 +343,11 @@ inherited frViewTotales: TfrViewTotales Width = 20 end object eImporteNeto: TcxDBCurrencyEdit - Left = 104 + Left = 131 Top = 28 AutoSize = False DataBinding.DataField = 'IMPORTE_NETO' DataBinding.DataSource = DADataSource - Enabled = False ParentFont = False Properties.Alignment.Horz = taRightJustify Properties.ReadOnly = True @@ -370,7 +377,7 @@ inherited frViewTotales: TfrViewTotales Width = 158 end object ePorte: TcxDBCurrencyEdit - Left = 104 + Left = 131 Top = 156 AutoSize = False DataBinding.DataField = 'IMPORTE_PORTE' @@ -404,7 +411,7 @@ inherited frViewTotales: TfrViewTotales Width = 158 end object eIVA: TcxDBLookupComboBox - Left = 104 + Left = 131 Top = 55 DataBinding.DataField = 'ID_TIPO_IVA' DataBinding.DataSource = DADataSource @@ -439,7 +446,7 @@ inherited frViewTotales: TfrViewTotales Width = 20 end object bTiposIVA: TButton - Left = 253 + Left = 351 Top = 55 Width = 132 Height = 21 @@ -447,7 +454,7 @@ inherited frViewTotales: TfrViewTotales TabOrder = 2 end object cbRecargoEquivalencia: TcxDBCheckBox - Left = 104 + Left = 131 Top = 82 Caption = 'Aplicar recargo de equivalencia' DataBinding.DataField = 'RECARGO_EQUIVALENCIA' @@ -476,11 +483,113 @@ inherited frViewTotales: TfrViewTotales TabOrder = 3 Width = 221 end + object edtRetencion: TcxDBSpinEdit + Left = 676 + Top = 218 + AutoSize = False + DataBinding.DataField = 'RETENCION' + DataBinding.DataSource = DADataSource + ParentFont = False + Properties.Alignment.Horz = taRightJustify + Properties.AssignedValues.EditFormat = True + Properties.DisplayFormat = ',0.00 %;-,0.00 %' + Properties.ImmediatePost = True + Properties.MaxValue = 100.000000000000000000 + Style.BorderColor = clWindowFrame + Style.BorderStyle = ebs3D + Style.Font.Charset = DEFAULT_CHARSET + Style.Font.Color = clWindowText + Style.Font.Height = -11 + Style.Font.Name = 'Tahoma' + Style.Font.Style = [] + Style.HotTrack = False + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + Style.LookAndFeel.SkinName = '' + Style.TextColor = clWindowText + Style.ButtonStyle = bts3D + Style.IsFontAssigned = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.SkinName = '' + StyleDisabled.TextColor = clWindowText + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.SkinName = '' + TabOrder = 14 + Height = 21 + Width = 65 + end + object edtImporteRetencion: TcxDBCurrencyEdit + Left = 747 + Top = 218 + AutoSize = False + DataBinding.DataField = 'IMPORTE_RETENCION' + DataBinding.DataSource = DADataSource + Enabled = False + ParentFont = False + Properties.Alignment.Horz = taRightJustify + Properties.ReadOnly = True + Properties.UseLeftAlignmentOnEditing = False + Properties.UseThousandSeparator = True + Style.BorderColor = clWindowFrame + Style.BorderStyle = ebs3D + Style.Font.Charset = DEFAULT_CHARSET + Style.Font.Color = clWindowText + Style.Font.Height = -11 + Style.Font.Name = 'Tahoma' + Style.Font.Style = [] + Style.HotTrack = False + Style.LookAndFeel.NativeStyle = True + Style.LookAndFeel.SkinName = '' + Style.TextColor = clWindowText + Style.IsFontAssigned = True + StyleDisabled.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.SkinName = '' + StyleDisabled.TextColor = clWindowText + StyleFocused.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.SkinName = '' + TabOrder = 15 + Height = 21 + Width = 180 + end + object edtFechaRetencion: TcxDBDateEdit + Left = 131 + Top = 218 + DataBinding.DataField = 'FECHA_RETENCION' + DataBinding.DataSource = DADataSource + Style.BorderColor = clWindowFrame + Style.BorderStyle = ebs3D + Style.HotTrack = False + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + Style.LookAndFeel.SkinName = '' + Style.ButtonStyle = bts3D + Style.PopupBorderStyle = epbsFrame3D + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.SkinName = '' + TabOrder = 13 + Width = 280 + end object dxLayoutControl1Group_Root: TdxLayoutGroup ShowCaption = False Hidden = True ShowBorder = False object dxLayoutControl1Group1: TdxLayoutGroup + AutoAligns = [aaHorizontal] + AlignVert = avClient Caption = 'Importes totales' LayoutDirection = ldHorizontal object dxLayoutControl1Group2: TdxLayoutGroup @@ -645,6 +754,35 @@ inherited frViewTotales: TfrViewTotales end end end + object dxLayoutControl1Group12: TdxLayoutGroup + LayoutDirection = ldHorizontal + object dxLayoutControl1Item21: TdxLayoutItem + Caption = 'Fecha vto. retenci'#243'n:' + Visible = False + Control = edtFechaRetencion + ControlOptions.ShowBorder = False + end + object dxLayoutControl1Group11: TdxLayoutGroup + AutoAligns = [aaVertical] + AlignHorz = ahRight + ShowCaption = False + Visible = False + Hidden = True + LayoutDirection = ldHorizontal + ShowBorder = False + object dxLayoutControl1Item17: TdxLayoutItem + Caption = 'Retenci'#243'n (%):' + Control = edtRetencion + ControlOptions.ShowBorder = False + end + object dxLayoutControl1Item18: TdxLayoutItem + AutoAligns = [aaVertical] + AlignHorz = ahClient + Control = edtImporteRetencion + ControlOptions.ShowBorder = False + end + end + end end object dxLayoutControl1Group4: TdxLayoutGroup end diff --git a/Source/GUIBase/uViewTotales.pas b/Source/GUIBase/uViewTotales.pas index 8c992e4e..1be7908c 100644 --- a/Source/GUIBase/uViewTotales.pas +++ b/Source/GUIBase/uViewTotales.pas @@ -8,7 +8,7 @@ uses cxTextEdit, cxMaskEdit, cxDropDownEdit, cxDBEdit, cxControls, cxContainer, cxEdit, cxLabel, cxDBLabel, cxCurrencyEdit, cxSpinEdit, ComCtrls, dxLayoutControl, dxLayoutLookAndFeels, cxLookupEdit, cxDBLookupEdit, - cxDBLookupComboBox, cxCheckBox, uDAInterfaces; + cxDBLookupComboBox, cxCheckBox, uDAInterfaces, cxCalendar; type TfrViewTotales = class(TfrViewBase) @@ -59,6 +59,15 @@ type dsTiposIVA: TDADataSource; dxLayoutControl1Item16: TdxLayoutItem; cbRecargoEquivalencia: TcxDBCheckBox; + dxLayoutControl1Item17: TdxLayoutItem; + edtRetencion: TcxDBSpinEdit; + dxLayoutControl1Item18: TdxLayoutItem; + edtImporteRetencion: TcxDBCurrencyEdit; + Bevel5: TBevel; + dxLayoutControl1Group11: TdxLayoutGroup; + dxLayoutControl1Item21: TdxLayoutItem; + edtFechaRetencion: TcxDBDateEdit; + dxLayoutControl1Group12: TdxLayoutGroup; public { Public declarations } end; diff --git a/Source/Informes/1/InfFacturaCliente.fr3 b/Source/Informes/1/InfFacturaCliente.fr3 index 83409d71..6870a97e 100644 --- a/Source/Informes/1/InfFacturaCliente.fr3 +++ b/Source/Informes/1/InfFacturaCliente.fr3 @@ -1,10 +1,10 @@ - + - + @@ -22,7 +22,8 @@ - + + @@ -32,7 +33,12 @@ + + + + + @@ -40,14 +46,15 @@ - - + + + diff --git a/Source/Informes/1/InfPedidoProveedor.fr3 b/Source/Informes/1/InfPedidoProveedor.fr3 index 1f3cf267..5f3c72c6 100644 --- a/Source/Informes/1/InfPedidoProveedor.fr3 +++ b/Source/Informes/1/InfPedidoProveedor.fr3 @@ -1,5 +1,5 @@ - + @@ -36,10 +36,10 @@ - - + + - + diff --git a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas index 3e8c2b3c..98191ad9 100644 --- a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas +++ b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas @@ -1100,6 +1100,7 @@ var ADiaVencimiento: Integer; ADiasMas: Integer; BSemaforo: Boolean; + AImporteTotal: Double; begin if not Assigned(AFactura) then @@ -1119,6 +1120,10 @@ begin ARecibos := ARecibosClienteController.BuscarRecibosFactura(AFactura.ID); ARecibosClienteController.EliminarTodo(ARecibos); + //Si hay retención, se generará un recibo por ese importe, y el resto se generarán recibos + //según forma de pago + AImporteTotal := AFactura.IMPORTE_TOTAL - AFactura.IMPORTE_RETENCION; + //Vamos a generar todos los recibos necesarios para la factura With AFormaPago.Plazos.DataTable do begin @@ -1134,7 +1139,7 @@ begin if AFormaPago.Plazos.RecordCount < 1 then begin ARecibos.FECHA_VENCIMIENTO := AFactura.FECHA_VENCIMIENTO; - ARecibos.IMPORTE := AFactura.IMPORTE_TOTAL; + ARecibos.IMPORTE := AImporteTotal; end else begin @@ -1173,7 +1178,7 @@ begin end; AFechaVencimiento := IncDay(AFechaVencimiento, ADiasMas); ARecibos.FECHA_VENCIMIENTO := AFechaVencimiento; - ARecibos.IMPORTE := AFactura.IMPORTE_TOTAL * (AFormaPago.Plazos.PORCENTAJE / 100); + ARecibos.IMPORTE := AImporteTotal * (AFormaPago.Plazos.PORCENTAJE / 100); end; ARecibos.DESCRIPCION := 'Pago de factura ' + AFactura.REFERENCIA + ': son ' + CifraToLetras(ARecibos.IMPORTE); @@ -1181,6 +1186,20 @@ begin Inc(i); Next; until (eof); + + //Si hay retención generaremos un recibo para dicha retención + if AFactura.IMPORTE_RETENCION > 0 then + begin + ARecibos := ARecibosClienteController.Nuevo; + ARecibos.Edit; + ARecibos.ID_FACTURA := AFactura.ID; + ARecibos.REFERENCIA := AFactura.REFERENCIA + ' - ' + IntToStr(i); + ARecibos.FECHA_EMISION := AFactura.FECHA_FACTURA; + ARecibos.FECHA_VENCIMIENTO := AFactura.FECHA_RETENCION; + ARecibos.IMPORTE := AFactura.IMPORTE_RETENCION; + ARecibos.DESCRIPCION := 'Pago de factura de retención ' + AFactura.REFERENCIA + ': son ' + CifraToLetras(ARecibos.IMPORTE); + ARecibosClienteController.Guardar(ARecibos); + end; end; //Liberamos diff --git a/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm index fc349d72..4294301e 100644 --- a/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm @@ -69,6 +69,10 @@ inherited DataModuleFacturasCliente: TDataModuleFacturasCliente Name = 'FECHA_VENCIMIENTO' DataType = datDateTime end + item + Name = 'FECHA_RETENCION' + DataType = datDateTime + end item Name = 'SITUACION' DataType = datString @@ -258,6 +262,14 @@ inherited DataModuleFacturasCliente: TDataModuleFacturasCliente DataType = datString Size = 255 DictionaryEntry = 'FacturasCliente_REFERENCIA_COMISION' + end + item + Name = 'RETENCION' + DataType = datFloat + end + item + Name = 'IMPORTE_RETENCION' + DataType = datCurrency end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] diff --git a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas index c235eb85..53658ae5 100644 --- a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas +++ b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas @@ -3,14 +3,14 @@ unit schFacturasClienteClient_Intf; interface uses - Classes, DB, schBase_Intf, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf; + Classes, DB, SysUtils, uROClasses, 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_FacturasCliente = '{6398871A-62BF-4C9E-84DC-AE2D59FEBF59}'; - RID_FacturasCliente_Detalles = '{41556FA6-05C4-45B5-9FEF-D01F46998FE6}'; + RID_FacturasCliente = '{8F2BDC76-1E34-41E2-8738-14BA1E7BC9BA}'; + RID_FacturasCliente_Detalles = '{15B6D41F-96C1-4C4E-A224-C2D8F87CD524}'; { Data table names } nme_FacturasCliente = 'FacturasCliente'; @@ -24,6 +24,7 @@ const fld_FacturasClienteID_COMISION_LIQUIDADA = 'ID_COMISION_LIQUIDADA'; fld_FacturasClienteFECHA_FACTURA = 'FECHA_FACTURA'; fld_FacturasClienteFECHA_VENCIMIENTO = 'FECHA_VENCIMIENTO'; + fld_FacturasClienteFECHA_RETENCION = 'FECHA_RETENCION'; fld_FacturasClienteSITUACION = 'SITUACION'; fld_FacturasClienteBASE_IMPONIBLE = 'BASE_IMPONIBLE'; fld_FacturasClienteDESCUENTO = 'DESCUENTO'; @@ -54,6 +55,8 @@ const fld_FacturasClienteIMPORTE_PORTE = 'IMPORTE_PORTE'; fld_FacturasClienteID_AGENTE = 'ID_AGENTE'; fld_FacturasClienteREFERENCIA_COMISION = 'REFERENCIA_COMISION'; + fld_FacturasClienteRETENCION = 'RETENCION'; + fld_FacturasClienteIMPORTE_RETENCION = 'IMPORTE_RETENCION'; { FacturasCliente field indexes } idx_FacturasClienteID = 0; @@ -63,36 +66,39 @@ const idx_FacturasClienteID_COMISION_LIQUIDADA = 4; idx_FacturasClienteFECHA_FACTURA = 5; idx_FacturasClienteFECHA_VENCIMIENTO = 6; - idx_FacturasClienteSITUACION = 7; - idx_FacturasClienteBASE_IMPONIBLE = 8; - idx_FacturasClienteDESCUENTO = 9; - idx_FacturasClienteIMPORTE_DESCUENTO = 10; - idx_FacturasClienteIVA = 11; - idx_FacturasClienteIMPORTE_IVA = 12; - idx_FacturasClienteRE = 13; - idx_FacturasClienteIMPORTE_RE = 14; - idx_FacturasClienteIMPORTE_TOTAL = 15; - idx_FacturasClienteOBSERVACIONES = 16; - idx_FacturasClienteID_CLIENTE = 17; - idx_FacturasClienteNIF_CIF = 18; - idx_FacturasClienteNOMBRE = 19; - idx_FacturasClienteID_DIRECCION = 20; - idx_FacturasClienteCALLE = 21; - idx_FacturasClientePOBLACION = 22; - idx_FacturasClientePROVINCIA = 23; - idx_FacturasClienteCODIGO_POSTAL = 24; - idx_FacturasClienteDATOS_BANCARIOS = 25; - idx_FacturasClienteCLIENTE_FINAL = 26; - idx_FacturasClienteFECHA_ALTA = 27; - idx_FacturasClienteFECHA_MODIFICACION = 28; - idx_FacturasClienteUSUARIO = 29; - idx_FacturasClienteID_FORMA_PAGO = 30; - idx_FacturasClienteRECARGO_EQUIVALENCIA = 31; - idx_FacturasClienteID_TIPO_IVA = 32; - idx_FacturasClienteIMPORTE_NETO = 33; - idx_FacturasClienteIMPORTE_PORTE = 34; - idx_FacturasClienteID_AGENTE = 35; - idx_FacturasClienteREFERENCIA_COMISION = 36; + idx_FacturasClienteFECHA_RETENCION = 7; + idx_FacturasClienteSITUACION = 8; + idx_FacturasClienteBASE_IMPONIBLE = 9; + idx_FacturasClienteDESCUENTO = 10; + idx_FacturasClienteIMPORTE_DESCUENTO = 11; + idx_FacturasClienteIVA = 12; + idx_FacturasClienteIMPORTE_IVA = 13; + idx_FacturasClienteRE = 14; + idx_FacturasClienteIMPORTE_RE = 15; + idx_FacturasClienteIMPORTE_TOTAL = 16; + idx_FacturasClienteOBSERVACIONES = 17; + idx_FacturasClienteID_CLIENTE = 18; + idx_FacturasClienteNIF_CIF = 19; + idx_FacturasClienteNOMBRE = 20; + idx_FacturasClienteID_DIRECCION = 21; + idx_FacturasClienteCALLE = 22; + idx_FacturasClientePOBLACION = 23; + idx_FacturasClientePROVINCIA = 24; + idx_FacturasClienteCODIGO_POSTAL = 25; + idx_FacturasClienteDATOS_BANCARIOS = 26; + idx_FacturasClienteCLIENTE_FINAL = 27; + idx_FacturasClienteFECHA_ALTA = 28; + idx_FacturasClienteFECHA_MODIFICACION = 29; + idx_FacturasClienteUSUARIO = 30; + idx_FacturasClienteID_FORMA_PAGO = 31; + idx_FacturasClienteRECARGO_EQUIVALENCIA = 32; + idx_FacturasClienteID_TIPO_IVA = 33; + idx_FacturasClienteIMPORTE_NETO = 34; + idx_FacturasClienteIMPORTE_PORTE = 35; + idx_FacturasClienteID_AGENTE = 36; + idx_FacturasClienteREFERENCIA_COMISION = 37; + idx_FacturasClienteRETENCION = 38; + idx_FacturasClienteIMPORTE_RETENCION = 39; { FacturasCliente_Detalles fields } fld_FacturasCliente_DetallesID = 'ID'; @@ -131,7 +137,7 @@ const type { IFacturasCliente } IFacturasCliente = interface(IDAStronglyTypedDataTable) - ['{841A0CB0-FD20-4D3E-B21C-7E57896A7E3F}'] + ['{C8AADCF0-C145-435A-A93E-D1B5ECD0BA1B}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -161,6 +167,10 @@ type procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime); function GetFECHA_VENCIMIENTOIsNull: Boolean; procedure SetFECHA_VENCIMIENTOIsNull(const aValue: Boolean); + function GetFECHA_RETENCIONValue: DateTime; + procedure SetFECHA_RETENCIONValue(const aValue: DateTime); + function GetFECHA_RETENCIONIsNull: Boolean; + procedure SetFECHA_RETENCIONIsNull(const aValue: Boolean); function GetSITUACIONValue: String; procedure SetSITUACIONValue(const aValue: String); function GetSITUACIONIsNull: Boolean; @@ -280,6 +290,14 @@ type procedure SetREFERENCIA_COMISIONValue(const aValue: String); function GetREFERENCIA_COMISIONIsNull: Boolean; procedure SetREFERENCIA_COMISIONIsNull(const aValue: Boolean); + function GetRETENCIONValue: Float; + procedure SetRETENCIONValue(const aValue: Float); + function GetRETENCIONIsNull: Boolean; + procedure SetRETENCIONIsNull(const aValue: Boolean); + function GetIMPORTE_RETENCIONValue: Currency; + procedure SetIMPORTE_RETENCIONValue(const aValue: Currency); + function GetIMPORTE_RETENCIONIsNull: Boolean; + procedure SetIMPORTE_RETENCIONIsNull(const aValue: Boolean); { Properties } @@ -297,6 +315,8 @@ type property FECHA_FACTURAIsNull: Boolean read GetFECHA_FACTURAIsNull write SetFECHA_FACTURAIsNull; property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue; property FECHA_VENCIMIENTOIsNull: Boolean read GetFECHA_VENCIMIENTOIsNull write SetFECHA_VENCIMIENTOIsNull; + property FECHA_RETENCION: DateTime read GetFECHA_RETENCIONValue write SetFECHA_RETENCIONValue; + property FECHA_RETENCIONIsNull: Boolean read GetFECHA_RETENCIONIsNull write SetFECHA_RETENCIONIsNull; property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue; property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull; property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue; @@ -357,10 +377,14 @@ type property ID_AGENTEIsNull: Boolean read GetID_AGENTEIsNull write SetID_AGENTEIsNull; property REFERENCIA_COMISION: String read GetREFERENCIA_COMISIONValue write SetREFERENCIA_COMISIONValue; property REFERENCIA_COMISIONIsNull: Boolean read GetREFERENCIA_COMISIONIsNull write SetREFERENCIA_COMISIONIsNull; + property RETENCION: Float read GetRETENCIONValue write SetRETENCIONValue; + property RETENCIONIsNull: Boolean read GetRETENCIONIsNull write SetRETENCIONIsNull; + property IMPORTE_RETENCION: Currency read GetIMPORTE_RETENCIONValue write SetIMPORTE_RETENCIONValue; + property IMPORTE_RETENCIONIsNull: Boolean read GetIMPORTE_RETENCIONIsNull write SetIMPORTE_RETENCIONIsNull; end; { TFacturasClienteDataTableRules } - TFacturasClienteDataTableRules = class(TIntfObjectDADataTableRules, IFacturasCliente) + TFacturasClienteDataTableRules = class(TDADataTableRules, IFacturasCliente) private f_OBSERVACIONES: IROStrings; procedure OBSERVACIONES_OnChange(Sender: TObject); @@ -394,6 +418,10 @@ type procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime); virtual; function GetFECHA_VENCIMIENTOIsNull: Boolean; virtual; procedure SetFECHA_VENCIMIENTOIsNull(const aValue: Boolean); virtual; + function GetFECHA_RETENCIONValue: DateTime; virtual; + procedure SetFECHA_RETENCIONValue(const aValue: DateTime); virtual; + function GetFECHA_RETENCIONIsNull: Boolean; virtual; + procedure SetFECHA_RETENCIONIsNull(const aValue: Boolean); virtual; function GetSITUACIONValue: String; virtual; procedure SetSITUACIONValue(const aValue: String); virtual; function GetSITUACIONIsNull: Boolean; virtual; @@ -513,6 +541,14 @@ type procedure SetREFERENCIA_COMISIONValue(const aValue: String); virtual; function GetREFERENCIA_COMISIONIsNull: Boolean; virtual; procedure SetREFERENCIA_COMISIONIsNull(const aValue: Boolean); virtual; + function GetRETENCIONValue: Float; virtual; + procedure SetRETENCIONValue(const aValue: Float); virtual; + function GetRETENCIONIsNull: Boolean; virtual; + procedure SetRETENCIONIsNull(const aValue: Boolean); virtual; + function GetIMPORTE_RETENCIONValue: Currency; virtual; + procedure SetIMPORTE_RETENCIONValue(const aValue: Currency); virtual; + function GetIMPORTE_RETENCIONIsNull: Boolean; virtual; + procedure SetIMPORTE_RETENCIONIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; @@ -529,6 +565,8 @@ type property FECHA_FACTURAIsNull: Boolean read GetFECHA_FACTURAIsNull write SetFECHA_FACTURAIsNull; property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue; property FECHA_VENCIMIENTOIsNull: Boolean read GetFECHA_VENCIMIENTOIsNull write SetFECHA_VENCIMIENTOIsNull; + property FECHA_RETENCION: DateTime read GetFECHA_RETENCIONValue write SetFECHA_RETENCIONValue; + property FECHA_RETENCIONIsNull: Boolean read GetFECHA_RETENCIONIsNull write SetFECHA_RETENCIONIsNull; property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue; property SITUACIONIsNull: Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull; property BASE_IMPONIBLE: Currency read GetBASE_IMPONIBLEValue write SetBASE_IMPONIBLEValue; @@ -589,6 +627,10 @@ type property ID_AGENTEIsNull: Boolean read GetID_AGENTEIsNull write SetID_AGENTEIsNull; property REFERENCIA_COMISION: String read GetREFERENCIA_COMISIONValue write SetREFERENCIA_COMISIONValue; property REFERENCIA_COMISIONIsNull: Boolean read GetREFERENCIA_COMISIONIsNull write SetREFERENCIA_COMISIONIsNull; + property RETENCION: Float read GetRETENCIONValue write SetRETENCIONValue; + property RETENCIONIsNull: Boolean read GetRETENCIONIsNull write SetRETENCIONIsNull; + property IMPORTE_RETENCION: Currency read GetIMPORTE_RETENCIONValue write SetIMPORTE_RETENCIONValue; + property IMPORTE_RETENCIONIsNull: Boolean read GetIMPORTE_RETENCIONIsNull write SetIMPORTE_RETENCIONIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -598,7 +640,7 @@ type { IFacturasCliente_Detalles } IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable) - ['{49F2E19B-A0E4-4622-8698-5BA5688EA6F4}'] + ['{F9994FFA-FB1C-4221-A444-441E23C4E2AD}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -696,7 +738,7 @@ type end; { TFacturasCliente_DetallesDataTableRules } - TFacturasCliente_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IFacturasCliente_Detalles) + TFacturasCliente_DetallesDataTableRules = class(TDADataTableRules, IFacturasCliente_Detalles) private protected { Property getters and setters } @@ -972,6 +1014,27 @@ begin DataTable.Fields[idx_FacturasClienteFECHA_VENCIMIENTO].AsVariant := Null; end; +function TFacturasClienteDataTableRules.GetFECHA_RETENCIONValue: DateTime; +begin + result := DataTable.Fields[idx_FacturasClienteFECHA_RETENCION].AsDateTime; +end; + +procedure TFacturasClienteDataTableRules.SetFECHA_RETENCIONValue(const aValue: DateTime); +begin + DataTable.Fields[idx_FacturasClienteFECHA_RETENCION].AsDateTime := aValue; +end; + +function TFacturasClienteDataTableRules.GetFECHA_RETENCIONIsNull: boolean; +begin + result := DataTable.Fields[idx_FacturasClienteFECHA_RETENCION].IsNull; +end; + +procedure TFacturasClienteDataTableRules.SetFECHA_RETENCIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_FacturasClienteFECHA_RETENCION].AsVariant := Null; +end; + function TFacturasClienteDataTableRules.GetSITUACIONValue: String; begin result := DataTable.Fields[idx_FacturasClienteSITUACION].AsString; @@ -1598,6 +1661,48 @@ begin DataTable.Fields[idx_FacturasClienteREFERENCIA_COMISION].AsVariant := Null; end; +function TFacturasClienteDataTableRules.GetRETENCIONValue: Float; +begin + result := DataTable.Fields[idx_FacturasClienteRETENCION].AsFloat; +end; + +procedure TFacturasClienteDataTableRules.SetRETENCIONValue(const aValue: Float); +begin + DataTable.Fields[idx_FacturasClienteRETENCION].AsFloat := aValue; +end; + +function TFacturasClienteDataTableRules.GetRETENCIONIsNull: boolean; +begin + result := DataTable.Fields[idx_FacturasClienteRETENCION].IsNull; +end; + +procedure TFacturasClienteDataTableRules.SetRETENCIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_FacturasClienteRETENCION].AsVariant := Null; +end; + +function TFacturasClienteDataTableRules.GetIMPORTE_RETENCIONValue: Currency; +begin + result := DataTable.Fields[idx_FacturasClienteIMPORTE_RETENCION].AsCurrency; +end; + +procedure TFacturasClienteDataTableRules.SetIMPORTE_RETENCIONValue(const aValue: Currency); +begin + DataTable.Fields[idx_FacturasClienteIMPORTE_RETENCION].AsCurrency := aValue; +end; + +function TFacturasClienteDataTableRules.GetIMPORTE_RETENCIONIsNull: boolean; +begin + result := DataTable.Fields[idx_FacturasClienteIMPORTE_RETENCION].IsNull; +end; + +procedure TFacturasClienteDataTableRules.SetIMPORTE_RETENCIONIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_FacturasClienteIMPORTE_RETENCION].AsVariant := Null; +end; + { TFacturasCliente_DetallesDataTableRules } constructor TFacturasCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable); diff --git a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas index 7fe446a3..dba06cdf 100644 --- a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas +++ b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas @@ -9,13 +9,13 @@ 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_FacturasClienteDelta = '{4DF9EBCC-478A-4AC5-A507-11E084413331}'; - RID_FacturasCliente_DetallesDelta = '{C026B2FA-D8FB-46B6-B9A9-CD245AB46BBF}'; + RID_FacturasClienteDelta = '{B00FDA28-E442-4DDF-98FA-DED7AD95E83C}'; + RID_FacturasCliente_DetallesDelta = '{AA6EC893-0E21-40B3-9BCC-8C857AF39A68}'; type { IFacturasClienteDelta } IFacturasClienteDelta = interface(IFacturasCliente) - ['{4DF9EBCC-478A-4AC5-A507-11E084413331}'] + ['{B00FDA28-E442-4DDF-98FA-DED7AD95E83C}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -24,6 +24,7 @@ type function GetOldID_COMISION_LIQUIDADAValue : Integer; function GetOldFECHA_FACTURAValue : DateTime; function GetOldFECHA_VENCIMIENTOValue : DateTime; + function GetOldFECHA_RETENCIONValue : DateTime; function GetOldSITUACIONValue : String; function GetOldBASE_IMPONIBLEValue : Currency; function GetOldDESCUENTOValue : Float; @@ -54,6 +55,8 @@ type function GetOldIMPORTE_PORTEValue : Currency; function GetOldID_AGENTEValue : Integer; function GetOldREFERENCIA_COMISIONValue : String; + function GetOldRETENCIONValue : Float; + function GetOldIMPORTE_RETENCIONValue : Currency; { Properties } property OldID : Integer read GetOldIDValue; @@ -63,6 +66,7 @@ type property OldID_COMISION_LIQUIDADA : Integer read GetOldID_COMISION_LIQUIDADAValue; property OldFECHA_FACTURA : DateTime read GetOldFECHA_FACTURAValue; property OldFECHA_VENCIMIENTO : DateTime read GetOldFECHA_VENCIMIENTOValue; + property OldFECHA_RETENCION : DateTime read GetOldFECHA_RETENCIONValue; property OldSITUACION : String read GetOldSITUACIONValue; property OldBASE_IMPONIBLE : Currency read GetOldBASE_IMPONIBLEValue; property OldDESCUENTO : Float read GetOldDESCUENTOValue; @@ -93,6 +97,8 @@ type property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue; property OldID_AGENTE : Integer read GetOldID_AGENTEValue; property OldREFERENCIA_COMISION : String read GetOldREFERENCIA_COMISIONValue; + property OldRETENCION : Float read GetOldRETENCIONValue; + property OldIMPORTE_RETENCION : Currency read GetOldIMPORTE_RETENCIONValue; end; { TFacturasClienteBusinessProcessorRules } @@ -144,6 +150,12 @@ type function GetOldFECHA_VENCIMIENTOIsNull: Boolean; virtual; procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime); virtual; procedure SetFECHA_VENCIMIENTOIsNull(const aValue: Boolean); virtual; + function GetFECHA_RETENCIONValue: DateTime; virtual; + function GetFECHA_RETENCIONIsNull: Boolean; virtual; + function GetOldFECHA_RETENCIONValue: DateTime; virtual; + function GetOldFECHA_RETENCIONIsNull: Boolean; virtual; + procedure SetFECHA_RETENCIONValue(const aValue: DateTime); virtual; + procedure SetFECHA_RETENCIONIsNull(const aValue: Boolean); virtual; function GetSITUACIONValue: String; virtual; function GetSITUACIONIsNull: Boolean; virtual; function GetOldSITUACIONValue: String; virtual; @@ -323,6 +335,18 @@ type function GetOldREFERENCIA_COMISIONIsNull: Boolean; virtual; procedure SetREFERENCIA_COMISIONValue(const aValue: String); virtual; procedure SetREFERENCIA_COMISIONIsNull(const aValue: Boolean); virtual; + function GetRETENCIONValue: Float; virtual; + function GetRETENCIONIsNull: Boolean; virtual; + function GetOldRETENCIONValue: Float; virtual; + function GetOldRETENCIONIsNull: Boolean; virtual; + procedure SetRETENCIONValue(const aValue: Float); virtual; + procedure SetRETENCIONIsNull(const aValue: Boolean); virtual; + function GetIMPORTE_RETENCIONValue: Currency; virtual; + function GetIMPORTE_RETENCIONIsNull: Boolean; virtual; + function GetOldIMPORTE_RETENCIONValue: Currency; virtual; + function GetOldIMPORTE_RETENCIONIsNull: Boolean; virtual; + procedure SetIMPORTE_RETENCIONValue(const aValue: Currency); virtual; + procedure SetIMPORTE_RETENCIONIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; @@ -353,6 +377,10 @@ type property FECHA_VENCIMIENTOIsNull : Boolean read GetFECHA_VENCIMIENTOIsNull write SetFECHA_VENCIMIENTOIsNull; property OldFECHA_VENCIMIENTO : DateTime read GetOldFECHA_VENCIMIENTOValue; property OldFECHA_VENCIMIENTOIsNull : Boolean read GetOldFECHA_VENCIMIENTOIsNull; + property FECHA_RETENCION : DateTime read GetFECHA_RETENCIONValue write SetFECHA_RETENCIONValue; + property FECHA_RETENCIONIsNull : Boolean read GetFECHA_RETENCIONIsNull write SetFECHA_RETENCIONIsNull; + property OldFECHA_RETENCION : DateTime read GetOldFECHA_RETENCIONValue; + property OldFECHA_RETENCIONIsNull : Boolean read GetOldFECHA_RETENCIONIsNull; property SITUACION : String read GetSITUACIONValue write SetSITUACIONValue; property SITUACIONIsNull : Boolean read GetSITUACIONIsNull write SetSITUACIONIsNull; property OldSITUACION : String read GetOldSITUACIONValue; @@ -473,6 +501,14 @@ type property REFERENCIA_COMISIONIsNull : Boolean read GetREFERENCIA_COMISIONIsNull write SetREFERENCIA_COMISIONIsNull; property OldREFERENCIA_COMISION : String read GetOldREFERENCIA_COMISIONValue; property OldREFERENCIA_COMISIONIsNull : Boolean read GetOldREFERENCIA_COMISIONIsNull; + property RETENCION : Float read GetRETENCIONValue write SetRETENCIONValue; + property RETENCIONIsNull : Boolean read GetRETENCIONIsNull write SetRETENCIONIsNull; + property OldRETENCION : Float read GetOldRETENCIONValue; + property OldRETENCIONIsNull : Boolean read GetOldRETENCIONIsNull; + property IMPORTE_RETENCION : Currency read GetIMPORTE_RETENCIONValue write SetIMPORTE_RETENCIONValue; + property IMPORTE_RETENCIONIsNull : Boolean read GetIMPORTE_RETENCIONIsNull write SetIMPORTE_RETENCIONIsNull; + property OldIMPORTE_RETENCION : Currency read GetOldIMPORTE_RETENCIONValue; + property OldIMPORTE_RETENCIONIsNull : Boolean read GetOldIMPORTE_RETENCIONIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -482,7 +518,7 @@ type { IFacturasCliente_DetallesDelta } IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles) - ['{C026B2FA-D8FB-46B6-B9A9-CD245AB46BBF}'] + ['{AA6EC893-0E21-40B3-9BCC-8C857AF39A68}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_FACTURAValue : Integer; @@ -926,6 +962,37 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteFECHA_VENCIMIENTO] := Null; end; +function TFacturasClienteBusinessProcessorRules.GetFECHA_RETENCIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteFECHA_RETENCION]; +end; + +function TFacturasClienteBusinessProcessorRules.GetFECHA_RETENCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteFECHA_RETENCION]); +end; + +function TFacturasClienteBusinessProcessorRules.GetOldFECHA_RETENCIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteFECHA_RETENCION]; +end; + +function TFacturasClienteBusinessProcessorRules.GetOldFECHA_RETENCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteFECHA_RETENCION]); +end; + +procedure TFacturasClienteBusinessProcessorRules.SetFECHA_RETENCIONValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteFECHA_RETENCION] := aValue; +end; + +procedure TFacturasClienteBusinessProcessorRules.SetFECHA_RETENCIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteFECHA_RETENCION] := Null; +end; + function TFacturasClienteBusinessProcessorRules.GetSITUACIONValue: String; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteSITUACION]; @@ -1853,6 +1920,68 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteREFERENCIA_COMISION] := Null; end; +function TFacturasClienteBusinessProcessorRules.GetRETENCIONValue: Float; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteRETENCION]; +end; + +function TFacturasClienteBusinessProcessorRules.GetRETENCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteRETENCION]); +end; + +function TFacturasClienteBusinessProcessorRules.GetOldRETENCIONValue: Float; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteRETENCION]; +end; + +function TFacturasClienteBusinessProcessorRules.GetOldRETENCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteRETENCION]); +end; + +procedure TFacturasClienteBusinessProcessorRules.SetRETENCIONValue(const aValue: Float); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteRETENCION] := aValue; +end; + +procedure TFacturasClienteBusinessProcessorRules.SetRETENCIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteRETENCION] := Null; +end; + +function TFacturasClienteBusinessProcessorRules.GetIMPORTE_RETENCIONValue: Currency; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteIMPORTE_RETENCION]; +end; + +function TFacturasClienteBusinessProcessorRules.GetIMPORTE_RETENCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteIMPORTE_RETENCION]); +end; + +function TFacturasClienteBusinessProcessorRules.GetOldIMPORTE_RETENCIONValue: Currency; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteIMPORTE_RETENCION]; +end; + +function TFacturasClienteBusinessProcessorRules.GetOldIMPORTE_RETENCIONIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteIMPORTE_RETENCION]); +end; + +procedure TFacturasClienteBusinessProcessorRules.SetIMPORTE_RETENCIONValue(const aValue: Currency); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteIMPORTE_RETENCION] := aValue; +end; + +procedure TFacturasClienteBusinessProcessorRules.SetIMPORTE_RETENCIONIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteIMPORTE_RETENCION] := Null; +end; + { TFacturasCliente_DetallesBusinessProcessorRules } constructor TFacturasCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); diff --git a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas index 0dc6f417..82fbc83a 100644 --- a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas +++ b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas @@ -44,6 +44,7 @@ type procedure CalcularDescuento; procedure CalcularIVA; procedure CalcularRE; + procedure CalcularRetencion; procedure CalcularBaseImponible; procedure AsignarTipoIVA (IDTipoIVA : Integer); @@ -69,10 +70,11 @@ type procedure DESCUENTOOnChange(Sender: TDACustomField); procedure IVAOnChange(Sender: TDACustomField); procedure REOnChange(Sender: TDACustomField); + procedure RetencionOnChange(Sender: TDACustomField); procedure OnNewRecord(Sender: TDADataTable); override; - function GetSITUACIONValue: String; override; + function GetSITUACIONValue: String; override; // procedure SetID_FORMA_PAGOValue(const aValue: Integer); override; procedure SetID_COMISION_LIQUIDADAValue(const aValue: Integer); override; procedure SetID_TIPO_IVAValue(const aValue: Integer); override; @@ -154,6 +156,7 @@ begin CalcularBaseImponible; CalcularIVA; CalcularRE; + CalcularRetencion; if not Self.DataTable.Editing then Edit; @@ -178,6 +181,13 @@ begin IMPORTE_RE := (RE / 100) * (BASE_IMPONIBLE - IMPORTE_DESCUENTO); end; +procedure TBizFacturaCliente.CalcularRetencion; +begin + if not Self.DataTable.Editing then + Edit; + IMPORTE_RETENCION := (RETENCION / 100) * (BASE_IMPONIBLE - IMPORTE_DESCUENTO); +end; + constructor TBizFacturaCliente.Create(aDataTable: TDADataTable); begin inherited; @@ -193,6 +203,7 @@ begin FieldByName(fld_FacturasClienteDESCUENTO).OnChange := DESCUENTOOnChange; FieldByName(fld_FacturasClienteIVA).OnChange := IVAOnChange; FieldByName(fld_FacturasClienteRE).OnChange := REOnChange; + FieldByName(fld_FacturasClienteRetencion).OnChange := RetencionOnChange; end; FDetallesLink := TDADataSource.Create(NIL); @@ -283,6 +294,11 @@ begin CalcularImporteTotal; end; +procedure TBizFacturaCliente.RetencionOnChange(Sender: TDACustomField); +begin + CalcularImporteTotal; +end; + procedure TBizFacturaCliente.SetCliente(AValue: IBizCliente); var bEnEdicion : Boolean; diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm index c2c2e64c..76a12a6f 100644 --- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm +++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm @@ -20,21 +20,22 @@ object RptFacturasCliente: TRptFacturasCliente SQL = 'select'#10' v_facturas_cliente.id, v_facturas_cliente.id_empresa,'#10 + ' v_facturas_cliente.referencia, v_facturas_cliente.tipo,'#10' v_' + - 'facturas_cliente.fecha_factura, v_facturas_cliente.base_imponibl' + - 'e,'#10' v_facturas_cliente.situacion, v_facturas_cliente.descuento' + - ','#10' v_facturas_cliente.importe_descuento, v_facturas_cliente.iv' + - 'a,'#10' v_facturas_cliente.importe_iva, v_facturas_cliente.re,'#10' ' + - 'v_facturas_cliente.importe_re, v_facturas_cliente.importe_total,' + - #10' v_facturas_cliente.observaciones, v_facturas_cliente.nif_cif' + - ','#10' v_facturas_cliente.id_cliente, v_facturas_cliente.nombre,'#10' ' + - ' v_facturas_cliente.calle, v_facturas_cliente.provincia,'#10' v_f' + - 'acturas_cliente.poblacion, v_facturas_cliente.codigo_postal,'#10' ' + - 'v_facturas_cliente.recargo_equivalencia, v_facturas_cliente.impo' + - 'rte_neto,'#10' v_facturas_cliente.importe_porte, formas_pago.descr' + - 'ipcion as FORMA_PAGO,'#10' v_facturas_cliente.DATOS_BANCARIOS'#10'from' + - ' v_facturas_cliente'#10' left outer join formas_pago on (formas_pa' + - 'go.id = v_facturas_cliente.id_forma_pago)'#10'WHERE V_FACTURAS_CLIEN' + - 'TE.ID = :ID'#10 + 'facturas_cliente.fecha_factura, v_facturas_cliente.fecha_VENCIMI' + + 'ENTO,'#10' v_facturas_cliente.base_imponible,'#10' v_facturas_client' + + 'e.situacion, v_facturas_cliente.descuento,'#10' v_facturas_cliente' + + '.importe_descuento, v_facturas_cliente.iva,'#10' v_facturas_client' + + 'e.importe_iva, v_facturas_cliente.re,'#10' v_facturas_cliente.impo' + + 'rte_re, v_facturas_cliente.importe_total,'#10' v_facturas_cliente.' + + 'observaciones, v_facturas_cliente.nif_cif,'#10' v_facturas_cliente' + + '.id_cliente, v_facturas_cliente.nombre,'#10' v_facturas_cliente.ca' + + 'lle, v_facturas_cliente.provincia,'#10' v_facturas_cliente.poblaci' + + 'on, v_facturas_cliente.codigo_postal,'#10' v_facturas_cliente.reca' + + 'rgo_equivalencia, v_facturas_cliente.importe_neto,'#10' v_facturas' + + '_cliente.importe_porte, formas_pago.descripcion as FORMA_PAGO,'#10' ' + + ' v_facturas_cliente.DATOS_BANCARIOS, v_facturas_cliente.RETENCI' + + 'ON, v_facturas_cliente.IMPORTE_RETENCION'#10'from v_facturas_cliente' + + #10' left outer join formas_pago on (formas_pago.id = v_facturas_' + + 'cliente.id_forma_pago)'#10'WHERE V_FACTURAS_CLIENTE.ID = :ID'#10 StatementType = stSQL ColumnMappings = < item @@ -144,6 +145,18 @@ object RptFacturasCliente: TRptFacturasCliente item DatasetField = 'DATOS_BANCARIOS' TableField = 'DATOS_BANCARIOS' + end + item + DatasetField = 'FECHA_VENCIMIENTO' + TableField = 'FECHA_VENCIMIENTO' + end + item + DatasetField = 'RETENCION' + TableField = 'RETENCION' + end + item + DatasetField = 'IMPORTE_RETENCION' + TableField = 'IMPORTE_RETENCION' end> end> Name = 'InformeFacturasCliente' @@ -175,6 +188,10 @@ object RptFacturasCliente: TRptFacturasCliente DataType = datDateTime DictionaryEntry = 'FacturasCliente_FECHA_FACTURA' end + item + Name = 'FECHA_VENCIMIENTO' + DataType = datDateTime + end item Name = 'BASE_IMPONIBLE' DataType = datCurrency @@ -285,6 +302,14 @@ object RptFacturasCliente: TRptFacturasCliente Name = 'DATOS_BANCARIOS' DataType = datString Size = 255 + end + item + Name = 'RETENCION' + DataType = datFloat + end + item + Name = 'IMPORTE_RETENCION' + DataType = datCurrency end> ReadOnly = True end @@ -1237,6 +1262,10 @@ object RptFacturasCliente: TRptFacturasCliente DataType = datDateTime DictionaryEntry = 'FacturasCliente_FECHA_FACTURA' end + item + Name = 'FECHA_VENCIMIENTO' + DataType = datDateTime + end item Name = 'BASE_IMPONIBLE' DataType = datCurrency @@ -1347,6 +1376,14 @@ object RptFacturasCliente: TRptFacturasCliente Name = 'DATOS_BANCARIOS' DataType = datString Size = 255 + end + item + Name = 'RETENCION' + DataType = datFloat + end + item + Name = 'IMPORTE_RETENCION' + DataType = datCurrency end> Params = < item @@ -1404,17 +1441,67 @@ object RptFacturasCliente: TRptFacturasCliente PreviewOptions.Zoom = 1.000000000000000000 PrintOptions.Printer = 'Por defecto' PrintOptions.PrintOnSheet = 0 - ReportOptions.CreateDate = 37800.807714351900000000 - ReportOptions.LastChange = 39821.581470081020000000 + ReportOptions.CreateDate = 39065.872423495400000000 + ReportOptions.LastChange = 39828.562168217590000000 ScriptLanguage = 'PascalScript' ScriptText.Strings = ( - 'procedure frxReportOnStartReport(Sender: TfrxComponent);' + '' + 'procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);' + 'var' + ' Cadena: String;' 'begin' - ' Set('#39'Pagina'#39', 0);' - ' Set('#39'TotalPaginas'#39', 0); ' + '{ DatosEmpresa.Lines.Clear;' + ' if ( <> '#39#39') then' + ' Cadena := '#39'TLF: '#39' + ;' + ' if ( <> '#39#39') then' + + ' Cadena := Cadena + '#39' FAX: '#39' + ;' + ' DatosEmpresa.Lines.Add(Cadena);' + '}' 'end;' '' - 'procedure Band1OnBeforePrint(Sender: TfrxComponent);' + 'procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);' + 'begin' + '{ NombreEmpresa.Lines.Clear;' + ' NombreEmpresa.Lines.Add();' + '}' + 'end;' + '' + 'procedure DireccionEnvioOnBeforePrint(Sender: TfrxComponent);' + 'var' + ' ACadena : String;' + 'begin' + '{ ACadena := '#39#39';' + ' DireccionEnvio.Lines.Clear;' + ' if ( <> '#39#39') then' + ' ACadena := ;' + '' + ' if ( <> '#39#39') then' + + ' ACadena := ACadena + '#39' '#39' + ;' + '' + ' DireccionEnvio.Lines.Add(ACadena);' + ' ACadena := '#39#39';' + ' DireccionEnvio.Lines.Add();' + ' if ( <> '#39#39') then' + ' ACadena := + '#39' '#39';' + ' if ( <> '#39#39') then' + ' ACadena := ACadena + ;' + '' + ' if (ACadena <> '#39#39') then' + ' DireccionEnvio.Lines.Add(ACadena);' + '' + ' if ( <> '#39#39') then' + ' DireccionEnvio.Lines.Add();' + '' + ' if ( <> '#39#39') then' + ' DireccionEnvio.Lines.Add();' + '}' + 'end;' + '' + 'procedure PageHeader1OnBeforePrint(Sender: TfrxComponent);' 'begin' ' if not Engine.FinalPass then' ' Set('#39'TotalPaginas'#39', ( + 1));' @@ -1423,26 +1510,64 @@ object RptFacturasCliente: TRptFacturasCliente ' Set('#39'Pagina'#39', ( + 1)); ' 'end;' '' - 'procedure mContinuaOnBeforePrint(Sender: TfrxComponent);' + 'procedure frxReportOnStartReport(Sender: TfrxComponent);' 'begin' - ' if Engine.FinalPass then' - ' begin' + ' Set('#39'Pagina'#39', 0);' + ' Set('#39'TotalPaginas'#39', 0);' + ' Set('#39'Capitulo'#39', 0);' + ' Set('#39'NumCapitulos'#39', 0); ' + 'end;' + '' + 'procedure Memo4OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if (Length() = 0) then' + ' Memo4.Visible := False; ' + 'end;' + '' + 'procedure Memo22OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if ( = 0) then' + ' begin ' + ' Memo22.Text := '#39'Base imponible:'#39';' + '' + ' Memo10.Text := '#39'Importe total:'#39';' + ' Memo10.Font.Style := fsBold; ' + '' - ' //A la vez que salta este salta la asignacion de pagina por ' + - 'lo que no coincide nunca si no suponemos +1 ' + - ' ' + - ' ' + - ' ' + - ' ' - ' if (( + 1) = ) then' - ' begin ' - ' mContinua.Visible := True;' - ' end ' - ' else' - ' begin ' - ' mContinua.Visible := False;' - ' end ' - ' end; ' + ' Memo9.Text := FormatFloat('#39'#,##0.00 '#8364#39', );' + ' Memo9.Font.Style := fsBold; ' + ' ' + ' Memo23.Text := '#39'[]% IVA:'#39';' + ' Memo25.Text := '#39'[frxDBCabecera."IMPORTE_IVA"]'#39';' + ' Memo12.Visible := False;' + ' Memo14.Visible := False;' + ' Memo16.Visible := False; ' + '' + ' Memo13.Visible := False;' + ' Memo15.Visible := False;' + ' Memo17.Visible := False;' + ' Memo11.Color := $00CCFFCC;' + ' end; ' + 'end;' + '' + 'procedure Memo39OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' Memo39.Clear; ' + ' if ( = '#39'F'#39') then' + + ' Memo39.Text := '#39'FACTURA'#39' ' + + ' ' + ' else' + ' Memo39.Text := '#39'ABONO'#39'; ' + 'end;' + '' + 'procedure Picture4OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if ( = 1) then' + ' Picture4.Visible := True' + ' else' + ' Picture4.Visible := False; ' 'end;' '' 'begin' diff --git a/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm b/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm index 84a1cd4f..bb1ce57a 100644 --- a/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm +++ b/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm @@ -169,6 +169,18 @@ object srvFacturasCliente: TsrvFacturasCliente item DatasetField = 'FECHA_VENCIMIENTO' TableField = 'FECHA_VENCIMIENTO' + end + item + DatasetField = 'RETENCION' + TableField = 'RETENCION' + end + item + DatasetField = 'IMPORTE_RETENCION' + TableField = 'IMPORTE_RETENCION' + end + item + DatasetField = 'FECHA_RETENCION' + TableField = 'FECHA_RETENCION' end> end> Name = 'FacturasCliente' @@ -212,6 +224,10 @@ object srvFacturasCliente: TsrvFacturasCliente Name = 'FECHA_VENCIMIENTO' DataType = datDateTime end + item + Name = 'FECHA_RETENCION' + DataType = datDateTime + end item Name = 'SITUACION' DataType = datString @@ -371,6 +387,14 @@ object srvFacturasCliente: TsrvFacturasCliente DataType = datString Size = 255 DictionaryEntry = 'FacturasCliente_REFERENCIA_COMISION' + end + item + Name = 'RETENCION' + DataType = datFloat + end + item + Name = 'IMPORTE_RETENCION' + DataType = datCurrency end> end item @@ -770,6 +794,10 @@ object srvFacturasCliente: TsrvFacturasCliente Name = 'FECHA_VENCIMIENTO' Value = '' end + item + Name = 'FECHA_RETENCION' + Value = '' + end item Name = 'BASE_IMPONIBLE' Value = '' @@ -877,6 +905,14 @@ object srvFacturasCliente: TsrvFacturasCliente item Name = 'CLIENTE_FINAL' Value = '' + end + item + Name = 'RETENCION' + Value = '' + end + item + Name = 'IMPORTE_RETENCION' + Value = '' end> Statements = < item @@ -885,24 +921,25 @@ object srvFacturasCliente: TsrvFacturasCliente TargetTable = 'FACTURAS_CLIENTE' SQL = 'INSERT INTO FACTURAS_CLIENTE ('#10' ID,'#10' ID_EMPRESA,'#10' REFER' + - 'ENCIA,'#10' FECHA_FACTURA,'#10' FECHA_VENCIMIENTO,'#10' BASE_IMPONI' + - 'BLE,'#10' DESCUENTO,'#10' IMPORTE_DESCUENTO,'#10' IVA,'#10' IMPORTE_' + - 'IVA,'#10' RE,'#10' IMPORTE_RE,'#10' IMPORTE_TOTAL,'#10' OBSERVACIONE' + - 'S,'#10' ID_CLIENTE,'#10' NIF_CIF,'#10' NOMBRE,'#10' ID_DIRECCION,'#10' ' + - ' CALLE,'#10' POBLACION,'#10' PROVINCIA,'#10' CODIGO_POSTAL,'#10' FE' + - 'CHA_ALTA,'#10' FECHA_MODIFICACION,'#10' USUARIO,'#10' ID_FORMA_PAGO' + - ','#10' RECARGO_EQUIVALENCIA,'#10' ID_TIPO_IVA,'#10' IMPORTE_NETO,'#10' ' + - ' IMPORTE_PORTE,'#10' DATOS_BANCARIOS,'#10' CLIENTE_FINAL)'#10' VALU' + - 'ES ('#10' :ID,'#10' :ID_EMPRESA,'#10' :REFERENCIA,'#10' :FECHA_FACTU' + - 'RA,'#10' :FECHA_VENCIMIENTO,'#10' :BASE_IMPONIBLE,'#10' :DESCUENTO,' + - #10' :IMPORTE_DESCUENTO,'#10' :IVA,'#10' :IMPORTE_IVA,'#10' :RE,'#10' ' + - ' :IMPORTE_RE,'#10' :IMPORTE_TOTAL,'#10' :OBSERVACIONES,'#10' :ID_C' + - 'LIENTE,'#10' :NIF_CIF,'#10' :NOMBRE,'#10' :ID_DIRECCION,'#10' :CALLE' + - ','#10' :POBLACION,'#10' :PROVINCIA,'#10' :CODIGO_POSTAL,'#10' :FECHA' + - '_ALTA,'#10' :FECHA_MODIFICACION,'#10' :USUARIO,'#10' :ID_FORMA_PAGO' + - ','#10' :RECARGO_EQUIVALENCIA,'#10' :ID_TIPO_IVA,'#10' :IMPORTE_NETO' + - ','#10' :IMPORTE_PORTE,'#10' :DATOS_BANCARIOS,'#10' :CLIENTE_FINAL);' + - #10 + 'ENCIA,'#10' FECHA_FACTURA,'#10' FECHA_VENCIMIENTO,'#10' FECHA_RETEN' + + 'CION,'#10' BASE_IMPONIBLE,'#10' DESCUENTO,'#10' IMPORTE_DESCUENTO,'#10 + + ' IVA,'#10' IMPORTE_IVA,'#10' RE,'#10' IMPORTE_RE,'#10' IMPORTE_TO' + + 'TAL,'#10' OBSERVACIONES,'#10' ID_CLIENTE,'#10' NIF_CIF,'#10' NOMBRE,' + + #10' ID_DIRECCION,'#10' CALLE,'#10' POBLACION,'#10' PROVINCIA,'#10' ' + + 'CODIGO_POSTAL,'#10' FECHA_ALTA,'#10' FECHA_MODIFICACION,'#10' USUAR' + + 'IO,'#10' ID_FORMA_PAGO,'#10' RECARGO_EQUIVALENCIA,'#10' ID_TIPO_IVA' + + ','#10' IMPORTE_NETO,'#10' IMPORTE_PORTE,'#10' DATOS_BANCARIOS,'#10' ' + + 'CLIENTE_FINAL,'#10' RETENCION,'#10' IMPORTE_RETENCION)'#10' VALUES ('#10 + + ' :ID,'#10' :ID_EMPRESA,'#10' :REFERENCIA,'#10' :FECHA_FACTURA,'#10' ' + + ' :FECHA_VENCIMIENTO,'#10' :FECHA_RETENCION,'#10' :BASE_IMPONIBLE' + + ','#10' :DESCUENTO,'#10' :IMPORTE_DESCUENTO,'#10' :IVA,'#10' :IMPORTE' + + '_IVA,'#10' :RE,'#10' :IMPORTE_RE,'#10' :IMPORTE_TOTAL,'#10' :OBSERVA' + + 'CIONES,'#10' :ID_CLIENTE,'#10' :NIF_CIF,'#10' :NOMBRE,'#10' :ID_DIRE' + + 'CCION,'#10' :CALLE,'#10' :POBLACION,'#10' :PROVINCIA,'#10' :CODIGO_P' + + 'OSTAL,'#10' :FECHA_ALTA,'#10' :FECHA_MODIFICACION,'#10' :USUARIO,'#10' ' + + ' :ID_FORMA_PAGO,'#10' :RECARGO_EQUIVALENCIA,'#10' :ID_TIPO_IVA,'#10 + + ' :IMPORTE_NETO,'#10' :IMPORTE_PORTE,'#10' :DATOS_BANCARIOS,'#10' ' + + ' :CLIENTE_FINAL,'#10' :RETENCION,'#10' :IMPORTE_RETENCION);'#10 StatementType = stSQL ColumnMappings = <> end> @@ -926,6 +963,10 @@ object srvFacturasCliente: TsrvFacturasCliente Name = 'FECHA_VENCIMIENTO' Value = '' end + item + Name = 'FECHA_RETENCION' + Value = '' + end item Name = 'BASE_IMPONIBLE' Value = '' @@ -1034,6 +1075,14 @@ object srvFacturasCliente: TsrvFacturasCliente Name = 'CLIENTE_FINAL' Value = '' end + item + Name = 'RETENCION' + Value = '' + end + item + Name = 'IMPORTE_RETENCION' + Value = '' + end item Name = 'OLD_ID' Value = '' @@ -1045,21 +1094,23 @@ object srvFacturasCliente: TsrvFacturasCliente SQL = 'UPDATE FACTURAS_CLIENTE'#10' SET'#10' ID_EMPRESA = :ID_EMPRESA,'#10' ' + 'REFERENCIA = :REFERENCIA,'#10' FECHA_FACTURA = :FECHA_FACTURA,'#10' ' + - ' FECHA_VENCIMIENTO = :FECHA_VENCIMIENTO,'#10' BASE_IMPONIBLE = :' + - 'BASE_IMPONIBLE,'#10' DESCUENTO = :DESCUENTO,'#10' IMPORTE_DESCUENT' + - 'O = :IMPORTE_DESCUENTO,'#10' IVA = :IVA,'#10' IMPORTE_IVA = :IMPOR' + - 'TE_IVA,'#10' RE = :RE,'#10' IMPORTE_RE = :IMPORTE_RE,'#10' IMPORTE_' + - 'TOTAL = :IMPORTE_TOTAL,'#10' OBSERVACIONES = :OBSERVACIONES,'#10' ' + - 'ID_CLIENTE = :ID_CLIENTE,'#10' NIF_CIF = :NIF_CIF,'#10' NOMBRE = :' + - 'NOMBRE,'#10' ID_DIRECCION = :ID_DIRECCION,'#10' CALLE = :CALLE,'#10' ' + - ' POBLACION = :POBLACION,'#10' PROVINCIA = :PROVINCIA,'#10' CODIGO' + - '_POSTAL = :CODIGO_POSTAL,'#10' FECHA_ALTA = :FECHA_ALTA,'#10' FECH' + - 'A_MODIFICACION = :FECHA_MODIFICACION,'#10' USUARIO = :USUARIO,'#10' ' + - ' ID_FORMA_PAGO = :ID_FORMA_PAGO,'#10' RECARGO_EQUIVALENCIA = :RE' + - 'CARGO_EQUIVALENCIA,'#10' ID_TIPO_IVA = :ID_TIPO_IVA,'#10' IMPORTE_' + - 'NETO = :IMPORTE_NETO,'#10' IMPORTE_PORTE = :IMPORTE_PORTE,'#10' DA' + - 'TOS_BANCARIOS = :DATOS_BANCARIOS,'#10' CLIENTE_FINAL = :CLIENTE_F' + - 'INAL'#10' WHERE'#10' (ID = :OLD_ID);'#10 + ' FECHA_VENCIMIENTO = :FECHA_VENCIMIENTO,'#10' FECHA_RETENCION = ' + + ':FECHA_RETENCION,'#10' BASE_IMPONIBLE = :BASE_IMPONIBLE,'#10' DESC' + + 'UENTO = :DESCUENTO,'#10' IMPORTE_DESCUENTO = :IMPORTE_DESCUENTO,'#10 + + ' IVA = :IVA,'#10' IMPORTE_IVA = :IMPORTE_IVA,'#10' RE = :RE,'#10' ' + + ' IMPORTE_RE = :IMPORTE_RE,'#10' IMPORTE_TOTAL = :IMPORTE_TOTAL,'#10 + + ' OBSERVACIONES = :OBSERVACIONES,'#10' ID_CLIENTE = :ID_CLIENTE' + + ','#10' NIF_CIF = :NIF_CIF,'#10' NOMBRE = :NOMBRE,'#10' ID_DIRECCION' + + ' = :ID_DIRECCION,'#10' CALLE = :CALLE,'#10' POBLACION = :POBLACION' + + ','#10' PROVINCIA = :PROVINCIA,'#10' CODIGO_POSTAL = :CODIGO_POSTAL' + + ','#10' FECHA_ALTA = :FECHA_ALTA,'#10' FECHA_MODIFICACION = :FECHA_' + + 'MODIFICACION,'#10' USUARIO = :USUARIO,'#10' ID_FORMA_PAGO = :ID_FO' + + 'RMA_PAGO,'#10' RECARGO_EQUIVALENCIA = :RECARGO_EQUIVALENCIA,'#10' ' + + 'ID_TIPO_IVA = :ID_TIPO_IVA,'#10' IMPORTE_NETO = :IMPORTE_NETO,'#10' ' + + ' IMPORTE_PORTE = :IMPORTE_PORTE,'#10' DATOS_BANCARIOS = :DATOS_B' + + 'ANCARIOS,'#10' CLIENTE_FINAL = :CLIENTE_FINAL,'#10' RETENCION = :R' + + 'ETENCION,'#10' IMPORTE_RETENCION = :IMPORTE_RETENCION'#10' WHERE'#10' (' + + 'ID = :OLD_ID);'#10 StatementType = stSQL ColumnMappings = <> end> diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorElegirFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorElegirFacturasCliente.dfm index 9c6b0a08..21fff879 100644 --- a/Source/Modulos/Facturas de cliente/Views/uEditorElegirFacturasCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uEditorElegirFacturasCliente.dfm @@ -54,10 +54,12 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente inherited TBXDock: TTBXDock Top = 87 Width = 654 + Height = 72 ExplicitTop = 87 ExplicitWidth = 654 + ExplicitHeight = 72 inherited tbxMain: TTBXToolbar - ExplicitWidth = 126 + ExplicitWidth = 317 inherited TBXSubmenuItem2: TTBXSubmenuItem Visible = False end @@ -72,12 +74,12 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente end end inherited tbxFiltro: TTBXToolbar - Left = 126 + Left = 317 Top = 23 DockPos = 104 DockRow = 1 Visible = False - ExplicitLeft = 126 + ExplicitLeft = 317 ExplicitTop = 23 inherited TBXItem34: TTBXItem Action = actQuitarFiltro2 @@ -89,6 +91,7 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente inherited TBXTMain2: TTBXToolbar Left = 334 ExplicitLeft = 334 + ExplicitHeight = 23 end end inherited StatusBar: TJvStatusBar @@ -141,18 +144,18 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente end end inherited frViewFacturasCliente1: TfrViewFacturasCliente [5] - Top = 162 + Top = 159 Width = 654 - Height = 449 - ExplicitTop = 162 + Height = 452 + ExplicitTop = 159 ExplicitWidth = 654 - ExplicitHeight = 449 + ExplicitHeight = 452 inherited cxGrid: TcxGrid Width = 654 - Height = 321 + Height = 324 RootLevelOptions.DetailTabsPosition = dtpNone ExplicitWidth = 654 - ExplicitHeight = 321 + ExplicitHeight = 324 inherited cxGridView: TcxGridDBTableView DataController.Summary.DefaultGroupSummaryItems = < item @@ -184,17 +187,35 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente Width = 654 ExplicitWidth = 654 inherited txtFiltroTodo: TcxTextEdit + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitWidth = 273 Width = 273 end inherited edtFechaIniFiltro: TcxDateEdit + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitWidth = 121 Width = 121 end inherited edtFechaFinFiltro: TcxDateEdit + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' ExplicitWidth = 416 Width = 416 end + inherited eLista: TcxComboBox + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' + end end inherited TBXAlignmentPanel1: TTBXAlignmentPanel Width = 654 @@ -207,8 +228,8 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente end end inherited pnlAgrupaciones: TTBXDockablePanel - Top = 423 - ExplicitTop = 423 + Top = 426 + ExplicitTop = 426 ExplicitWidth = 654 inherited TBXAlignmentPanel1: TTBXAlignmentPanel Width = 654 @@ -224,6 +245,14 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente BuiltInReportLink = True end end + inherited cxViewGridPopupMenu: TcxGridPopupMenu + PopupMenus = < + item + GridView = frViewFacturasCliente1.cxGridView + HitTypes = [gvhtCell] + Index = 0 + end> + end end inherited EditorActionList: TActionList [8] Left = 112 @@ -264,6 +293,8 @@ inherited fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente end inherited JsNuevoAbonoDialog: TJSDialog [18] end + inherited JsListaFacturasNoEliminadas: TJSDialog [19] + end object EditorSeleccionActionList: TActionList Images = SmallImages Left = 152 diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm index db8542a1..5c87a90f 100644 --- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm @@ -86,20 +86,20 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente end inherited pgPaginas: TPageControl Width = 806 - Height = 344 + Height = 277 OnChanging = pgPaginasChanging ExplicitWidth = 806 - ExplicitHeight = 344 + ExplicitHeight = 318 inherited pagGeneral: TTabSheet ExplicitLeft = 4 ExplicitTop = 24 ExplicitWidth = 798 - ExplicitHeight = 316 + ExplicitHeight = 290 inline frViewFacturaCliente1: TfrViewFacturaCliente Left = 0 Top = 0 Width = 798 - Height = 316 + Height = 249 Align = alClient Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -110,15 +110,15 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente TabOrder = 0 ReadOnly = False ExplicitWidth = 798 - ExplicitHeight = 316 + ExplicitHeight = 290 inherited dxLayoutControl1: TdxLayoutControl Width = 798 - Height = 316 + Height = 249 ExplicitWidth = 798 - ExplicitHeight = 316 + ExplicitHeight = 290 DesignSize = ( 798 - 316) + 249) inherited Label1: TLabel Left = 378 Width = 311 @@ -240,11 +240,12 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente object pagContenido: TTabSheet Caption = 'Contenido' ImageIndex = 1 + ExplicitHeight = 290 inline frViewDetallesFacturaCliente1: TfrViewDetallesFacturaCliente Left = 0 Top = 0 Width = 798 - Height = 316 + Height = 249 Align = alClient BiDiMode = bdLeftToRight Font.Charset = DEFAULT_CHARSET @@ -257,110 +258,72 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente TabOrder = 0 ReadOnly = False ExplicitWidth = 798 - ExplicitHeight = 316 + ExplicitHeight = 290 inherited ToolBar1: TToolBar Width = 798 - Height = 46 + Height = 73 ExplicitWidth = 798 - ExplicitHeight = 46 - inherited ToolButton3: TToolButton + ExplicitHeight = 73 + inherited ToolButton2: TToolButton Wrap = False + ExplicitLeft = 231 end inherited ToolButton4: TToolButton - Left = 278 + Left = 345 Top = 0 - Wrap = True - ExplicitLeft = 278 + ExplicitLeft = 345 ExplicitTop = 0 end inherited ToolButton14: TToolButton - Left = 0 - Wrap = False - ExplicitLeft = 0 - end - inherited FontName: TJvFontComboBox - Left = 65 - Top = 22 - ExplicitLeft = 399 + Left = 401 + Top = 0 + Wrap = True + ExplicitLeft = 401 ExplicitTop = 0 end inherited FontSize: TEdit - Left = 544 - Top = 0 - Width = 168 - ExplicitLeft = 544 - ExplicitTop = 0 - ExplicitWidth = 168 + Left = 0 + Width = 200 + ExplicitLeft = 0 + ExplicitWidth = 200 end inherited UpDown1: TUpDown - Left = 712 - Top = 0 - ExplicitLeft = 712 - ExplicitTop = 0 + Left = 216 + ExplicitLeft = 216 + end + inherited FontName: TJvFontComboBox + Left = 233 + ExplicitLeft = 233 end inherited ToolButton13: TToolButton - Left = 0 - Top = 0 - Wrap = True - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitHeight = 27 + Left = 378 + ExplicitLeft = 378 end inherited ToolButton6: TToolButton - Left = 0 - Top = 27 - ExplicitLeft = 0 - ExplicitTop = 27 - end - inherited ToolButton7: TToolButton - Left = 66 - Top = 27 - ExplicitLeft = 66 - ExplicitTop = 27 - end - inherited ToolButton8: TToolButton - Left = 133 - Top = 27 - ExplicitLeft = 133 - ExplicitTop = 27 - end - inherited ToolButton12: TToolButton - Left = 216 - Top = 27 - ExplicitLeft = 216 - ExplicitTop = 27 + Left = 386 + ExplicitLeft = 386 end inherited ToolButton9: TToolButton - Left = 224 - Top = 27 - ExplicitLeft = 224 - ExplicitTop = 27 + Wrap = False end inherited ToolButton10: TToolButton Left = 369 - Top = 27 + Top = 49 ExplicitLeft = 369 - ExplicitTop = 27 - end - inherited ToolButton11: TToolButton - Left = 494 - Top = 27 - ExplicitLeft = 494 - ExplicitTop = 27 + ExplicitTop = 49 end end inherited cxGrid: TcxGrid - Top = 77 + Top = 99 Width = 798 - Height = 239 - ExplicitTop = 77 + Height = 150 + ExplicitTop = 99 ExplicitWidth = 798 - ExplicitHeight = 239 + ExplicitHeight = 191 end inherited TBXDock1: TTBXDock - Top = 51 + Top = 73 Width = 798 - ExplicitTop = 51 ExplicitWidth = 798 inherited TBXToolbar1: TTBXToolbar ExplicitWidth = 798 @@ -390,9 +353,9 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente end inline frViewTotales1: TfrViewTotales [4] Left = 0 - Top = 426 + Top = 359 Width = 812 - Height = 163 + Height = 230 Align = alBottom Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -402,13 +365,15 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente ParentFont = False TabOrder = 4 ReadOnly = False - ExplicitTop = 426 + ExplicitTop = 359 ExplicitWidth = 812 - ExplicitHeight = 163 + ExplicitHeight = 230 inherited dxLayoutControl1: TdxLayoutControl Width = 812 + Height = 230 LookAndFeel = frViewFacturaCliente1.dxLayoutOfficeLookAndFeel1 ExplicitWidth = 812 + ExplicitHeight = 189 inherited Bevel1: TBevel Top = 111 Width = 73 @@ -416,18 +381,18 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente ExplicitWidth = 73 end inherited Bevel3: TBevel - Left = 368 + Left = 374 Top = 30 Height = 122 - ExplicitLeft = 368 + ExplicitLeft = 374 ExplicitTop = 30 ExplicitHeight = 122 end inherited Bevel4: TBevel - Left = 480 + Left = 486 Top = 111 Width = 192 - ExplicitLeft = 480 + ExplicitLeft = 486 ExplicitTop = 111 ExplicitWidth = 192 end @@ -443,27 +408,27 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente Width = 184 end inherited ImporteIVA: TcxDBCurrencyEdit - Left = 551 + Left = 557 Top = 57 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 551 + ExplicitLeft = 557 ExplicitTop = 57 ExplicitWidth = 249 Width = 249 end inherited ImporteTotal: TcxDBCurrencyEdit - Left = 481 + Left = 487 Top = 131 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 481 + ExplicitLeft = 487 ExplicitTop = 131 ExplicitWidth = 319 Width = 319 @@ -478,49 +443,49 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente ExplicitTop = 131 end inherited edtIVA: TcxDBSpinEdit - Left = 480 + Left = 486 Top = 57 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 480 + ExplicitLeft = 486 ExplicitTop = 57 end inherited ImporteBase: TcxDBCurrencyEdit - Left = 480 + Left = 486 Top = 30 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 480 + ExplicitLeft = 486 ExplicitTop = 30 ExplicitWidth = 320 Width = 320 end inherited edtRE: TcxDBSpinEdit - Left = 480 + Left = 486 Top = 84 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 480 + ExplicitLeft = 486 ExplicitTop = 84 end inherited ImporteRE: TcxDBCurrencyEdit - Left = 551 + Left = 557 Top = 84 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 551 + ExplicitLeft = 557 ExplicitTop = 84 ExplicitWidth = 249 Width = 249 @@ -558,9 +523,9 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente Width = 117 end inherited bTiposIVA: TButton - Left = 220 + Left = 226 Top = 57 - ExplicitLeft = 220 + ExplicitLeft = 226 ExplicitTop = 57 end inherited cbRecargoEquivalencia: TcxDBCheckBox @@ -573,9 +538,46 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente ExplicitWidth = 255 Width = 255 end + inherited edtRetencion: TcxDBSpinEdit + Left = 550 + Top = 209 + Style.LookAndFeel.SkinName = '' + Style.IsFontAssigned = True + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' + ExplicitLeft = 550 + ExplicitTop = 209 + end + inherited edtImporteRetencion: TcxDBCurrencyEdit + Left = 621 + Top = 209 + Style.LookAndFeel.SkinName = '' + Style.IsFontAssigned = True + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' + ExplicitLeft = 621 + ExplicitTop = 209 + ExplicitWidth = 152 + Width = 152 + end + inherited edtFechaRetencion: TcxDBDateEdit + Top = 209 + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' + ExplicitTop = 209 + ExplicitWidth = 150 + Width = 150 + end inherited dxLayoutControl1Group_Root: TdxLayoutGroup inherited dxLayoutControl1Group1: TdxLayoutGroup inherited dxLayoutControl1Group2: TdxLayoutGroup + inherited dxLayoutControl1Item16: TdxLayoutItem + Visible = False + end inherited dxLayoutControl1Item10: TdxLayoutItem Visible = False end @@ -583,6 +585,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente inherited dxLayoutControl1Group5: TdxLayoutGroup inherited dxLayoutControl1Group3: TdxLayoutGroup inherited dxLayoutControl1Group8: TdxLayoutGroup + Visible = False inherited dxLayoutControl1Item7: TdxLayoutItem Visible = True end @@ -590,6 +593,14 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente end end end + inherited dxLayoutControl1Group12: TdxLayoutGroup + inherited dxLayoutControl1Item21: TdxLayoutItem + Visible = True + end + inherited dxLayoutControl1Group11: TdxLayoutGroup + Visible = True + end + end end end end diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas index aa8ad996..3ba2765a 100644 --- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas +++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas @@ -36,14 +36,11 @@ type procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction); procedure frViewClienteFacturaedtlNombrePropertiesChange(Sender: TObject); procedure pgPaginasChanging(Sender: TObject; var AllowChange: Boolean); - procedure frViewTotales1edtDescuentoPropertiesValidate(Sender: TObject; - var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); +// procedure frViewTotales1edtDescuentoPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); procedure frViewTotales1bTiposIVAClick(Sender: TObject); - procedure frViewTotales1eIVAPropertiesValidate(Sender: TObject; - var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); - procedure frViewTotales1cbRecargoEquivalenciaPropertiesEditValueChanged(Sender: TObject); - procedure frViewTotales1ePortePropertiesValidate(Sender: TObject; - var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); +// procedure frViewTotales1eIVAPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); +// procedure frViewTotales1cbRecargoEquivalenciaPropertiesEditValueChanged(Sender: TObject); +// procedure frViewTotales1ePortePropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); procedure frViewTotales1ePorteEditing(Sender: TObject; var CanEdit: Boolean); procedure actEnviarEMailExecute(Sender: TObject); procedure actEnviarEMailUpdate(Sender: TObject); @@ -204,6 +201,7 @@ begin FTiposIVAController.VerTodos(FTiposIVA); end; +{ procedure TfEditorFacturaCliente.frViewTotales1cbRecargoEquivalenciaPropertiesEditValueChanged( Sender: TObject); begin @@ -217,7 +215,9 @@ begin Factura.RECARGO_EQUIVALENCIA := 0; end; end; +} +{ procedure TfEditorFacturaCliente.frViewTotales1edtDescuentoPropertiesValidate( Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); @@ -225,7 +225,8 @@ begin inherited; Factura.DESCUENTO := DisplayValue; end; - +} +{ procedure TfEditorFacturaCliente.frViewTotales1eIVAPropertiesValidate( Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); @@ -234,7 +235,7 @@ begin Factura.Edit; Factura.ID_TIPO_IVA := ((frViewTotales1.dsTiposIVA.DataTable) as IBizTipoIVA).ID; end; - +} procedure TfEditorFacturaCliente.frViewTotales1ePorteEditing(Sender: TObject; var CanEdit: Boolean); begin @@ -243,6 +244,7 @@ begin CanEdit := False; end; +{ procedure TfEditorFacturaCliente.frViewTotales1ePortePropertiesValidate( Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); @@ -256,6 +258,7 @@ begin // RecalcularPortePorUnidad; En los documentos de cliente el porte no se desglosa por articulo end; +} function TfEditorFacturaCliente.GetController: IFacturasClienteController; begin diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm index 8874d0f1..fa7e6621 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm @@ -126,6 +126,13 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente HeaderAlignmentHorz = taRightJustify Width = 128 end + object cxGridViewIMPORTE_RETENCION: TcxGridDBColumn + Caption = 'Importe retenido' + DataBinding.FieldName = 'IMPORTE_RETENCION' + PropertiesClassName = 'TcxCurrencyEditProperties' + FooterAlignmentHorz = taRightJustify + HeaderAlignmentHorz = taRightJustify + end object cxGridViewREFERENCIA_COMISION: TcxGridDBColumn Caption = 'Liquidaci'#243'n' DataBinding.FieldName = 'REFERENCIA_COMISION' diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas index eb33789b..69f9f036 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas +++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas @@ -56,6 +56,7 @@ type TBXSeparatorItem2: TTBXSeparatorItem; cxGridViewTIPO: TcxGridDBColumn; cxGridViewFECHA_VENCIMIENTO: TcxGridDBColumn; + cxGridViewIMPORTE_RETENCION: TcxGridDBColumn; procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); diff --git a/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidosProveedor.dfm b/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidosProveedor.dfm index 033075ea..0a979b69 100644 --- a/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidosProveedor.dfm +++ b/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidosProveedor.dfm @@ -5,7 +5,6 @@ inherited fEditorPedidosProveedor: TfEditorPedidosProveedor ClientWidth = 700 Position = poDesigned ExplicitWidth = 708 - ExplicitHeight = 240 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader diff --git a/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidosProveedor.pas b/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidosProveedor.pas index 3cac7edd..65a43718 100644 --- a/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidosProveedor.pas +++ b/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidosProveedor.pas @@ -320,7 +320,7 @@ begin if Assigned(APedidos) then if ElegirOpcionesImpresionPedidoProveedor(FImprimirPrecios, FImprimirRefProveedor) then - FController.Print(APedidos, AllItems); + FController.Print(APedidos, AllItems, FImprimirPrecios, FImprimirRefProveedor); end; end; end; diff --git a/Source/Modulos/Recibos de cliente/Controller/uRecibosClienteController.pas b/Source/Modulos/Recibos de cliente/Controller/uRecibosClienteController.pas index c9510429..533a03c4 100644 --- a/Source/Modulos/Recibos de cliente/Controller/uRecibosClienteController.pas +++ b/Source/Modulos/Recibos de cliente/Controller/uRecibosClienteController.pas @@ -753,10 +753,13 @@ begin ANuevoReciboCliente := Duplicar(ARecibosCliente); ANuevoReciboCliente.Edit; ANuevoReciboCliente.REFERENCIA := DarNuevaReferencia(ARecibosCliente.ID_FACTURA, ARecibosCliente.REFERENCIA); -// ANuevoReciboCliente.ID := FDataModule.GetNextID(ARecibosCliente.DataTable.LogicalName); ANuevoReciboCliente.IMPORTE := ImporteRestante; ANuevoReciboCliente.DESCRIPCION := 'RECIBO ' + ANuevoReciboCliente.REFERENCIA + ' - ' + CifraToLetras(ImporteRestante); ANuevoReciboCliente.Post; + + ARecibosCliente.Edit; + ARecibosCliente.DESCRIPCION := 'RECIBO ' + ARecibosCliente.REFERENCIA + ' - ' + CifraToLetras(ARecibosCliente.IMPORTE); + ARecibosCliente.Post; end; //Primero debemos hacer el ApplyUpdates del recibo inicial por si fallase diff --git a/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas b/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas index 372a5e77..de4bd195 100644 --- a/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas +++ b/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas @@ -732,6 +732,10 @@ begin ANuevoReciboProveedor.IMPORTE := ImporteRestante; ANuevoReciboProveedor.DESCRIPCION := 'RECIBO ' + ANuevoReciboProveedor.REFERENCIA + ' - ' + CifraToLetras(ImporteRestante); ANuevoReciboProveedor.Post; + + ARecibosProveedor.Edit; + ARecibosProveedor.DESCRIPCION := 'RECIBO ' + ARecibosProveedor.REFERENCIA + ' - ' + CifraToLetras(ARecibosProveedor.IMPORTE); + ARecibosProveedor.Post; end; ARecibosProveedor.DataTable.ApplyUpdates; diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index eb933b50d29551051b4b08229b195aecb2737c7f..bb9d8bc2e3ea14dc05577dc3bf2c6d23690b7ff2 100644 GIT binary patch delta 478 zcmY+9F-rqM6okKB6A2=6m1Q^riYRCZ_7;jDXtc1nvpZChs4?L@3mg3na(}@hr66Ks zp?}2xU~3`H-L46FusggrZ)RtoUd{WPdCsDXAeftHT!vYK01P#{)dF1?(yf3c3>`PB z!Hn-hMp9I0Ha)ihRo{tQLZ0wp^RK9G1;5eeiq*_$YT5E{%f6iWwuHLPPvVCCG5LMG zc+e1U*k(YVAqm&q(H8bOAB$GYon3ldX}Y6x!zroyA(`%hRAuFl@!CU+brc%syeBS` zA{8dmPkS$y&imp!C0pbeDna4hp(~{;mteAYtc`>->H5NyOC|Ev#w{Oulb(P0KYkHo b@;MjsNV@~s-RfJ}bj18K-Y~8FJAU~CA)Z4! delta 199 zcmdn9opH%l#tkJASq1`JJPdHa$iT)RAi%)D$RNRx!3v_`JQfB9CI$rsh};Se1_ovX z52%BM!N342$H&0Hir}d-0L^4zSiv~?UW6PIkop&4q5-mp5h%*YU=OvM1!w|D1R1a~ lPL7IHVtT|dxh_&{@{>pnRzn6o27}2rqx2aKCv!$`1^_3?8v+0T diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index 329b132d..38026e01 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -129,10 +129,10 @@ uses schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas', schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas', schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas', - schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas', - schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas', schPedidosProveedorClient_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas', - schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas'; + schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_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 824967ed..1097c82e 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -35,7 +35,7 @@ Delphi.Personality -FalseTrueFalse/standaloneTrueFalse1610FalseFalseFalseFalseFalse308212521.6.1.01.6.1.0viernes, 09 de enero de 2009 17:27FactuGES_Server.dpr +FalseTrueFalse/standaloneTrueFalse1620FalseFalseFalseFalseFalse308212521.6.2.01.6.2.0viernes, 09 de enero de 2009 18:39FactuGES_Server.dpr diff --git a/Source/Servidor/uDataModuleServer.dfm b/Source/Servidor/uDataModuleServer.dfm index 4add0c65..573524be 100644 --- a/Source/Servidor/uDataModuleServer.dfm +++ b/Source/Servidor/uDataModuleServer.dfm @@ -39,8 +39,8 @@ object dmServer: TdmServer Name = 'IBX' ConnectionString = 'IBX?Server=localhost;Database=C:\Codigo Tecsitel\Output\Debug\Da' + - 'tabase\FACTUGES.FDB;UserID=sysdba;Password=masterkey;Dialect=3;C' + - 'harset=ISO8859_1;' + 'tabase\FACTUGES2.FDB;UserID=sysdba;Password=masterkey;Dialect=3;' + + 'Charset=ISO8859_1;' ConnectionType = 'Interbase' Default = True end>