diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index 20122d9b..da3f6797 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -295,7 +295,7 @@ CREATE TABLE ALBARANES_CLIENTE_DETALLES ( ID TIPO_ID NOT NULL, ID_ALBARAN TIPO_ID NOT NULL, POSICION INTEGER, - TIPO_DETALLE VARCHAR(10), + TIPO_DETALLE VARCHAR(25), ID_ARTICULO TIPO_ID, CONCEPTO TIPO_CONCEPTO, CANTIDAD INTEGER, @@ -351,7 +351,7 @@ CREATE TABLE ALBARANES_PROVEEDOR_DETALLES ( ID TIPO_ID NOT NULL, ID_ALBARAN TIPO_ID NOT NULL, POSICION INTEGER, - TIPO_DETALLE VARCHAR(10), + TIPO_DETALLE VARCHAR(25), ID_ARTICULO TIPO_ID, CONCEPTO TIPO_CONCEPTO, CANTIDAD INTEGER, @@ -681,7 +681,7 @@ CREATE TABLE FACTURAS_CLIENTE_DETALLES ( ID TIPO_ID NOT NULL, ID_FACTURA TIPO_ID NOT NULL, POSICION INTEGER, - TIPO_DETALLE VARCHAR(10), + TIPO_DETALLE VARCHAR(25), ID_ARTICULO TIPO_ID, CONCEPTO TIPO_CONCEPTO, CANTIDAD INTEGER, @@ -733,7 +733,7 @@ CREATE TABLE FACTURAS_PROVEEDOR_DETALLES ( ID TIPO_ID NOT NULL, ID_FACTURA TIPO_ID NOT NULL, POSICION INTEGER, - TIPO_DETALLE VARCHAR(10), + TIPO_DETALLE VARCHAR(25), ID_ARTICULO TIPO_ID, CONCEPTO TIPO_CONCEPTO, CANTIDAD INTEGER, @@ -884,7 +884,7 @@ CREATE TABLE PEDIDOS_CLIENTE_DETALLES ( ID TIPO_ID NOT NULL, ID_PEDIDO TIPO_ID NOT NULL, POSICION INTEGER, - TIPO_DETALLE VARCHAR(10), + TIPO_DETALLE VARCHAR(25), ID_ARTICULO TIPO_ID, CONCEPTO TIPO_CONCEPTO, CANTIDAD INTEGER, @@ -940,7 +940,7 @@ CREATE TABLE PEDIDOS_PROVEEDOR_DETALLES ( ID TIPO_ID NOT NULL, ID_PEDIDO TIPO_ID NOT NULL, POSICION INTEGER, - TIPO_DETALLE VARCHAR(10), + TIPO_DETALLE VARCHAR(25), ID_ARTICULO TIPO_ID, CONCEPTO TIPO_CONCEPTO, CANTIDAD INTEGER, @@ -1018,7 +1018,7 @@ CREATE TABLE PRESUPUESTOS_CLIENTE_DETALLES ( ID TIPO_ID NOT NULL, ID_PRESUPUESTO TIPO_ID NOT NULL, POSICION INTEGER, - TIPO_DETALLE VARCHAR(10), + TIPO_DETALLE VARCHAR(25), ID_ARTICULO TIPO_ID, CONCEPTO TIPO_CONCEPTO, CANTIDAD INTEGER, @@ -3394,15 +3394,13 @@ CREATE INDEX IDX_REMESAS_PROVEEDOR ON REMESAS_PROVEEDOR (ID_DATOS_BANCO); /******************************************************************************/ -SET TERM ^ ; - CREATE PROCEDURE PRO_PRES_CAPITULOS ( aid integer) returns ( id integer, id_presupuesto integer, posicion integer, - tipo_detalle varchar(10), + tipo_detalle varchar(25), concepto varchar(2000), importe_total numeric(11,2), visible smallint) @@ -3475,7 +3473,7 @@ begin for select id, id_presupuesto, posicion, tipo_detalle, F_RTFTOTEXT(concepto) as concepto, importe_total, coalesce(visible, 1) from presupuestos_cliente_detalles - where tipo_detalle = 'Titulo' and id_presupuesto = :AID + where ((tipo_detalle = 'Titulo') or (tipo_detalle = 'Titulo opcional'))and id_presupuesto = :AID order by id_presupuesto, posicion into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE, :CONCEPTO, :IMPORTE_TOTAL, :VISIBLE @@ -3491,7 +3489,7 @@ GRANT SELECT ON PRESUPUESTOS_CLIENTE_DETALLES TO PROCEDURE PRO_PRES_CAPITULOS; GRANT EXECUTE ON PROCEDURE PRO_PRES_CAPITULOS TO "PUBLIC"; GRANT EXECUTE ON PROCEDURE PRO_PRES_CAPITULOS TO SYSDBA; -SET TERM ^ ; +SET TERM ; ^ CREATE PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS ( aid integer) @@ -3499,7 +3497,7 @@ returns ( id integer, id_presupuesto integer, posicion integer, - tipo_detalle varchar(10), + tipo_detalle varchar(25), id_capitulo integer, id_articulo integer, referencia varchar(255), @@ -3529,7 +3527,7 @@ for select pre.id, pre.id_presupuesto, pre.posicion, pre.tipo_detalle, :IMPORTE_PORTE, :IMPORTE_TOTAL, :VISIBLE do begin - if (:tipo_detalle <> 'Concepto') then + if (:tipo_detalle <> 'Concepto') then begin capitulo_actual = :ID; ID_CAPITULO = capitulo_actual; @@ -3548,7 +3546,7 @@ GRANT SELECT ON ARTICULOS TO PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS; GRANT EXECUTE ON PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS TO "PUBLIC"; GRANT EXECUTE ON PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS TO SYSDBA; -SET TERM ^ ; +SET TERM ; ^ CREATE PROCEDURE PRO_PRES_RESUMEN ( aid integer) @@ -3556,7 +3554,7 @@ returns ( id integer, id_presupuesto integer, posicion integer, - tipo_detalle varchar(10), + tipo_detalle varchar(25), concepto varchar(2000), importe_total numeric(11,2), visible smallint) @@ -3567,6 +3565,7 @@ declare variable contador integer; declare variable existe numeric(11,2); declare variable total_acumulado numeric(11,2); declare variable concepto_capitulo varchar(2000); +declare variable tipo varchar(25); begin existe = 0; total_acumulado = 0.0; @@ -3574,6 +3573,7 @@ begin num_filas = 0; num_capitulos = 0; concepto_capitulo = ''; + tipo = ''; /* ¿Existe el presupuesto? */ for select count(*) @@ -3630,25 +3630,27 @@ begin end end - /* Tratar el resto de las filas */ for select id, id_presupuesto, posicion, tipo_detalle, F_RTFTOTEXT(concepto) as concepto, importe_total, coalesce(visible, 1) from presupuestos_cliente_detalles where id_presupuesto = :AID and - tipo_detalle in ('Titulo', 'Subtotal') + tipo_detalle in ('Titulo', 'Titulo opcional', 'Subtotal') order by posicion into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE, :CONCEPTO, :IMPORTE_TOTAL, :VISIBLE do begin - if (tipo_detalle = 'Titulo') then + contador = contador + 1; + if ((tipo_detalle = 'Titulo') or (tipo_detalle = 'Titulo opcional')) then begin concepto_capitulo = concepto; + tipo = tipo_detalle; end if (tipo_detalle = 'Subtotal') then begin concepto = concepto_capitulo; + tipo_detalle = tipo; suspend; end end @@ -3661,7 +3663,7 @@ GRANT SELECT ON PRESUPUESTOS_CLIENTE_DETALLES TO PROCEDURE PRO_PRES_RESUMEN; GRANT EXECUTE ON PROCEDURE PRO_PRES_RESUMEN TO "PUBLIC"; GRANT EXECUTE ON PROCEDURE PRO_PRES_RESUMEN TO SYSDBA; -SET TERM ^ ; +SET TERM ; ^ CREATE PROCEDURE PRO_ART_RECALCULAR_PVP ( id_empresa integer, diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj index aa2988cf..98224d23 100644 --- a/Source/Base/Base.dproj +++ b/Source/Base/Base.dproj @@ -44,6 +44,8 @@ Package FalseTrueFalseLibreria base de FactuGESFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + Microsoft Office 2000 Sample Automation Server Wrapper Components Microsoft Office XP Sample Automation Server Wrapper Components Base.dpk @@ -53,57 +55,57 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fConfigurarConexion
diff --git a/Source/Base/Controladores/uControllerDetallesBase.pas b/Source/Base/Controladores/uControllerDetallesBase.pas index f1ae2f00..7b8484ad 100644 --- a/Source/Base/Controladores/uControllerDetallesBase.pas +++ b/Source/Base/Controladores/uControllerDetallesBase.pas @@ -7,10 +7,10 @@ uses Classes, Variants, uDACDSDataTable, uDADataTable, uControllerBase, uCalculo const TIPO_DETALLE_CONCEPTO = 'Concepto'; TIPO_DETALLE_TITULO = 'Titulo'; + TIPO_DETALLE_TITULO_OPCIONAL = 'Titulo opcional'; TIPO_DETALLE_SUBTOTAL = 'Subtotal'; TIPO_DETALLE_SALTO = 'Salto'; TIPO_DETALLE_DESCUENTO = 'Descuento'; - TIPO_DETALLE_OPCIONAL = 'Opcional'; CTE_DESC_SALTO = 'SALTO DE PAGINA >>'; type @@ -35,7 +35,7 @@ type function LocalizarPosicion(ADataTable: IDAStronglyTypedDataTable; const APosicion: Integer): Boolean; procedure Renumerar(DataTable: TDADataTable; LocalizaPosicion: Integer); function DarListaTiposDetalle: TStringList; - procedure ValidarCierreCapitulos(ADataTable: IDAStronglyTypedDataTable); + procedure ValidarCierreCapitulos(ADataTable: IDAStronglyTypedDataTable); end; TControllerDetallesBase = class (TSujeto, IControllerDetallesBase) @@ -55,17 +55,17 @@ type //Si sobreescribimos este método podremos tener en cuenta otras columnas para el calculo del importe total de un concepto function CalcularImporteTotalConcepto(DataTable: TDADataTable): Double; virtual; procedure TratamientoDetalleConcepto(DataTable: TDADataTable); virtual; - procedure CalculoDetalleConcepto(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual; + procedure CalculoDetalleConcepto(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double; const Opcional: Boolean); virtual; procedure TratamientoDetalleSalto(DataTable: TDADataTable); virtual; procedure CalculoDetalleSalto(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual; procedure TratamientoDetalleTitulo(DataTable: TDADataTable); virtual; procedure CalculoDetalleTitulo(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual; + procedure TratamientoDetalleTituloOpcional(DataTable: TDADataTable); virtual; + procedure CalculoDetalleTituloOpcional(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual; procedure TratamientoDetalleSubtotal(DataTable: TDADataTable); virtual; procedure CalculoDetalleSubtotal(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual; procedure TratamientoDetalleDescuento(DataTable: TDADataTable); virtual; procedure CalculoDetalleDescuento(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual; - procedure TratamientoDetalleOpcional(DataTable: TDADataTable); virtual; - procedure CalculoDetalleOpcional(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual; //Si sobreescribimos este metodo es para continuar el CalcularTotales segun los tipos de concepto de los hijos function CalcularTotalesHijos(Modificar: boolean; DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double): Double; virtual; @@ -156,6 +156,7 @@ var AuxPosicion : Integer; AuxImporteAcumulado : Double; AuxImporteTotal : Double; + SemaforoOpcional: Boolean; begin if (DataTable.State in dsEditModes) then @@ -169,6 +170,7 @@ begin AuxPosicion := 0; AuxImporteAcumulado := 0; AuxImporteTotal := 0; + SemaforoOpcional := False; try DataTable.First; @@ -184,16 +186,26 @@ begin //TITULOS else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_TITULO) then begin + SemaforoOpcional := False; if Modificar then TratamientoDetalleTitulo(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos en hijos CalculoDetalleTitulo(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos end + //TITULOS OPCIONALES + else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_TITULO_OPCIONAL) then + begin + SemaforoOpcional := True; + if Modificar then + TratamientoDetalleTituloOpcional(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos en hijos + CalculoDetalleTituloOpcional(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos + end //SUBTOTAL else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_SUBTOTAL) then begin if Modificar then TratamientoDetalleSubtotal(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos CalculoDetalleSubtotal(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos + SemaforoOpcional := False; end //DESCUENTO DE CAPITULO else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_DESCUENTO) then @@ -207,14 +219,7 @@ begin begin if Modificar then TratamientoDetalleConcepto(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos - CalculoDetalleConcepto(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos - end - //OPCIONALES - else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_OPCIONAL) then - begin - if Modificar then - TratamientoDetalleOpcional(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos en hijos - CalculoDetalleOpcional(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos + CalculoDetalleConcepto(DataTable, AuxImporteAcumulado, AuxImporteTotal, SemaforoOpcional); //Se podrá sobreescribir para posibles nuevos calculos de los hijos end //HIJOS else CalcularTotalesHijos(Modificar, DataTable, AuxImporteAcumulado, AuxImporteTotal); @@ -238,12 +243,13 @@ begin Result := 0; end; -procedure TControllerDetallesBase.CalculoDetalleConcepto(DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double); +procedure TControllerDetallesBase.CalculoDetalleConcepto(DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double; const Opcional: Boolean); begin with DataTable do begin ImporteAcumulado := ImporteAcumulado + FieldByName(CAMPO_IMPORTE_TOTAL).AsFloat; - ImporteTotal := ImporteTotal + FieldByName(CAMPO_IMPORTE_TOTAL).AsFloat; + if not Opcional then + ImporteTotal := ImporteTotal + FieldByName(CAMPO_IMPORTE_TOTAL).AsFloat; end; end; @@ -262,12 +268,6 @@ begin end; end; -procedure TControllerDetallesBase.CalculoDetalleOpcional( - DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double); -begin - // No acumular ni sumar nada. -end; - procedure TControllerDetallesBase.CalculoDetalleSalto(DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double); begin with DataTable do @@ -296,6 +296,12 @@ begin // end; +procedure TControllerDetallesBase.CalculoDetalleTituloOpcional( + DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double); +begin +// +end; + procedure TControllerDetallesBase.Clear(ADataTable: IDAStronglyTypedDataTable); begin // @@ -310,11 +316,11 @@ function TControllerDetallesBase.DarListaTiposDetalle: TStringList; begin Result := TStringList.Create; Result.Values[TIPO_DETALLE_CONCEPTO] := TIPO_DETALLE_CONCEPTO; - Result.Values[TIPO_DETALLE_OPCIONAL] := TIPO_DETALLE_OPCIONAL; Result.Values[TIPO_DETALLE_TITULO] := TIPO_DETALLE_TITULO; + Result.Values[TIPO_DETALLE_TITULO_OPCIONAL] := TIPO_DETALLE_TITULO_OPCIONAL; Result.Values[TIPO_DETALLE_SUBTOTAL] := TIPO_DETALLE_SUBTOTAL; - //Result.Values[TIPO_DETALLE_DESCUENTO] := TIPO_DETALLE_DESCUENTO; - //Result.Values[TIPO_DETALLE_SALTO] := TIPO_DETALLE_SALTO; +// Result.Values[TIPO_DETALLE_DESCUENTO] := TIPO_DETALLE_DESCUENTO; +// Result.Values[TIPO_DETALLE_SALTO] := TIPO_DETALLE_SALTO; end; function TControllerDetallesBase.DarTotalImporteTotal(ADataTable: IDAStronglyTypedDataTable): Double; @@ -609,22 +615,6 @@ begin end; end; -procedure TControllerDetallesBase.TratamientoDetalleOpcional( - DataTable: TDADataTable); -begin - with DataTable do - begin - if not Editing then Edit; - //Si alguno de los campos de calculo de total es nulo el total tambien será nulo - if (VarIsNull(FieldByName(CAMPO_CANTIDAD).AsVariant) or - VarIsNull(FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant)) then - FieldByName(CAMPO_IMPORTE_TOTAL).AsVariant := Null - else - FieldByName(CAMPO_IMPORTE_TOTAL).AsFloat := CalcularImporteTotalConcepto(DataTable); - Post; - end; -end; - procedure TControllerDetallesBase.TratamientoDetalleSalto(DataTable: TDADataTable); begin with DataTable do @@ -665,6 +655,20 @@ begin end; end; +procedure TControllerDetallesBase.TratamientoDetalleTituloOpcional(DataTable: TDADataTable); +begin + with DataTable do + begin + if not Editing then Edit; + if (FieldByName(CAMPO_CONCEPTO).AsString = CTE_DESC_SALTO) then + FieldByName(CAMPO_CONCEPTO).AsVariant := Null; + FieldByName(CAMPO_CANTIDAD).AsVariant := Null; + FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null; + FieldByName(CAMPO_IMPORTE_TOTAL).AsVariant := Null; + Post; + end; +end; + procedure TControllerDetallesBase.ValidarCampos(DataTable: TDADataTable); var AField: TDAField; @@ -716,7 +720,7 @@ begin if (ATipoCampo = TIPO_DETALLE_SUBTOTAL) and bEnCapitulo then bEnCapitulo := False; - if (ATipoCampo = TIPO_DETALLE_TITULO) then + if ((ATipoCampo = TIPO_DETALLE_TITULO) or (ATipoCampo = TIPO_DETALLE_TITULO_OPCIONAL)) then begin if bEnCapitulo then begin diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj index e821b8fd..8442ccd8 100644 --- a/Source/Cliente/FactuGES.dproj +++ b/Source/Cliente/FactuGES.dproj @@ -54,7 +54,7 @@ Delphi.Personality VCLApplication -FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1310FalseFalseFalseFalseFalse30821252Rodax Software S.L.1.3.1.0FactuGESFactuGES1.3.1.0 +FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1330FalseFalseFalseFalseFalse30821252Rodax Software S.L.1.3.3.0FactuGESFactuGES1.3.3.0 diff --git a/Source/Cliente/FactuGES.rc b/Source/Cliente/FactuGES.rc index eb3acba8..e3334a06 100644 --- a/Source/Cliente/FactuGES.rc +++ b/Source/Cliente/FactuGES.rc @@ -1,7 +1,7 @@ MAINICON ICON "C:\Codigo Tecsitel\Resources\Iconos\Factuges.ico" 1 VERSIONINFO -FILEVERSION 1,3,1,0 -PRODUCTVERSION 1,3,1,0 +FILEVERSION 1,3,3,0 +PRODUCTVERSION 1,3,3,0 FILEFLAGSMASK 0x3FL FILEFLAGS 0x00L FILEOS 0x40004L @@ -13,10 +13,10 @@ BEGIN BLOCK "0C0A04E4" BEGIN VALUE "CompanyName", "Rodax Software S.L.\0" - VALUE "FileVersion", "1.3.1.0\0" + VALUE "FileVersion", "1.3.3.0\0" VALUE "InternalName", "FactuGES\0" VALUE "ProductName", "FactuGES\0" - VALUE "ProductVersion", "1.3.1.0\0" + VALUE "ProductVersion", "1.3.3.0\0" END END BLOCK "VarFileInfo" diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index dd627524..28cdca7e 100644 Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ diff --git a/Source/GUIBase/GUIBase.dproj b/Source/GUIBase/GUIBase.dproj index 040c5969..943c1950 100644 --- a/Source/GUIBase/GUIBase.dproj +++ b/Source/GUIBase/GUIBase.dproj @@ -58,30 +58,30 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
fDialogBase
diff --git a/Source/GUIBase/uViewDetallesBase.dfm b/Source/GUIBase/uViewDetallesBase.dfm index 9eee3243..99efb495 100644 --- a/Source/GUIBase/uViewDetallesBase.dfm +++ b/Source/GUIBase/uViewDetallesBase.dfm @@ -64,7 +64,7 @@ inherited frViewDetallesBase: TfrViewDetallesBase DroppedDownWidth = 145 MaxMRUCount = 0 FontName = 'Tahoma' - ItemIndex = 43 + ItemIndex = 42 Options = [foTrueTypeOnly, foNoOEMFonts, foScalableOnly, foWysiWyg] Sorted = True TabOrder = 2 @@ -969,6 +969,15 @@ inherited frViewDetallesBase: TfrViewDetallesBase Font.Name = 'Tahoma' Font.Style = [] end + object cxStyle_TITULO_OPCIONAL: TcxStyle + AssignedValues = [svColor, svFont] + Color = 546166271 + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + end end object cxGridPopupMenu: TcxGridPopupMenu Grid = cxGrid diff --git a/Source/GUIBase/uViewDetallesBase.pas b/Source/GUIBase/uViewDetallesBase.pas index f6ae04f3..b74e2312 100644 --- a/Source/GUIBase/uViewDetallesBase.pas +++ b/Source/GUIBase/uViewDetallesBase.pas @@ -103,7 +103,7 @@ type TBXItem9: TTBXItem; TBXItem10: TTBXItem; TBXItem11: TTBXItem; - cxStyle_SUBTOTAL: TcxStyle; + cxStyle_SUBTOTAL: TcxStyle; cxStyle_TITULO: TcxStyle; actAnchoAutomatico: TAction; TBXSeparatorItem5: TTBXSeparatorItem; @@ -144,6 +144,7 @@ type ExportaraMicrosoftExcel1: TMenuItem; actSeleccionarTodo: TAction; Seleccionartodo1: TMenuItem; + cxStyle_TITULO_OPCIONAL: TcxStyle; procedure actAnadirExecute(Sender: TObject); procedure actEliminarExecute(Sender: TObject); procedure actSubirExecute(Sender: TObject); @@ -714,6 +715,9 @@ begin if ATipo = TIPO_DETALLE_TITULO then AStyle := cxStyle_TITULO; + if ATipo = TIPO_DETALLE_TITULO_OPCIONAL then + AStyle := cxStyle_TITULO_OPCIONAL; + if ATipo = TIPO_DETALLE_SUBTOTAL then AStyle := cxStyle_SUBTOTAL; @@ -741,6 +745,14 @@ begin Result.Style := cxStyle_TITULO.Font.Style; end; + if ATipo = TIPO_DETALLE_TITULO_OPCIONAL then + begin + Result.Name := cxStyle_TITULO_OPCIONAL.Font.Name; + Result.Color := cxStyle_TITULO_OPCIONAL.TextColor; + Result.Size := cxStyle_TITULO_OPCIONAL.Font.Size; + Result.Style := cxStyle_TITULO_OPCIONAL.Font.Style; + end; + if ATipo = TIPO_DETALLE_SUBTOTAL then begin Result.Name := cxStyle_SUBTOTAL.Font.Name; @@ -809,6 +821,7 @@ begin else begin if (AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_SUBTOTAL) + or (AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_TITULO_OPCIONAL) or (AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_TITULO) then begin IndiceCol := cxGridView.GetColumnByFieldName(CAMPO_CONCEPTO).Index; diff --git a/Source/GUIBase/uViewDetallesDTO.dfm b/Source/GUIBase/uViewDetallesDTO.dfm index fb2c0f66..3cd9f00e 100644 --- a/Source/GUIBase/uViewDetallesDTO.dfm +++ b/Source/GUIBase/uViewDetallesDTO.dfm @@ -1,91 +1,51 @@ inherited frViewDetallesDTO: TfrViewDetallesDTO inherited ToolBar1: TToolBar - Height = 95 - ExplicitHeight = 95 inherited ToolButton1: TToolButton ExplicitWidth = 109 end - inherited ToolButton3: TToolButton [1] + inherited ToolButton2: TToolButton Left = 109 ExplicitLeft = 109 - end - inherited ToolButton2: TToolButton [2] - Left = 164 - ExplicitLeft = 164 ExplicitWidth = 114 end - inherited ToolButton14: TToolButton - Wrap = False + inherited ToolButton3: TToolButton + Left = 223 + ExplicitLeft = 223 end - inherited UpDown1: TUpDown [5] - Left = 121 - Top = 22 - ExplicitLeft = 121 - ExplicitTop = 22 - end - inherited ToolButton11: TToolButton [6] - Left = 137 - Top = 22 - ExplicitLeft = 137 - ExplicitTop = 22 - end - inherited FontSize: TEdit [7] + inherited ToolButton4: TToolButton Left = 278 - Top = 22 - Width = 41 ExplicitLeft = 278 - ExplicitTop = 22 + end + inherited ToolButton14: TToolButton + Left = 334 + ExplicitLeft = 334 + end + inherited FontSize: TEdit + Width = 41 ExplicitWidth = 41 end - inherited ToolButton7: TToolButton [8] - Left = 319 - Top = 22 - Wrap = True - ExplicitLeft = 319 - ExplicitTop = 22 + inherited UpDown1: TUpDown + Left = 186 + ExplicitLeft = 186 end - inherited FontName: TJvFontComboBox [9] + inherited ToolButton13: TToolButton + Left = 202 + ExplicitLeft = 202 end - inherited ToolButton6: TToolButton [10] - Left = 145 - ExplicitLeft = 145 + inherited ToolButton6: TToolButton + Left = 210 + ExplicitLeft = 210 end - inherited ToolButton13: TToolButton [11] - Left = 0 - Wrap = True - ExplicitLeft = 0 - ExplicitHeight = 27 + inherited ToolButton7: TToolButton + Left = 276 + ExplicitLeft = 276 end - inherited ToolButton9: TToolButton [12] - Left = 0 - Top = 71 - ExplicitLeft = 0 - ExplicitTop = 71 - end - inherited ToolButton12: TToolButton [13] - Left = 145 - Top = 71 - ExplicitLeft = 145 - ExplicitTop = 71 - end - inherited ToolButton10: TToolButton - Left = 153 - Top = 71 - ExplicitLeft = 153 - ExplicitTop = 71 - end - inherited ToolButton8: TToolButton [15] - Left = 278 - Top = 71 - ExplicitLeft = 278 - ExplicitTop = 71 + inherited ToolButton8: TToolButton + Left = 343 + ExplicitLeft = 343 end end inherited cxGrid: TcxGrid - Top = 121 - Height = 183 - ExplicitTop = 121 - ExplicitHeight = 210 inherited cxGridView: TcxGridDBTableView object cxGridViewDESCUENTO: TcxGridDBColumn [7] Caption = 'Dto' @@ -125,9 +85,6 @@ inherited frViewDetallesDTO: TfrViewDetallesDTO end end end - inherited TBXDock1: TTBXDock - Top = 95 - end inherited ActionListContenido: TActionList inherited actAnadir: TAction Caption = 'A'#241'adir concepto' diff --git a/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.dfm b/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.dfm index b3a3cf30..11a81413 100644 --- a/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.dfm +++ b/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.dfm @@ -322,7 +322,7 @@ inherited DataModuleAlbaranesCliente: TDataModuleAlbaranesCliente item Name = 'TIPO_DETALLE' DataType = datString - Size = 10 + Size = 25 DictionaryEntry = 'AlbaranesCliente_Detalles_TIPO_DETALLE' end item diff --git a/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteClient_Intf.pas b/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteClient_Intf.pas index 5f816303..70197cba 100644 --- a/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteClient_Intf.pas +++ b/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteClient_Intf.pas @@ -9,8 +9,8 @@ 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_AlbaranesCliente = '{8E9C9E82-769C-4B9B-BBCD-15E8ABB5F341}'; - RID_AlbaranesCliente_Detalles = '{7438D3A0-220D-4882-8919-09C4E9995672}'; + RID_AlbaranesCliente = '{C4ACA983-2E79-43A3-A993-241191F525D6}'; + RID_AlbaranesCliente_Detalles = '{7B5B9AEF-8781-448C-A9BC-13D967D43796}'; { Data table names } nme_AlbaranesCliente = 'AlbaranesCliente'; @@ -137,7 +137,7 @@ const type { IAlbaranesCliente } IAlbaranesCliente = interface(IDAStronglyTypedDataTable) - ['{7E7930B1-64D6-483A-AC1C-2CE60F883F41}'] + ['{AF7FDCDE-1C18-4F3A-861D-EE8F29667409}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -628,7 +628,7 @@ type { IAlbaranesCliente_Detalles } IAlbaranesCliente_Detalles = interface(IDAStronglyTypedDataTable) - ['{08CCA27A-C500-4A1D-BEE3-ED4A8D8E8726}'] + ['{80EB5D35-8AC0-4C15-A379-BE154FF2B8E2}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); diff --git a/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteServer_Intf.pas b/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteServer_Intf.pas index 613c38af..91ec85ff 100644 --- a/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteServer_Intf.pas +++ b/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteServer_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_AlbaranesClienteDelta = '{65D47153-FD9F-44D6-8200-78DC3F9417AC}'; - RID_AlbaranesCliente_DetallesDelta = '{3FF81C35-8B1C-4F7D-95EA-8F11EF184F45}'; + RID_AlbaranesClienteDelta = '{D9971B77-2B74-450A-A0FB-9923C629A09B}'; + RID_AlbaranesCliente_DetallesDelta = '{C5DD9D52-6097-4080-A97E-435B4D387C4E}'; type { IAlbaranesClienteDelta } IAlbaranesClienteDelta = interface(IAlbaranesCliente) - ['{65D47153-FD9F-44D6-8200-78DC3F9417AC}'] + ['{D9971B77-2B74-450A-A0FB-9923C629A09B}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -507,7 +507,7 @@ type { IAlbaranesCliente_DetallesDelta } IAlbaranesCliente_DetallesDelta = interface(IAlbaranesCliente_Detalles) - ['{3FF81C35-8B1C-4F7D-95EA-8F11EF184F45}'] + ['{C5DD9D52-6097-4080-A97E-435B4D387C4E}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_ALBARANValue : Integer; diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm index acafde66..f6c3f18f 100644 --- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm +++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm @@ -49,7 +49,6 @@ object RptAlbaranesCliente: TRptAlbaranesCliente end object schReport: TDASchema ConnectionManager = dmServer.ConnectionManager - DataDictionary = DataDictionary Datasets = < item Params = < @@ -253,17 +252,17 @@ object RptAlbaranesCliente: TRptAlbaranesCliente StatementType = stSQL ColumnMappings = < item - DatasetField = 'CANTIDAD' - TableField = 'CANTIDAD' + DatasetField = 'ID' + TableField = 'ID' + end + item + DatasetField = 'ID_ALBARAN' + TableField = 'ID_ALBARAN' end item DatasetField = 'POSICION' TableField = 'POSICION' end - item - DatasetField = 'ID' - TableField = 'ID' - end item DatasetField = 'TIPO_DETALLE' TableField = 'TIPO_DETALLE' @@ -272,6 +271,14 @@ object RptAlbaranesCliente: TRptAlbaranesCliente DatasetField = 'CONCEPTO' TableField = 'CONCEPTO' end + item + DatasetField = 'CANTIDAD' + TableField = 'CANTIDAD' + end + item + DatasetField = 'UNIDAD_MEDIDA' + TableField = 'UNIDAD_MEDIDA' + end item DatasetField = 'IMPORTE_UNIDAD' TableField = 'IMPORTE_UNIDAD' @@ -282,15 +289,8 @@ object RptAlbaranesCliente: TRptAlbaranesCliente end item DatasetField = 'REFERENCIA' - TableField = 'REFERENCIA' - end - item - DatasetField = 'ID_ALBARAN' - TableField = 'ID_ALBARAN' - end - item - DatasetField = 'UNIDAD_MEDIDA' - TableField = 'UNIDAD_MEDIDA' + TableField = '' + SQLOrigin = 'REFERENCIA' end> end> Name = 'Informe_Detalles' @@ -310,7 +310,7 @@ object RptAlbaranesCliente: TRptAlbaranesCliente item Name = 'TIPO_DETALLE' DataType = datString - Size = 10 + Size = 25 end item Name = 'CONCEPTO' @@ -425,7 +425,7 @@ object RptAlbaranesCliente: TRptAlbaranesCliente item Name = 'TIPO_DETALLE' DataType = datString - Size = 10 + Size = 25 end item Name = 'CONCEPTO' @@ -464,200 +464,6 @@ object RptAlbaranesCliente: TRptAlbaranesCliente Left = 48 Top = 16 end - object DataDictionary: TDADataDictionary - Fields = < - item - Name = 'FacturasCliente_ID' - DataType = datAutoInc - Required = True - DisplayLabel = 'ID' - end - item - Name = 'FacturasCliente_ID_EMPRESA' - DataType = datInteger - DisplayLabel = 'ID_EMPRESA' - end - item - Name = 'FacturasCliente_ID_CONTRATO' - DataType = datInteger - DisplayLabel = 'ID_CONTRATO' - end - item - Name = 'FacturasCliente_FECHA_FACTURA' - DataType = datDateTime - DisplayLabel = 'Fecha de las factura' - end - item - Name = 'FacturasCliente_VENCIMIENTO' - DataType = datInteger - DisplayLabel = 'Vencimiento' - end - item - Name = 'FacturasCliente_SITUACION' - DataType = datString - Size = 255 - DisplayLabel = 'Situaci'#243'n' - end - item - Name = 'FacturasCliente_BASE_IMPONIBLE' - DataType = datFloat - DisplayLabel = 'Base imponible' - Alignment = taRightJustify - end - item - Name = 'FacturasCliente_IMPORTE_DESCUENTO' - DataType = datFloat - DisplayLabel = 'Importe dto.' - Alignment = taRightJustify - end - item - Name = 'FacturasCliente_IMPORTE_IVA' - DataType = datFloat - DisplayLabel = 'Importe IVA' - Alignment = taRightJustify - end - item - Name = 'FacturasCliente_IMPORTE_TOTAL' - DataType = datFloat - DisplayLabel = 'Importe total' - Alignment = taRightJustify - end - item - Name = 'FacturasCliente_FORMA_PAGO' - DataType = datMemo - DisplayLabel = 'Forma de pago' - end - item - Name = 'FacturasCliente_ID_CLIENTE' - DataType = datInteger - DisplayLabel = 'ID_CLIENTE' - end - item - Name = 'FacturasCliente_NIF_CIF' - DataType = datString - Size = 15 - DisplayLabel = 'NIF/CIF' - end - item - Name = 'FacturasCliente_CODIGO_POSTAL' - DataType = datString - Size = 10 - DisplayLabel = 'C'#243'd. postal' - end - item - Name = 'FacturasCliente_FECHA_ALTA' - DataType = datDateTime - DisplayLabel = 'FECHA_ALTA' - end - item - Name = 'FacturasCliente_FECHA_MODIFICACION' - DataType = datDateTime - DisplayLabel = 'FECHA_MODIFICACION' - end - item - Name = 'FacturasCliente_OBSERVACIONES' - DataType = datMemo - DisplayLabel = 'Observaciones' - end - item - Name = 'FacturasCliente_NOMBRE' - DataType = datString - Size = 100 - DisplayLabel = 'Cliente' - end - item - Name = 'FacturasCliente_CALLE' - DataType = datString - Size = 150 - DisplayLabel = 'Direcci'#243'n' - end - item - Name = 'FacturasCliente_PROVINCIA' - DataType = datString - Size = 30 - DisplayLabel = 'Provincia' - end - item - Name = 'FacturasCliente_POBLACION' - DataType = datString - Size = 150 - DisplayLabel = 'Poblaci'#243'n' - end - item - Name = 'FacturasCliente_IVA' - DataType = datFloat - DisplayLabel = 'IVA' - end - item - Name = 'FacturasCliente_USUARIO' - DataType = datString - Size = 100 - DisplayLabel = 'USUARIO' - end - item - Name = 'FacturasCliente_REFERENCIA' - DataType = datString - Size = 20 - DisplayLabel = 'Referencia' - end - item - Name = 'FacturasCliente_DESCUENTO' - DataType = datFloat - DisplayLabel = 'Dto.' - end - item - Name = 'FacturasCliente_Detalles_ID' - DataType = datAutoInc - Required = True - DisplayLabel = 'ID' - end - item - Name = 'FacturasCliente_Detalles_ID_FACTURA' - DataType = datInteger - DisplayLabel = 'ID_FACTURA' - end - item - Name = 'FacturasCliente_Detalles_TIPO_DETALLE' - DataType = datString - Size = 10 - DisplayLabel = 'Tipo detalle' - end - item - Name = 'FacturasCliente_Detalles_CONCEPTO' - DataType = datString - Size = 2000 - DisplayLabel = 'Concepto' - end - item - Name = 'FacturasCliente_Detalles_IMPORTE_UNIDAD' - DataType = datFloat - DisplayLabel = 'Importe unidad' - Alignment = taRightJustify - end - item - Name = 'FacturasCliente_Detalles_IMPORTE_TOTAL' - DataType = datFloat - DisplayLabel = 'Importe total' - Alignment = taRightJustify - end - item - Name = 'FacturasCliente_Detalles_VISIBLE' - DataType = datInteger - DisplayLabel = #191'Visible?' - end - item - Name = 'FacturasCliente_Detalles_POSICION' - DataType = datInteger - DisplayLabel = 'Posici'#243'n' - end - item - Name = 'FacturasCliente_Detalles_CANTIDAD' - DataType = datInteger - DisplayLabel = 'Cantidad' - end> - Left = 46 - Top = 158 - end object frxReport: TfrxReport Version = '4.3' DotMatrixReport = False @@ -1093,7 +899,7 @@ object RptAlbaranesCliente: TRptAlbaranesCliente item Name = 'TIPO_DETALLE' DataType = datString - Size = 10 + Size = 25 end item Name = 'CONCEPTO' diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas index e3ada53d..0eb96409 100644 --- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas +++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas @@ -61,7 +61,6 @@ type tbl_Detalles: TDAMemDataTable; frxPDFExport1: TfrxPDFExport; schReport: TDASchema; - DataDictionary: TDADataDictionary; procedure DataModuleCreate(Sender: TObject); private FConnection: IDAConnection; diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptWordAlbaranCliente.dfm b/Source/Modulos/Albaranes de cliente/Reports/uRptWordAlbaranCliente.dfm index b02bbf38..d4a5c4b7 100644 --- a/Source/Modulos/Albaranes de cliente/Reports/uRptWordAlbaranCliente.dfm +++ b/Source/Modulos/Albaranes de cliente/Reports/uRptWordAlbaranCliente.dfm @@ -213,6 +213,10 @@ object RptWordAlbaranCliente: TRptWordAlbaranCliente DatasetField = 'ID' TableField = 'ID' end + item + DatasetField = 'ID_ALBARAN' + TableField = 'ID_ALBARAN' + end item DatasetField = 'POSICION' TableField = 'POSICION' @@ -225,29 +229,25 @@ object RptWordAlbaranCliente: TRptWordAlbaranCliente DatasetField = 'CONCEPTO' TableField = 'CONCEPTO' end - item - DatasetField = 'IMPORTE_TOTAL' - TableField = 'IMPORTE_TOTAL' - end item DatasetField = 'CANTIDAD' TableField = 'CANTIDAD' end + item + DatasetField = 'UNIDAD_MEDIDA' + TableField = 'UNIDAD_MEDIDA' + end item DatasetField = 'IMPORTE_UNIDAD' TableField = 'IMPORTE_UNIDAD' end item - DatasetField = 'ID_ALBARAN' - TableField = 'ID_ALBARAN' + DatasetField = 'IMPORTE_TOTAL' + TableField = 'IMPORTE_TOTAL' end item DatasetField = 'REFERENCIA' TableField = 'REFERENCIA' - end - item - DatasetField = 'UNIDAD_MEDIDA' - TableField = 'UNIDAD_MEDIDA' end> end> Name = 'Informe_Detalles' @@ -268,7 +268,7 @@ object RptWordAlbaranCliente: TRptWordAlbaranCliente item Name = 'TIPO_DETALLE' DataType = datString - Size = 10 + Size = 25 end item Name = 'CONCEPTO' @@ -437,7 +437,7 @@ object RptWordAlbaranCliente: TRptWordAlbaranCliente item Name = 'TIPO_DETALLE' DataType = datString - Size = 10 + Size = 25 end item Name = 'CONCEPTO' diff --git a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm index 99cd388a..ec58154e 100644 --- a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm +++ b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm @@ -510,7 +510,7 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente item Name = 'TIPO_DETALLE' DataType = datString - Size = 10 + Size = 25 DictionaryEntry = 'AlbaranesCliente_Detalles_TIPO_DETALLE' end item @@ -1363,7 +1363,7 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente item Name = 'AlbaranesCliente_Detalles_TIPO_DETALLE' DataType = datString - Size = 10 + Size = 25 DisplayLabel = 'TIPO_DETALLE' end item diff --git a/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm index 8330e5d2..9e323d17 100644 --- a/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm +++ b/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm @@ -309,7 +309,7 @@ inherited DataModuleAlbaranesProveedor: TDataModuleAlbaranesProveedor item Name = 'TIPO_DETALLE' DataType = datString - Size = 10 + Size = 25 DictionaryEntry = 'AlbaranesProveedor_Detalles_TIPO_DETALLE' end item diff --git a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas index bd282bfd..ac0cf027 100644 --- a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas +++ b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas @@ -9,8 +9,8 @@ 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_AlbaranesProveedor = '{AEA50745-91B1-4767-BD4C-0342B4369E7F}'; - RID_AlbaranesProveedor_Detalles = '{D4FA78EC-16C7-4A90-91B8-3A82A4E7E76A}'; + RID_AlbaranesProveedor = '{7DB07FA1-C594-4F6F-A3AB-62B8AAE9EFA5}'; + RID_AlbaranesProveedor_Detalles = '{7FCFF51E-1B40-47EE-BC5C-3925F440AD37}'; { Data table names } nme_AlbaranesProveedor = 'AlbaranesProveedor'; @@ -135,7 +135,7 @@ const type { IAlbaranesProveedor } IAlbaranesProveedor = interface(IDAStronglyTypedDataTable) - ['{748AC7A5-9E6C-468E-BE35-CF169E6ADBC8}'] + ['{AAF09857-D18A-4696-9964-9A7FE0E23C0F}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -602,7 +602,7 @@ type { IAlbaranesProveedor_Detalles } IAlbaranesProveedor_Detalles = interface(IDAStronglyTypedDataTable) - ['{7E9AB0E2-DB09-4CE4-9893-F72625C02A01}'] + ['{09211C9C-4122-4F30-83FC-886D245B8952}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); diff --git a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas index 9de9f444..fd52a382 100644 --- a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas +++ b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_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_AlbaranesProveedorDelta = '{4D8E87E2-EC7B-4811-8361-AF6CA86C03AA}'; - RID_AlbaranesProveedor_DetallesDelta = '{54442582-9203-4008-9E87-3F639EBDA771}'; + RID_AlbaranesProveedorDelta = '{2A2F0AD1-E371-4938-9505-C0733D91A9EE}'; + RID_AlbaranesProveedor_DetallesDelta = '{1371B0E5-5F40-4895-9EE0-1ED3CAB202B3}'; type { IAlbaranesProveedorDelta } IAlbaranesProveedorDelta = interface(IAlbaranesProveedor) - ['{4D8E87E2-EC7B-4811-8361-AF6CA86C03AA}'] + ['{2A2F0AD1-E371-4938-9505-C0733D91A9EE}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -483,7 +483,7 @@ type { IAlbaranesProveedor_DetallesDelta } IAlbaranesProveedor_DetallesDelta = interface(IAlbaranesProveedor_Detalles) - ['{54442582-9203-4008-9E87-3F639EBDA771}'] + ['{1371B0E5-5F40-4895-9EE0-1ED3CAB202B3}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_ALBARANValue : Integer; diff --git a/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm b/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm index 224d9774..7a41b531 100644 --- a/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm +++ b/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm @@ -502,7 +502,7 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor item Name = 'TIPO_DETALLE' DataType = datString - Size = 10 + Size = 25 DictionaryEntry = 'AlbaranesProveedor_Detalles_TIPO_DETALLE' end item @@ -1340,7 +1340,7 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor item Name = 'AlbaranesProveedor_Detalles_TIPO_DETALLE' DataType = datString - Size = 10 + Size = 25 DisplayLabel = 'TIPO_DETALLE' end item diff --git a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm index dc004c7a..0c8be22b 100644 --- a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm +++ b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm @@ -2,7 +2,6 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos Caption = 'Seleccionar art'#237'culos' ClientWidth = 656 ExplicitWidth = 664 - ExplicitHeight = 240 PixelsPerInch = 96 TextHeight = 13 object JvgWizardHeader1: TJvgWizardHeader [0] @@ -56,10 +55,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos inherited tbxMain: TTBXToolbar Align = alLeft DockPos = -6 - ExplicitWidth = 126 - inherited TBXItem2: TTBXItem - Visible = False - end + ExplicitWidth = 283 inherited TBXItem5: TTBXItem Visible = False end @@ -74,12 +70,12 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos end end inherited tbxFiltro: TTBXToolbar - Left = 126 + Left = 283 Top = 23 Align = alLeft DockPos = 101 DockRow = 1 - ExplicitLeft = 126 + ExplicitLeft = 283 ExplicitTop = 23 inherited TBXItem34: TTBXItem Action = actQuitarFiltro2 @@ -89,11 +85,11 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos ExplicitWidth = 656 end inherited TBXTMain2: TTBXToolbar - Left = 463 + Left = 620 Top = 23 DockPos = 395 DockRow = 1 - ExplicitLeft = 463 + ExplicitLeft = 620 ExplicitTop = 23 end end @@ -104,7 +100,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos end inline frViewBarraSeleccion1: TfrViewBarraSeleccion [4] Left = 0 - Top = 376 + Top = 436 Width = 656 Height = 49 Align = alBottom @@ -116,7 +112,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos ParentFont = False TabOrder = 0 ReadOnly = False - ExplicitTop = 376 + ExplicitTop = 436 ExplicitWidth = 656 inherited JvFooter1: TJvFooter Width = 656 diff --git a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.pas b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.pas index bb140451..acc49cd4 100644 --- a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.pas +++ b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.pas @@ -44,6 +44,9 @@ type procedure SetViewGrid(const Value: IViewGridBase); override; procedure SetMensaje (const AValue: String); function GetMensaje: String; + + procedure NuevoInterno; override; + public property Mensaje : String read GetMensaje write SetMensaje; property ArticulosSeleccionados: IBizArticulo read GetArticulosSeleccionados; @@ -99,7 +102,7 @@ begin raise Exception.Create('No hay ningún articulo asignado'); Articulos.DataTable.Active := True; - EditorActionList.State := asSuspended; +// EditorActionList.State := asSuspended; end; procedure TfEditorElegirArticulos.frViewBarraSeleccion1actCancelarExecute( @@ -150,6 +153,38 @@ begin Result := ViewGrid.MultiSelect; end; +procedure TfEditorElegirArticulos.NuevoInterno; +var + AArticulo: IBizArticulo; + +begin + inherited; + AArticulo := FController.Nuevo; + if not AArticulo.DataTable.Active then + AArticulo.DataTable.Active := True; + + FController.Ver(AArticulo); + Articulos.DataTable.Refresh; + +{ + if (FViewGrid._Grid.ActiveLevel.Tag = 1) then + AArticulo := FController.Nuevo + else + begin + AArticulo := Articulos; + FController.Anadir(AArticulo); + end; + + if not AArticulo.DataTable.Active then + AArticulo.DataTable.Active := True; + + FController.Ver(AArticulo); + + if (FViewGrid._Grid.ActiveLevel.Tag = 1) then + Articulos.DataTable.Refresh; +} +end; + procedure TfEditorElegirArticulos.SetArticulos(const Value: IBizArticulo); begin FArticulos := Value; diff --git a/Source/Modulos/Articulos/Views/uViewDetallesArticulos.dfm b/Source/Modulos/Articulos/Views/uViewDetallesArticulos.dfm index f75a0771..57a51744 100644 --- a/Source/Modulos/Articulos/Views/uViewDetallesArticulos.dfm +++ b/Source/Modulos/Articulos/Views/uViewDetallesArticulos.dfm @@ -46,8 +46,6 @@ inherited frViewDetallesArticulos: TfrViewDetallesArticulos end end inherited cxGrid: TcxGrid - ExplicitTop = 99 - ExplicitHeight = 205 inherited cxGridView: TcxGridDBTableView inherited cxGridViewTIPO: TcxGridDBColumn MinWidth = 69 diff --git a/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas index 202fc5c0..63df8b8d 100644 --- a/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas +++ b/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas @@ -3,7 +3,7 @@ unit uDetallesFacturaClienteController; interface uses - uDADataTable, uControllerDetallesArticulos, uBizDetallesFacturaCliente, uIDataModuleFacturasCliente, + Classes, uDADataTable, uControllerDetallesArticulos, uBizDetallesFacturaCliente, uIDataModuleFacturasCliente, uBizContactos, uBizArticulos; type @@ -32,6 +32,8 @@ type function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double; public + function DarListaTiposDetalle: TStringList; override; + procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True; const ACantidad: Integer = 1); overload; procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload; @@ -126,6 +128,17 @@ begin FDataModule := TDataModuleFacturasCliente.Create(Nil); end; +function TDetallesFacturaClienteController.DarListaTiposDetalle: TStringList; +begin + Result := TStringList.Create; + Result.Values[TIPO_DETALLE_CONCEPTO] := TIPO_DETALLE_CONCEPTO; + Result.Values[TIPO_DETALLE_TITULO] := TIPO_DETALLE_TITULO; +// Result.Values[TIPO_DETALLE_TITULO_OPCIONAL] := TIPO_DETALLE_TITULO_OPCIONAL; + Result.Values[TIPO_DETALLE_SUBTOTAL] := TIPO_DETALLE_SUBTOTAL; +// Result.Values[TIPO_DETALLE_DESCUENTO] := TIPO_DETALLE_DESCUENTO; +// Result.Values[TIPO_DETALLE_SALTO] := TIPO_DETALLE_SALTO; +end; + function TDetallesFacturaClienteController.DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double; begin Result := DarTotalPorte(ADetalles); diff --git a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas index c22be6e6..887c9a1d 100644 --- a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas +++ b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas @@ -1082,6 +1082,7 @@ begin and (MonthOf(AFechaVencimiento) = 3) and (DayOf(AFechaVencimiento) < 3) then AFechaVencimiento := IncDay(AFechaVencimiento, - DayOf(AFechaVencimiento)); + ARecibos.FECHA_EMISION := AFactura.FECHA_FACTURA; ARecibos.FECHA_VENCIMIENTO := AFechaVencimiento; ARecibos.IMPORTE := AFactura.IMPORTE_TOTAL * (AFormaPago.Plazos.PORCENTAJE / 100); diff --git a/Source/Modulos/Facturas de cliente/Data/FacturasCliente_data.dproj b/Source/Modulos/Facturas de cliente/Data/FacturasCliente_data.dproj index f4aa6191..9ff48890 100644 --- a/Source/Modulos/Facturas de cliente/Data/FacturasCliente_data.dproj +++ b/Source/Modulos/Facturas de cliente/Data/FacturasCliente_data.dproj @@ -42,7 +42,7 @@ Delphi.Personality Package -FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0FacturasCliente_data.dpk +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0FacturasCliente_data.dpk
@@ -58,7 +58,7 @@