Arreglo para que al repasar los detalles de un documento, se establezaca tipo_concepto en los detalles que no tengan asignado nada

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@662 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
roberto 2008-10-03 09:46:46 +00:00
parent ad0b8c241e
commit 9b079a2b1e
5 changed files with 17 additions and 7 deletions

View File

@ -35,7 +35,7 @@ type
function LocalizarPosicion(ADataTable: IDAStronglyTypedDataTable; const APosicion: Integer): Boolean;
procedure Renumerar(DataTable: TDADataTable; LocalizaPosicion: Integer);
function DarListaTiposDetalle: TStringList;
procedure ValidarCierreCapitulos(ADataTable: IDAStronglyTypedDataTable);
procedure ValidarDetalles(ADataTable: IDAStronglyTypedDataTable);
end;
TControllerDetallesBase = class (TSujeto, IControllerDetallesBase)
@ -90,8 +90,9 @@ type
function DarListaTiposDetalle: TStringList; virtual;
function LocalizarPosicion(ADataTable: IDAStronglyTypedDataTable; const APosicion: Integer): Boolean;
// Comprueba que todos los capitulos tengan su subtotal de cierre
procedure ValidarCierreCapitulos(ADataTable: IDAStronglyTypedDataTable);
// Comprueba que todos los detalles del documento tengan un tipo_detalle asignado,
// además de que los capitulos tengan su subtotal de cierre
procedure ValidarDetalles(ADataTable: IDAStronglyTypedDataTable);
end;
@ -691,8 +692,7 @@ begin
raise Exception.Create('Campo ' + CAMPO_IMPORTE_TOTAL + ' no encontrado (validarCampos)');
end;
procedure TControllerDetallesBase.ValidarCierreCapitulos(
ADataTable: IDAStronglyTypedDataTable);
procedure TControllerDetallesBase.ValidarDetalles(ADataTable: IDAStronglyTypedDataTable);
var
ATipoCampo : String;
bEnCapitulo : Boolean;
@ -717,6 +717,16 @@ begin
begin
ATipoCampo := ADataTable.DataTable.FieldByName(CAMPO_TIPO).AsString;
//Si la linea de concepto no tiene asignado el tipo de detalle, le asignamos nosotros como concepto
//para que no falle el calculo del documento
if (Length(ATipoCampo) = 0) then
begin
if not ADataTable.DataTable.Editing then
ADataTable.DataTable.Edit;
ADataTable.DataTable.FieldByName(CAMPO_TIPO).AsString := TIPO_DETALLE_CONCEPTO;
ADataTable.DataTable.Post;
end;
if (ATipoCampo = TIPO_DETALLE_SUBTOTAL) and bEnCapitulo then
bEnCapitulo := False;

Binary file not shown.

View File

@ -409,7 +409,7 @@ begin
raise Exception.Create('El presupuesto debe tener en su contenido al menos un concepto');
FDetallesController.ValidarCierreCapitulos(APresupuesto.Detalles);
FDetallesController.ValidarDetalles(APresupuesto.Detalles);
{ Asegurarse de valores en campos "automáticos" tanto
en MODIFICACIÓN como en INSERCIÓN. }

Binary file not shown.

View File

@ -14,7 +14,7 @@ BEGIN
BEGIN
VALUE "FileVersion", "1.3.7.0\0"
VALUE "ProductVersion", "1.3.7.0\0"
VALUE "CompileDate", "miércoles, 01 de octubre de 2008 16:16\0"
VALUE "CompileDate", "viernes, 03 de octubre de 2008 11:31\0"
END
END
BLOCK "VarFileInfo"