Ticket #78 -> Al aceptar un presupuesto, que se pregunte si se quiere generar ya el contrato

git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@452 f4e31baf-9722-1c47-927c-6f952f962d4b
This commit is contained in:
David Arranz 2009-10-29 18:26:07 +00:00
parent 22346814f2
commit 2d6bd98bc9
19 changed files with 345 additions and 270 deletions

View File

@ -58,29 +58,34 @@
<DelphiCompile Include="GUIBase.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="Base.dcp" />
<DCCReference Include="ccpackD11.dcp" />
<DCCReference Include="cxDataD11.dcp" />
<DCCReference Include="cxEditorsD11.dcp" />
<DCCReference Include="cxExportD11.dcp" />
<DCCReference Include="cxLibraryD11.dcp" />
<DCCReference Include="dbrtl.dcp" />
<DCCReference Include="dxGDIPlusD11.dcp" />
<DCCReference Include="dxLayoutControlD11.dcp" />
<DCCReference Include="dxPScxCommonD11.dcp" />
<DCCReference Include="dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="dxThemeD11.dcp" />
<DCCReference Include="frx11.dcp" />
<DCCReference Include="frxe11.dcp" />
<DCCReference Include="fs11.dcp" />
<DCCReference Include="JvAppFrmD11R.dcp" />
<DCCReference Include="JvCtrlsD11R.dcp" />
<DCCReference Include="JvGlobusD11R.dcp" />
<DCCReference Include="PngComponentsD10.dcp" />
<DCCReference Include="PNG_D10.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="tb2k_d10.dcp" />
<DCCReference Include="tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\Base.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\ccpackD11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\cxExportD11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\dxLayoutControlD11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\dxPScxCommonD11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\frx11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\frxe11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\fs11.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\JvAppFrmD11R.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\JvGlobusD11R.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\rtl.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\tb2k_d10.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\vcl.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\vcldb.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Relaciones\Presupuestos de cliente - Contratos de cliente\vclx.dcp" />
<DCCReference Include="uDialogBase.pas">
<Form>fDialogBase</Form>
</DCCReference>
@ -175,11 +180,6 @@
<Form>frViewTotales</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="vcl.dcp" />
<DCCReference Include="vclactnband.dcp" />
<DCCReference Include="vcldb.dcp" />
<DCCReference Include="vcljpg.dcp" />
<DCCReference Include="vclx.dcp" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line

Binary file not shown.

View File

@ -13,4 +13,4 @@ BEGIN
END
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Controller\ContratosCliente_controller.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtfF2.tmp */
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Controller\ContratosCliente_controller.drf */

View File

@ -14,4 +14,4 @@ END
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Data\uDataModuleContratosCliente.dfm */
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Data\ContratosCliente_data.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtfF0.tmp */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtfF2.tmp */

View File

@ -13,4 +13,4 @@ BEGIN
END
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Model\ContratosCliente_model.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtfEE.tmp */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtfF0.tmp */

View File

@ -14,4 +14,4 @@ END
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Plugin\uPluginContratosCliente.dfm */
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Plugin\ContratosCliente_plugin.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf13A.tmp */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf13C.tmp */

View File

@ -25,4 +25,4 @@ END
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Views\uEditorElegirArticulosContratoCliente.dfm */
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Views\uEditorContratosClienteReport.dfm */
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Views\ContratosCliente_view.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf138.tmp */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf13A.tmp */

View File

