Se repasan todos los validar de los controller para asegurarnos que se hace post del objeto de negocio, para evitar el problema que surge cuando solo ponemos el nombre y sin salir del campo damos a guardar

git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@303 f4e31baf-9722-1c47-927c-6f952f962d4b
This commit is contained in:
David Arranz 2008-07-31 10:10:52 +00:00
parent 99f3d28230
commit 5d3bb5aeb7
20 changed files with 61 additions and 24 deletions

View File

@ -201,6 +201,8 @@ end;
function TEjerciciosController.ValidarEjercicio(AEjercicio: IBizEjercicio): Boolean; function TEjerciciosController.ValidarEjercicio(AEjercicio: IBizEjercicio): Boolean;
begin begin
Result := False;
if not Assigned(AEjercicio) then if not Assigned(AEjercicio) then
raise Exception.Create ('Ejercicio no asignado'); raise Exception.Create ('Ejercicio no asignado');

View File

@ -238,6 +238,8 @@ end;
function TEmpresasController.ValidarEmpresa(AEmpresa: IBizEmpresa): Boolean; function TEmpresasController.ValidarEmpresa(AEmpresa: IBizEmpresa): Boolean;
begin begin
Result := False;
if not Assigned(AEmpresa) then if not Assigned(AEmpresa) then
raise Exception.Create ('Empresa no asignada (ValidarEmpresa)'); raise Exception.Create ('Empresa no asignada (ValidarEmpresa)');

View File

@ -179,6 +179,12 @@ function TAlmacenesController.ValidarAlmacen(AAlmacen: IBizAlmacen): Boolean;
begin begin
Result := False; Result := False;
if not Assigned(AAlmacen) then
raise Exception.Create ('Alamcen no asignado');
if (AAlmacen.DataTable.State in dsEditModes) then
AAlmacen.DataTable.Post;
if Length(AAlmacen.NOMBRE) = 0 then if Length(AAlmacen.NOMBRE) = 0 then
raise Exception.Create('Debe indicar al menos el nombre de este almacén.'); raise Exception.Create('Debe indicar al menos el nombre de este almacén.');
@ -186,7 +192,6 @@ begin
AAlmacen.Edit; AAlmacen.Edit;
try try
AAlmacen.USUARIO := AppFactuGES.UsuarioActivo.UserName; AAlmacen.USUARIO := AppFactuGES.UsuarioActivo.UserName;
Result := True; Result := True;
finally finally
AAlmacen.Post; AAlmacen.Post;
@ -365,9 +370,6 @@ begin
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
if (AAlmacen.DataTable.State in dsEditModes) then
AAlmacen.DataTable.Post;
// AsignarCodigo(AAlmacen); // AsignarCodigo(AAlmacen);
AAlmacen.DataTable.ApplyUpdates; AAlmacen.DataTable.ApplyUpdates;

View File

@ -233,6 +233,8 @@ function TApuntesController.ValidarApunte(AApunte: IBizApunte): Boolean;
var var
Descuadre : Currency; Descuadre : Currency;
begin begin
Result := False;
if not Assigned(AApunte) then if not Assigned(AApunte) then
raise Exception.Create ('Apuntes no asignados'); raise Exception.Create ('Apuntes no asignados');

View File

@ -206,6 +206,8 @@ end;
function TAsientosController.ValidarAsiento(AAsiento: IBizAsiento): Boolean; function TAsientosController.ValidarAsiento(AAsiento: IBizAsiento): Boolean;
begin begin
Result := False;
if not Assigned(AAsiento) then if not Assigned(AAsiento) then
raise Exception.Create ('Asiento no asignado'); raise Exception.Create ('Asiento no asignado');

View File

@ -159,6 +159,8 @@ end;
function TBalancesController.ValidarBalance(ABalance: IBizBalance): Boolean; function TBalancesController.ValidarBalance(ABalance: IBizBalance): Boolean;
begin begin
Result := False;
if not Assigned(ABalance) then if not Assigned(ABalance) then
raise Exception.Create ('Balance no asignado'); raise Exception.Create ('Balance no asignado');

View File

@ -172,6 +172,8 @@ end;
function TCuentasController.ValidarCuenta(ACuenta: IBizCuenta): Boolean; function TCuentasController.ValidarCuenta(ACuenta: IBizCuenta): Boolean;
begin begin
Result := False;
if not Assigned(ACuenta) then if not Assigned(ACuenta) then
raise Exception.Create ('Cuenta no asignado'); raise Exception.Create ('Cuenta no asignado');

