Ticket #56 -> Poner automaticamente el vendedor en el contrato nuevo a partir del usuario que lo haga

git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@458 f4e31baf-9722-1c47-927c-6f952f962d4b
This commit is contained in:
David Arranz 2009-11-05 16:24:35 +00:00
parent 02d3573b77
commit 92fb705ef6
15 changed files with 99 additions and 40 deletions

View File

@ -18,6 +18,7 @@ type
function DarListaVendedores : TStringList; function DarListaVendedores : TStringList;
function BuscarTodos: IBizContacto; overload; function BuscarTodos: IBizContacto; overload;
function BuscarTodos(const CadenaIDs: String): IBizContacto; overload; function BuscarTodos(const CadenaIDs: String): IBizContacto; overload;
function DarIDVendedorDeUsuario(const AUsuario: String): Integer;
end; end;
TVendedoresController = class(TContactosController, IVendedoresController) TVendedoresController = class(TContactosController, IVendedoresController)
@ -26,7 +27,7 @@ type
function Duplicar(AContacto: IBizContacto): IBizContacto; override; function Duplicar(AContacto: IBizContacto): IBizContacto; override;
function Buscar(const ID: Integer): IBizContacto; override; function Buscar(const ID: Integer): IBizContacto; override;
function BuscarTodos: IBizContacto; overload; override; function BuscarTodos: IBizContacto; overload; override;
function BuscarTodos(const CadenaIDs: String): IBizContacto; overload; function BuscarTodos(const CadenaIDs: String): IBizContacto; overload;
function Nuevo : IBizContacto; override; function Nuevo : IBizContacto; override;
procedure Ver(AContacto : IBizContacto); override; procedure Ver(AContacto : IBizContacto); override;
procedure VerTodos(AContactos: IBizContacto); override; procedure VerTodos(AContactos: IBizContacto); override;
@ -37,6 +38,7 @@ type
function Eliminar(AVendedor: IBizContacto; AllItems: Boolean = false): Boolean; overload; function Eliminar(AVendedor: IBizContacto; AllItems: Boolean = false): Boolean; overload;
function EsEliminable(AVendedor: IBizContacto): Boolean; function EsEliminable(AVendedor: IBizContacto): Boolean;
function DarIDVendedorDeUsuario(const AUsuario: String): Integer;
end; end;
implementation implementation
@ -103,6 +105,29 @@ begin
FDataModule := TDataModuleVendedores.Create(Nil); FDataModule := TDataModuleVendedores.Create(Nil);
end; end;
function TVendedoresController.DarIDVendedorDeUsuario(
const AUsuario: String): Integer;
var
AVendedores: IBizContacto;
begin
AVendedores := BuscarTodos;
AVendedores.DataTable.Active := True;
with AVendedores.DataTable do
begin
First;
while not EOF do
begin
if (not AVendedores.USUARIOIsNull) and (AVendedores.USUARIO = AUsuario) then
begin
Result := AVendedores.ID;
Break;
end
else Next;
end;
end;
end;
function TVendedoresController.DarListaVendedores: TStringList; function TVendedoresController.DarListaVendedores: TStringList;
var var
AVendedores: IBizContacto; AVendedores: IBizContacto;

View File

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

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\uDataModuleContratosCliente.dfm */
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Data\ContratosCliente_data.res */ /* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Data\ContratosCliente_data.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtfF2.tmp */ /* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1AA.tmp */

View File

@ -33,7 +33,8 @@ requires
adortl, adortl,
Base, Base,
Contactos_model, Contactos_model,
RemObjects_Core_D11; Contactos_controller;
contains contains
uBizDetallesContratoCliente in 'uBizDetallesContratoCliente.pas', uBizDetallesContratoCliente in 'uBizDetallesContratoCliente.pas',

View File