@ -61,9 +61,9 @@ contains
uEditorElegirArticulosPresupuestoCliente in 'uEditorElegirArticulosPresupuestoCliente.pas' {fEditorElegirArticulosPresupuestoCliente: TfEditorElegirArticulosPedidoCliente},
uEditorPresupuestosClienteReport in 'uEditorPresupuestosClienteReport.pas' {fEditorPresupuestosClientePreview: TfEditorPedidosClientePreview},
uViewDireccionEntregaPresupuestoCliente in 'uViewDireccionEntregaPresupuestoCliente.pas' {frViewDireccionEntregaPresupuestoCliente: TFrame},
uEditorFechaDecision in 'uEditorFechaDecision.pas' {fEditorFechaDecision: T},
uViewDocumentosPresupuestoCliente in 'uViewDocumentosPresupuestoCliente.pas' {frViewDocumentosPresupuestoCliente: TFrame},
uViewDatosYSeleccionClientePresupuesto in 'uViewDatosYSeleccionClientePresupuesto.pas' {frViewDatosYSeleccionClientePresupuesto: TFrame},
uEditorAsignarDescuento in 'uEditorAsignarDescuento.pas' {fEditorAsignarDescuento};
uEditorAsignarDescuento in 'uEditorAsignarDescuento.pas' {fEditorAsignarDescuento},
uEditorFechaDecisionPresupuesto in 'uEditorFechaDecisionPresupuesto.pas' {fEditorFechaDecisionPresupuesto};
end.

View File

@ -49,29 +49,29 @@
<DelphiCompile Include="PresupuestosCliente_view.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\Lib\adortl.dcp" />
<DCCReference Include="..\..\Lib\Articulos_view.dcp" />
<DCCReference Include="..\..\Lib\Base.dcp" />
<DCCReference Include="..\..\Lib\cxDataD11.dcp" />
<DCCReference Include="..\..\Lib\cxEditorsD11.dcp" />
<DCCReference Include="..\..\Lib\cxLibraryD11.dcp" />
<DCCReference Include="..\..\Lib\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\..\Lib\dbrtl.dcp" />
<DCCReference Include="..\..\Lib\dsnap.dcp" />
<DCCReference Include="..\..\Lib\dxComnD11.dcp" />
<DCCReference Include="..\..\Lib\dxGDIPlusD11.dcp" />
<DCCReference Include="..\..\Lib\dxLayoutControlD11.dcp" />
<DCCReference Include="..\..\Lib\dxThemeD11.dcp" />
<DCCReference Include="..\..\Lib\GestorInformes_controller.dcp" />
<DCCReference Include="..\..\Lib\GUIBase.dcp" />
<DCCReference Include="..\..\Lib\PreCli_ConCli_relation.dcp" />
<DCCReference Include="..\..\Lib\PresupuestosCliente_controller.dcp" />
<DCCReference Include="..\..\Lib\PresupuestosCliente_model.dcp" />
<DCCReference Include="..\..\Lib\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\..\Lib\rtl.dcp" />
<DCCReference Include="..\..\Lib\vcl.dcp" />
<DCCReference Include="..\..\Lib\vcldb.dcp" />
<DCCReference Include="..\..\Lib\vcljpg.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\adortl.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\Articulos_view.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\Base.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\cxDataD11.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\cxEditorsD11.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\cxLibraryD11.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\dbrtl.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\dsnap.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\dxComnD11.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\dxGDIPlusD11.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\dxLayoutControlD11.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\dxThemeD11.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\GestorInformes_controller.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\GUIBase.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\PreCli_ConCli_relation.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\PresupuestosCliente_controller.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\PresupuestosCliente_model.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\rtl.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\vcl.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\vcldb.dcp" />
<DCCReference Include="..\..\Relaciones\Presupuestos de cliente - Contratos de cliente\vcljpg.dcp" />
<DCCReference Include="uEditorAsignarDescuento.pas">
<Form>fEditorAsignarDescuento</Form>
</DCCReference>
@ -83,9 +83,8 @@
<Form>fEditorElegirPresupuestosCliente</Form>
<DesignClass>TfEditorElegirPedidosCliente</DesignClass>
</DCCReference>
<DCCReference Include="uEditorFechaDecision.pas">
<Form>fEditorFechaDecision</Form>
<DesignClass>T</DesignClass>
<DCCReference Include="uEditorFechaDecisionPresupuesto.pas">
<Form>fEditorFechaDecisionPresupuesto</Form>
</DCCReference>
<DCCReference Include="uEditorPresupuestoCliente.pas">
<Form>fEditorPresupuestoCliente</Form>

View File

