git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES/trunk@4 3f40d355-893c-4141-8e64-b1d9be72e7e7
655 lines
20 KiB
ObjectPascal
655 lines
20 KiB
ObjectPascal
{
|
|
===============================================================================
|
|
Copyright (©) 2002. Rodax Software.
|
|
===============================================================================
|
|
Los contenidos de este fichero son propiedad de Rodax Software titular del
|
|
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
|
|
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
|
|
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
|
|
bajo el que se suministra.
|
|
-----------------------------------------------------------------------------
|
|
Web: www.rodax-software.com
|
|
===============================================================================
|
|
Fecha primera versión: 02-12-2002
|
|
Versión actual: 1.0.0
|
|
Fecha versión actual: 02-12-2002
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
===============================================================================
|
|
}
|
|
|
|
unit PresupuestosClientes;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Db, Menus, am2000menuitem, am2000popupmenu, am2000, RdxBarras,
|
|
RdxBotones, Grids, DBGrids, RXDBCtrl, Classes, Controls, RdxFrame,
|
|
ExtCtrls, RdxPaneles, RdxFramePresupuestos, Dialogs, Configuracion,
|
|
Graphics, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxEdit, cxDBData,
|
|
cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
|
|
cxGridTableView, cxGridDBTableView, cxGrid, Entidades,
|
|
ActnList, cxContainer, cxTextEdit, cxMaskEdit, cxDropDownEdit, StdCtrls,
|
|
am2000utils, cxDataStorage;
|
|
|
|
type
|
|
TfrPresupuestosClientes = class(TRdxFramePresupuestos)
|
|
pnlCuerpo: TRdxPanel;
|
|
pnlGrid: TRdxPanel;
|
|
pnlCabecera: TRdxBarraSuperior;
|
|
bModificar: TRdxBotonSuperior;
|
|
bEliminar: TRdxBotonSuperior;
|
|
bConsultar: TRdxBotonSuperior;
|
|
dsPresupuestos: TDataSource;
|
|
brSeleccion: TRdxBarraInferior;
|
|
bSeleccionar: TRdxBoton;
|
|
bCancelar: TRdxBoton;
|
|
brSimple: TRdxBarraInferior;
|
|
bSalir: TRdxBoton;
|
|
gridPresupuestos: TcxGrid;
|
|
gridPresupuestosDBTableView1: TcxGridDBTableView;
|
|
gridPresupuestosLevel1: TcxGridLevel;
|
|
bSeparador1: TShape;
|
|
bBuscar: TRdxBotonSuperior;
|
|
MenuOpciones: TPopupMenu2000;
|
|
Empresa: TMenuItem2000;
|
|
MenuItem20002: TMenuItem2000;
|
|
Contadores: TMenuItem2000;
|
|
MenuItem1: TMenuItem2000;
|
|
menuAnadir: TPopupMenu2000;
|
|
mnNuevo: TMenuItem2000;
|
|
MenuItem20004: TMenuItem2000;
|
|
mnCopiar: TMenuItem2000;
|
|
Acciones: TActionList;
|
|
actModificar: TAction;
|
|
actEliminar: TAction;
|
|
actConsultar: TAction;
|
|
MenuItem2: TMenuItem2000;
|
|
MenuItem3: TMenuItem2000;
|
|
bImprimir: TRdxBotonSuperior;
|
|
actImprimir: TAction;
|
|
actSeleccionar: TAction;
|
|
actCancelar: TAction;
|
|
actAceptar: TAction;
|
|
MenuItem4: TMenuItem2000;
|
|
MenuItem5: TMenuItem2000;
|
|
pnlExtra: TRdxBarraSuperior;
|
|
bAceptar: TRdxBoton;
|
|
bAnular: TRdxBoton;
|
|
MenuItem6: TMenuItem2000;
|
|
MenuItem7: TMenuItem2000;
|
|
MenuItem8: TMenuItem2000;
|
|
MenuItem9: TMenuItem2000;
|
|
actAnadir: TAction;
|
|
MenuItem10: TMenuItem2000;
|
|
MenuItem11: TMenuItem2000;
|
|
MenuItem12: TMenuItem2000;
|
|
MenuItem13: TMenuItem2000;
|
|
MenuItem14: TMenuItem2000;
|
|
bAnadir: TRdxBotonMenu;
|
|
MenuItem15: TMenuItem2000;
|
|
MenuItem16: TMenuItem2000;
|
|
Panel1: TPanel;
|
|
bSeparador2: TShape;
|
|
eFamilia: TLabel;
|
|
cbxDocumento: TcxComboBox;
|
|
actAceptarPresupuesto: TAction;
|
|
actRechazarPresupuesto: TAction;
|
|
imgSombra: TImage;
|
|
bRefrescar: TRdxBoton;
|
|
Shape1: TShape;
|
|
actRefrescarDatos: TAction;
|
|
Panel2: TPanel;
|
|
eNombre: TLabel;
|
|
Buscar: TcxTextEdit;
|
|
bLimpiar: TRdxBoton;
|
|
procedure bSeleccionarClick(Sender: TObject);
|
|
procedure bCancelarClick(Sender: TObject);
|
|
procedure bSalirClick(Sender: TObject);
|
|
procedure RdxFramePresupuestosShow(Sender: TObject);
|
|
procedure gridPresupuestosDBTableView1DblClick(Sender: TObject);
|
|
procedure actSeleccionarExecute(Sender: TObject);
|
|
procedure actCancelarExecute(Sender: TObject);
|
|
procedure actAceptarExecute(Sender: TObject);
|
|
procedure actModificarExecute(Sender: TObject);
|
|
procedure actEliminarExecute(Sender: TObject);
|
|
procedure actConsultarExecute(Sender: TObject);
|
|
procedure actAnadirExecute(Sender: TObject);
|
|
procedure cbxFamiliaPropertiesEditValueChanged(
|
|
Sender: TObject);
|
|
procedure actAnadirCocinaExecute(Sender: TObject);
|
|
procedure actImprimirExecute(Sender: TObject);
|
|
procedure actAnadirBanoExecute(Sender: TObject);
|
|
procedure actAnadirArmariosExecute(Sender: TObject);
|
|
procedure actAnadirElectroExecute(Sender: TObject);
|
|
procedure gridPresupuestosDBTableView1CustomDrawCell(
|
|
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
|
|
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
|
procedure actAceptarPresupuestoUpdate(Sender: TObject);
|
|
procedure actRechazarPresupuestoUpdate(Sender: TObject);
|
|
procedure actAceptarPresupuestoExecute(Sender: TObject);
|
|
procedure actRechazarPresupuestoExecute(Sender: TObject);
|
|
procedure actAnadirCopiaExecute(Sender: TObject);
|
|
procedure actRefrescarDatosExecute(Sender: TObject);
|
|
procedure BuscarPropertiesChange(Sender: TObject);
|
|
procedure bLimpiarClick(Sender: TObject);
|
|
private
|
|
FCodContrato : String;
|
|
procedure ActualizarBotones;
|
|
protected
|
|
procedure FreeContenido; override;
|
|
procedure BuscarPresupuesto; override;
|
|
procedure ActualizarBarras; override;
|
|
procedure SetContenido (NuevoFrame : TRdxFrame); override;
|
|
procedure CambiarModo(ModoAnterior, Modo : TRdxModo); override;
|
|
procedure VerModal; override;
|
|
public
|
|
constructor Create (AOwner : TComponent); override;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
var
|
|
frPresupuestosClientes: TfrPresupuestosClientes;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
|
|
uses
|
|
Variants, TablaPresupuestos, BaseDatos, IBCustomDataSet, TablaDocumentos,
|
|
Mensajes, Sysutils, PresupuestoCliente, Literales, RechazarPresupuestoCliente,
|
|
ImprimirPresupuestosCliente, AceptarPresupuestoCliente, RdxDBFrame,
|
|
TablaContratos, StrFunc, ContratoCliente, SysFunc;
|
|
|
|
{ TfrPresupuestosClientes }
|
|
|
|
procedure TfrPresupuestosClientes.BuscarPresupuesto;
|
|
begin
|
|
with TablaPresupuestos do
|
|
begin
|
|
DisableControls;
|
|
Close;
|
|
Open;
|
|
dmTablaPresupuestos.InicializarTablaPresupuestos(@TablaPresupuestos);
|
|
ActualizarBotones;
|
|
|
|
EnableControls;
|
|
if not Locate('CODIGO', CodigoPresupuesto, []) then
|
|
gridPresupuestosDBTableView1.Controller.GoToFirst
|
|
else
|
|
gridPresupuestosDBTableView1.Controller.TopRowIndex := gridPresupuestosDBTableView1.Controller.FocusedRowIndex;
|
|
end;
|
|
end;
|
|
|
|
constructor TfrPresupuestosClientes.Create(AOwner: TComponent);
|
|
begin
|
|
inherited Create(AOwner);
|
|
Entidad := entPresupuestoCliente;
|
|
|
|
BaseDatos := dmBaseDatos.BD;
|
|
Transaccion := dmBaseDatos.Transaccion;
|
|
TablaPresupuestos := TIBDataSet.Create(Self);
|
|
dsPresupuestos.DataSet := TablaPresupuestos;
|
|
|
|
with TablaPresupuestos do
|
|
begin
|
|
DisableControls;
|
|
Database := BaseDatos;
|
|
Transaction := Transaccion;
|
|
SelectSQL.Assign(dmTablaPresupuestos.sqlConsultarGridPresupuestos);
|
|
RefreshSQL.Assign(dmTablaPresupuestos.sqlConsultarGridPresupuestos);
|
|
Prepare;
|
|
Open;
|
|
ActualizarBotones;
|
|
EnableControls;
|
|
end;
|
|
|
|
dmTablaPresupuestos.InicializarTablaPresupuestos(@TablaPresupuestos);
|
|
dmTablaPresupuestos.InicializarGridPresupuestos(gridPresupuestos);
|
|
gridPresupuestosDBTableView1.Controller.GoToFirst;
|
|
|
|
cbxDocumento.Properties.Items.Add('Todos');
|
|
cbxDocumento.Properties.Items.AddStrings(dmTablaDocumentos.DarDocumentos);
|
|
cbxDocumento.ItemIndex := 0;
|
|
end;
|
|
|
|
destructor TfrPresupuestosClientes.Destroy;
|
|
begin
|
|
TablaPresupuestos.Close;
|
|
TablaPresupuestos.UnPrepare;
|
|
TablaPresupuestos.Free;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.FreeContenido;
|
|
begin
|
|
if (Contenido is TRdxFramePresupuestos) then
|
|
CodigoPresupuesto := (Contenido as TRdxFramePresupuestos).CodigoPresupuesto;
|
|
inherited FreeContenido;
|
|
//gridPresupuestos.SetFocus;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.bSeleccionarClick(Sender: TObject);
|
|
begin
|
|
CodigoPresupuesto := TablaPresupuestos.FieldByName('CODIGO').AsString;
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.bCancelarClick(Sender: TObject);
|
|
begin
|
|
FCodigoPresupuesto := NULL;
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.bSalirClick(Sender: TObject);
|
|
begin
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.ActualizarBarras;
|
|
begin
|
|
inherited;
|
|
case Modo of
|
|
Consultar : begin
|
|
if BarraSeleccion <> NIL then BarraSeleccion.Visible := False;
|
|
if BarraSalir <> NIL then BarraSalir.Visible := True;
|
|
if BarraOperacion <> NIL then BarraOperacion.Visible := False;
|
|
end;
|
|
{ Facturar : begin
|
|
if BarraSeleccion <> NIL then BarraSeleccion.Visible := True;
|
|
if BarraSalir <> NIL then BarraSalir.Visible := False;
|
|
if BarraOperacion <> NIL then BarraOperacion.Visible := False;
|
|
end;}
|
|
end;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.ActualizarBotones;
|
|
begin
|
|
if BaseDatos.IsReadOnly then
|
|
begin
|
|
actAnadir.Enabled := False;
|
|
actModificar.Enabled := False;
|
|
actEliminar.Enabled := False;
|
|
actConsultar.Enabled := True;
|
|
actImprimir.Enabled := True;
|
|
actAceptarPresupuesto.Enabled := False;
|
|
actRechazarPresupuesto.Enabled := False;
|
|
Exit;
|
|
end;
|
|
|
|
if TablaPresupuestos.RecordCount = 0 then
|
|
begin
|
|
actAnadir.Enabled := True;
|
|
actModificar.Enabled := False;
|
|
actEliminar.Enabled := False;
|
|
actConsultar.Enabled := False;
|
|
actImprimir.Enabled := False;
|
|
actAceptarPresupuesto.Enabled := False;
|
|
actRechazarPresupuesto.Enabled := False;
|
|
end
|
|
else begin
|
|
actAnadir.Enabled := True;
|
|
actModificar.Enabled := True;
|
|
actEliminar.Enabled := True;
|
|
actConsultar.Enabled := True;
|
|
actImprimir.Enabled := True;
|
|
actAceptarPresupuesto.Enabled := True;
|
|
actRechazarPresupuesto.Enabled := True;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.RdxFramePresupuestosShow(
|
|
Sender: TObject);
|
|
begin
|
|
Buscar.SetFocus
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.gridPresupuestosDBTableView1DblClick(
|
|
Sender: TObject);
|
|
begin
|
|
if Modo in [Seleccionar, Contratar] then
|
|
actSeleccionar.Execute
|
|
else
|
|
actModificar.Execute;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actSeleccionarExecute(Sender: TObject);
|
|
begin
|
|
CodigoPresupuesto := TablaPresupuestos.FieldByName('CODIGO').AsString;
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actCancelarExecute(Sender: TObject);
|
|
begin
|
|
FCodigoPresupuesto := NULL;
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actAceptarExecute(Sender: TObject);
|
|
begin
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actModificarExecute(Sender: TObject);
|
|
begin
|
|
if TablaPresupuestos.FieldByName('SITUACION').AsString = 'ACEPTADO' then
|
|
begin
|
|
VerMensaje('No se puede modificar este presupuesto porque está aceptado.');
|
|
Exit;
|
|
end;
|
|
|
|
Contenido := TfrPresupuestoCliente.Create(Self);
|
|
Contenido.Modo := Modificar;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actEliminarExecute(Sender: TObject);
|
|
begin
|
|
if TablaPresupuestos.FieldByName('SITUACION').AsString = 'ACEPTADO' then
|
|
begin
|
|
VerMensaje('No se puede eliminar este presupuesto porque está aceptado.');
|
|
Exit;
|
|
end;
|
|
|
|
Contenido := TfrPresupuestoCliente.Create(Self);
|
|
Contenido.Modo := Eliminar;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actConsultarExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrPresupuestoCliente.Create(Self);
|
|
Contenido.Modo := Consultar;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actAnadirExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrPresupuestoCliente.Create(Self);
|
|
Contenido.Entidad := entPresupuestoVarios;
|
|
Contenido.Modo := Anadir;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.cbxFamiliaPropertiesEditValueChanged(
|
|
Sender: TObject);
|
|
var
|
|
Columna : TcxGridDBColumn;
|
|
TextoDocumento : String;
|
|
begin
|
|
TextoDocumento := cbxDocumento.Text;
|
|
with gridPresupuestos.ActiveView.DataController.Filter do
|
|
begin
|
|
BeginUpdate;
|
|
try
|
|
Columna := (gridPresupuestos.ActiveView as TcxGridDBTableView).GetColumnByFieldName('DESCRIPCION');
|
|
if UpperCase(TextoDocumento) = 'TODOS' then
|
|
begin
|
|
Columna.Visible := True;
|
|
Entidad := entPresupuestoCliente;
|
|
Clear;
|
|
end
|
|
else begin
|
|
Columna.Visible := False;
|
|
Root.Clear;
|
|
Root.AddItem(Columna, foEqual, TextoDocumento, 'DESCRIPCION');
|
|
Active := True;
|
|
Entidad := dmTablaDocumentos.DarEntidadDocumento(entPresupuestoCliente,TablaPresupuestos.FieldByName('CODIGODOCUMENTO').AsString);
|
|
end;
|
|
finally
|
|
EndUpdate;
|
|
gridPresupuestos.ActiveView.DataController.GotoFirst;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actAnadirCocinaExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrPresupuestoCliente.Create(Self);
|
|
Contenido.Entidad := entPresupuestoCocina;
|
|
Contenido.Modo := Anadir;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actImprimirExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrImprimirPresupuestosCliente.Create(Self);
|
|
Contenido.Modo := Imprimir;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actAnadirBanoExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrPresupuestoCliente.Create(Self);
|
|
Contenido.Entidad := entPresupuestoBano;
|
|
Contenido.Modo := Anadir;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actAnadirArmariosExecute(
|
|
Sender: TObject);
|
|
begin
|
|
Contenido := TfrPresupuestoCliente.Create(Self);
|
|
Contenido.Entidad := entPresupuestoArmarios;
|
|
Contenido.Modo := Anadir;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actAnadirElectroExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrPresupuestoCliente.Create(Self);
|
|
Contenido.Entidad := entPresupuestoElectro;
|
|
Contenido.Modo := Anadir;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.SetContenido(NuevoFrame: TRdxFrame);
|
|
begin
|
|
inherited;
|
|
if (Contenido is TfrImprimirPresupuestosCliente) then
|
|
(Contenido as TfrImprimirPresupuestosCliente).CodigoPresupuesto := FCodigoPresupuesto;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.gridPresupuestosDBTableView1CustomDrawCell(
|
|
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
|
|
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
|
var
|
|
IndiceCol : Integer;
|
|
begin
|
|
if not AViewInfo.Selected then
|
|
begin
|
|
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName('SITUACION').Index;
|
|
if UpperCase(AViewInfo.GridRecord.DisplayTexts[IndiceCol]) = 'RECHAZADO' then
|
|
ACanvas.Canvas.Font.Color := clGray;
|
|
if UpperCase(AViewInfo.GridRecord.DisplayTexts[IndiceCol]) = 'ACEPTADO' then
|
|
ACanvas.Canvas.Font.Color := clNavy;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actAceptarPresupuestoUpdate(
|
|
Sender: TObject);
|
|
begin
|
|
if (TablaPresupuestos.RecordCount > 0) then
|
|
begin
|
|
if (UpperCase(TablaPresupuestos.FieldByName('SITUACION').AsString) = 'ACEPTADO') then
|
|
(Sender as TAction).Enabled := False
|
|
else
|
|
(Sender as TAction).Enabled := True;
|
|
end
|
|
else
|
|
(Sender as TAction).Enabled := False;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actRechazarPresupuestoUpdate(
|
|
Sender: TObject);
|
|
begin
|
|
if (TablaPresupuestos.RecordCount > 0) then
|
|
begin
|
|
if (UpperCase(TablaPresupuestos.FieldByName('SITUACION').AsString) = 'RECHAZADO') then
|
|
(Sender as TAction).Enabled := False
|
|
else
|
|
(Sender as TAction).Enabled := True;
|
|
end
|
|
else
|
|
(Sender as TAction).Enabled := False;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actAceptarPresupuestoExecute(
|
|
Sender: TObject);
|
|
var
|
|
SituacionAux : String;
|
|
ContenidoAux : TfrContratoCliente;
|
|
begin
|
|
CodigoPresupuesto := TablaPresupuestos.FieldByName('CODIGO').AsString;
|
|
SituacionAux := UpperCase(TablaPresupuestos.FieldByName('SITUACION').AsString);
|
|
|
|
if SituacionAux = 'ACEPTADO' then
|
|
begin
|
|
VerMensajeFmt(msgCliPreYaAceptado, [FCodigoPresupuesto]);
|
|
exit;
|
|
end;
|
|
|
|
if SituacionAux = 'RECHAZADO' then
|
|
begin
|
|
case VerMensajePreguntaFmt(msgCliCambiarAAceptar, [FCodigoPresupuesto]) of
|
|
IDNO : Exit;
|
|
end
|
|
end;
|
|
|
|
frAceptarPresupuestoCliente := TfrAceptarPresupuestoCliente.Create(Self);
|
|
with frAceptarPresupuestoCliente do
|
|
begin
|
|
try
|
|
frAceptarPresupuestoCliente.CodigoPresupuesto := Self.CodigoPresupuesto;
|
|
ShowModal;
|
|
|
|
if ModalResult in [mrCancel] then
|
|
Rollback
|
|
else begin
|
|
BuscarPresupuesto;
|
|
if ModalResult = mrYes then // Dar de alta el contrato del presupuesto
|
|
begin
|
|
FCodContrato := dmTablaContratos.CrearContrato(CodigoPresupuesto);
|
|
if EsCadenaVacia(FCodContrato) then
|
|
begin
|
|
Rollback;
|
|
VerMensaje('No se ha podido crear el contrato')
|
|
end
|
|
else begin
|
|
Commit;
|
|
VerMensajeFmt('El contrato asociado a este presupuesto es %s.', [FCodContrato])
|
|
end;
|
|
end
|
|
else // NO dar de alta el contrato del presupuesto
|
|
Commit;
|
|
end;
|
|
finally
|
|
Free;
|
|
BuscarPresupuesto;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actRechazarPresupuestoExecute(
|
|
Sender: TObject);
|
|
var
|
|
SituacionAux : String;
|
|
begin
|
|
CodigoPresupuesto := TablaPresupuestos.FieldByName('CODIGO').AsString;
|
|
SituacionAux := UpperCase(TablaPresupuestos.FieldByName('SITUACION').AsString);
|
|
|
|
if SituacionAux = 'RECHAZADO' then
|
|
begin
|
|
VerMensajeFmt(msgCliPreYaRechazado, [FCodigoPresupuesto]);
|
|
Exit;
|
|
end;
|
|
|
|
if SituacionAux = 'ACEPTADO' then
|
|
begin
|
|
if not EsCadenaVacia(dmTablaPresupuestos.DarContratoDelPresupuesto(CodigoPresupuesto)) then
|
|
begin
|
|
VerMensajeFmt(msgCliPreConContrato, [CodigoPresupuesto]);
|
|
Exit;
|
|
end
|
|
else
|
|
case VerMensajePreguntaFmt(msgCliCambiarARechazar, [FCodigoPresupuesto]) of
|
|
IDNO : Exit;
|
|
end
|
|
end;
|
|
|
|
frRechazarPresupuestoCliente := TfrRechazarPresupuestoCliente.Create(Self);
|
|
with frRechazarPresupuestoCliente do
|
|
begin
|
|
try
|
|
frRechazarPresupuestoCliente.CodigoPresupuesto := Self.CodigoPresupuesto;
|
|
ShowModal;
|
|
|
|
if ModalResult = mrOK then
|
|
Commit
|
|
else
|
|
Rollback;
|
|
BuscarPresupuesto;
|
|
finally
|
|
Free;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.CambiarModo(ModoAnterior,
|
|
Modo: TRdxModo);
|
|
begin
|
|
with TablaPresupuestos do
|
|
begin
|
|
Close;
|
|
case Modo of
|
|
Contratar : begin
|
|
SelectSQL.Assign(dmTablaPresupuestos.sqlConsultarGridPresupuestosContratar);
|
|
BarraExtra.Visible := False;
|
|
end
|
|
else
|
|
BarraExtra.Visible := True;
|
|
end;
|
|
end;
|
|
inherited;
|
|
dmTablaPresupuestos.InicializarTablaPresupuestos(@TablaPresupuestos);
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.VerModal;
|
|
begin
|
|
if (ContenidoModal is TfrContratoCliente) then
|
|
(ContenidoModal as TfrContratoCliente).CodigoContrato := FCodContrato;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actAnadirCopiaExecute(Sender: TObject);
|
|
var
|
|
FCodAux : String;
|
|
begin
|
|
CodigoPresupuesto := TablaPresupuestos.FieldByName('CODIGO').AsString;
|
|
FCodAux := dmTablaPresupuestos.CopiarPresupuesto(CodigoPresupuesto);
|
|
if EsCadenaVacia(FCodAux) then
|
|
begin
|
|
Rollback;
|
|
VerMensaje('No se ha podido copiar el presupuesto')
|
|
end
|
|
else begin
|
|
FCodigoPresupuesto := FCodAux;
|
|
Commit;
|
|
VerMensajeFmt('El presupuesto nuevo es el %s', [FCodAux])
|
|
end;
|
|
BuscarPresupuesto;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.actRefrescarDatosExecute(
|
|
Sender: TObject);
|
|
begin
|
|
FCodigoPresupuesto := TablaPresupuestos.FieldByName('CODIGO').AsString;
|
|
BuscarPresupuesto;
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.BuscarPropertiesChange(Sender: TObject);
|
|
begin
|
|
FiltrarGrid(gridPresupuestos, Buscar.Text);
|
|
end;
|
|
|
|
procedure TfrPresupuestosClientes.bLimpiarClick(Sender: TObject);
|
|
begin
|
|
Buscar.Text := '';
|
|
end;
|
|
|
|
end.
|