From 9b079a2b1e976df7c3e1a249a2b59199e2ecceb6 Mon Sep 17 00:00:00 2001 From: roberto Date: Fri, 3 Oct 2008 09:46:46 +0000 Subject: [PATCH] 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 --- .../Controladores/uControllerDetallesBase.pas | 20 +++++++++++++----- Source/Cliente/FactuGES.res | Bin 172156 -> 171984 bytes .../uPresupuestosClienteController.pas | 2 +- Source/Servidor/FactuGES_Server.RES | Bin 23212 -> 23208 bytes Source/Servidor/FactuGES_Server.rc | 2 +- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Source/Base/Controladores/uControllerDetallesBase.pas b/Source/Base/Controladores/uControllerDetallesBase.pas index 2a205325..c608254c 100644 --- a/Source/Base/Controladores/uControllerDetallesBase.pas +++ b/Source/Base/Controladores/uControllerDetallesBase.pas @@ -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; diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index 178c4aa7beb566e0da0c3e334138b829abeb66db..5d085937232e50af28bd9a2b586c2b4d18bc7117 100644 GIT binary patch delta 284 zcmY+9u?m7v6o$Wh(^8WVS{#K48XA0oK$;vI+AC=2Eplk^0fIYeYeQpujg3A-b3+dh z)D=bPhr{9HKj(1%&)q3*PI3@eX=MA*b6gq;Ts#j1K0CAQ4H+Qu{mOfEq0>-mgFz5f z-q`}PC4H?+7}nkZdM%AvVG%`@Ihlh^99NVs!C}3w7mv^ilR>W142=e41!DdHmD>;tEIX)HG@NcfRLrFYZfmAo6~5nG^X zG>rCHg|(7-jB8-wc}B}@sFchjlWA3aztlEiy=08