@ -1,60 +0,0 @@
object fEditorFechaDecision: TfEditorFechaDecision
Left = 0
Top = 0
BorderIcons = [biSystemMenu]
Caption = 'Fecha de decisi'#243'n'
ClientHeight = 146
ClientWidth = 279
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
FormStyle = fsStayOnTop
OldCreateOrder = False
Position = poMainFormCenter
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 8
Top = 16
Width = 257
Height = 13
Caption = 'Establezca la fecha de decisi'#243'n para los presupuestos'
end
object edtFechaDecision: TcxDateEdit
Left = 56
Top = 48
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Width = 169
end
object bAceptar: TButton
Left = 109
Top = 113
Width = 75
Height = 25
Caption = 'Aceptar'
ModalResult = 1
TabOrder = 1
end
object bCancelar: TButton
Left = 190
Top = 113
Width = 75
Height = 25
Cancel = True
Caption = 'Cancelar'
ModalResult = 2
TabOrder = 2
end
end

View File

@ -1,35 +0,0 @@
unit uEditorFechaDecision;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, cxControls, cxContainer,
cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar;
type
TfEditorFechaDecision = class(TForm)
Label1: TLabel;
edtFechaDecision: TcxDateEdit;
bAceptar: TButton;
bCancelar: TButton;
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fEditorFechaDecision: TfEditorFechaDecision;
implementation
{$R *.dfm}
procedure TfEditorFechaDecision.FormShow(Sender: TObject);
begin
edtFechaDecision.Date := now;
end;
end.

View File

@ -0,0 +1,87 @@
inherited fEditorFechaDecisionPresupuesto: TfEditorFechaDecisionPresupuesto
ActiveControl = edtFechaDecision
Caption = 'Establecer la fecha de decisi'#243'n del presupuesto:'
ClientHeight = 227
ClientWidth = 411
ExplicitWidth = 417
ExplicitHeight = 259
PixelsPerInch = 96
TextHeight = 13
inherited Bevel2: TBevel
Width = 411
ExplicitWidth = 411
end
inherited Bevel3: TBevel
Top = 183
Width = 411
ExplicitTop = 183
ExplicitWidth = 411
end
inherited pnlBotones: TPanel
Top = 185
Width = 411
ExplicitTop = 185
ExplicitWidth = 411
inherited btnAceptar: TButton
Left = 248
Top = 9
ExplicitLeft = 248
ExplicitTop = 9
end
inherited btnCancelar: TButton
Left = 327
Top = 9
ExplicitLeft = 327
ExplicitTop = 9
end
end
inherited pnlHeader: TPanel
Width = 411
ExplicitWidth = 411
inherited lblTitle: TLabel
Width = 361
Caption = 'Establecer la fecha de decisi'#243'n del presupuesto:'
ExplicitWidth = 269
end
inherited lblComments: TLabel
Width = 336
Height = 27
Caption =
'Indique el d'#237'a en el cual el cliente acept'#243' o rechaz'#243' el presupu' +
'esto.'
ExplicitWidth = 321
end
end
inherited pnlCuerpo: TPanel
Width = 411
Height = 117
ExplicitWidth = 411
ExplicitHeight = 117
object Label1: TLabel
Left = 97
Top = 48
Width = 33
Height = 13
Caption = 'Fecha:'
end
object edtFechaDecision: TDateTimePicker
Left = 137
Top = 44
Width = 186
Height = 21
Date = 40115.680976192130000000
Time = 40115.680976192130000000
TabOrder = 0
end
end
inherited ActionListDialog: TActionList
Left = 296
Top = 56
inherited actAceptar: TAction
OnExecute = actAceptarExecute
end
inherited actCancelar: TAction
OnExecute = actCancelarExecute
end
end
end

View File

