From 7c88065942813cdfd12c9df305387d68bd119afc Mon Sep 17 00:00:00 2001 From: roberto Date: Wed, 7 Nov 2007 09:56:27 +0000 Subject: [PATCH] Mejora, poder cambiar situacion de facturas de proveedor git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES/trunk@9 3f40d355-893c-4141-8e64-b1d9be72e7e7 --- BaseDatos/TablaFacturasProveedor.pas | 43 ++++++++++++++++++++++++++ Clientes/CambiarSituacionFacturas.dfm | 3 +- Clientes/CambiarSituacionFacturas.pas | 17 +++++++--- Clientes/FacturasClientes.dfm | 1 + Clientes/FacturasClientes.pas | 1 + Proveedores/FacturasProveedores.dfm | Bin 17587 -> 18614 bytes Proveedores/FacturasProveedores.pas | 28 ++++++++++++++++- Temp/FACTUGES.INI | 2 +- 8 files changed, 87 insertions(+), 8 deletions(-) diff --git a/BaseDatos/TablaFacturasProveedor.pas b/BaseDatos/TablaFacturasProveedor.pas index c941922..cfab33f 100644 --- a/BaseDatos/TablaFacturasProveedor.pas +++ b/BaseDatos/TablaFacturasProveedor.pas @@ -20,6 +20,7 @@ --------------------------------------------------------------------------- 02-02-2004 Se ha eliminado el atributo SERIE (P8 MULTIEMPRESA) Se ha adaptado a los nuevos contadores + =============================================================================== } @@ -154,6 +155,7 @@ type function DarTiposOpDesTrimestral(var ListaCodigos: TStrings): TStrings; function ComprobarTrimestreFactura(CodigoFactura: String): Boolean; function AsignarTrimestre(CodigoFactura: String; CodigoTrimestre: String): Boolean; + function ModificarSituacionFacturas(Codigos: TStrings; Situacion: String): Boolean; end; var @@ -1194,6 +1196,47 @@ begin end; end; +function TdmTablaFacturasProveedor.ModificarSituacionFacturas(Codigos: TStrings; Situacion: String): Boolean; +var + oSQL : TIBSQL; + Indice : Integer; + Cadena : String; +begin + Result := False; + if Codigos.Count = 0 then + Exit; + + //Formateamos los códigos para optimizar la sentencia SQL + for Indice:=0 to Codigos.Count-1 do + begin + if (Indice <> 0) then + Cadena := Cadena + ','; + Cadena := Cadena + '''' + Codigos.Strings[Indice] + ''''; + end; + + oSQL := TIBSQL.Create(Self); + with oSQL do + begin + Database := dmBaseDatos.BD; + Transaction := dmBaseDatos.Transaccion; + SQL.Add('update FACTURASPROVEEDOR '); + SQL.Add('set SITUACION = :SITUACION '); + SQL.Add('where CODIGOEMPRESA = :CODIGOEMPRESA '); + SQL.Add('and CODIGO IN (' + Cadena + ')'); + ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo; + ParamByName('SITUACION').AsString := Situacion; + try + Prepare; + ExecQuery; + Result := True; + finally + Close; + Transaction := NIL; + Free; + end; + end; +end; + { TDatosFacturaProveedor } procedure TDatosFacturaProveedor.AssignTo(Dest: TPersistent); diff --git a/Clientes/CambiarSituacionFacturas.dfm b/Clientes/CambiarSituacionFacturas.dfm index f6e7afe..affa55a 100644 --- a/Clientes/CambiarSituacionFacturas.dfm +++ b/Clientes/CambiarSituacionFacturas.dfm @@ -84,13 +84,12 @@ object frCambiarSituacionFacturas: TfrCambiarSituacionFacturas object cbxSituacion: TcxComboBox Left = 96 Top = 19 - Width = 169 - Height = 21 ParentFont = False Properties.DropDownListStyle = lsFixedList Properties.ReadOnly = False Style.StyleController = dmConfiguracion.cxEstiloEditoresFondoClaro TabOrder = 0 + Width = 169 end end object brDoble: TRdxBarraInferior diff --git a/Clientes/CambiarSituacionFacturas.pas b/Clientes/CambiarSituacionFacturas.pas index 85b6d2e..63a0d7f 100644 --- a/Clientes/CambiarSituacionFacturas.pas +++ b/Clientes/CambiarSituacionFacturas.pas @@ -29,7 +29,7 @@ uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, StdCtrls, RdxBotones, RdxBarras, ExtCtrls, - RdxPaneles, TablaTrimestres; + RdxPaneles, TablaTrimestres, cxGraphics, Entidades; type TfrCambiarSituacionFacturas = class(TForm) @@ -46,12 +46,14 @@ type procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private + FEntidad: TRdxEntidad; FCodigosFacturas : TStringList; FSituacion : String; procedure SetSituacion(Value : String); public property CodigosFacturas : TStringList read FCodigosFacturas write FCodigosFacturas; property Situacion : String read FSituacion write SetSituacion; + property Entidad: TRdxEntidad read FEntidad Write FEntidad; end; var @@ -60,16 +62,22 @@ var implementation uses - Mensajes, Literales, BaseDatos, Configuracion, Entidades, RdxEmpresaActiva, - TablaFacturasCliente, StrFunc; + Mensajes, Literales, BaseDatos, Configuracion, RdxEmpresaActiva, + TablaFacturasCliente, TablaFacturasProveedor, StrFunc, Math; {$R *.dfm} procedure TfrCambiarSituacionFacturas.bAceptarClick(Sender: TObject); var Indice :Integer; + Resultado: Boolean; begin - if not dmTablaFacturasCliente.ModificarSituacionFacturas(CodigosFacturas, cbxSituacion.Text) then + if Entidad = entFacturaProveedor then + Resultado := dmTablaFacturasProveedor.ModificarSituacionFacturas(CodigosFacturas, cbxSituacion.Text) + else + Resultado := dmTablaFacturasCliente.ModificarSituacionFacturas(CodigosFacturas, cbxSituacion.Text); + + if not Resultado then begin dmBaseDatos.Rollback; exit; @@ -81,6 +89,7 @@ end; procedure TfrCambiarSituacionFacturas.FormCreate(Sender: TObject); begin inherited; + FEntidad := entFacturaCliente; //Por defecto tratara los documentos de facturas de cliente FCodigosFacturas := TStringList.Create; cbxSituacion.Properties.Items := dmTablaFacturasCliente.DarSituaciones; cbxSituacion.ItemIndex := 0; diff --git a/Clientes/FacturasClientes.dfm b/Clientes/FacturasClientes.dfm index 38ecdf6..b7d6af8 100644 --- a/Clientes/FacturasClientes.dfm +++ b/Clientes/FacturasClientes.dfm @@ -343,6 +343,7 @@ object frFacturasClientes: TfrFacturasClientes OptionsView.GridLines = glHorizontal OptionsView.GroupByBox = False OptionsView.HeaderEndEllipsis = True + OptionsView.NewItemRowInfoText = 'Click here to add a new row' OptionsView.RowSeparatorColor = 14280169 Styles.StyleSheet = dmConfiguracion.StyleSheetGrid end diff --git a/Clientes/FacturasClientes.pas b/Clientes/FacturasClientes.pas index 2fa9c4a..d235fa2 100644 --- a/Clientes/FacturasClientes.pas +++ b/Clientes/FacturasClientes.pas @@ -468,6 +468,7 @@ var begin fCambiarSituacionFacturas := TfrCambiarSituacionFacturas.Create(Self); + fCambiarSituacionFacturas.Entidad := entFacturaCliente; //Rellenamos la propiedad de la unidad CambiarSituacion con los códigos seleccionados IndiceCol1 := gridFacturasDBTableView1.GetColumnByFieldName('CODIGO').Index; diff --git a/Proveedores/FacturasProveedores.dfm b/Proveedores/FacturasProveedores.dfm index a5432a76ddd504a4e8d0c8e0640b19a7cbd9304b..8c6efee849c70ffc8b61e31226f3834fc137b60e 100644 GIT binary patch delta 407 zcmdno$+&GI;{+L|X&xKpB*o-p{0mAl^Ye;>Q*%<2K`cGr(wve^2$yrSx!8WC0M3x0 zlnST(lKec*B)7!mlG38YA{L+2v=Zi42Ii3b0w!kG@XVBw4CWRFHjmWI^o$ZFVKzsw zY3#y4_0Ea8Ntua7!I>qciOE1KCflnkEPi6jBy7aZzyQJm3=nKPbK&F(thV)nPyiAK z0!BE^2$B$B6oAqY9z-#t05UDW08sHSG1sEWzv675}lebuyGBR#{WpSK4l|2OF u6>L6XcTNNcpNJ69nNV*k6hr)Zcyk`7f1YbaYI12wD!UYxaDd8zya)h*RAF2I delta 28 kcmdlsk#Tb;;{+L|$u1k^B*iv|itSh0Jk4e|HxmN`0G31vRR910 diff --git a/Proveedores/FacturasProveedores.pas b/Proveedores/FacturasProveedores.pas index 0ee3eba..5bb63a9 100644 --- a/Proveedores/FacturasProveedores.pas +++ b/Proveedores/FacturasProveedores.pas @@ -83,6 +83,8 @@ type eNombre: TLabel; Buscar: TcxTextEdit; bLimpiar: TRdxBoton; + bFacturar: TRdxBoton; + actCambiarSituacion: TAction; procedure RdxFrameFacturasProveedorShow(Sender: TObject); procedure actAnadirExecute(Sender: TObject); procedure actModificarExecute(Sender: TObject); @@ -101,6 +103,7 @@ type procedure actRefrescarDatosExecute(Sender: TObject); procedure BuscarPropertiesChange(Sender: TObject); procedure bLimpiarClick(Sender: TObject); + procedure actCambiarSituacionExecute(Sender: TObject); private procedure ActualizarBotones; protected @@ -123,7 +126,7 @@ implementation { TfrFacturasProveedores } uses - BaseDatos, TablaFacturasProveedor, IBDatabase, + BaseDatos, TablaFacturasProveedor, IBDatabase, CambiarSituacionFacturas, IBCustomDataSet, Mensajes, Entidades, Variants, FacturaProveedor, Constantes, FacturasProveedorPendientes, TablaEmpresas, Configuracion; @@ -332,4 +335,27 @@ begin Buscar.Text := ''; end; +procedure TfrFacturasProveedores.actCambiarSituacionExecute(Sender: TObject); +var + IndiceCol1 : Integer; + IndiceSel : Integer; + fCambiarSituacionFacturas : TfrCambiarSituacionFacturas; + +begin + fCambiarSituacionFacturas := TfrCambiarSituacionFacturas.Create(Self); + fCambiarSituacionFacturas.Entidad := entFacturaProveedor; + + //Rellenamos la propiedad de la unidad CambiarSituacion con los códigos seleccionados + IndiceCol1 := gridFacturasDBTableView1.GetColumnByFieldName('CODIGO').Index; + for IndiceSel:=0 to gridFacturasDBTableView1.Controller.SelectedRowCount-1 do + fCambiarSituacionFacturas.CodigosFacturas.Append(gridFacturasDBTableView1.Controller.SelectedRows[IndiceSel].Values[IndiceCol1]); + + try + fCambiarSituacionFacturas.ShowModal; + finally + fCambiarSituacionFacturas.Free; + bRefrescar.Click; + end; +end; + end. diff --git a/Temp/FACTUGES.INI b/Temp/FACTUGES.INI index b7f3a08..44c0b0b 100644 --- a/Temp/FACTUGES.INI +++ b/Temp/FACTUGES.INI @@ -2,7 +2,7 @@ ACANA DAVID T=david:t:\Codigo Acana\bd\acana.gdb ACANA DAVID=david:D:\Proyectos\FactuGES 2000 v2 (Acana)\Codigo\bd\acana.gdb ACANA ALCALÁ LOCAL=david:D:\Proyectos\FactuGES 2000 v2 (Acana)\Codigo\bd\acana_alcala.gdb -ACANA ROBERTO=ROBERTO:e:\codigo (acana)\bd\acana.gdb +ACANA ROBERTO=ROBERTO:T:\Acana\bd\acana.gdb ACANA VALDEBERNARDO=acana2.dynalias.org:c:\rodax software\factuges acana\bd\acana.gdb ACANA alcala=acana.dynalias.org:c:\rodax software\factuges acana\bd\acana.gdb