@ -43,8 +43,6 @@
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages> <Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\EurekaLog 5\Delphi10\ExceptionExpert10.bpl">EurekaLog 5.1.9</Excluded_Packages> <Excluded_Packages Name="C:\Archivos de programa\EurekaLog 5\Delphi10\ExceptionExpert10.bpl">EurekaLog 5.1.9</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">ContratosCliente_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject> </Excluded_Packages><Source><Source Name="MainSource">ContratosCliente_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
@ -54,19 +52,28 @@
<DelphiCompile Include="ContratosCliente_model.dpk"> <DelphiCompile Include="ContratosCliente_model.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="adortl.dcp" /> <DCCReference Include="..\adortl.dcp" />
<DCCReference Include="Base.dcp" /> <DCCReference Include="..\Base.dcp" />
<DCCReference Include="Contactos_model.dcp" /> <DCCReference Include="..\Contactos_c.dcp" />
<DCCReference Include="..\Contactos_co.dcp" />
<DCCReference Include="..\Contactos_con.dcp" />
<DCCReference Include="..\Contactos_cont.dcp" />
<DCCReference Include="..\Contactos_contr.dcp" />
<DCCReference Include="..\Contactos_contro.dcp" />
<DCCReference Include="..\Contactos_control.dcp" />
<DCCReference Include="..\Contactos_controll.dcp" />
<DCCReference Include="..\Contactos_controlle.dcp" />
<DCCReference Include="..\Contactos_model.dcp" />
<DCCReference Include="..\Contactos_modelcontainsuBizDetallesContratoClientein.dcp" />
<DCCReference Include="..\dbrtl.dcp" />
<DCCReference Include="..\dsnap.dcp" />
<DCCReference Include="..\rtl.dcp" />
<DCCReference Include="..\vcl.dcp" />
<DCCReference Include="..\vcldb.dcp" />
<DCCReference Include="Data\uIDataModuleContratosCliente.pas" /> <DCCReference Include="Data\uIDataModuleContratosCliente.pas" />
<DCCReference Include="Data\uIDataModuleContratosClienteReport.pas" /> <DCCReference Include="Data\uIDataModuleContratosClienteReport.pas" />
<DCCReference Include="dbrtl.dcp" />
<DCCReference Include="dsnap.dcp" />
<DCCReference Include="RemObjects_Core_D11.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="uBizContratosCliente.pas" /> <DCCReference Include="uBizContratosCliente.pas" />
<DCCReference Include="uBizDetallesContratoCliente.pas" /> <DCCReference Include="uBizDetallesContratoCliente.pas" />
<DCCReference Include="vcl.dcp" />
<DCCReference Include="vcldb.dcp" />
</ItemGroup> </ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line <!-- EurekaLog First Line

View File

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

View File

@ -44,6 +44,7 @@ type
procedure CalcularIVA; procedure CalcularIVA;
procedure CalcularRE; procedure CalcularRE;
procedure AsignarTipoIVA (IDTipoIVA : Integer); procedure AsignarTipoIVA (IDTipoIVA : Integer);
procedure AsignarVendedor;
protected protected
FSeleccionableInterface : ISeleccionable; FSeleccionableInterface : ISeleccionable;
@ -98,7 +99,8 @@ implementation
uses uses
SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios, Dialogs, SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios, Dialogs,
uDataTableUtils, DateUtils, uDateUtils, DB, uFactuGES_App, uTiposIVAController, uBizTiposIVA; uDataTableUtils, DateUtils, uDateUtils, DB, uFactuGES_App, uTiposIVAController,
uBizTiposIVA, uVendedoresController;
{ TBizContratoCliente } { TBizContratoCliente }
@ -257,13 +259,25 @@ begin
ID_TIENDA := AppFactuGES.TiendaActiva.ID; ID_TIENDA := AppFactuGES.TiendaActiva.ID;
TIENDA := AppFactuGES.TiendaActiva.NOMBRE; TIENDA := AppFactuGES.TiendaActiva.NOMBRE;
VENDEDOR := AppFactuGES.UsuarioActivo.USERNAME;
Self.DataTable.FieldByName(fld_ContratosClienteFORMA_PAGO).AsString := AppFactuGES.FormaPagoDocumentos; Self.DataTable.FieldByName(fld_ContratosClienteFORMA_PAGO).AsString := AppFactuGES.FormaPagoDocumentos;
Self.DataTable.FieldByName(fld_ContratosClienteOBSERVACIONES).AsString := AppFactuGES.ObservacionesDocumentos; Self.DataTable.FieldByName(fld_ContratosClienteOBSERVACIONES).AsString := AppFactuGES.ObservacionesDocumentos;
AsignarVendedor;
end; end;
procedure TBizContratoCliente.AsignarVendedor;
var
AVendedoresController: IVendedoresController;
begin
AVendedoresController := TVendedoresController.Create;
try
ID_VENDEDOR := AVendedoresController.DarIDVendedorDeUsuario(AppFactuGES.UsuarioActivo.UserName);
finally
AVendedoresController := nil;
end;
end;
procedure TBizContratoCliente.IVAOnChange(Sender: TDACustomField); procedure TBizContratoCliente.IVAOnChange(Sender: TDACustomField);
begin begin
CalcularImporteTotal; CalcularImporteTotal;

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\uPluginContratosCliente.dfm */
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Plugin\ContratosCliente_plugin.res */ /* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Plugin\ContratosCliente_plugin.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf13C.tmp */ /* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1F4.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\uEditorElegirArticulosContratoCliente.dfm */
/* C:\Codigo Acana\Source\Modulos\Contratos de cliente\Views\uEditorContratosClienteReport.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:\Codigo Acana\Source\Modulos\Contratos de cliente\Views\ContratosCliente_view.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf13A.tmp */ /* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1F2.tmp */

View File

@ -32,7 +32,8 @@ requires
dsnap, dsnap,
adortl, adortl,
Base, Base,
Contactos_model; Contactos_model,
Contactos_controller;
contains contains
uIDataModulePresupuestosCliente in 'Data\uIDataModulePresupuestosCliente.pas', uIDataModulePresupuestosCliente in 'Data\uIDataModulePresupuestosCliente.pas',