@ -0,0 +1,67 @@
unit uEditorFechaDecisionPresupuesto;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uDialogBase, ActnList, StdCtrls, ExtCtrls, ComCtrls;
type
TfEditorFechaDecisionPresupuesto = class(TfDialogBase)
edtFechaDecision: TDateTimePicker;
Label1: TLabel;
procedure actAceptarExecute(Sender: TObject);
procedure actCancelarExecute(Sender: TObject);
private
function GetDate: TDate;
procedure SetDate(const Value: TDate);
public
property Fecha : TDate read GetDate write SetDate;
end;
function ElegirFechaDecisionPresupuesto(var AFecha : TDate): Boolean;
implementation
{$R *.dfm}
function ElegirFechaDecisionPresupuesto(var AFecha : TDate): Boolean;
var
AEditor : TfEditorFechaDecisionPresupuesto;
begin
AEditor := TfEditorFechaDecisionPresupuesto.Create(NIL);
try
AEditor.Fecha := AFecha;
Result := (AEditor.ShowModal = mrOk);
if Result then
AFecha := AEditor.Fecha;
finally
AEditor.Release;
end;
end;
procedure TfEditorFechaDecisionPresupuesto.actAceptarExecute(Sender: TObject);
begin
inherited;
ModalResult := mrOK;
end;
procedure TfEditorFechaDecisionPresupuesto.actCancelarExecute(Sender: TObject);
begin
inherited;
ModalResult := mrCancel;
end;
function TfEditorFechaDecisionPresupuesto.GetDate: TDate;
begin
Result := edtFechaDecision.Date;
end;
procedure TfEditorFechaDecisionPresupuesto.SetDate(const Value: TDate);
begin
edtFechaDecision.Date := Value;
end;
end.

View File

@ -2,6 +2,7 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
Caption = 'Lista de presupuestos de cliente'
ClientWidth = 805
ExplicitWidth = 813
ExplicitHeight = 240
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader

View File