View File

@ -160,6 +160,7 @@ end;
function TCuentasEspecialesController.ValidarCuentaEspecial(ACuentaEspecial: IBizCuentaEspecial): Boolean; function TCuentasEspecialesController.ValidarCuentaEspecial(ACuentaEspecial: IBizCuentaEspecial): Boolean;
begin begin
Result := False;
if not Assigned(ACuentaEspecial) then if not Assigned(ACuentaEspecial) then
raise Exception.Create ('CuentaEspecial no asignado'); raise Exception.Create ('CuentaEspecial no asignado');

View File

@ -180,6 +180,8 @@ end;
function TEpigrafesController.ValidarEpigrafe(AEpigrafe: IBizEpigrafe): Boolean; function TEpigrafesController.ValidarEpigrafe(AEpigrafe: IBizEpigrafe): Boolean;
begin begin
Result := False;
if not Assigned(AEpigrafe) then if not Assigned(AEpigrafe) then
raise Exception.Create ('Epigrafe no asignado'); raise Exception.Create ('Epigrafe no asignado');

View File

@ -386,6 +386,8 @@ end;
function TSubCuentasController.ValidarSubCuenta(ASubCuenta: IBizSubCuenta): Boolean; function TSubCuentasController.ValidarSubCuenta(ASubCuenta: IBizSubCuenta): Boolean;
begin begin
Result := False;
if not Assigned(ASubCuenta) then if not Assigned(ASubCuenta) then
raise Exception.Create ('SubCuenta no asignado'); raise Exception.Create ('SubCuenta no asignado');

View File

@ -123,6 +123,8 @@ end;
function TGruposClienteController.ValidarGrupoCliente(AGrupoCliente: IBizGrupoCliente): Boolean; function TGruposClienteController.ValidarGrupoCliente(AGrupoCliente: IBizGrupoCliente): Boolean;
begin begin
Result := False;
if not Assigned(AGrupoCliente) then if not Assigned(AGrupoCliente) then
raise Exception.Create ('GrupoCliente no asignada'); raise Exception.Create ('GrupoCliente no asignada');

View File

@ -123,6 +123,8 @@ end;
function TGruposProveedorController.ValidarGrupoProveedor(AGrupoProveedor: IBizGrupoProveedor): Boolean; function TGruposProveedorController.ValidarGrupoProveedor(AGrupoProveedor: IBizGrupoProveedor): Boolean;
begin begin
Result := False;
if not Assigned(AGrupoProveedor) then if not Assigned(AGrupoProveedor) then
raise Exception.Create ('GrupoProveedor no asignada'); raise Exception.Create ('GrupoProveedor no asignada');

View File

@ -123,6 +123,8 @@ end;
function TProcedenciasClienteController.ValidarProcedenciaCliente(AProcedenciaCliente: IBizProcedenciaCliente): Boolean; function TProcedenciasClienteController.ValidarProcedenciaCliente(AProcedenciaCliente: IBizProcedenciaCliente): Boolean;
begin begin
Result := False;
if not Assigned(AProcedenciaCliente) then if not Assigned(AProcedenciaCliente) then
raise Exception.Create ('ProcedenciaCliente no asignada'); raise Exception.Create ('ProcedenciaCliente no asignada');

View File

@ -131,7 +131,15 @@ end;
function TFamiliasController.ValidarAlmacen(AFamilia: IBizFamilia): Boolean; function TFamiliasController.ValidarAlmacen(AFamilia: IBizFamilia): Boolean;
begin begin
// Result := False;
if not Assigned(AFamilia) then
raise Exception.Create ('Familia no asignada');
if (AFamilia.DataTable.State in dsEditModes) then
AFamilia.DataTable.Post;
Result := True;
end; end;
procedure TFamiliasController.ValidarObjetos; procedure TFamiliasController.ValidarObjetos;
@ -193,7 +201,7 @@ begin
Result := False; Result := False;
if not Assigned(AFamilia) then if not Assigned(AFamilia) then
raise Exception.Create ('Almacen no asignada'); raise Exception.Create ('Familia no asignada');
ValidarObjetos; ValidarObjetos;
@ -201,11 +209,7 @@ begin
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
if (AFamilia.DataTable.State in dsEditModes) then
AFamilia.DataTable.Post;
AFamilia.DataTable.ApplyUpdates; AFamilia.DataTable.ApplyUpdates;
Result := True; Result := True;
finally finally
HideHourglassCursor; HideHourglassCursor;