View File

@ -52,25 +52,20 @@
<DelphiCompile Include="PresupuestosCliente_model.dpk"> <DelphiCompile Include="PresupuestosCliente_model.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\adortl.dcp" /> <DCCReference Include="..\..\Contactos\adortl.dcp" />
<DCCReference Include="..\Base.dcp" /> <DCCReference Include="..\..\Contactos\Base.dcp" />
<DCCReference Include="..\Contactos_model.dcp" /> <DCCReference Include="..\..\Contactos\Contactos_controllercontainsuIDataModulePresupuestosClientein.dcp" />
<DCCReference Include="..\dbrtl.dcp" /> <DCCReference Include="..\..\Contactos\Contactos_model.dcp" />
<DCCReference Include="..\dsnap.dcp" /> <DCCReference Include="..\..\Contactos\dbrtl.dcp" />
<DCCReference Include="..\rtl.dcp" /> <DCCReference Include="..\..\Contactos\dsnap.dcp" />
<DCCReference Include="..\vcl.dcp" /> <DCCReference Include="..\..\Contactos\rtl.dcp" />
<DCCReference Include="..\vcldb.dcp" /> <DCCReference Include="..\..\Contactos\vcl.dcp" />
<DCCReference Include="Data\uIDataModulePresupuestosCliente.pas" /> <DCCReference Include="..\..\Contactos\vcldb.dcp" />
<DCCReference Include="Data\uIDataModulePresupuestosClienteReport.pas" />
<DCCReference Include="schPresupuestosClienteClient_Intf.pas" />
<DCCReference Include="schPresupuestosClienteServer_Intf.pas" />
<DCCReference Include="uBizDetallesPresupuestoCliente.pas" />
<DCCReference Include="uBizPresupuestosCliente.pas" />
</ItemGroup> </ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line <!-- EurekaLog First Line
[Exception Log] [Exception Log]
EurekaLog Version=6011 EurekaLog Version=6006
Activate=1 Activate=1
Activate Handle=1 Activate Handle=1
Save Log File=1 Save Log File=1

View File

@ -45,6 +45,7 @@ type
procedure CalcularIVA; procedure CalcularIVA;
procedure CalcularRE; procedure CalcularRE;
procedure AsignarTipoIVA (IDTipoIVA : Integer); procedure AsignarTipoIVA (IDTipoIVA : Integer);
procedure AsignarVendedor;
protected protected
FSeleccionableInterface : ISeleccionable; FSeleccionableInterface : ISeleccionable;
@ -99,7 +100,8 @@ implementation
uses uses
SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios, Dialogs, SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios, Dialogs,
uDataTableUtils, DateUtils, uDateUtils, DB, uFactuGES_App, uTiposIVAController, uBizTiposIVA; uDataTableUtils, DateUtils, uDateUtils, DB, uFactuGES_App,
uTiposIVAController, uBizTiposIVA, uVendedoresController;
{ TBizPresupuestoCliente } { TBizPresupuestoCliente }
@ -217,6 +219,18 @@ begin
inherited; inherited;
end; end;
procedure TBizPresupuestoCliente.AsignarVendedor;
var
AVendedoresController: IVendedoresController;
begin
AVendedoresController := TVendedoresController.Create;
try
ID_VENDEDOR := AVendedoresController.DarIDVendedorDeUsuario(AppFactuGES.UsuarioActivo.UserName);
finally
AVendedoresController := nil;
end;
end;
function TBizPresupuestoCliente.EsNuevo: Boolean; function TBizPresupuestoCliente.EsNuevo: Boolean;
begin begin
Result := (ID < 0); Result := (ID < 0);
@ -262,6 +276,8 @@ begin
Self.DataTable.FieldByName(fld_PresupuestosClienteFORMA_PAGO).AsString := AppFactuGES.FormaPagoDocumentos; Self.DataTable.FieldByName(fld_PresupuestosClienteFORMA_PAGO).AsString := AppFactuGES.FormaPagoDocumentos;
Self.DataTable.FieldByName(fld_PresupuestosClienteOBSERVACIONES).AsString := AppFactuGES.ObservacionesDocumentos; Self.DataTable.FieldByName(fld_PresupuestosClienteOBSERVACIONES).AsString := AppFactuGES.ObservacionesDocumentos;
AsignarVendedor;
end; end;
procedure TBizPresupuestoCliente.IVAOnChange(Sender: TDACustomField); procedure TBizPresupuestoCliente.IVAOnChange(Sender: TDACustomField);

View File

@ -311,7 +311,7 @@ begin
ATitulo := '¿Desea generar ahora los contratos?' ATitulo := '¿Desea generar ahora los contratos?'
end end
else begin else begin
AMensaje := 'El presupuesto han sido aceptado'; AMensaje := 'El presupuesto ha sido aceptado';
ATitulo := '¿Desea generar ahora el contrato?'; ATitulo := '¿Desea generar ahora el contrato?';
end; end;