@ -80,6 +80,8 @@ type
procedure PrevisualizarInterno; override;
procedure RefrescarInterno; override;
procedure CambiarSituacion(const ASituacion : String);
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
procedure AsignarVista; virtual;
@ -98,16 +100,8 @@ uses
uDataModulePresupuestosCliente, uDataModuleUsuarios, uFactuGES_App,
uEditorBase, uEditorDBBase, uDialogUtils, Dialogs,
uDBSelectionListUtils, uGridUtils,
// uGridStatusUtils,
uGenerarContratosCliUtils,
uEditorFechaDecision,
// uBizAlbaranesCliente, uAlbaranesClienteController,
// uFacturasClienteController, uBizFacturasCliente,
// uGenerarAlbaranesCliUtils,
uGestorInformesController;
uGestorInformesController, uEditorFechaDecisionPresupuesto;
{$R *.dfm}
@ -116,46 +110,8 @@ uGestorInformesController;
*************************** TfEditorPresupuestosCliente ***************************
}
procedure TfEditorPresupuestosCliente.actAceptarExecute(Sender: TObject);
var
APresupuestos: IBizPresupuestoCliente;
AllItems: Boolean;
AFecha: Variant;
begin
APresupuestos := Nil;
AllItems := False;
//Pedimos fecha de decision y realizamos todo el proceso de asignacion, en el caso de no darla no se hace nada
AFecha := Null;
with TfEditorFechaDecision.Create(nil) do
try
if ShowModal = mrOk then
AFecha := edtFechaDecision.Date;
finally
Free;
end;
if not VarIsNull(AFecha) then
begin
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Presupuestos as ISeleccionable).SelectedRecords);
APresupuestos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Presupuestos) as IBizPresupuestoCliente;
end
else begin
APresupuestos := Presupuestos;
end;
ViewGrid._Grid.BeginUpdate;
if Assigned(APresupuestos) then
begin
FController.CambiarSituacion(APresupuestos, SITUACION_PRESUPUESTO_ACEPTADO, AFecha, AllItems);
actRefrescar.Execute;
end;
ViewGrid._Grid.EndUpdate;
end;
CambiarSituacion(SITUACION_PRESUPUESTO_ACEPTADO);
end;
procedure TfEditorPresupuestosCliente.actAceptarUpdate(Sender: TObject);
@ -167,46 +123,8 @@ begin
end;
procedure TfEditorPresupuestosCliente.actAnularExecute(Sender: TObject);
var
APresupuestos: IBizPresupuestoCliente;
AllItems: Boolean;
AFecha: Variant;
begin
APresupuestos := Nil;
AllItems := False;
//Pedimos fecha de decision y realizamos todo el proceso de asignacion, en el caso de no darla no se hace nada
AFecha := Null;
with TfEditorFechaDecision.Create(nil) do
try
if ShowModal = mrOk then
AFecha := edtFechaDecision.Date;
finally
Free;
end;
if not VarIsNull(AFecha) then
begin
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Presupuestos as ISeleccionable).SelectedRecords);
APresupuestos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Presupuestos) as IBizPresupuestoCliente;
end
else begin
APresupuestos := Presupuestos;
end;
ViewGrid._Grid.BeginUpdate;
if Assigned(APresupuestos) then
begin
FController.CambiarSituacion(APresupuestos, SITUACION_PRESUPUESTO_ANULADO, AFecha, AllItems);
actRefrescar.Execute;
end;
ViewGrid._Grid.EndUpdate;
end;
CambiarSituacion(SITUACION_PRESUPUESTO_ANULADO);
end;
procedure TfEditorPresupuestosCliente.actAnularUpdate(Sender: TObject);
@ -271,10 +189,39 @@ begin
end;
procedure TfEditorPresupuestosCliente.actGenerarContratoExecute(Sender: TObject);
var
APresupuestos: IBizPresupuestoCliente;
AllItems: Boolean;
begin
inherited;
GenerarContratoCli(Presupuestos.ID);
actRefrescar.Execute;
APresupuestos := Nil;
AllItems := False;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Presupuestos as ISeleccionable).SelectedRecords);
APresupuestos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Presupuestos) as IBizPresupuestoCliente;
with APresupuestos.DataTable do
begin
First;
while not EOF do
begin
GenerarContratoCli(APresupuestos.ID, False);
Next;
end;
end;
actRefrescar.Execute;
ShowInfoMessage('Se han generado los contratos');
end
else begin
APresupuestos := Self.Presupuestos;
GenerarContratoCli(APresupuestos.ID);
actRefrescar.Execute;
end;
end;
procedure TfEditorPresupuestosCliente.actGenerarContratoUpdate(Sender: TObject);
@ -317,6 +264,64 @@ begin
ViewGrid := CreateView(TfrViewPresupuestosCliente) as IViewPresupuestosCliente;
end;
procedure TfEditorPresupuestosCliente.CambiarSituacion(
const ASituacion: String);
var
APresupuestos: IBizPresupuestoCliente;
AllItems: Boolean;
AFecha: TDate;
AMensaje : String;
ATitulo : String;
begin
APresupuestos := Nil;
AllItems := False;
//Pedimos fecha de decision y realizamos todo el proceso de asignacion, en el caso de no darla no se hace nada
AFecha := Now;
if ElegirFechaDecisionPresupuesto(AFecha) then
begin
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Presupuestos as ISeleccionable).SelectedRecords);
APresupuestos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Presupuestos) as IBizPresupuestoCliente;
end
else begin
APresupuestos := Presupuestos;
end;
if Assigned(APresupuestos) then
begin
ViewGrid._Grid.BeginUpdate;
try
FController.CambiarSituacion(APresupuestos, ASituacion, AFecha, AllItems);
actRefrescar.Execute;
finally
ViewGrid._Grid.EndUpdate;
end;
if ASituacion = SITUACION_PRESUPUESTO_ACEPTADO then
begin
// ¿Generar el contrato?
if AllItems then
begin
AMensaje := 'Los presupuestos han sido aceptados';
ATitulo := '¿Desea generar ahora los contratos?'
end
else begin
AMensaje := 'El presupuesto han sido aceptado';
ATitulo := '¿Desea generar ahora el contrato?';
end;
if (ShowConfirmMessage(ATitulo, AMensaje) = IDYES) then
actGenerarContrato.Execute;
end;
end;
end;
end;
constructor TfEditorPresupuestosCliente.Create(AOwner: TComponent);
begin
inherited;