View File

@ -177,6 +177,8 @@ end;
function TFormasPagoController.ValidarFormaPago(AFormaPago: IBizFormaPago): Boolean; function TFormasPagoController.ValidarFormaPago(AFormaPago: IBizFormaPago): Boolean;
begin begin
Result := False;
if not Assigned(AFormaPago) then if not Assigned(AFormaPago) then
raise Exception.Create ('Forma de pago no asignada'); raise Exception.Create ('Forma de pago no asignada');

View File

@ -212,6 +212,8 @@ end;
function TTiposIVAController.ValidarTipoIVA(ATipoIVA: IBizTipoIVA): Boolean; function TTiposIVAController.ValidarTipoIVA(ATipoIVA: IBizTipoIVA): Boolean;
begin begin
Result := False;
if not Assigned(ATipoIVA) then if not Assigned(ATipoIVA) then
raise Exception.Create ('TipoIVA no asignado'); raise Exception.Create ('TipoIVA no asignado');

View File

@ -27,7 +27,7 @@ type
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override; procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean; function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
function ValidarAlmacen(AUnidadMedida: IBizUnidadMedida): Boolean; function ValidarUnidadMedida(AUnidadMedida: IBizUnidadMedida): Boolean;
//Estos son los tres métodos a sobre escribir si se desea heredar toda la logica de //Estos son los tres métodos a sobre escribir si se desea heredar toda la logica de
//este controller //este controller
@ -129,9 +129,17 @@ begin
inherited; inherited;
end; end;
function TUnidadesMedidaController.ValidarAlmacen(AUnidadMedida: IBizUnidadMedida): Boolean; function TUnidadesMedidaController.ValidarUnidadMedida(AUnidadMedida: IBizUnidadMedida): Boolean;
begin begin
// Result := False;
if not Assigned(AUnidadMedida) then
raise Exception.Create ('Unidad de medida no asignada');
if (AUnidadMedida.DataTable.State in dsEditModes) then
AUnidadMedida.DataTable.Post;
Result := True;
end; end;
procedure TUnidadesMedidaController.ValidarObjetos; procedure TUnidadesMedidaController.ValidarObjetos;
@ -197,15 +205,11 @@ begin
ValidarObjetos; ValidarObjetos;
if ValidarAlmacen(AUnidadMedida) then if ValidarUnidadMedida(AUnidadMedida) then
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
if (AUnidadMedida.DataTable.State in dsEditModes) then
AUnidadMedida.DataTable.Post;
AUnidadMedida.DataTable.ApplyUpdates; AUnidadMedida.DataTable.ApplyUpdates;
Result := True; Result := True;
finally finally
HideHourglassCursor; HideHourglassCursor;

Binary file not shown.

View File

@ -28,7 +28,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType/> <Borland.ProjectType/>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">3</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">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.2.3.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES (Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.2.3.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">viernes, 23 de mayo de 2008 17:19</VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">4</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">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.2.4.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES (Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.2.4.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">martes, 22 de julio de 2008 19:27</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><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject> </Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions> </ProjectExtensions>

View File

@ -1,7 +1,7 @@
MAINICON ICON "C:\Codigo Acana\Resources\Iconos\Servidor.ico" MAINICON ICON "C:\Codigo Acana\Resources\Iconos\Servidor.ico"
1 VERSIONINFO 1 VERSIONINFO
FILEVERSION 2,2,3,0 FILEVERSION 2,2,4,0
PRODUCTVERSION 2,2,3,0 PRODUCTVERSION 2,2,4,0
FILEFLAGSMASK 0x3FL FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L FILEFLAGS 0x00L
FILEOS 0x40004L FILEOS 0x40004L
@ -13,10 +13,10 @@ BEGIN
BLOCK "0C0A04E4" BLOCK "0C0A04E4"
BEGIN BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0" VALUE "CompanyName", "Rodax Software S.L.\0"
VALUE "FileVersion", "2.2.3.0\0" VALUE "FileVersion", "2.2.4.0\0"
VALUE "ProductName", "FactuGES (Servidor)\0" VALUE "ProductName", "FactuGES (Servidor)\0"
VALUE "ProductVersion", "2.2.3.0\0" VALUE "ProductVersion", "2.2.4.0\0"
VALUE "CompileDate", "miércoles, 30 de julio de 2008 12:09\0" VALUE "CompileDate", "jueves, 31 de julio de 2008 12:02\0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"