View File

@ -11,8 +11,9 @@ type
JsListaContratosGenerados: TJSDialog;
end;
function GenerarContratoCli(const IDPresupuesto : Integer) : Boolean; overload;
function GenerarContratoCli(APresupuesto : IBizPresupuestoCliente; var AContrato: IBizContratoCliente) : Boolean; overload;
function GenerarContratoCli(const IDPresupuesto : Integer; const APreguntaMostrarContrato : Boolean = True) : Boolean; overload;
function GenerarContratoCli(APresupuesto : IBizPresupuestoCliente; var AContrato: IBizContratoCliente;
const APreguntaMostrarContrato : Boolean = True) : Boolean; overload;
// function ElegirPedidoYGenerarAlbaranCli(var IDAlbaran: Integer) : Boolean;
implementation
@ -35,6 +36,34 @@ var
AClientesController : IClientesController;
{ Métodos auxiliares }
procedure PreguntarMostrarContrato(AContrato : IBizContratoCliente);
var
ARespuesta : Integer;
begin
if not Assigned(AContrato) then
raise Exception.Create ('Contrato no asignado (PreguntaSiMostrarContrato)');
with dmGenerarContratosCli.JsListaContratosGenerados do
begin
Instruction.Text := 'Se ha generado el contrato';
Content.Clear;
Content.Add(Format('Se ha generado correctamente el contrato %s a partir del presupuesto de cliente' + #10#13,
[AContrato.REFERENCIA]));
Execute;
ARespuesta := CustomButtonResult;
case ARespuesta of
100 : begin
// Ver el albarán
AContratosClienteController.Ver(AContrato);
end;
200 : // Continuar;
end;
end;
end;
procedure CopiarPresupuestoAContrato(APresupuesto: IBizPresupuestoCliente;
AContrato : IBizContratoCliente);
var
@ -180,7 +209,7 @@ begin
end;
function GenerarContratoCli(const IDPresupuesto : Integer) : Boolean; overload;
function GenerarContratoCli(const IDPresupuesto : Integer; const APreguntaMostrarContrato : Boolean = True) : Boolean; overload;
var
APresupuesto : IBizPresupuestoCliente;
AContrato : IBizContratoCliente;
@ -200,12 +229,8 @@ begin
end;
end;
function GenerarContratoCli(APresupuesto : IBizPresupuestoCliente; var AContrato: IBizContratoCliente) : Boolean; overload;
var
ARespuesta : Integer;
function GenerarContratoCli(APresupuesto : IBizPresupuestoCliente; var AContrato: IBizContratoCliente; const APreguntaMostrarContrato : Boolean = True) : Boolean; overload;
begin
Result := False;
AContrato := NIL;
if not Assigned(APresupuesto) then
@ -231,23 +256,9 @@ begin
APresupuesto.Post;
APresupuestosClienteController.Guardar(APresupuesto);
with dmGenerarContratosCli.JsListaContratosGenerados do
begin
Instruction.Text := 'Se ha generado el contrato';
if APreguntaMostrarContrato then
PreguntarMostrarContrato(AContrato);
Content.Clear;
Content.Add(Format('Se ha generado correctamente el contrato %s a partir del presupuesto de cliente' + #10#13, [AContrato.REFERENCIA]));
Execute;
ARespuesta := CustomButtonResult;
case ARespuesta of
100 : begin
// Ver el albarán
AContratosClienteController.Ver(AContrato);
end;
200 : // Continuar;
end;
end;
end;
Result := True;

Binary file not shown.

View File

@ -16,7 +16,7 @@ BEGIN
VALUE "FileVersion", "2.3.7.0\0"
VALUE "ProductName", "FactuGES (Servidor)\0"
VALUE "ProductVersion", "2.3.7.0\0"
VALUE "CompileDate", "martes, 27 de octubre de 2009 19:34\0"
VALUE "CompileDate", "jueves, 29 de octubre de 2009 15:41\0"
END
END
BLOCK "VarFileInfo"